analisar serviços vítor braga – [email protected]. objetivos da aula apresentar os passos...
TRANSCRIPT
Analisar ServiçosVítor Braga – [email protected]
Objetivos da aula Apresentar os passos necessários para
realizar a atividade analisar Serviços Discutir e mostrar o passo a passo para
a construção dos artefatos
Relembrando ...
Visão geral (Exemplo: RUP)
Visão geral
Especificação do modelo de negócios
Analisar serviços
Implementação
TesteAvaliação
PlanejamentoInicial
Planejamento
Modelagem do Negócio
Requisitos
Projetar Serviços
Especificação do Modelo de Negócio
Analisar Serviços
Projetar Serviços
Com
pu
tati
on
Ind
ep
en
den
tM
od
el (C
IM)
Pla
tform
Ind
ep
en
den
tM
od
el (P
IM)
Pla
tform
Sp
ecifi
cM
od
el
(PS
M)
MDATerms
MDES
OA
[Casos de Uso]
Modelar conceitos de negócio [Modelo de Informação do Negócio]
Projetar Fluxo de Informação[Modelo Navegacional]
Elaborar Protótipo de Interface [Protótipo de Interface Gráfica]
[Requisitos]
Fluxo de Atividades
Visão Geral dos Artefatos
[Requisitos]
[Casos de Uso]
[Modelo Navegacional]
[Modelo de Informação do Negócio]
[Protótipo de Interface Gráfica]
Especificação do Modelo de Negócio
Analisar Serviços
Projetar Serviços
Com
pu
tati
on
Ind
ep
en
den
tM
od
el (C
IM)
Pla
tform
Ind
ep
en
den
tM
od
el (P
IM)
Pla
tform
Sp
ecifi
cM
od
el
(PS
M)
MDATerms
MDES
OA
SOA
É um estilo de arquitetura que promove a integração entre o negócio e a TI através de serviços. O serviço é o principal componente desta arquitetura. maior agilidade para atender as novas
demandas, flexibilidade para atender as mudanças, redução de custo e reuso de ativos (serviços).
O que são serviços ?
Serviço é um componente que atende a uma função de negócio (business function). Ele pode receber e responder requisições ocultando os detalhes de sua implementação. Desacoplados em relação ao
cliente/consumidor Descritos através de contratos de
operações
Serviços são coleções de “capacidade”
Assim como pessoas, um serviço pode prover múltiplas capacidades.
Classificação dos Serviços Quando estamos modelando os serviços,
fica evidente que podemos classifica-los em função: Tipo de logica que encapsulam Potencial de Reuso Como a logica implementada se relaciona
com o domínio da aplicação Por isso, podemos classificar os serviços:
Serviços de entidades Serviços de tarefas Serviços de utilidade
Service Layers
Analisar Serviços
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
Identificar Serviços [Arquitetura dos Serviços]
Refinar Serviços
[Modelo de Interação dos Serviços]
[Modelo de Informação Refinado]
Identificar Componentes
[Modelo de Componentes dos Serviços]
Visão Geral dos Artefatos
[Arquitetura dos Serviços]
[Modelo de Interação dos Serviços][Modelo de Informação Refinado]
[Modelo de Componentes dos Serviços]
[Modelo de Informação de Negócio]
[Casos de Uso]
Fluxo de Atividades
Identificar Serviços [Arquitetura dos Serviços]
Refinar Serviços
[Modelo de Interação dos Serviços]
[Modelo de Informação Refinado]
Identificar Componentes
[Modelo de Componentes dos Serviços]
Passos para Identificar Serviços
1. Empacotar Casos de Uso2. Construir Arquitetura de Serviços3. Identificar Serviços de Entidades5. Revisar Resultados
Exemplo do QIB
Operadora do DOC
Desbloquear Talõesde Cheque
Efetuar Login
Alterar Senha
Consultar Saldo
Consultar Extrato
Consultar Qualiti CardRealizar Transferência
Consultar Cheques
Solicitar Talões de Cheque
Realizar DOC
ClienteAtor
Operadora Cartão de Crédito
Efetuar Pagamento do Qualiti Card
Mostrar Dados daConsulta
<<include>>
<<include>>
1. Empacotar Casos de Uso
Casos de usos “semelhantes” deverão ser empacotados dentro de um pacote de casos de uso
Operadora do DOC
Desbloquear Talõesde Cheque
Efetuar Login
Alterar Senha
Consultar Saldo
Consultar Extrato
Consultar Qualiti CardRealizar Transferência
Consultar Cheques
Solicitar Talões de Cheque
Realizar DOC
ClienteAtor
Operadora Cartão de Crédito
Efetuar Pagamento do Qualiti Card
Mostrar Dados daConsulta
<<include>>
<<include>>
ClienteAtor
Realizar Doc
Realizar Transferência
Operadora Doc
Controle Cheque
Controle de Acesso
Controle Conta
Controle Qualit Card
Operadora de Cartão de Crédito
2. Construir Arquitetura de ServiçosArquitetura 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)
Exemplo
Order
Conformation
Shipped
Ship Req
Shipped
Delivered
Arquitetura de Serviços
Shipping service
Ship Status service
Purchasing service
Manufacturer Participant – provides and uses services
Dealer Participant – provides and uses services
Arquitetura de Serviços Services architecture descreve como os
participantes que consomem e fornecem serviços para atender aos requisitos do negócio.
Participant representa uma “parte” que consomem e/ou fornecem serviços. Podem representar pessoas, organizações ou sistemas.
A service contract é a especificação do acordo entre provedores e consumidores de um serviço quanto às informações trocadas entre participantes.
QIB
ClienteAtor
Realizar Doc
Realizar Transferência
Operadora Doc
Controle Cheque
Controle de Acesso
Controle Conta
Controle Qualit Card
Operadora de Cartão de Crédito
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
Participants
ClienteAtor
Realizar Doc
Realizar Transferência
Operadora Doc
Controle Cheque
Controle de Acesso
Controle Conta
Controle Qualit Card
Operadora de Cartão de Crédito
Sistema back-end<<participant>>
Operadora DOC<<participant>>
Operadora Cartão<<participant>>
Cliente Front-end<<consumer>>
Services Contracts
ClienteAtor
Realizar Doc
Realizar Transferência
Operadora Doc
Controle Cheque
Controle de Acesso
Controle Conta
Controle Qualit Card
Operadora de Cartão de Crédito
Realiazr Transferencia<<Service Contract>>
Relizar Doc<<Service Contract>>
Controle de Acesso<<Service Contract>>
Controle de Cheque<<Service Contract>>
Controle de Conta<<Service Contract>>
Controle Qualiti Card<<Service Contract>>
Servico Operadora Doc<<Service Contract>> Servico Operadora Cartao
<<Service Contract>>
Services Contracts
Cliente Front-end<<consumer>>
Sistema back-end<<participant>>
Operadora DOC<<participant>>
Operadora Cartão<<participant>>
Controle de Cheque<<Service Contract>>
Controle de Acesso<<Service Contract>>
Controle de Conta<<Service Contract>>
Controle Qualiti Card<<Service Contract>>
Realiazar Transferencia<<Service Contract>>
Relizar Doc<<Service Contract>>
consumer
consumer
consumer
provider
provider
provider
provider
consumer
consumer
Servico Operadora Cartao<<Service Contract>>
Servico Operadora Doc<<Service Contract>>
provider
comsumer
consumer
provider
provider
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çosExemplo: Serviços para fazer CRUD
3. Identificar Serviços de entidades
ContaintInternetConta PagamentoCartãoComprovante
Serviço Conta<<Service Contract>>
Serviço Conta Internet<<Service Contract>>
Serviço PagamentoCartão<<Service Contract>>
Identificar Serviços [Arquitetura dos Serviços]
Refinar Serviços
[Modelo de Interação dos Serviços]
[Modelo de Informação Refinado]
Identificar Componentes
[Modelo de Componentes dos Serviços]
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 o Modelo de Informação do negócio
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?
ClienteAtor
Realizar Doc
Realizar Transferência
Operadora Doc
Controle Cheque
Controle de Acesso
Controle Conta
Controle Qualit Card
Operadora de Cartão de Crédito
Mensagens de retorno
: Cliente Front-end : Controle de Acesso
: Serviço Conta Internet
1 : logar(login,senha)
2 : existe(login, senha)
3 : ContaInternet
4 : sessão
5 : alterarSenha(login,senhaAntiga, SenhaNova)
6 : existe(login,senha)
7 : ContaInternet
8 : atualizar(ContaInternet)
9 : Conta Internet10 : sessão
Exercício Fazer diagrama para o pacote Controle
de Qualit Card
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
ContaintInternet
+login+senha
Conta
+numero+saldo
PagamentoCartão
+numero da fatura+data+valor+numero da conta
Fluxo de Atividades
Identificar Serviços [Arquitetura dos Serviços]
Refinar Serviços
[Modelo de Interação dos Serviços]
[Modelo de Informação Refinado]
Identificar Componentes
[Modelo de Componentes dos Serviços]
Identificação de componentes Sistemática para identificar os componentes1. Identificar os participants provedores2. Componentes “provedores” implementam os
contratos de serviços3. Definir relacionamento entre componentes
Cliente Front-end<<consumer>>
Sistema back-end<<participant>>
Operadora DOC<<participant>>
Operadora Cartão<<participant>>
Controle de Cheque<<Service Contract>>
Controle de Acesso<<Service Contract>>
Controle de Conta<<Service Contract>>
Controle Qualiti Card<<Service Contract>>
Realiazar Transferencia<<Service Contract>>
Relizar Doc<<Service Contract>>
consumer
consumer
consumer
provider
provider
provider
provider
consumer
consumer
Servico Operadora Cartao<<Service Contract>>
Servico Operadora Doc<<Service Contract>>
provider
comsumer
consumer
provider
provider
Provedores
Componentes “provedores” implementam os contratos de serviços
Controle de Cheque<<Service Contract>>
+Operation1()+..()
Controle de Acesso<<Service Contract>>
+logar(login, senha)+alterarSenha(login, senhaAntiga, senhaNova)
Controle de Conta<<Service Contract>>
+existe(login, senha)+atualizar(login, senha)
Controle Qualiti Card<<Service Contract>>
+Operation1()+..()
Realiazar Transferencia<<Service Contract>>
+Operation1()+..()
Relizar Doc<<Service Contract>>
+Operation1()
Componente Conta
Componente Controle de Acesso
Componente Cheque
Componente Qualiti Card
Componente Transferencia
Componente Realizar Doc
Cliente Front-end<<consumer>>
Sistema back-end<<participant>>
Operadora DOC<<participant>>
Operadora Cartão<<participant>>
Controle de Cheque<<Service Contract>>
Controle de Acesso<<Service Contract>>
Controle de Conta<<Service Contract>>
Controle Qualiti Card<<Service Contract>>
Realiazar Transferencia<<Service Contract>>
Relizar Doc<<Service Contract>>
consumer
consumer
consumer
provider
provider
provider
provider
consumer
consumer
Servico Operadora Cartao<<Service Contract>>
Servico Operadora Doc<<Service Contract>>
provider
comsumer
consumer
provider
provider
Arquitetura componentizada
Controle de Cheque<<Service Contract>>
+Operation1()+..()
Controle de Acesso<<Service Contract>>
+logar(login, senha)+alterarSenha(login, senhaAntiga, senhaNova)
Controle de Conta<<Service Contract>>
+existe(login, senha)+atualizar(login, senha)
Controle Qualiti Card<<Service Contract>>
+Operation1()+..()
Realiazar Transferencia<<Service Contract>>
+Operation1()+..()
Relizar Doc<<Service Contract>>
+Operation1()
Componente Conta
Componente Controle de Acesso
Componente Cheque
Componente Qualiti Card
Componente Transferencia
Componente Realizar Doc
Componente Cliente Front-end
Servico Operadora Cartao<<Service Contract>>
Servico Operadora Doc<<Service Contract>>
Compoente Operadora Cartão
ComponenteOperadora DOC
Dúvidas ?