© 2003. Direitos Autorais reservados a PINHEIRO NETO ADVOGADOS.
SOA Service Oriented Architecture. Copyright © 2008 Qualiti. Todos os direitos reservados....
Transcript of SOA Service Oriented Architecture. Copyright © 2008 Qualiti. Todos os direitos reservados....
SOAService Oriented
Architecture
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Estilo/padrão de arquitetura onde as funcionalidades de aplicações existentes são disponibilizadas na
forma de serviços
É um elemento de Service Oriented Computing (SOC), um
paradigma de desenvolvimento baseado no conceito de serviços
SOA – Service Oriented Architecture
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
O que são serviços?
»Serviço é um componente que atende a uma função de negócio (business function)
»Pode receber e responder requisições, ocultando os detalhes de implementação
Desacoplados em relação ao cliente/consumidorDescritos através de contratos de operações
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Serviços versus Componentes
» Serviço» conceito mais
abstrato» ligado ao negócio» desvinculado de
um código » granularidade
“grossa”» pode ser
implementado por componentes
» Componentes» elemento
concreto » usado para
compor aplicações
» vinculado a um código
» Granularidade mais “fina
Ex.: Uma entity EJB é um componente, não um serviço
Comparação interessante em http://radovanjanecek.net/blog/archives/296.html
SO
A
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
SOA: Vantagens potenciais
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Análise e Projeto em SOA(Service Oriented Architecture)
Especificação do modelo de negócios
Analisar serviços
Implementação
TesteAvaliação
PlanejamentoInicial
Planejamento
Modelagem do Negócio
Requisitos
Projetar Serviços
Prototipar Interface Gráfica
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Arquiteto de Informação
Análise e Projeto OO com UML e Padrões| 9
Analisar Casos de Uso
Revisar Projeto
Projetar Arquitetura
Projetista deBanco de Dados
Arquiteto de Software
Revisor de projeto
Projetar Casos de Uso
Projetar Subsistemas/componentes
Projetar Base de Dados
Analista deSistemas
Projetar classes
Prototipar Interface gráfica
Analisar Serviços
ProjetarServiços
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Analisar caso de uso | 10
Objetivos desta atividade
Gerar artefatos para facilitar e alinhar o entendimento entre os stakeholdersPrototipação e avaliação da GUI Organização das informações
Input para Designers
Teste de usabilidade
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Analisar caso de uso | 11
Visão geral dos artefatos
Arquiteto dainformação
Prototipar Interface Gráfica
Glossário Modelo de Casos de Uso
Modelo de Informação do Negócio
Protótipo da Interface Gráfica
Modelo Navegacional
Documento de Requisitos
Documento da Arquitetura
Prototipação da Interface Gráfica
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Analisar caso de uso | 12
Passos para Prototipar a GUI
1. Modelar conceitos de negócios- Modelo de Informação do Negócio
2. Projetar Fluxo de Informação- Modelo Navegacional
3. Elaborar Protótipo de Interface- Protótipo de Interface Gráfica
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Analisar caso de uso | 13
1. Modelar conceitos de negócios
Modelo conceitual das informações/entidades manipuladas pelo sistemaPré modelo E-RVai ajudar na organização das informações Multiplicidade é opcionalModelo independente de computação (CIM)
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Actor A
UC 01
UC 02
UC 03
UC 04
I 1 I2
10..1
I2 I31 1..*
I 1 I2
10..1
I 1 I2
10..1
I 1 I2
10..1
I31 1..*
1. Modelar conceitos de negócios
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
QIB - Diagrama de Casos de Uso
Usaremos o QIB como exemplo
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>>
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Modelo de Informação do negócio
Pagmento CartãoConta
Comprovante
Cliente
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Analisar caso de uso | 17
2. Projetar Fluxo de Informação
Gerar o modelo navegacional do sistema Fluxo de informação do sistema
Pode ser: Sitemap
Interface flow diagram (Diagrama de fluxo)
Screen Flow (Fluxo de Tela)
Modelo independente de computação (CIM)
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Analisar caso de uso | 19
Modelo Navegacional do QIB
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Analisar caso de uso | 20
3. Elaborar Protótipo de Interface
Modelo Navegacional + Modelo de Informação do negócio = “wireframe detalhado”Layout completo das telas do sistema: Organização das informações
Ações de links e botões
Tratamento de erros e fluxos secundários
É útil?
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Como criar os artefatos?
Ferramentas: Axure RP(wireframe), Smartdraw (sitemap),
Netbeans (Fluxo de telas)
Exemplos: www.cin.ufpe.br/~vtb/wireframes
http://www.axure.com/Samples/AxureRPFeaturesSample/AxureRPFeaturesSample_Start.html
http://www.axure.com/Samples/RegistrationSample/RegistrationSample_Start.html
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Prototipar Interface Gráfica
Exercício: Baseado no Modelo Navegacional e no modelo
de informação, construa o protótipo da interface
Sugestão: Axure RP http://www.axure.com/downloads.aspx http://www.axure.com/downloadThanks.aspx?
version=50
http://www.youtube.com/watch?v=xgUE3BuaKZ4&feature=related
http://www.youtube.com/watch?v=sieYeDepdzA&feature=related
http://www.youtube.com/watch?v=-NwsjE5LY1M&feature=related
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Analisar Serviços
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Contexto
Arquiteto de Informação
Analisar Casos de Uso
Revisar Projeto
Projetar Arquitetura
Projetista deBanco de Dados
Arquiteto de Software
Revisor de projeto
Projetar Casos de Uso
Projetar Subsistemas
Projetar Base de Dados
Analista deSistemas
decisões doarquiteto
<<subsystem>>
CheckList bla bla
bla
blabla
Projetar classes
Prototipar Interface gráfica
Analisar Serviços
ProjetarServiços
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
»Visão inicial da arquitetura (orientada a serviços) do sistema
»Sistemática para identificação dos serviços e componentes“Análise” diferente do RUP
Objetivos
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Passo a Passo
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]
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
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]
<<entrada para esta atividade>>
<<entrada para esta atividade>>
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Para Identificar Serviços:
1. Empacotar Casos de Uso2. Construir Arquitetura de Serviços3. Identificar Serviços de Entidade4. Revisar Resultados
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Para Identificar Serviços:
1. Empacotar Casos de Uso2. Construir Arquitetura de Serviços3. Identificar Serviços de Entidades4. Revisar Resultados
An
alisar
Serv
iços
Exem
plo
do Q
IB
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>>
Exem
plo
do Q
IB
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
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
2. Construir Arquitetura de Serviços
Arquitetura de Serviços (Service Architecture) é gerada a partir do modelo de casos de usoPasso inicial para identificação dos serviços do sistemaSOAML (Profile UML para modelar SOA)
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Arquitetura de Serviços
Services architecture descreve como os participantes consomem e fornecem serviços para atender aos requisitos do negócioParticipant representa uma “parte” que consome e/ou fornece serviços. Pode representar pessoas, organizações ou sistemasA service contract é a especificação do acordo entre provedores e consumidores de um serviço quanto às informações trocadas entre participantes
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
• Gerada estaticamente a partir do modelo de casos de uso “empacotados”:• 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
Arquitetura de Serviços
Ator 1Ator 2
Pacote 1
Pacote 2
UC 1
UC2
UC3
UC 4
UC 5
An
alisar
Serv
içosPacote1
<<Service Contract>>
Pacote2<<Service Contract>>
UC5<<Service Contract>>
UC5-Ator2<<Service Contract>>
Ator1<<Participant>> Ator2
<<Participant>>Sistema
<<Participant>>
consume
consume
consume
provide
provide
provide
consume provide
Arq
uit
etu
ra d
e
Serv
iços
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
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>>
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Services Contracts
Realiazr Transferencia<<Service Contract>>
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
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>>
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Arquitetura de Serviços
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
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
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áveis e usados por vários serviços
Gerados a partir do Modelo de Informação do Negócio
Exemplo: Serviços para fazer CRUD
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
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>>
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
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]
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Interação dos Serviços
Sistemática “semelhante” a Distribuir comportamento entre as classes Para cada Serviço (service contract) Diagrama de seqüência (coreografia dos
serviços)
Surgimento de novas entidades
Atualizar as classes com atributos
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Interação dos Serviços
Levar em consideração TODOS os casos de uso envolvidos Diagrama de interação único Pelo menos 2 casos de uso por
diagrama
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
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Exercício
Fazer diagrama de interação para o pacote Controle Qualit Card
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Atualizar atributos das entidadesPossí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çoRemover entidades desnecessárias
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Modelo de Informação Refinado
ContaintInternet
+login+senha
Conta
+numero+saldo
PagamentoCartão
+numero da fatura+data+valor+numero da conta
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
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]
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Identificação de componentes
Sistemática para identificar os componentes Identificar os participants provedores
Componentes “provedores” implementam os contratos de serviços
Definir relacionamento entre componentes
Iden
tifi
car
Com
pon
en
tes
Cliente Front-end<<participant>> Sistema back-end
<<participant>>
Operadora Cartão<<participant>>
ControleAcesso<<Service Contract>>
consumerprovider
ControleConta<<Service Contractt>>
consumerprovider
ControleQualitiCard<<Service Contract>>
consumerconsumer
OperadoraCartao<<Service Contract>>
comsumer provider
ContaInternet<<Service Contract>>
Transação<<Service Contract>>
ContaBancaria<<Service Contract>>
Cliente Front-end<<Front-end>>
Controle ContaControle de Acesso Controle Cartão
IControleAcesso IControleConta IControleCartão
Trasação
ITrasaçãoIContaInternet
ContaInternet ContaBancaria
IContaBancaria
IOperadoraCartão
OperadoraCartão
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Projetar Serviços
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Arquiteto de Informação
Análise e Projeto OO com UML e Padrões| 54
Analisar Casos de Uso
Revisar Projeto
Projetar Arquitetura
Projetista deBanco de Dados
Arquiteto de Software
Revisor de projeto
Projetar Casos de Uso
Projetar Subsistemas/componentes
Projetar Base de Dados
Analista deSistemas
Projetar classes
Prototipar Interface gráfica
Analisar Serviços
ProjetarServiços
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Fluxo de Atividades
Projetar Arquitetura do Sistema
Front-end Design Back-end Design
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Projetar Arquitetura
1. Refinar Análise de Serviços2. Definir Padrão de Arquitetura
Iden
tifi
car
Com
pon
en
tes
Cliente Front-end<<participant>> Sistema back-end
<<participant>>
Operadora Cartão<<participant>>
ControleAcesso<<Service Contract>>
consumerprovider
ControleConta<<Service Contractt>>
consumerprovider
ControleQualitiCard<<Service Contract>>
consumerconsumer
OperadoraCartao<<Service Contract>>
comsumer provider
ContaInternet<<Service Contract>>
Transação<<Service Contract>>
ContaBancaria<<Service Contract>>
Cliente Front-end<<Front-end>>
Controle ContaControle de Acesso Controle Cartão
IControleAcesso IControleConta IControleCartão
Trasação
ITrasaçãoIContaInternet
ContaInternet ContaBancaria
IContaBancaria
IOperadoraCartão
OperadoraCartão
Lembrando o resultadode Analisar Serviços …
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
1. Refinar Análise de Serviços
Baseado no: Conhecimento do negócio
Modelo de interação dos serviços
Modelo de Componentes dos serviços
Analisar os contratos de serviços e componentes identificados até o momento Empacotamento foi correto?
Todos os componentes de front-end foram identificados?
Podemos “agrupar” serviços semelhantes?
Todas as funcionalidades foram identificadas?
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
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
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
ClienteAtor
Realizar Doc
Operadora Doc
Controle Cheque
Controle de Acesso
Controle Conta
Controle Qualit Card
Operadora de Cartão de Crédito
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
ServiçoControleAcesso<<Service Contract>>
+logar(login, senha)+alterarSenha(login, senhaAntiga, senhaNova)
Servico Cadastro ContaInternet<<Service Contract>>
+existe(login, senha)+atualizar(login, senha)
ServicoQualitiCard<<Service Contract>>
+EfetuarpagamentoQualitCard()
Componente ContaInternet
Componente Controle de Acesso
Componente Qualiti Card
Componente Cliente Front-end
Servico Operadora Cartao<<Service Contract>>
+enviar()
Serviço Pagamento cartão<<Service Contract>>
Compoente Operadora Cartão
Componente Pagamento cartão
Componente Cadastro ContaBancariaServiço Cadastro ContaBancaria
<<Service Contract>>
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
ServiçoControleAcesso<<Service Contract>>
+logar(login, senha)+alterarSenha(login, senhaAntiga, senhaNova)
Servico Cadastro ContaInternet<<Service Contract>>
+existe(login, senha)+atualizar(login, senha)
ServicoQualitiCard<<Service Contract>>
+EfetuarpagamentoQualitCard()
Componente ContaInternet
Componente Controle de AcessoComponente Qualiti Card
Componente Cliente Front-end
Servico Operadora Cartao<<Service Contract>>
+enviar()
Serviço Pagamento cartão<<Service Contract>>
Compoente Operadora Cartão
Componente Pagamento cartão Componente Cadastro ContaBancaria
Serviço Cadastro ContaBancaria<<Service Contract>>
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Projetar Arquitetura
1. Refinar Análise de Serviços
2.Definir Padrão de Arquitetura
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
2. Definir Padrão de Arquitetura
O arquiteto pode seguir um padrão existente para estruturar a aplicaçãoO arquiteto também pode definir novos padrões ou atualizar orientações existentesIdentificar oportunidades de reuso: serviços e componentes disponíveis no
mercado
Serviços e componentes de aplicações já desenvolvidas
Serviços e componentes que podem se tornar reusáveis para outros projetos
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
2. Definir Padrão de Arquitetura
O Arquiteto deve levar em consideração as tecnologias que serão usadas: Ex: .net, java, flash, C++
Como será a integração do Front e back-end
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Necessidades do negócio
Além do sistema web Acessado por celular e desktop
(windows, mac e linux)
O ambiente de produção é Windows Server 2003 com .net framework 2.0 e banco de dados sql server 2005
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Definição da Arquitetura
Interface web=> ASP.NETDispositivos Móveis => Iphone (iOS)Desktop=> aplicação Java Integração com o front-end será feita via web serviceOs componentes serão todos implementados (e não adquiridos)Os componentes de acesso a dados deverão implementar o padrão Bridge
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Componente ContaInternet
Componente Controle de AcessoComponente Qualiti Card
Compoente Operadora Cartão
Compoente CadastrotransacaoComponente Cadastro ContaBancaria
Front-end Iphone<<front-end>>
Desktop<<Front-end>>
Front-end Web<<Front-end>>
IServicoQualitCard
+EfetuarpagamentoQualitCard()
ICadastroTransacao
+ConsultarSaldo()+ConsultarExtrato()+RealizarTransferencia()
IServicoControleAcesso
+logar(login, senha)+alterarSenha(login, senhaAtual, SenhaNova)
ICadastroContaBancaria
+inserir()+remover()+atualizar()+consultar()
IServicoOperadoraCartao
+enviar()
ICadastroContaInternet
+inserir(ContaInternet)+remover(ContaInternet)+atualizar(ContaInternet)+existe(login, senha)
FachadaWebservice
IFachadaWebServices
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Fluxo de Atividades
Projetar Arquitetura do Sistema
Front-end Design Back-end Design
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Projetar Back-end
• Envolve o projeto dos componentes do back-end
• Coincide com a atividade “Projetar Subsistemas” do RUP
• Será detalhada posteriomente (atividades comuns a RUP e SOA)
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Fluxo de Atividades
Projetar Arquitetura do Sistema
Front-end Design Back-end Design
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Projetar Front-end
Baseado no protótipo da interface, tecnologias utilizadas e integração front-back end
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Front-end Iphone<<front-end>>
Desktop<<Front-end>>
Front-end Web<<Front-end>>
FachadaWebservice
IFachadaWebServices
Front-end - Exemplo
Cop
yri
gh
t ©
20
08
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
Cop
yri
gh
t ©
20
06
Qu
alit
i. T
od
os
os
dir
eit
os
rese
rvad
os.
TelaLogin
+loginText: TextBox+senhaText: TextBox+entrarButton: Button
+efetuarlogin()