methodologies for the design of service- based systems barbara pernici joão victor guimarães de...
TRANSCRIPT
Methodologies for the Design of Service-Based
SystemsBarbara PerniciBarbara Pernici
João Victor Guimarães de Lemos
Professor: Jaelson Castro
Outubro/2010
Conceitos iniciaisConceitos iniciais• Abordagem orientada a serviço permite o desenvolvimento
de processos de negócios e aplicações flexíveis
• Adaptabilidade é um conceito fundamental na orientação a serviços. Permite:
– Composição de serviços– Execução de serviços– Processos variáveis– Consideração de contexto externo
• No contexto de serviços de software, adaptabilidade é estudada pela rede européia S-Cube (Software Services and Systems)
Conceitos iniciais (2)Conceitos iniciais (2)• Serviços de software fazem parte dos serviços do mundo
real
• Do ponto de vista do consumidor do serviço, é bastante difícil distinguir a parte de software do serviço global
• Metodologias de projeto baseadas em serviço evoluíram de metodologias de software tradicionais
• Existe a carência de abordagens específicas para projetos de sistemas baseados em serviços, principalmente considerando a etapa de engenharia de requisitos
Abordagem propostaAbordagem proposta• Eliciting Service Composition in a Goal-Driven Manner
– Rim Samia Kaabi– Carine Souveyet– Colette Rolland
• Propõe realizar um link entre a fase de engenharia de requisitos e as subsequentes fases de projeto
• Baseia-se na noção de intenções para especificar os goals dos processos de negócio e subsequentemente, projetar serviços baseados nestes requisitos.
Objetivos do artigoObjetivos do artigo• Discutir diferentes abordagens para o projeto de serviços e
gerenciamento do ciclo de vida dos mesmos
• Ilustrar e comparar abordagens nas fases de engenharia de requisitos, projeto de serviços e composição dos mesmos
Ciclo de vida no Ciclo de vida no desenvolvimento de serviçosdesenvolvimento de serviços
Provisioning
Construction &
Testing
Deployment
Execution &
Monitoring
Planning Analysis
& Design
Evolution for change,
maintenance Physical design
Conformance validation
Provisioning
Construction &
Testing
Deployment
Execution &
Monitoring
Planning Analysis
& Design
Evolution for change,
maintenance Physical design
Conformance validation
Dagstuhl seminar on Service Oriented Computing
Composição de serviçosComposição de serviços• Conjunto de serviços que são executados de acordo com
uma série de restrições associadas aos mesmos
• São caracterizadas pela flexibilidade dos serviços componentes durante sua execução
Service OrientationService Orientation• A maioria das abordagens de processos se concentra em definir
uma ordem de execução para os serviços numa composição
• A orientação a serviços (SO), por outro lado, apresenta duas características peculiares:– (i) A composição de serviços não determina uma ordem de
execução– (ii) A qualidade de serviço de processo se torna uma de suas
características, tendo o provedor de serviço a obrigação de satisfazer restrições de qualidade
• Para atingir (ii), realiza-se uma composição de serviços dinâmica:– Serviços componentes variam durante diferentes execuções de processos– Variam durante uma única execução
• Razões para seleção dinâmica
Projeto de serviçosProjeto de serviços• Existem duas tendências na literatura atual para o projeto de
serviços– (i) Projetar aplicações baseadas em serviços a partir de abordagens
consolidadas de projeto de software.• Nestas abordagens aspectos dinâmicos da composição e gerenciamento de serviços são apenas
marginalmente considerados– (ii) Definição de metodologia para a definição de um processo
incremental e iterativo para projeto e desenvolvimento de serviços• Serviços e seus ciclos de vida devem ser identificados, projetados, desenvolvidos, implentados
e gerenciados• Planejamento, análise e projeto, construção e teste, provisionamento, entrega, execução e
monitoramento• Princípios para garantir que serviços são independentes e facilmente compostos
• Estas abordagens, no entanto, falham em definir, em tempo de projeto, uma análise das propriedades dinâmicas das composições de serviços
Abordagem S-CubeAbordagem S-Cube
Identifyadaptation
need
Identifyadaptationstrategy
Enactadaptation
Early RequirementsEngineering
RequirementsEngineering
& Design
Construction
Deployment &provisioning
Operation & management
Identifyadaptation
need
Identifyadaptationstrategy
Enactadaptation
Early RequirementsEngineering
RequirementsEngineering
& Design
Construction
Deployment &provisioning
Operation & management
RequisitosRequisitos• Na maioria das abordagens para projetos orientados a
serviço, engenharia de requisitos é a primeira etapa, e geralmente feita de forma tradicional
• Gehlert A, Danylevych O, Karastoyanova D (2009) From Requirements to Executable Processes - A Literature Study. In: Proc. of the 5th International Workshop on Business Process Design (BPD 2009), Ulm, Germany
– Casos de uso e cenários são usados nas fases iniciais– Modelagem de processos de negócios é considerada, mas descrita como
mais adequada para estágios posteriores– Não há ligação com os aspectos de adaptabilidade presentes em tempo
de execução
Intention-driven approachIntention-driven approach• Abordagem de Colette Rolland e grupo para ligar objetivos de
negócios e desenvolvimento de serviços
• Descrever serviços em termos de negócios e intenções, em detrimento da descrição de funcionalidades e interfaces
– Mais fácil de transformar requisitos em aplicações executáveis considerando características específicas de serviços, como adaptabilidade
– Considera variabilidade– Permite a representação de diferentes variações do mesmo serviço ou de
diferentes composições para atingir a mesma intenção– Descrição de serviços em diferentes níveis de abstração
• Considera que um serviço permite a satisfação de uma intenção, dada uma situação inicial, chegando a uma situação final
• A intenção é vista como um goal para o serviço
Business MapBusiness Map
b
a
c
Alt. 1
Alt. 2 3
1
1b
a
c
Alt. 1
Alt. 2
b
a
c
Alt. 1
Alt. 2 3
1
1
Projeto de composição de Projeto de composição de serviçosserviços
• Projetar composições de serviços que satisfaçam os requisitos especificados
• Examinar serviços existentes e aplicações legadas para moldar processos como uma composição de serviços
• Processos abstratos são considerados, granularidade e reusabilidade são levados em consideração
• Existe alguma preocupação com relação à adaptabilidade de serviços
– Descrições abstratas de serviços– Processos abstratos
• É necessário identificar questões de adaptabilidade e especificar estratégias que possam ser aplicadas em tempo de execução
PAWSPAWS• Processes With Adaptative Web Services
• Framework onde processos são projetados para serem adaptáveis, e tal adaptabilidade é preparada em tempo de projeto
• Para cada tarefa (task) uma seleção de potenciais serviços é feita em tempo de projeto
• Adaptação de interface e negociação da qualidade de serviço (QoS) para cada serviço potencialmente invocado em tempo de execução são etapas de projeto
• Existem restrições de qualidade de serviço locais e globais
• Serviços podem ser invocados usando técnicas de otimização de QoS e mecanismos de auto-reparação podem ser invocados em casos de falha
PAWS (2)PAWS (2)
T1
T4
T2 T3
Flexible process Concrete candidate services
Global constraints
Local task constraints
Local task constraints
Process design
Advanced service selection
Service preparation(SLA negotiation, interface mediation)
Serviceregistry
Processexecution
Self-healing
QoS optimizationcontext
T1
T4
T2 T3
Flexible process Concrete candidate services
Global constraints
Local task constraints
Local task constraints
Process design
Advanced service selection
Service preparation(SLA negotiation, interface mediation)
Serviceregistry
Process design
Advanced service selection
Service preparation(SLA negotiation, interface mediation)
Serviceregistry
Processexecution
Self-healing
QoS optimizationcontext
PAWS: Descrição com PAWS: Descrição com variantesvariantes
LowQoS
HighQoS
Show video
Interactivemap
Show text
staticmap
Conf1: High QoS Conf2: Low QoS
LowQoS
HighQoS
Show video
Interactivemap
Show text
staticmap
Conf1: High QoS Conf2: Low QoS
PAWS (3)PAWS (3)• Existe um elo fraco entre os requisitos expressos na fase
inicial e a construção de serviços
• A abordagem intencional (Intention-driven approach) permite a existência de uma ligação entre goals e processos e então para o projeto e a construção de serviços
• Os Business Maps permitem a descrição de caminhos alternativos
• Os serviços intencionais podem ser mapeados em diferentes composições de serviços e a escolha pode ser feita em tempo de execução
De mapas intencionais para De mapas intencionais para serviçosserviços
P
ac1 ab1 ab2 ab3 bc1
b
a
c
Alt. 1
Alt. 2 3
1
1
Executor level
P
ac1 ab1 ab2 ab3 bc1
b
a
c
Alt. 1
Alt. 2 3
1
1b
a
c
Alt. 1
Alt. 2
b
a
c
Alt. 1
Alt. 2 3
1
1
Executor level
Trabalhos futurosTrabalhos futuros• Foco em Intention-Based approach, que permite a fase de
projeto se preocupe com o conceito geral de serviço, ao invés de foco em tecnologia nas fases iniciais
• A abordagem intencional deixa em aberto a seleção de serviços em tempo de execução
– Alternativa: Intentional Approach + QoS
• Considerar características de serviços de TI e serviços do mundo real
– Custo de propriedade dos serviços