Você está na página 1de 17

9/11/2010

Ciclo de vida
de serviços

Professor
Leonardo Guerreiro Azevedo

Ciclo de vida de serviços

Serviços são “pedaços” de software, como outro


software qualquer, logo o ciclo de vida usual para
desenvolvimento de software também se aplica.
Entretanto, existem diferenças!

Identificação Análise de Implementaç Integração,


Projeto de
de serviços de serviços de
serviços Implantação
negócio negócio ão testes

1
9/11/2010

Ciclo de vida de serviços

Ciclo de vida em cascata não se aplica.


Durante o desenvolvimento mudanças podem ocorrer:
Erros ou enganos
Ganho de experiência e maior conhecimendo do domínio
Mudanças ao longo do tempo
Processo iterativo: fases iniciais podem ser ajustadas
de acordo com a experiência obtida em fases
posteriores.

Identificação Análise de Implementaç Integração,


Projeto de
de serviços de serviços de
serviços Implantação
negócio negócio ão testes

Ciclo de vida de serviços

Um serviço é parte de um processo de negócio mais


geral.
Qualquer modificação do projeto ou implementação de
um serviço pode impactar outros sistemas.

Processo 1

Serviço 1.1 Serviço 1.2 Serviço 1.3

Serviço X

Serviço 2.1 Serviço 2.2 Serviço 2.3


Processo 2

2
9/11/2010

Ciclo de vida de serviços


Fase de projeto

Fase projeto: produz a especificação da interface do


serviço
Inclui semântica e atributos não funcionais
Pode fazer parte de um ou mais contratos entre o
provedor do serviço e consumidor do serviço
Logo, modificações no projeto de serviço podem afetar
outros sistemas.
Projeto deve ser bem feito.
Evitar perder muito tempo buscando a perfeição.

Ciclo de vida de serviços


Fase de projeto

Aceitar que serviços podem mudar.


Observando o ciclo de vida a partir da fase de projeto.

Projeto de Implementação
Integração,
serviços testes Implantação

3
9/11/2010

Ciclo de vida de serviços


Fase de projeto

Quanto melhor o projeto, menor é a probabilidade de


modificações após iniciada a implementação.
Modificações podem ocorrer:
Falta de tempo para o projeto
Algum conhecimento não conhecido a priori.

Projeto de Implementação
Integração,
Implantação
serviços testes

Menos de 50% das interfaces projetads mantém-se estável durante a fase de implementação.
Nicolai M. Josuttis
7

Ciclo de vida de serviços


Fase de projeto

Novos requisitos podem demandar mudanças em


serviços existentes.
Um novo serviço (ou uma nova versão do serviço) é
necessária.
Uma nova versão de um serviço corresponde a um
novo serviço.
Mudanças em fases posteriores podem também levar
a mudanças na fase de identificação de serviços.

Identificação Análise de Integração,


Projeto de
de serviços de serviços de
serviços Implementação Implantação
negócio negócio testes

4
9/11/2010

Modificações de serviço em produção

Em SOA temos a combinação


Serviços novos sendo desenvolvidos
Serviços sendo mantidos

Modificações são mais críticas se sistemas (serviços)


têm diferentes proprietários.
Serviços em produção podem estar executando
processos críticos!
Modificar um serviço (interface ou implementação)
pode trazer problemas.
Cuidado ao realizar manutenção.

Modificações de serviço em produção

Boa prática: serviços em produção serem estáveis.


Sempre que for necessário alterar o compartamento de
um serviço
Criar um serviço novo; ou
Criar uma nova versão do serviço – independente da anterior.

E quando o problema for corrigir “bugs”?


Neste caso, não se quer criar uma nova versão do serviço
Substituir a versão existente.
Correção de erros: se não impactar o projeto do serviços,
substituir o serviço, senão criar novo serviço.

10

5
9/11/2010

Modificações de serviço em produção

Identificação Análise de Integração,


Projeto de
de serviços de serviços de
serviços Implementação Implantação
negócio negócio testes

Correção de erro
Novo serviço Execução

Identificação Análise de Integração,


Projeto de
de serviços de serviços de
serviços Implementação Implantação
negócio negócio testes

Execução

11

Modificações de serviço em produção

