Research of Dynamic SOA Collaboration
Architecture
Universidade do Vale do Rio dos Sinos – Unisinos
Mestrado em Computação Aplicada - PIPCA
Disciplina de Projetos de Sistema de Software na Internet
Prof. D.Sc. Sérgio Crespo
Artigo de Juan Fang e Yanhui Liu
Por: Daniel de Souza Martins e Marco Andrei Lampert
Novembro, 2010
Mestrado
Mestrado em
em
Computação
Computação Aplicada
Aplicada
Modelagem
e Simulação
DisciplinaDisciplina
de Projetos
de Sistema
de Software na
Internet
Assuntos
• 1 – Introdução
• 2 - Classificação das Arquiteturas SOA
• 3 – Arquiteturas com Aplicações SOA Atuais
• 4 – Arquitetura Baseada em SOA para Colaboração
• 5 – Conclusão
Mestrado em
Computação Aplicada
Disciplina de Projetos de Sistema de Software na
Internet
2
Introdução
• No SOA (Service-Oriented Architecture) diferentes serviços
colaboram em conjunto para realizar uma tarefa complexa.
• O desenvolvimento SOA possui três elementos chave:
- prestador de serviços
- agente de serviços e
- atendimento ao consumidor
Mestrado em
Computação Aplicada
Disciplina de Projetos de Sistema de Software na
Internet
Introdução
• O prestador de serviços desenvolve um conjunto de serviços
que são disponibilizados pelo agente de serviços
• Quando um novo serviço é necessário o atendimento ao
consumidor pesquisa no agente de serviços aqueles que podem
atender as necessidades
• Uma vez achado, agrupa-os, liga-os e disponibiliza como uma
nova aplicação
 COLABORAÇÃO SOA TRADICIONAL
Mestrado em
Computação Aplicada
Disciplina de Projetos de Sistema de Software na
Internet
Introdução
• Mudanças no fluxo de colaboração exigem compor um novo
serviço
• SOA tradicional fica ineficiente
• Colaboração SOA dinâmica se propões a resolver este
problema
• O fluxo de colaboração e o serviço são determinados em
tempo de execução
Mestrado em
Computação Aplicada
Disciplina de Projetos de Sistema de Software na
Internet
Classificação das Arquiteturas SOA
• Baseada em 2 parâmetros:
- capacidade de reprojetar o fluxo de trabalho:
- estática / pré-definida (S)
- dinâmica / tempo de execução (D)
- capacidade de recompor em tempo de execução
- estática / pré-definida (N)
- dinâmica / tempo de execução (R)
• Quatro combinações
- (S,N) - nenhuma mudança ocorre em tempo de execução
- (S,R) – colaboração SOA tradicional
- (D,N) - na prática não existe
- (D,R) – colaboração SOA tradicional
Mestrado em
Computação Aplicada
Disciplina de Projetos de Sistema de Software na
Internet
Arquitetura de Aplicações SOA
• IBM SOA Foundation Architecture;
– Arquitetura do tipo S/R;
• FERA Reference Architecture;
– Arquitetura do tipo S/N.
Mestrado em
Computação Aplicada
Disciplina de Projetos de Sistema de Software na
Internet
IBM SOA Foundation Architecture
Mestrado em
Computação Aplicada
Disciplina de Projetos de Sistema de Software na
Internet
FERA Reference Architecture
Mestrado em
Computação Aplicada
Disciplina de Projetos de Sistema de Software na
Internet
Arquitetura Colaborativa para SOA
• Proposta de arquitetura que permite a
mudança dos serviços e fluxos colaborativos
em tempo de execução.
Mestrado em
Computação Aplicada
Disciplina de Projetos de Sistema de Software na
Internet
Arquitetura Colaborativa para SOA
•
•
•
•
•
•
•
Passo 1- O Application Runtime analisa a especificação da aplicação e define uma
especificação de restrições;
Passo 2- O Procces Controller primeiro analisa a especificação do processo e gera a
especificação do fluxo colaborativo e a especificação dos serviços;
Passo 3- O Service Broker procura no Service Pool serviços que satisfaçam os
requisitos descritos na especificação dos serviços, e os envia ao Procces Controller;
Passo 4- Depois dos serviços trocar seus CPPs e criarem um CPA, o Procces
Controller organiza os serviços de acordo com a especificação do processo;
Passo 5- O Application Runtime fornece um ambiente de execução para estes
serviços organizados, e esses serviços serão executados sob o controlo do Policy
Enforcement. O Policy Enforcement usa diversas políticas, como CPPs e CPA, para
conduzir esse processo de controle;
Passo 6- Enquanto a aplicação estiver sendo executada os serviços colaborativos
devem obedecer as politicas de restrições, como CPPs e CPA;
Passo 7- Durante a execução de um aplicativo, o Aplication Runtime monitora o
estado da aplicação para verificar a necessidade de mudança no fluxo
colaborativo. Uma vez que algo precise ser alterado, o processo de construção de
uma nova aplicação é disparado, assim que esta fique pronta ela irá substituir a
antiga. Tudo isso ocorre de forma automatizada.
Mestrado em
Computação Aplicada
Disciplina de Projetos de Sistema de Software na
Internet
Conclusões
• A forma como as arquitetura SOAS podem ser classificadas é
bastante útil, pois deixa claro até, e em que ponto a
arquitetura é adaptativa;
• A construção de aplicações SOA colaborativas e adaptativas
não é algo trivial.
Mestrado em
Computação Aplicada
Disciplina de Projetos de Sistema de Software na
Internet
Referência Bibliográficas
• [1] OASIS: ebXML: http://www.ebxml.org/
• [2] Tsai WT, Huang Q, Xiao B, Chen Y,“Collaboration policy generation in
dynamic collaborative SOA”, ISADS 2007.
• [3] Tsai WT, Fan C, Chen Y, Paul R, and Chung J “Architecture Classification
for SOA-Based Applications”, Proceedings of the Ninth IEEE international
Symposium on Object and Component-Oriented Real-Time Distributed
Computing, IEEE Computer Society, Washington, DC, April, 2006,p. 295302.
• [4] Rob High, Jr., Stephen Kinder, and Steve Graham, “IBM SOA
Foundation: An Architectural Introduction and Overview, Version 1.0”,
2005.
• [5] OASIS, “Run-time Service Oriented Architecture (SOA) V0.1”, July 2005
• [6] Fang, Juan, and Liu, Yanhui. “Research of Dynamic SOA Collaboration
Architecture”, WASE 2009.
Mestrado em
Computação Aplicada
Disciplina de Projetos de Sistema de Software na
Internet
Download

Arquitetura Colaborativa para SOA