aerio 2011 - bpm e soa - leonardo azevedo
DESCRIPTION
Palestra apresentada no Congresso AE Rio 2011 - RIo de Janeiro - BrasilTRANSCRIPT
Leonardo Guerreiro [email protected]
Abril de 2011
Arquitetura Orientada a Serviços e Gestão de Processos de Negócio
NP2Tec – Núcleo de Pesquisa e Prática em TecnologiaDepartamento de Informática Aplicada (DIA)Universidade Federal do Estado do Rio de Janeiro (UNIRIO)Av. Pasteur 458, Urca - Rio de Janeiro / RJ - CEP: 22290-240
Agenda
SOA: Principais conceitos
Web services
Enterprise Service Bus
BPM
BPM & SOA
Identificação de serviços a partir de modelos de processos de negócio
SOA-Motivação
Empresas modernas precisam responder de forma efetiva e rápida às oportunidades do mercado
Competitivo e globalizado – “lei de Darwin”.
Ao mesmo tempo, processos e sistemas estão cada vez mais complexos.
SOA - Desafios
Agilidade
Manutenção
EscalabilidadeDescentrali-
zação
Heterogenei-dade
Business/IT gap
Flexibilidade
SOA - Definição
SOA é um paradigma para a realização e manutenção de processos de negócio em um grande ambiente de sistemas distribuídos que são controlados por diferentes proprietários.
Nicolai M. Josuttis (2007)
SOA é uma arquitetura conceitual onde funcionalidade do negócio, ou lógica da aplicação, é disponibilizada para usuários SOA, ou consumidores, como serviços compartilhados e reutilizáveis em uma rede de TI.
Marks e Bell (2006)
Serviços - Definição
“Serviços” são pedaços de funcionalidades que possuem interfaces expostas, e que são invocados via mensagens.
(Marks e Bell, 2006)
Funcionalidades
Ligadas diretamente ao negócio
Podem fazer parte de um ou mais processos
Exemplos
Simples: armazenar ou recuperar dados dos funcionários
Complexa: processo de negócio para tratar pedido do cliente.
Consumidor + Provedor = Contrato
Um serviço tem um tipo de relacionamento (contrato) entre um provedor e um consumidor.
Provedor se compremete em realizar determinadas tarefas com resultados pré-estabelecidos.
Consumidor se compromete em usar o serviço da forma contratada.
Consumidor ProvedorTroca de mensagens
Perspectiva da TI
Serviço
Representação lógica de uma atividade do negócio que pode ser mapeada em:
Entrada – processamento – saída
Deve estar alinhado ao negócio
Atender necessidade representada em um processo da organização
Operacionalmente independente
Fornecer os mesmos resultados para uma mesma entrada
Permitir composição
Atômico
Garantir consistência das informações
Eventualmente, persistir resultados
Elementos
Consumidor do serviço Serviço
Política
End point
Contratos
Mensagens
adere a governado por
liga-se a expõe
entende implementa
envia/recebe envia/recebe
des
crev
ese
rve
10[HURWITZ et al., 2007]
Origens e influências de SOA
Orientação a objetos: Princípios similares como reuso, abstração e composição
Web services: influenciou e promoveu abstração, baixo acoplamento e capacidade de composição de serviços
Business Process Management: essencial em SOA.
Enterprise Application Integration: Conceitos importantes como brokers, serviços sem estado, abstração, baixo acoplamento e capacidade de composição de serviços
Aspect Oriented Programming: Preocupação em construir soluções lógicas transversais, agnósticas a processos de negócio e altamente reutilizáveis
Padrões para desenvolvimento de serviços
Web Services
12 12
WS: Padrões (1a geração)
Web Services
Principal tecnologia para desenvolvimento de serviços
Padrões de primeira geração
Extensible Markup Language (XML)
XML Schema Definition Language (XSD)
Extensible Stylesheet Language Transformations (XSLT)
XML Path Language (XPath)
XML Query Language (XQuery)
Web Services Description Language (WSDL)
Simple Object Access Protocol (SOAP)
Universal Description, Discovery, and Integration (UDDI)
WS*: Padrões (2a geração)
Algumas das especificações da segunda geração:
WS-CoordinationWS-TransactionWS-BPELWS-ReliableMessagingWS-AddressingWS-PolicyWS-PolicyAssertionsWS-PolicyAttachmentsWS-AttachmentsSOAP with Attachments (SwA)
WS-CoordinationWS-TransactionWS-BPELWS-ReliableMessagingWS-AddressingWS-PolicyWS-PolicyAssertionsWS-PolicyAttachmentsWS-AttachmentsSOAP with Attachments (SwA)
Especificações para segurança:
• WS-Security Framework• Extensible Access Control Markup Language (XACML)• Extensible Rights Markup Language (XrML)• Security Assertion Markup Language (SAML)• .NET Passport• XML-Encryption• Secure Sockets Layer (SSL)• XML-Signature• WS-Trust• WS-Privacy• WS-SecurityConversation • WS-Federation• WS-Authorization
Especificações para segurança:
• WS-Security Framework• Extensible Access Control Markup Language (XACML)• Extensible Rights Markup Language (XrML)• Security Assertion Markup Language (SAML)• .NET Passport• XML-Encryption• Secure Sockets Layer (SSL)• XML-Signature• WS-Trust• WS-Privacy• WS-SecurityConversation • WS-Federation• WS-Authorization
Principal tecnologia em SOA
Enterprise Service Bus
15 15
Enterprise Service Bus (ESB)
ESB é a infra-estrutura que permite alta interoperabilidade entre sistemas distribuídos via serviços.
Processos distribuídos executando em múltiplos sistemas usando diferentes plataformas e tecnologias.
Aplicaçõesde empresas
Enterprise Service Bus
Aplicaçõescustomizadas
Aplicaçõescustomizadas
Bancos de dados
AplicaçõesWebSphere,
.Net
AplicaçõesJava
Mainframee aplicações
legadas
Multi-plataforma
Aplicaçõescustomizadas
[Papazoglou, 2007]
ESB - Responsabilidades
17Aplicações
de empresas
Enterprise Service Bus
Aplicaçõescustomizadas
Aplicaçõescustomizadas
Bancos de dados
AplicaçõesWebSphere,
.Net
AplicaçõesJava
Mainframee aplicações
legadas
Multi-plataforma
Aplicaçõescustomizadas
[Papazoglou, 2007]
Conectividade
Adaptadores
Padrões de troca de mensagens Independência de protocolo
Transformações Roteamento Monitoramento Orquestração
Comprar-item-BPEL
Comprar-item-BPEL
Enviar-fatura
Receber-pedido-de-compra
Pedido-a-ser-criado
Fatura-processada
Verificar-plano-de-produção
Emitir-fatura
Calcular-preçoElaborar-plano-de-produção
Calcular-preçoElaborar-plano-de-produção
Verificar-plano-de-produção
Emitir-fatura
ESB suportando workflow
Orquestração
Via serviço de proxy
Via motores BPEL
Recomendação
ESB disponibilize uma máquina de workflow para composição de serviços
Exemplo BPEL para Web Services.
Vantagem
ESB pode incluir uma representação gráfica dos processos em execução.
ESBs disponíveis
ESB comerciais
IBM WebSphere ESB (http://www-01.ibm.com/software/integration/wsesb/)
Microsoft BizTalk Server (http://www.microsoft.com/biztalk/en/us/default.aspx)
Sonic ESB (http://www.sonicsoftware.com/products/sonic_esb_family/index.ssp)
TIBCO BusinessWorks (http://www.tibco.com/software/soa/default.jsp)
Oracle SOA Suite (http://www.oracle.com/technologies/soa/soa-suite.html)
ESBs disponíveis
ESBs de código aberto
OpenESB da Sun (http://www.sun.com/software/javaenterprisesystem/javacaps/esb_suite.jsp)
Mule ESB da MuleSource (http://www.mulesoft.org/display/MULE/Home)
Apache ServiceMix (www.servicemix.org)
Fuse ESB (http://open.iona.com/products/fuse-esb/)
Gestão de Processos de Negócio
(BPM)
21 21
Modelagem de Negócio
Integra diversas perspectivas sobre o domínio do negócio
Processos de trabalho (como?) Conceitos do domínio (O quê?)
... Quality Questions 5W1HConceitos do modelo de negócio
SistemaProdutoO quê?
Objetivo
Por quê?
Evento
Quando?
Localização
Onde?Quem?
Processo Atividade
Como?
Meta
Dados externos
Papel
Departamento
Regra denegócio
Fatoresexternos
SistemaSistemaProdutoProdutoO quê?
ObjetivoObjetivo
Por quê?
EventoEvento
Quando?
LocalizaçãoLocalização
Onde?Quem?
ProcessoProcesso AtividadeAtividade
Como?
MetaMeta
Dados externosDados externos
PapelPapel
DepartamentoDepartamento
Regra denegócio
Regra denegócio
FatoresexternosFatores
externos
Modelagem de Negócio
Macroprocesso
Administrar ContasCorrentes
Efetuar CobrançaLitigiosa
Monitorar Situação deCrédito dos Clientes
Captar RecursosExternos
Administrar RecursosHumanos
Financiar Cliente
Macroprocesso
Financiar Clientes
Analisar Pedidode Crédito Montar Contrato Efetivar Contrato
Diagrama de processo
Carries o... Carries out ... Carries out & Sup... Carries out & S... Carries...
O..
.
Receber propostade crédito
Proposta decrédito recebida
SYS
Verificar cadastrodo cliente
SYS
Verificar limite decrédito do cliente
Limite aprovadoLimite nãoaprovado
Comunicarproposta não
aprovada
SYS
Cancelar propostade crédito
SYS
Comprometerlimite de crédito
SYS
Determinar taxa dejuros a ser
cobrada do cliente
SYS
Gerar proposta decontrato
Analisar contrato
Necessidade deajuste nãoidentificada
Contrato derisco
identificado
Necessidade deajuste
identificada
Cancelar contratode risco
Alterar propostade crédito
Atendimento Crédito DiretoCrédito e taxas
contratuais
Proposta nãoaprovada
Verificarcondições decontrato com
cliente
Contratoaprovado pelo
cliente
Contrato nãoaprovado pelo
cliente
Aprovar contrato Cancelar contrato
Contratocancelado
Contratoefetivado
Montar contrato
Proposta decrédito alterada
Cadastro docliente nãoatualizado
Cadastro docliente
atualizado
SYS
Atualizar cadastrodo cliente
Comunicarproposta não
aprovada
Proposta nãoaprovada
Cadastro docliente
atualizado
Cliente nãocadastrado
SYS
Cadastrar cliente
Clientecadastrado
Comunicar nãoaprovação de
contrato de risco
SYS
Calcular alíquotade imposto
Para cada tipo de imposto
Grupo deaprovação de
contrato
Modelagem de Negócio
Macroprocesso
Diagrama de processoAtividade
Diagrama de Atividade
SYS
Verificar cadastrodo cliente
Cadastro docliente
Proposta decrédito
Crédito Direto
Cadastro de clientedesatualizado
Cliente novo
Crédito Direto
Proposta decrédito
Cadastro docliente
Gerir demanda
25
Exemplo
Analisar demanda
AnalistaSistema
gerenciador dedemanda
Disponibilizarinformações
sobre demanda
Demanda
Demanda
Análise dademanda
Análise da demanda
Média dedemandasanalisadas
Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports OtherO
rgan
izat
i...
.
AnalistaEngenheiro de
sistemasGerente
Demandaidentificada
Analisar demanda
Demanda deautomaçãoidentificada
Demanda desistemas
identificada
Encaminhardemanda deautomação
Demanda deautomação
encaminhada
Tratar demanda deautomação
Aprovar demanda
Demandaaprovada
Demandarecusada
Demanda aceita
Planejar projeto
Verificarcondições deatendimento
Demandajustificada
Demanda nãojustificada
Diagrama da atividade
Por que estes conceitos têm grande relação?
BPM & SOA
26 26
BPM & SOA
A combinação de BPM e SOA fecha o gap entre modelos de processos de negócio e os diagramas de TI.
Combinação entre BPM e SOA permite às empresas automatizar, otimizar, adaptar e controlar processos de negócios através de componentes reusáveis, integrando sistemas complexos e heterogêneos.
[Klückmann, 2006]
BPM & SOA
Process 1
Subprocess 1 Subprocess 2 Subprocess 3 Subprocess 4
Activity 1
System 1
Cluster 1
Cluster 2
Cluster 2
Businessrule 1
Businessrequirement 1
Database1
Database1Activity 2
System 1
Cluster 3 Cluster 3
Businessrequirement 2
Electronic document 1Electronic document 1
Organizational elements & Appl... .
Carr
ies o
ut &
Supp
orts
Carr
ies o
ut &
Supp
orts
Carr
ies o
ut &
Supp
orts
Carr
ies o
ut &
Supp
orts
Carr
ies o
ut &
Supp
orts
Carr
ies o
ut &
Supp
orts
Carr
ies o
ut &
Supp
orts
Carr
ies o
ut &
Supp
orts
Carr
ies o
ut &
Supp
orts
Carr
ies o
ut &
Supp
orts
Oth
er
Organizational unit 1
Applicationsystem type 1
Startevent
Activity 1 Activity 2
Activity 3
Activity 5
Activity 4
Intermediate event
1
Intermediate event
2
Intermediate event
4
Intermediate event
3
End event
Organizational elements & Appl... .
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Oth
er
Applicationsystem type 1
Startevent
Activity 1
Activity 2 Activity 3 End eventApplication
system type 2
Processinterface 1
Visão do processo
Visão do serviço
BPM & SOA
Repositório comum de processos
Visão integrada dos processos da organização
Relacionamentos estão entre processos (e seus modelos) são explícitos
Elementos estão ligados entre si através de interfaces
Elementos compartilham artefatos globais
Informações, regras de negócio, requisitos de negócio etc.
Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Other
Org
aniza
tiona
....
Diariamente
SYS
Fornecer dados deautomação do
campo
PISOLAR-
DIAGNOSTICO
Dados deprodução eestoque dos
nós de mediçãoarmazenados
Analisar condiçãode produção do nó
de mediçãoNecessidade dediagnóstico da
produção do diaidentificada
Obter dados daprodução líquida
acumulada do diados nós de... SYS
Calcular produçãolíquida projetada
para o dia dos nósde medição
OP
Organizational el... .
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Oth
er
Receber propostade crédito
Proposta decrédito recebida
SYS
Verificar cadastrodo cliente
SYS
Verificar limite decrédito do cliente
Limite aprovado
Limite nãoaprovado
SYS
Comprometerlimite de crédito
SYS
Determinar taxa dejuros a ser
cobrada do clienteSYS
Gerar proposta decontrato
Analisar contrato
Necessidade deajuste nãoidentificada
Contrato derisco
identificado
Necessidade deajuste
identificada
Cancelar contratode risco
Alterar propostade crédito
Proposta decrédito alterada
Verificarcondições decontrato com
cliente
Contratoaprovado pelo
cliente
Contrato nãoaprovado pelo
cliente
Cancelar contrato
Aprovar contrato
Contratocancelado
Contratoefetivado
Montar contrato
SYS
Cancelar propostade crédito
Comunicarproposta não
aprovada
Proposta nãoaprovada
Atendimento
Crédito Direto
Crédito e taxascontratuais
Cadastro docliente nãoatualizado
Cadastro docliente
atualizado
Comunicarproposta não
aprovada
Proposta nãoaprovada
SYS
Atualizar cadastrodo cliente
Grupo deaprovação de
contrato
Cliente nãocadastrado
SYS
Cadastrar cliente
SYS
Calcular alíquotade imposto
Para cada tipo de imposto
Comunicar nãoaprovação de
contrato de risco
Carries o... Carries out ... Carries out & Sup... Carries out & S... Carries...
O..
.
Receber propostade crédito
P roposta decrédito recebida
SYS
V erificar cadastrodo cliente
SYS
V erificar limite decrédito do cliente
Limite aprovadoLimite nãoaprovado
Comunicarproposta não
aprovada
SYS
Cancelar propostade crédito
SYS
Comprometerlimite de crédito
SYS
Determinar taxa dejuros a ser
cobrada do cliente
SYS
Gerar proposta decontrato
A nalisar contrato
Necessidade deajuste não
identificada
Contrato derisco
identificado
Necessidade deajuste
identificada
Cancelar contratode risco
A lterar propostade crédito
A tendimento Crédito D iretoCrédito e taxas
contratuais
P roposta nãoaprovada
V erificarcondições decontrato com
cliente
Contratoaprovado pelo
cliente
Contrato nãoaprovado pelo
cliente
A provar contrato Cancelar contrato
Contratocancelado
Contratoefetivado
Montar contrato
P roposta decrédito alterada
Cadastro docliente nãoatualizado
Cadastro docliente
atualizado
SYS
A tualizar cadastrodo cliente
Comunicarproposta não
aprovada
P roposta nãoaprovada
Cadastro docliente
atualizado
Cliente nãocadastrado
SYS
Cadastrar cliente
Clientecadastrado
Comunicar nãoaprovação de
contrato de risco
SYS
Calcular alíquotade imposto
P ara cada tipo de imposto
Grupo deaprovação de
contrato
Organizational el... .
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Car
ries
out &
Sup
ports
Oth
er
Crédito e taxascontratuais
Receber propostade crédito
Proposta decrédito recebida
SYS
Verificar situaçãocadastral do cliente
SYS
Verificar limite decrédito do cliente
Limite aprovado
Limite nãoaprovado
SYS
Cancelar proposta
Comunicar limitenão aprovado
Limite nãoaprovado
comunicado
SYS
Determinar taxa dejuros a ser
cobrada do cliente
Analisar contrato
Necessidade deajuste do
contrato nãoidentificada
Contrato derisco
identificado
Necessidade deajuste docontrato
identificada
SYS
Cancelar contratode risco
Alterar propostade crédito
Proposta decrédito alterada
Contrato derisco cancelado
Aprovar contratoContratoefetivado
Montar contrato
SYS
Para cada tipo de imposto
Calcular alíquotade imposto
Propostacancelada
Crédito Direto
Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports
Org
aniz
ationa
l el...
Org
aniz
atio
na...
.
A linhar separadorde gás
A linhar res friadorde óleo
Part ir tratador deóleo
A linhar vapor paraaquecedor de óleo
Operador P1
Necess idade detratam ento de
óleo identificada
Verificar las tro deágua nos
tratadores de óleo
Las tro de águanos tratadores
de óleo <813mm
Las tro de águanos tratadores
de óleo >=813mm
Supervisor
Disponibilizarrecursos para
form ação do las trode água
Las tro de águanos tratadores
de óleoidentificado
Form ar las tro deágua nos
tratadores de óleo
Verificar seleçãodo tanque de
lavagem a quentecom o princ ipal Seleção do
tanque delavagem a
quente com oprinc ipal
identificada
Seleção dotanque delavagem a
quente com oprinc ipal nãoidentificada
Habilitarintertravam entodas bombas dotanque 365502
Abrir válvula deentrada de óleo do
tanque 365503
Fechar válvula deentrada de óleo do
tanque 365502
Válvulas doheader princ ipalde entrada dotanque 365503
abertas
Abrir válvulas doheader princ ipalde entrada dotanque 365503
A linhar óleo paraaquecedor de óleo
Aquecedor deóleo alinhado
Verificarm anutenção do
separador de gás
M anutenção doseparador de
gás identificada
M anutenção doseparador de
gás nãoidentificada
Fechar válvula decontrole de níveldo separador de
gás
Operador P2 Operador P4 Operador P5
Separador degás alinhado
A linhar poçosprodutores para
EFA L
Ligar poçosprodutores
Verificarrecebimento daprodução pelo
tanque de lavag... Recebimento daprodução pelo
tanque delavagem a
quenteidentificado
Recebimento daprodução pelo
tanque delavagem aquente nãoidentificado
Abrir válvulas dos is tem a de
drenagem de águado tanque 365503
Abrir válvulashutdown de saídade água do tanque
365503
M anter nível docontrolador
indicador de nívelno valor.. .
M anter nível docontrolador
indicador de nívelno valor.. .
Valorrecomendadodo controladorindicador de
nível 3655008identificado
M onitoração doindicador de
nível realizada
Verificar nível dasválvulas de
amos tragem dotanque de lavag...
Necess idade deacompanham en
to do nível dotanque 365503
identificada
Nível na sétim atomada de
amos tragemidentificado
Nível na sétim atomada de
amos tragemnão identificado
Nível na sétim atomada de
amos tragemidentificado
Nível na sétim atomada de
amos tragemnão identificado
Verificar nível deóleo no tanque delavagem a quente
365502
Verificar nível deóleo no tanque delavagem a quente
365503
Nível de óleo notanque delavagem a
quente 365503<= 8800m m
Nível de óleo notanque delavagem a
quente 365503> 8800mm
Partir bomba dealim entação do
tratadoreletros tát ico
Part ir bomba dealim entação do
tratadoreletros tát ico
M anter nível dotanque de lavagema quente 365502
no valor.. .
M anter nível dotanque de lavagema quente 365503
no valor.. .
Valorrecomendado
do nível dotanque delavagem a
quente 3655...
Verificarc irculação de óleono aquecedor de
óleo
Circulação deóleo no
aquecedor deóleo identificada
Circulação deóleo no
aquecedor deóleo não
identificada
Abrir válvula deentrada de vapordo aquecedor de
óleo 365502A
Abrir válvula deentrada de vapor
para aquecedor deóleo 365502B
Necess idade dealinham ento de
vapor para oaquecedor de
óleo identificada
Vapor para oaquecedor deóleo alinhado
M anter set pointdo TIC no valorrecomendado
M anter nível dovaso de
condensado novalor.. .
Verificarnecess idade de
part ida dostratadores de óleo Necess idade de
part ida dotratador de óleo
365501identificada
Retirar seleção dotratador de óleo
365502 parares friador
Retirar seleção dotratador de óleo
365501 parares friador
Fechar válvulas desaída de óleo para
os res friadores
Verificar nível dotratador de óleo
365501
Nível dotratador de óleo
> 110m m
Necess idade depart ida do
tratador de óleoidentificada
Nível dotratador de óleo
<= 110m m
Verificar nível dotratador de óleo
365502
Verificar pressãodo tratador de óleo
365501
Verificar pressãodo tratador de óleo
365502
Pressão dotratador de óleo365501 > 397
kpa
Pressão dotratador de óleo
365501 <=397kPa
Abrir válvula defecham entoautomático
3655049
Abrir válvula desaída de óleo dotratador de óleo
365501
Abrir válvula desaída de óleo dotratador de óleo
365502
M anter pressão dotratador de óleo365501 na faixa
operac ional
M anter pressão dotratador de óleo365502 na faixa
operac ional
Abrir válvula desaída de água dotratador de óleo
365501
Abrir válvula desaída de água dotratador de óleo
M anter nível deinterface do
tratador de óleo365501 na fai. . .
M anter nível deinterface do
tratador de óleo365502 na fai. . .
Part irtrans form ador dotratador de óleo
365501
Part irtrans form ador dotratador de óleo
365502
Trans form adordo tratador deóleo 3665502
part ido
Trans form adordo tratador deóleo 3665501
part ido
Verificardisponibilidade do
s is tem a detrans ferênc ia d...
P reparar s is tem ade trans ferênc ia
de óleo paraoperação
Disponibilidadedo s is tem a detrans ferênc iaidentificada
Disponibilidadedo s is tem a detrans ferênc ia
não identificada
Operação dos is tem a de
trans ferênc iapreparada
Selec ionarres friador de óleo
para operação
Res friador deóleo 365501Aselec ionado
Res friador deóleo 365501Bselec ionado
Abrir válvula desaída de óleo dores friador de óleo
365501B
Abrir válvula desaída de óleo dores friador de óleo
365501A
Necess idade dealinham ento do
res friador deóleo identificada
Res friador deóleo alinhado
Verificarc irculação de óleonos tratadores deóleo para tanqu...
Circulação deóleo no tratadorde óleo 365502
identificada
Circulação deóleo no tratadorde óleo 365501
identificada
Abrir válvula desaída do tratadorde óleo 365501
Abrir válvula desaída do tratadorde óleo 365502
Fechar válvula desaída do tratadorde óleo 365502
para tanque de...
Fechar válvula desaída do tratadorde óleo 365501
para tanque de...
Válvula desaída do
tratador de óleo365502 fechada
Válvula desaída do
tratador de óleo365501 fechada
Fechar válvula dalinha de água
M antertemperatura do
óleo na saída dores friador.. .
Verificar operaçãodos tratadores de
óleo
Operação dostratadores de
óleo identificada
Operação dostratadores de
óleo nãoidentificada
Verificarnecess idade de
part ida do tratadorde óleo
Necess idade depart ida do
tratador de óleo365502
identificada
Necess idade depart ida do
tratador de óleo365501
identificada
Necess idade depart ida do
tratador de óleonão identificada
Valorrecomendadodo controladorindicador denível 365505identificado
Necess idade deacompanham en
to do nível dotanque 3655002
identificada
Verificar operaçãodo res friador de
óleo
Operação dores friador de
óleo 365502Aidentificada
Operação dores friador de
óleo 365502Anão identificada
M anter set pointdo TIC-3655004
na faixaoperac ional
M anter set pointdo TIC-3655005
na faixaoperac ional
Faixaoperac ional doTIC-3655004identificada
Faixaoperac ional doTIC-3655005identificada
Verificar operaçãodos poçosprodutores
Ligar poçosprodutores
Operação dospoços
produtores nãoidentificada
Operação dospoços
produtoresidentificada
Poçosprodutores
part idos
Tratam ento deóleo inic iado
Habilitarintertravam entodas bombas dotanque 365503
Abrir válvula deentrada de óleo do
tanque 365502
Fechar válvula deentrada de óleo do
tanque 365503
Abrir válvulas doheader princ ipalde entrada dotanque 365502
Válvulas doheader princ ipalde entrada dotanque 365502
abertas
Abrir válvula deentrada de óleo doseparador de gás
3655.502
Abrir válvulas dos is tem a de
drenagem de águado tanque 365502
Verificar nível dasválvulas de
amos tragem dotanque de lavag...
Abrir válvulashutdown de saídade água do tanque
365502
M anter tratam entode óleo OP-FAL
Necess idade depart ida dabom ba de
alim entaçãopara tanque
365503...
M anter tratam entode óleo OP-FAL
Necess idade depart ida dabom ba de
alim entaçãopara tanque
365503...
Técnico emm anutenção
M anter tratam entode óleo OP-FAL
Necess idade depart ida dabom ba de
alim entaçãopara tanque
365503...
Abrir válvula defecham entoautomático
3655046
Nível de óleo notanque delavagem a
quente 365502<= 8800m m
Nível de óleo notanque delavagem a
quente 365502> 8800mm
Valorrecomendado
do nível dotanque delavagem a
quente 3655...
P ressão dotratador de óleo
365502 <=397kPa
Pressão dotratador de óleo
365502 >397kPa
Válvula decontrole de níveldo separador de
gás fechada
Válvula decontrole de níveldo separador de
gás fechada
Necess idade dealinham ento do
separador degás identificada
Necess idade dem onitoração donível do tratadorde óleo 365502
identificada
Necess idade dem onitoração donível do tratadorde óleo 365501
identificada
Nível dotratador de óleo
365502 >110mm
Nível dotratador de óleo
365502 <=110mm
Válvula deentrada devapor para
aquecedor deóleo 365502B
aberta
Válvula deentrada devapor para
aquecedor deóleo 365502A
aberta
Tratador de óleopart ido
Válvula desaída de óleo do
res friador deóleo 365501B
aberta
Válvula desaída de óleo do
res friador deóleo 365501A
aberta
Abrir válvula deentrada de óleo doseparador de gás
3655.0501
Válvula defecham entoautomático
3655049 aberta
Válvula defecham entoautomático
3655046 aberta
Fechar válvulas desaída de óleo para
os res friadores
M anter nível doseparador de gás
na faixaoperac ional
Necess idade depart ida do
tratador de óleo365502
identificada
UN-E S /ATP -NC/OP-FAL
UN-E S /ATP -NC/OP-FAL
UN-E S /ATP -NC/OP-FAL
UN-E S /ATP -NC/OP-FAL
UN-E S /ATP -NC/OP-FAL
UN-E S /ATP -NC/M I
Verificarnecess idade dem onitoração donível do tratad...
Necess idade dealinham ento do
óleo paraaquecedor de
óleo identificada
Controlar pressãodo separador de
gás
Fechar válvula decontrole de níveldo separador de
gás
Identificação de serviços
Identificação de serviços candidatos a partir da modelagem de processos de negócio.
Serviço candidato
Abstração (não implementada) de serviço a qual, durante a fase de projeto em um modelo de ciclo de vida de serviço, pode ser escolhida para ser implementada como um serviço ou como uma funcionalidade de uma aplicação [Erl 2005].
Propostas da literatura
Diversas propostas para identificação de serviços a partir da modelagem de processos.
[Erl 2005; Papazoglou e Heuvel 2006; Marks e Bell 2006; McBride 2007; Jamshidi et al. 2008]
Porém...
Não apresentam passo-a-passo estruturado
Ou propõem princípios sem definir explicitamente como alcançá-los;
Ou têm como premissa um nível de refinamento dos modelos de processos muito detalhado, difícil de ser obtido na prática.
Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Other
Org
aniz
atio
na...
.
Diariamente
SYS
Fornecer dados deautomação do
campo
PISOLAR-
DIAGNOSTICO
Dados deprodução eestoque dos
nós de mediçãoarmazenados
Analisar condiçãode produção do nó
de mediçãoNecessidade dediagnóstico da
produção do diaidentificada
Obter dados daprodução líquida
acumulada do diados nós de... SYS
Calcular produçãolíquida projetada
para o dia dos nósde medição
OP
1. Seleção de atividades
(Passo 1)
Padrões de workflow (Estrutura)
Liberar ordens deprodução
planejadas
Programador daprodução
SAP-PPMCCP
COHVOMPP
Ordem deprodução
Ordem deprodução
Ordem de produção
Liberação de ordensde produção
Atividades (semântica)
Serviço candidato de lógica
Atividades automáticas
Atividades automatizáveis
Atividades apoiadas por
sistemas
SYS
Atividades automáticas
Atividades automatizáveis
Atividades apoiadas por
sistemas
SYS
Atividades automáticas
Atividades automatizáveis
Atividades apoiadas por
sistemas
SYS
(Passo 2)
Serviço candidato de dado
Atividades (semântica)
2. Identificação e classificação
Serviços candidatos
qualificados
Negócio
Dados
Utilitário
Reuso
XX
XX
XX
Coesão
XX
XX
XX
...
XX
XX
XX
Serviço candidato
qualificado de negócio
Serviço candidato
qualificado de dados
Serviço candidato
qualificado utilitário
RequisitosexistentesRequisitosexistentesRequisitosexistentes
RequisitosexistentesRequisitosexistentesRequisitosdemanda
A
B C D E F
Consolidação deserviços
candidatos
Serviços candidatos
qualificados
Negócio
Dados
Utilitário
Reuso
XX
XX
XX
Coesão
XX
XX
XX
...
XX
XX
XX
Serviço candidato
qualificado de negócio
Serviço candidato
qualificado de dados
Serviço candidato
qualificado utilitário
RequisitosexistentesRequisitosexistentesRequisitosexistentes
RequisitosexistentesRequisitosexistentesRequisitosdemanda
Proporção dos serviços de acordo com sua classificação
58%30%
2%
1%
8%
1%
Heurística1
Heurística2
Heurística3
Heurística4
Heurística5
Heurística6
Consolidação deserviços
candidatos
Serviços candidatos
qualificados
Negócio
Dados
Utilitário
Reuso
XX
XX
XX
Coesão
XX
XX
XX
...
XX
XX
XX
Serviço candidato
qualificado de negócio
Serviço candidato
qualificado de dados
Serviço candidato
qualificado utilitário
RequisitosexistentesRequisitosexistentesRequisitosexistentes
RequisitosexistentesRequisitosexistentesRequisitosdemanda
Consolidação deserviços
candidatos
Serv Cand 1
Serv Cand 2
Serv Cand 3 3. Consolidação
(Passo 3)
Método de identificação de serviços
Heurística - regra de negócio
Regra de Negócio Descrição
Valor de limite de crédito O limite de crédito do cliente é igual a 20% da sua renda menos o valor mensal referentes às parcelas ainda em aberto dos créditos anteriormente concedidos ao cliente.
Serviço Candidato
Nome Calcular limite de crédito
Tipo Lógica
Entrada CPF do cliente
Saída Limite de crédito do cliente
Origem Regra de negócio “Valor de limite de crédito”
Atividade Verificar limite de crédito do cliente
Descrição O limite de crédito do cliente é igual a 20% da sua renda menos o valor mensal referentes às parcelas ainda em aberto dos créditos anteriormente concedidos ao cliente.
Serviço candidato deve ser identificado a partir de uma regra de negócioregra de negócio.Serviço candidato deve ser identificado a partir de uma regra de negócioregra de negócio.
SYS
Verificar limite decrédito do cliente
Crédito Direto
Valor de limite decrédito
Verificar limitede crédito do
cliente
Proposta decrédito
Limite de créditodo cliente
Crédito Direto
Heurística de AND
Serviço candidato deve ser identificado a partir de uma estrutura iniciada em um ponto no workflow onde um fluxo de controle simples divide-se em fluxos de controle múltiplos, que fluxo de controle simples divide-se em fluxos de controle múltiplos, que podem ser executados em paralelopodem ser executados em paralelo, e finalizada em um ponto no workflow onde os múltiplos fluxos paralelos convergem em um fluxo de controle simples, sincronizando-os, ou onde ramificações terminem em evento final.
Serviço candidato deve ser identificado a partir de uma estrutura iniciada em um ponto no workflow onde um fluxo de controle simples divide-se em fluxos de controle múltiplos, que fluxo de controle simples divide-se em fluxos de controle múltiplos, que podem ser executados em paralelopodem ser executados em paralelo, e finalizada em um ponto no workflow onde os múltiplos fluxos paralelos convergem em um fluxo de controle simples, sincronizando-os, ou onde ramificações terminem em evento final.
Serviço Candidato
Nome Obter informações para avaliação de pedido de contrato
Tipo Lógica
Entrada Cliente
Saída Histórico do cliente; Informações financeiras; Informações sobre roubo; Informações sobre sinistros
Origem Heurística de AND
Atividades Obter histórico do cliente; Obter informações financeiras; Obter informações de roubo; Obter informações de sinistros
Descrição
Serviço candidate de negócio
Serviço candidato de dado
Atividades (semântica)
Serviço candidato de lógica
3. Consolidação de serviços candidatos
Serviços candidatos
qualificados
Negócio
Dados
Utilitário
Reuso
XX
XX
XX
Coesão
XX
XX
XX
...
XX
XX
XX
Serviço candidato
qualificado de negócio
Serviço candidato
qualificado de dados
Serviço candidato
qualificado utilitário
RequisitosexistentesRequisitosexistentesRequisitosexistentes
RequisitosexistentesRequisitosexistentesRequisitosdemanda
Proporção dos serviços de acordo com sua classificação
58%30%
2%
1%
8%
1%
Heurística1
Heurística2
Heurística3
Heurística4
Heurística5
Heurística6
A
B C D E F
Consolidação deserviços
candidatos
Consolidação
Princípios de qualidade de serviços, critérios de qualidade definidos pela
organização
Serv Cand 1
Serv Cand 2
Serv Cand 3
Associações entre elementos do modelo
Granularidade fina
Granularidade grossa
Relacionamento:regras × requisitos regras ×
regras
Tabelas de consolidação
Conclusão da metodologia
Desafios
Modelagem, projeto, monitoramento e gestão de serviços.
Metodologia
Análise top-down dos modelos de processos de negócio, identificando serviços a partir das regras de negócio, requisitos de negócio e de fluxos de atividades.
Abordagem sistemática
Identifica conjunto de serviços candidatos consolidado
Consolida informações sobre:Granularidade, Dependência, Reuso, Associações entre elementos etc.
Processo pode ser automatizado (ferramenta já implementada)
Resultado serve como entrada para as fase de análise e projeto de serviços
Auxilia a decidir como serviço candidato será implementado
Conclusão da metodologia
Desafios
Modelagem, projeto, monitoramento e gestão de serviços.
Metodologia
Análise top-down dos modelos de processos de negócio, identificando serviços a partir das regras de negócio, requisitos de negócio e de fluxos de atividades.
Abordagem sistemática
Identifica conjunto de serviços candidatos consolidado
Consolida informações sobre:Granularidade, Dependência, Reuso, Associações entre elementos etc.
Processo pode ser automatizado (ferramenta já implementada)
Resultado serve como entrada para as fase de análise e projeto de serviços
Auxilia a decidir como serviço candidato será implementado
Resumo
Principais conceitos de SOA (motivação, definições, propósito, elementos, padrões)
Web services
ESB: principal tecnologia para uma abordagem SOA
Relação entre os conceitos BPM e SOA
Identificação de serviços candidatos a partir da modelagem de processos de negócio
Referências Bibliográficas
AZEVEDO, L., BAIAO, F., SANTORO, F., SOUZA, J., REVOREDO, K., PEREIRA, V., HERLAIN, I. 2009a. Identificação de serviços a partir da modelagem de processos de negócio. In: Simpósio Brasileiro de Sistemas de Informação (SBSI), Brasília.
AZEVEDO, L., SANTORO, F., BAIAO, F., SOUZA, J., REVOREDO, K., PEREIRA, V., HERLAIN, I., 2009b. A Method for Service Identification from Business Process Models in a SOA Approach. In: 10th International Workshop on Business Process Modeling, Development, and Support (BPMDS), 2009, Amsterdam. Enterprise, Business-Process, and Information Systems Modelling. v. 29.
AZEVEDO, L. , Sousa, H. P., SOUZA, J. F., SANTORO, F., BAIAO, F. 2009c. Identificação Automática de Serviços Candidatos a partir de Modelos de Processos de Negócio. In: Conferência IADIS Ibero-Americana WWW/Internet, Alcalá-Madrid. v. 1. p. 139-146.
AZEVEDO, L., SANTORO, F., BAIAO, F., 2010. Processos para Governança SOA baseado em Arquitetura de Tecnologia de Informação. In: Conferência IADIS Ibero Americana WWW/INTERNET 2010, Algarve, Portugal. (a ser publicado)
BPMINSTITUTE, 2009. State of Business Process Management. Disponível em <http://www.bpminstitute.org/uploads/media/2006_State_of_BPM_-_EOY.pdf>. Acesso em: 3 out. 2009.
ERL, T., 2005, Service-Oriented Architecture: concepts, technology, and Design, Prentice Hall.
GUIDE BUSINESS RULE PROJECT (2008) http://www.businessrulesgroup.org/first_paper/br01c1.htm#s1e (acessado em agosto de 2008)
GU, Q., LAGO, P., 2007, A stakeholder-driven Service Life Cycle Model for SOA, ACM, IW-2nd International Workshop on Service Oriented Software Engineering (SOSWE’07), Dubrovnik, Croácia, 3 de setembro.
HEWITT, E., 2009. Java SOA Cookbook, O’Reilly.
HURWITZ, J., BLOOR, R., BRAOUDI, C., KAUFMAN, M., 2007. Service Oriented Architecture for Dummies. Wiley Publishing Inc.
JOSUTTIS, N. M., 2007, SOA in practice: The Art of Distributed System Design. O’Reilly.
KLÜCKMANN, J., 2006, On the way to SOA. ARIS Expert Paper, Disponível em <http://www.ids-scheer.com/set/6473/ARIS_Expert_Paper-SOA-Way_to_SOA_-_Klueckmann_2006-09_en.pdf>. (acessado em junho de 2008).
Referências Bibliográficas
MARKS, E. A.; BELL, M., 2006, Service-Oriented Architecture: a planning and implementation guide for business and techonology, John Willey & Sons Inc.
MARKS, E. A., 2008. Service-Oriented Architecture Governance for the Services Driven Enterprise. John Willey & Sons Inc., New Jersey, USA.
MCBRIDE, G., 2007. The role of SOA quality management in SOA service lifecycle management. DeveloperWorks, Rational SOA Go to Market Manager, IBM. ftp://ftp.software.ibm.com/software/rational/web/articles/soa_quality.pdf. (acessado em agosto 2008).
OASIS, 2006. Reference Model for Service Oriented Architecture 1.0”, Disponível em http://docs.oasis-open.org/soa-rm/v1.0/soa-rm.pdf. (acessado em outubro de 2009)
PAPAZOGLOU, M. P., van den HEUVEL, W. J., 2006. Service-oriented design and development methodology. Int. Journal Web Engineering and Technology (IJWET), vol. 2(4), p.412–442.
PAPAZOGLOU, MIKE P.; HEUVEL, WILLEM-JAN, 2007, Service oriented architectures: approaches, technologies and research issues, VLDB Journal, Springer-Verlag.
RUSSELL, N., ter HOFSTEDE, A.H.M., EDMOND, D., van der AALST, W.M.P.:, 2004. Workflow Data Patterns. QUT Technical report, FIT-TR-2004-01, Queensland University of Technology, Brisbane.
SCHEER, A.-W., 2000. ARIS - Business Process Modelling. Springer, Berlin, Alemanha.
SHARP, A., MCDERMOTT, P., 2001. Workflow Modeling: Tools for Process Improvement and Application Development, Artech House.
Van der AALST, W. M. P., ter HOFSTEDE, A. H. M., KIEPUSZEWSKI, B., BARROS, A. P., 2000. Advanced workflow patterns. In Proceedings of the 7th International Conference on Cooperative Information Systems (CoopIS 2000), vol. 1901 of Lecture Notes in Computer Science, pp. 18–29.
Van der AALST, W. M. P., Ter HOFSTEDE, A. H. M., KIEPUSZEWSKI, B., BARROS, A. P., 2003. Workflow patterns. In Distributed and Parallel Databases vol. 14(1), p.5–51.
ZHANG, L-J 2007. Services Computing. Beijin: Springer.
Relatórios Técnicos
AZEVEDO, L.; SOUSA, H. P.; BAIAO, F.; SANTORO, F. Desenvolvendo web services no BEA Workshop for WebLogic Platform. Relatórios Técnicos do DIA/UNIRIO (RelaTe-DIA), RT-0014/2009, 2009.
AZEVEDO, L.; SOUZA, J. F.; BAIAO, F.; SANTORO, F. Inspeção da Ferramenta Oracle BPEL PM. Relatórios Técnicos do DIA/UNIRIO (RelaTe-DIA), RT-0016/2009, 2009.
AZEVEDO, L; PEREIRA, V.; REVOREDO, K.; SOUZA, J. F.; SANTORO, F.; BAIAO, F.; SOUSA, H. P. Metodologia de identificação de serviços a partir da modelagem de processos de negócio. Relatórios Técnicos do DIA/UNIRIO (RelaTe-DIA), RT-0021/2009, 2009.
AZEVEDO, L.; DUARTE, D.; PUNTAR, S.; ROMEIRO, C.; BAIAO, F.; CAPPELLI, C. Conceituação em BRMS. Relatórios Técnicos do DIA/UNIRIO (RelaTe-DIA), RT-0022/2009, 2009.
AZEVEDO, L.; SANTORO, F.; BAIAO, F. Estudo dos Principais Conceitos sobre Service Component Architecture (SCA). Relatórios Técnicos do NP2TEC/UNIRIO, RT-0003/2010, 2010.
SOUSA, H.; AZEVEDO, L.; SANTORO, F.; BAIAO, F. Avaliação de Evoluções de Serviços em Conexões Ponto-a-Ponto. Relatórios Técnicos do DIA/UNIRIO (RelaTe-DIA), RT-0007/2010, 2010.
AZEVEDO, L.; SANTORO, F.; BAIAO, F. XML-Schema e Modelo de Dados em SOA. Relatórios Técnicos do DIA/UNIRIO (RelaTe-DIA), RT-0009/2010, 2010.
AZEVEDO, L.; PEREIRA, V.; SANTORO, F.; BAIAO, F. Processos de Governança SOA no ponto de vista da Arquitetura de Tecnologia da Informação. Relatórios Técnicos do NP2TEC/UNIRIO, RT-0001/2010, 2010.
FARIA, F.S.; AZEVEDO, L.; Um Estudo sobre Mashup para o Desenvolvimento de Aplicações em uma Abordagem SOA. Relatórios Técnicos do DIA/UNIRIO (RelaTe-DIA), RT-0010/2010, 2010.
FURTADO, C.; PEREIRA, V.; AZEVEDO, L.; BAIAO, F.; SANTORO, F. Arquitetura Orientada a Serviço: Conceituação. Relatórios Técnicos do DIA/UNIRIO (RelaTe-DIA), RT-0012/2009, 2009.
REVOREDO, K.; AZEVEDO, L.; SANTORO, F.; BAIAO, F. Estudos do Profile SoaML. Relatórios Técnicos do DIA/UNIRIO (RelaTe-DIA), RT-0006/2010, 2010.
43
Relatórios Técnicos
SOUSA, H.P.; AZEVEDO, L.; SANTORO, F.; BAIAO, F. Estudos de ESB e OSB. Relatórios Técnicos do NP2TEC/UNIRIO, RT-0007/2010, 2010.
SOUZA, J.; AZEVEDO, L.; BAIAO, F.; SANTORO, F.; CAPPELLI, C.; MAGDALENO, A.; NUNES, V. Modelagem de serviços web: uma proposta para modelagem de serviços candidatos e físicos. Relatórios Técnicos do DIA/UNIRIO (RelaTe-DIA), RT-0002/2009, 2009.
SOUZA, J.; AZEVEDO, L.; BAIAO, F.; SANTORO, F. Arquitetura Orientada a Serviço: Metodologias para Criação de Serviços Orquestrados. Relatórios Técnicos do DIA/UNIRIO (RelaTe-DIA), RT-0010/2009, 2009.
SOUZA, J.; AZEVEDO, L.; BAIAO, F.; SANTORO, F. Estudo de ferramentas da BEA para SOA. Relatórios Técnicos do DIA/UNIRIO (RelaTe-DIA), RT-0015/2009, 2009.
SOUZA, J. F.; AZEVEDO, L; FURTADO, C.; BAIAO, F.; SANTORO, F. Estudos do Módulo Aris for SOA. Relatórios Técnicos do DIA/UNIRIO (RelaTe-DIA), RT-0020/2009, 2009.
SOUZA, J. F.; AZEVEDO, L; BAIAO, F.; SANTORO, F. Metodologia para Análise e Projeto de Serviços em uma abordagem SOA. Relatórios Técnicos do DIA/UNIRIO (RelaTe-DIA), RT-0023/2009, 2009.
44
Arquitetura Orientada a Serviços e Gestão de Processos de Negócio
Leonardo Guerreiro Azevedo
NP2Tec – Núcleo de Pesquisa e Prática em Tecnologia
Departamento de Informática Aplicada – DIA
Universidade Federal do Estado do Rio de Janeiro (UNIRIO)