Disciplina Modelagem e SimulaçãoDisciplina Modelagem e SimulaçãoMestrado emMestrado emComputação AplicadaComputação Aplicada Disciplina de Projetos de Sistema de Software na Disciplina de Projetos de Sistema de Software na
InternetInternetMestrado emMestrado emComputação AplicadaComputação Aplicada
Universidade do Vale do Rio dos Sinos – UnisinosMestrado em Computação Aplicada - PIPCA
Disciplina de Projetos de Sistema de Software na InternetProf. D.Sc. Sérgio Crespo
Artigo de Juan Fang e Yanhui Liu
Por: Daniel de Souza Martins e Marco Andrei LampertNovembro, 2010
Research of Dynamic SOA Collaboration Research of Dynamic SOA Collaboration ArchitectureArchitecture
Disciplina de Projetos de Sistema de Software na Disciplina de Projetos de Sistema de Software na InternetInternet
Mestrado emMestrado emComputação AplicadaComputação Aplicada
2
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
Disciplina de Projetos de Sistema de Software na Disciplina de Projetos de Sistema de Software na InternetInternet
Mestrado emMestrado emComputação AplicadaComputação Aplicada
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
Disciplina de Projetos de Sistema de Software na Disciplina de Projetos de Sistema de Software na InternetInternet
Mestrado emMestrado emComputação AplicadaComputação Aplicada
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
Disciplina de Projetos de Sistema de Software na Disciplina de Projetos de Sistema de Software na InternetInternet
Mestrado emMestrado emComputação AplicadaComputação Aplicada
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
Disciplina de Projetos de Sistema de Software na Disciplina de Projetos de Sistema de Software na InternetInternet
Mestrado emMestrado emComputação AplicadaComputação Aplicada
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
Disciplina de Projetos de Sistema de Software na Disciplina de Projetos de Sistema de Software na InternetInternet
Mestrado emMestrado emComputação AplicadaComputação Aplicada
Arquitetura de Aplicações SOA
• IBM SOA Foundation Architecture;– Arquitetura do tipo S/R;
• FERA Reference Architecture;– Arquitetura do tipo S/N.
Disciplina de Projetos de Sistema de Software na Disciplina de Projetos de Sistema de Software na InternetInternet
Mestrado emMestrado emComputação AplicadaComputação Aplicada
IBM SOA Foundation Architecture
Disciplina de Projetos de Sistema de Software na Disciplina de Projetos de Sistema de Software na InternetInternet
Mestrado emMestrado emComputação AplicadaComputação Aplicada
FERA Reference Architecture
Disciplina de Projetos de Sistema de Software na Disciplina de Projetos de Sistema de Software na InternetInternet
Mestrado emMestrado emComputação AplicadaComputação Aplicada
Arquitetura Colaborativa para SOA
• Proposta de arquitetura que permite a mudança dos serviços e fluxos colaborativos em tempo de execução.
Disciplina de Projetos de Sistema de Software na Disciplina de Projetos de Sistema de Software na InternetInternet
Mestrado emMestrado emComputação AplicadaComputação Aplicada
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.
Disciplina de Projetos de Sistema de Software na Disciplina de Projetos de Sistema de Software na InternetInternet
Mestrado emMestrado emComputação AplicadaComputação Aplicada
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.
Disciplina de Projetos de Sistema de Software na Disciplina de Projetos de Sistema de Software na InternetInternet
Mestrado emMestrado emComputação AplicadaComputação Aplicada
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. 295-302.
• [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.