Methodologies for the Design of Service- Based Systems Barbara Pernici João Victor Guimarães de Lemos Professor: Jaelson Castro Outubro/2010
Conceitos 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) 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 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 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 desenvolvimento de serviços Dagstuhl seminar on Service Oriented Computing
Composiçã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 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ç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-Cube
Requisitos 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 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 Map
Projeto de composição de serviç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
PAWS 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: Descrição com variantes
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 serviços
Trabalhos 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