Analisar Serviços
Vítor Braga – [email protected]
Platform
Platform
Specific
Independent
Model (PSM) Model (PIM)
Computation
Independent
Model (CIM)
MDA
Terms
S
O
A
M
D
E
Analisar serviços
Visão
inicial da arquitetura do
Sistema
Sistemática para identificação
dos serviços e componentes
 “Análise”
diferente do RUP
Fluxo de Atividades
Passos para Identificar Serviços
1. Empacotar Casos de Uso
2. Construir Arquitetura de Serviços
3. Identificar Serviços de Entidades
5. Revisar Resultados
Exemplo do QIB
Desbloquear Talões
de Cheque
Efetuar Login
Solicitar Talões de Cheque
Alterar Senha
Consultar Cheques
ClienteAtor
Consultar Saldo
<<include>>
<<include>>
Realizar DOC
Consultar Extrato
Realizar Transferência
Consultar Qualiti Card
Efetuar Pagamento do
Qualiti Card
Operadora do DOC
Operadora Cartão de
Crédito
Mostrar Dados da
Consulta
5 mim...
Desbloquear Talões
de Cheque
Efetuar Login
Solicitar Talões de Cheque
Alterar Senha
Consultar Cheques
ClienteAtor
Consultar Saldo
<<include>>
<<include>>
Realizar DOC
Consultar Extrato
Realizar Transferência
Consultar Qualiti Card
Efetuar Pagamento do
Qualiti Card
Operadora do DOC
Operadora Cartão de
Crédito
Mostrar Dados da
Consulta
Controle de Acesso
Controle Cheque
Controle Conta
Realizar Transferência
ClienteAtor
Realizar Doc
Operadora Doc
Controle Qualit Card
Operadora de Cartão de Crédito
2. Construir Arquitetura de Serviços
 Arquitetura
de Serviços (Service
Architecture) é gerada a partir do modelo
de casos de uso
 Passo inicial para identificação dos serviços
do sistema
 SOAML (Profile UML para modelar SOA)
Sistemática para construir a
Arquitetura de Serviços
•
Gerada estaticamente a partir do modelo
de casos de uso “empacotado”:
 Atores => participant
 Sistema => participant
 Pacote de casos de uso => Service
Contract
 Relação na direção caso de uso – ator
=> Service Contract
 Casos de uso no modelo principal=>
Service Contract
QIB
Controle de Acesso
Controle Cheque
Controle Conta
Realizar Transferência
ClienteAtor
Realizar Doc
Operadora Doc
Controle Qualit Card
Operadora de Cartão de Crédito
Participants
<<consumer>>
Cliente Front-end
Controle de Acesso
Controle Cheque
Controle Conta
<<participant>>
Sistema back-end
Realizar Transferência
ClienteAtor
Realizar Doc
Controle Qualit Card
<<participant>>
Operadora DOC
<<participant>>
Operadora Cartão
Operadora Doc
Operadora de Cartão de Crédito
Services Contracts
<<Service Contract>>
Controle de Acesso
<<Service Contract>>
Controle de Cheque
<<Service Contract>>
Controle de Conta
Controle de Acesso
Controle Cheque
Controle Conta
<<Service Contract>>
Realiazr Transferencia
Realizar Transferência
ClienteAtor
Realizar Doc
Controle Qualit Card
<<Service Contract>>
Controle Qualiti Card
<<Service Contract>>
Relizar Doc
<<Service Contract>>
Servico Operadora Doc
Operadora Doc
Operadora de Cartão de Crédito
<<Service Contract>>
Servico Operadora Cartao
Arquitetura de Serviços
<<Service Contract>>
Controle de Cheque
consumer
<<Service Contract>>
Realiazar Transferencia
consumer
consumer
<<participant>>
Operadora Cartão
provider
<<participant>>
Sistema back-end
provider
consumer
consumer
provider
comsumer
<<Service Contract>>
Controle de Acesso
<<consumer>>
Cliente Front-end
<<Service Contract>>
Servico Operadora Cartao
provider
<<Service Contract>>
Controle de Conta
provider
<<Service Contract>>
Servico Operadora Doc
provider
<<Service Contract>>
Controle Qualiti Card
<<Service Contract>>
Relizar Doc
consumer
provider
<<participant>>
Operadora DOC
3. Identificar Serviços de entidades
Um
tipo de serviço que é derivado
de um ou mais entidades de
negócio relacionadas.
 São
