SOA Service Oriented Architecture. Copyright © 2008 Qualiti. Todos os direitos reservados....

Post on 22-Apr-2015

107 views 0 download

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()