Um serviço em execução pode ser modificado sem


gerar um novo serviço quando:
Todos os sistemas consumidores estão de acordo com a
modificação
Serviço não possui sistema consumidor

12

6
9/11/2010

Aposentadoria de serviço

Serviços obsoletos e versões de um mesmo serviço


devem ser removidas de produção.

Aposentadori
a do serviço

13

Aposentadoria de serviço

Como remover serviços de produção?


1) Marcar serviço como obsoleto (“deprecated”)
2) Monitorar o uso do serviço
Pelo próprio barramento
Por um código implementado
3) Se o serviço continuar sendo utilizado, contactar
consumidor.
Produzir um cronograma para remover o serviço.

Transmitir ao consumidor os ganhos com a remoção


do serviço.

14

7
9/11/2010

Ciclo de vida orientado a stakeholders

15

Ciclo de vida de serviços


Orientado a Stakeholders

Professor
Leonardo Guerreiro Azevedo

16

8
9/11/2010

Ciclo de vida orientado a


stakeholders
Stakeholders (papéis arquiteturais)
Provedor de serviços
Desenvolve, publica e mantém serviços para serem consumidos

Broker de serviços
Provê a informação da localização do serviço que está contida em um registro
de serviços
Registro de serviços: diretório para serviços publicados, como as listas
amarelas para números de telefone.
Provedores de serviços utilizam o registro para publicar seus serviços e
os consumidores para localizar serviços.

Consumidor de serviços/provedor de aplicações


Provê a interface com o usuário, a partir da qual serviços são acessados
Consumidor de serviços: Quando integra os serviços em uma aplicação, que
eventualmente atende aos requisitos do usuário final.

17

Ciclo de vida orientado a


stakeholders

Projeto Execução Mudança

Mapeamento Modelagem Desenvolvimento


de mercado de negócio de serviço

Engenharia Projeto de Teste de Publicação Provisão Monitoração Gerenciamento


Provedor
de requisitos serviço serviço de serviço de serviço de serviço de serviço
de serviço

Broker de Seleção Atualização Manutenção


serviço de registro de registro de registro

Descoberta Negociação
(Consumidor de serviço de serviço
de serviços) Monitoração
de serviço
Orquestração Invocação
/composição de serviço
de serviço

Provedor Projeto da Teste de


de aplicação aplicação modulo
Teste da Manutenção
aplicação da aplicação
Engenharia Implementação
de requisitos da aplicação

18

9
9/11/2010

Ciclo de vida orientado a stakeholders


– Provedor de serviço

Projeto Execução Mudança

Mapeamento Modelagem Desenvolvimento


de mercado de negócio de serviço

Engenharia Projeto de Teste de Publicação Provisão Monitoração Gerenciamento


Provedor
de requisitos serviço serviço de serviço de serviço de serviço de serviço
de serviço

Demandas que levam um provedor de serviço a


começar a produzir serviços:
(i) uma requisição de um cliente;
(ii) idéias extraídas de suas próprias experiências; ou
(iii) requisitos criados pelo mercado.

19

Ciclo de vida orientado a stakeholders


– Provedor de serviço

Projeto Execução Mudança

Mapeamento Modelagem Desenvolvimento


de mercado de negócio de serviço

Engenharia Projeto de Teste de Publicação Provisão Monitoração Gerenciamento


Provedor
de requisitos serviço serviço de serviço de serviço de serviço de serviço
de serviço

Análise de requisitos a fim de produzir serviços que tenham reuso e tragam


retorno de investimento.
Serviços permanecem com o provedor do serviço, não são entregues para os
clientes (diferente do desenvolvimento tradicional).
Provedor de serviço precisa analisar
i) objetivo, funcionalidade, interface e qualidade de serviço;
ii) Aspectos de nível de acordo de serviço: nível de disponibilidade do serviço,
desempenho, número de chamadas que o serviço é capaz de responder em
um determinado intervalo de tempo (tempo de resposta), confiabilidade etc.
20

10
9/11/2010

Ciclo de vida orientado a stakeholders


– Provedor de serviço

Projeto Execução Mudança

Mapeamento Modelagem Desenvolvimento


de mercado de negócio de serviço