altamente reutilizável e usados
por vários serviços
Exemplo:
Serviços para fazer CRUD
2 mim ...
3. Identificar Serviços de entidades
Conta
<<Service Contract>>
Serviço Conta
ContaintInternet
<<Service Contract>>
Serviço Conta Internet
PagamentoCartão
Comprovante
<<Service Contract>>
Serviço PagamentoCartão
Fluxo de Atividades
Interação dos Serviços
 Sistemática
“semelhante” Distribuir
comportamento entre as classes
 Para cada Serviço (service contract)
 Diagrama
de seqüência (coreografia dos
serviços)
 Surgimento de novas entidades
 Atualizar
negócio
o Modelo de Informação do
Interação dos Serviços
 Levar
em consideração TODOS os casos
de uso envolvidos
 Diagrama de interação único*
 Não possuem mensagens reflexivas
 Por
que?
Controle de Acesso
Controle Cheque
Controle Conta
Realizar Transferência
ClienteAtor
Realizar Doc
Operadora Doc
Controle Qualit Card
Operadora de Cartão de Crédito
5 mim...

http://www.cin.ufpe.br/~if718/aulaspratic
as/aula2010.2/
: Serviço Conta Internet
: Controle de Acesso
: Cliente Front-end
1 : logar(login,senha)
2 : existe(login, senha)
3 : Conta Internet
4 : sessão
5 : alterarSenha(login,senhaAntiga, SenhaNova)
6 : existe(login,senha)
7 : Conta Internet
8 : atualizar(Usuario)
9 : Conta Internet
10 : sessão
Atualizar o Modelo de informação
 Atualizar
atributos das entidades
 Possíveis fontes: conhecimento do negócio,
requisitos, glossário, modelo do negócio,
mensagens do modelo de interação etc.
 São propriedades/características das entidades
identificadas


informação cujo valor é o aspecto crucial
informação de propriedade exclusiva do objeto
 Caso
seja identificada nova entidade, verificar
necessidade de criar novo serviço
 Remover entidades desnecessárias
Modelo de informação atualizado
Conta
+numero
+saldo
ContaintInternet
+login
+senha
PagamentoCartão
+numero da fatura
+data
+valor
+numero da conta
Fluxo de Atividades
Identificação de componentes
 Sistemática
1.
2.
3.
para identificar os componentes
Identificar os participants provedores
Componentes “provedores” implementam os
contratos de serviços
Definir relacionamento entre componentes
5 mim...
Arquitetura componentizada
<<Service Contract>>
Controle de Acesso
Componente Controle de Acesso
+logar(login, senha)
+alterarSenha(login, senhaAntiga, senhaNova)
<<Service Contract>>
Controle de Cheque
Componente Cliente Front-end
<<
C
+e
+a
Componente Cheque
+Operation1()
+..()
<<Service Contract>>
Controle Qualiti Card
Componente Qualiti Card
<<Servi
Servico Op
+Operation1()
+..()
<<Service Contract>>
Realiazar Transferencia
Componente Transferencia
+Operation1()
+..()
<<Service Contract>>
Relizar Doc
+Operation1()
Componente Realizar Doc
<<Service Cont
Servico Operad
Apresentação para o projeto
 Especificação



do Modelo de Negócio:
Modelo de Informação do Negócio
Modelo Navegacional
Protótipo de Interface Gráfica (pelo menos as
principais telas do sistema)
 Quanto
mais completo melhor
 Análise
de Serviços:
 Arquitetura dos Serviços
 Modelo de Interação dos Serviços (pelo menos 5
serviços)

Quanto mais completo melhor
 Modelo
de Informação Refinado
 Diagrama de Componentes dos Serviços
Dúvidas ?
Download

Aula 5 -Analisar Serviços - SOA-MDE