analisar serviços vítor braga – vtb@cin.ufpe.br. objetivos da aula apresentar os passos...

Post on 18-Apr-2015

107 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Analisar ServiçosVítor Braga – vtb@cin.ufpe.br

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 ?

top related