Engenharia Projeto de Teste de Publicação Provisão Monitoração Gerenciamento


Provedor
de requisitos serviço serviço de serviço de serviço de serviço de serviço
de serviço

Modelar o processo de negócio relacionado diretamente ao serviço que


será criado.
Geralmente analistas de negócio participam nessa atividade.

21

Ciclo de vida orientado a stakeholders


– Provedor de serviço

Projeto Execução Mudança

Mapeamento Modelagem Desenvolvimento


de mercado de negócio de serviço

Engenharia Projeto de Teste de Publicação Provisão Monitoração Gerenciamento


Provedor
de requisitos serviço serviço de serviço de serviço de serviço de serviço
de serviço

Atividade corresponde a buscar, no registro de serviços, serviços que


possam ser reutilizados, determinar se um serviço existente é aplicável,
decidir se um novo serviço deve ser implementado ou modificado para
atender os requisitos.
A saída dessa atividade inclui: interface refinada do serviço; estilo de
interação entre serviços e seus clientes (MEP); protocolo de comunicação
em baixo nível, por exemplo, HTTP; protocolo de comunicação em alto
nível, por exemplo, mensagem SOAP, GET ou POST; especificações do
nível de acordo dos serviços; etc.
22

11
9/11/2010

Ciclo de vida orientado a stakeholders


– Provedor de serviço

Projeto Execução Mudança

Mapeamento Modelagem Desenvolvimento


de mercado de negócio de serviço

Engenharia Projeto de Teste de Publicação Provisão Monitoração Gerenciamento


Provedor
de requisitos serviço serviço de serviço de serviço de serviço de serviço
de serviço

Esta atividade corresponde a:


i) Implementar novos serviços ou modificar serviços existentes;
ii) Realizar testes de desenvolvimento para verificar se os serviços
atendem aos requisitos levantados.

23

Ciclo de vida orientado a stakeholders


– Provedor de serviço

Projeto Execução Mudança

Mapeamento Modelagem Desenvolvimento


de mercado de negócio de serviço

Engenharia Projeto de Teste de Publicação Provisão Monitoração Gerenciamento


Provedor
de requisitos serviço serviço de serviço de serviço de serviço de serviço
de serviço

Esta atividade corresponde à realização de testes pela equipe de testes do


provedor de serviços antes de serem publicados para uso comercial,
considerando métricas de qualidade (tempo de resposta do serviço, tempo
de disponibilidade, recuperação de falhas, entre outros).

24

12
9/11/2010

Ciclo de vida orientado a stakeholders


– Provedor de serviço

Projeto Execução Mudança

Mapeamento Modelagem Desenvolvimento


de mercado de negócio de serviço

Engenharia Projeto de Teste de Publicação Provisão Monitoração Gerenciamento


Provedor
de requisitos serviço serviço de serviço de serviço de serviço de serviço
de serviço

Publicar serviço no repositório Definir regras para Acompanhar


de serviços. consumidores de serviço execução do
ao invocar os serviços serviço
publicados (ex. SLA).

25

Ciclo de vida orientado a stakeholders


– Provedor de serviço

Projeto Execução Mudança

Mapeamento Modelagem Desenvolvimento


de mercado de negócio de serviço

Engenharia Projeto de Teste de Publicação Provisão Monitoração Gerenciamento


Provedor
de requisitos serviço serviço de serviço de serviço de serviço de serviço
de serviço

Gerenciar mudanças nos serviços a fim de


reduzir o impacto nos clientes.
Mudanças podem ocorrer nas implementações
dos serviços, nas políticas ou regras associadas
aos serviços (SLA).

26

13
9/11/2010

Ciclo de vida orientado a stakeholders


– Broker de serviço

Projeto Execução Mudança

Broker de Seleção Atualização Manutenção


serviço de registro de registro de registro

Esta atividade corresponde à Corresponde à Manutenção de informações


seleção de uma ferramenta inclusão das de serviços existentes.
de registro de serviços informações de Verificação de serviços que
apropriada a fim de um novo serviço nunca são descobertos ou
gerenciar o registro dos no repositório. que raramente são
serviços. invocados (podem ser
removidos do registro).

27

Ciclo de vida orientado a stakeholders


– Provedor de aplicação

Projeto Execução Mudança

