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