Descoberta Negociação
(Consumidor de serviço de serviço
de serviços) Monitoração
de serviço
Orquestração Invocação
/composição de serviço
de serviço

Provedor Projeto da Teste de


de aplicação aplicação modulo
Teste da Manutenção
aplicação da aplicação
Engenharia Implementação
de requisitos da aplicação

Consumidores de serviço têm como objetivo realizar uma determinada tarefa através da utilização de
um serviço.
Consumidores de serviços avaliam serviço a ser consumido de acordo com requisitos da aplicação:
i) se a funcionalidade provida está de acordo com os requisitos do consumidor;
ii) se o desempenho atende às demandas;
iii) se o uso pode melhorar a eficiência do negócio.

28

14
9/11/2010

Ciclo de vida orientado a stakeholders


– Provedor de aplicação

Projeto Execução Mudança

Descoberta Negociação
(Consumidor de serviço de serviço
de serviços) Monitoração
de serviço
Orquestração Invocação
/composição de serviço
de serviço

Provedor Projeto da Teste de


de aplicação aplicação modulo
Teste da Manutenção
aplicação da aplicação
Engenharia Implementação
de requisitos da aplicação

O projeto da aplicação, implementação e o módulo de testes não são muito


diferentes da abordagem tradicional da engenharia de software.

Embora os serviços que um sistema vá invocar ainda sejam desconhecidos, as


descrições de interface podem ser utilizadas para integrações futuras.

29

Ciclo de vida orientado a stakeholders


– Provedor de aplicação

Projeto Execução Mudança

Descoberta Negociação
(Consumidor de serviço de serviço
de serviços) Monitoração
de serviço
Orquestração Invocação
/composição de serviço
de serviço

Provedor Projeto da Teste de


de aplicação aplicação modulo
Teste da Manutenção
aplicação da aplicação
Engenharia Implementação
de requisitos da aplicação

Busca no registro de serviços por Mapeamento de serviço ou


serviços publicados que sejam composição de serviços à
compatíveis com os requisitos atividades do negócio, a fim de
definidos atender aos requisitos do negócio

30

15
9/11/2010

Ciclo de vida orientado a stakeholders


– Provedor de aplicação

Projeto Execução Mudança

Descoberta Negociação
(Consumidor de serviço de serviço
de serviços) Monitoração
de serviço
Orquestração Invocação
/composição de serviço
de serviço

Provedor Projeto da Teste de


de aplicação aplicação modulo
Teste da Manutenção
aplicação da aplicação
Engenharia Implementação
de requisitos da aplicação

Consumidor de serviços troca uma


determinada quantidade de Invocação
mensagens de contrato com um propriamente
provedor de serviços para alcançar um dita.
acordo (SLA).
Em serviços não comerciais ou
internos esta atividade pode não
ocorrer.
31

Ciclo de vida orientado a stakeholders


– Provedor de aplicação

Projeto Execução Mudança

Descoberta Negociação
(Consumidor de serviço de serviço
de serviços) Monitoração
de serviço
Orquestração Invocação
/composição de serviço
de serviço

Provedor Projeto da Teste de


de aplicação aplicação modulo
Teste da Manutenção
aplicação da aplicação
Engenharia Implementação
de requisitos da aplicação

Teste de integração e de requisitos não Monitoramento para


funcionais como desempenho, compatibilidade, verificar
segurança, entre outros, são o foco principal confiabilidade,
nesta atividade. disponibilidade de
acordo com
contrato.
32

16
9/11/2010

Ciclo de vida orientado a stakeholders


– Provedor de aplicação

Projeto Execução Mudança

Descoberta Negociação
(Consumidor de serviço de serviço
de serviços) Monitoração
de serviço
Orquestração Invocação
/composição de serviço
de serviço

Provedor Projeto da Teste de


de aplicação aplicação modulo
Teste da Manutenção
aplicação da aplicação
Engenharia Implementação
de requisitos da aplicação

Corresponde tanto à:
i) Manutenções da aplicação de acordo com
mudanças de requisitos
ii) Manutenções em relação a serviços
integrados, por exemplo, alterações do serviço
invocado, substituição de um serviço por outro
mais eficiente etc.
33

17

Você também pode gostar