Aplicando Composição e Orquestração de Serviços na Organização de Sistemas



Documentos relacionados
1.1. Definição do Problema

Técnicas de Programação para a Web. Luiz Cláudio Silva. Novembro de Apresentação

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto;

LINHAS MESTRAS; FASES; DISCIPLINAS; PRINCÍPIOS E MELHORES PRÁTICAS.

Glossário Versão 1.0 Desenvolvimento do Sistema de Gestão de Documentos Doc Manager Histórico de Revisão

UTILIZAÇÃO DE ARQUITETURA EM CAMADAS BASEADA NO MODEL VIEW CONTROLLER, EM APLICAÇÕES WEB

Gerenciamento de projetos (Project Management).

Conteúdo Programático

Título : B1 INTRODUÇÃO. Conteúdo : INTRODUÇÃO

Arquiteturas para Sistemas Distribuídos I

Requisitos de Software

Diagramas de Componentes e Diagramas de Deployment

Processo de Desenvolvimento de Software

Sistemas Distribuídos Apresentação da disciplina e proposta didática Prof. MSc Hugo Vieira L. Souza

Arquitetura da Informação Organizacional: Um novo paradigma para Enterprise Architecture

Sistemas Distribuídos Capítulo 4 - Aula 5

TEORIA DAS FILAS COMO TÉCNICA MATEMÁTICA PARA REPRESENTAR O COMPORTAMENTO DE UMA SOLUÇÃO DE INTEGRAÇÃO EMPRESARIAL 1

O SOFTWARE R EM AULAS DE MATEMÁTICA

Programação Orientada a Objetos. Professor Leonardo Cabral - Larback

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 6 - Threads

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula

Termos de Referência para Serviços especializados de consultoria Individual na área de Arquitetura de Sistemas

SIMULADO A - COBIT 5 PORTUGUES

Documento de Requisitos do Sistema SISFOTO Sistema de gerenciamento de eventos fotográficos Versão 1.0

PROGRAMAÇÃO ORIENTADA A OBJETOS -PLANO DE ENSINO. Prof. Angelo Augusto Frozza, M.Sc.

Seguindo a análise de pensamento Estratégico, o gerenciamento de projetos

Motor para jogos 2D utilizando HTML5

Instruções para elaboração de TCC PROPOSTA DE NEGÓCIOS

SUMÁRIO PARTE I. Princípios de Projeto, a Linguagem de Modelagem Unificada (Unified Modeling Language, ou UML) e Projeto em Nível de Código

Qualidade de Produto. Maria Cláudia F. P. Emer

COREOGRAFIA DE SERVIÇOS WEB (Uma abordagem para a integração de serviços Web)

de rede são comumente utilizadas nos dias de hoje. Um dos grandes desafios para a tecnologia de redes sem fio no momento é o handoff vertical, onde

Guia para Modelagem de Casos de Uso Metodologia CELEPAR

Programação em JAVA. Subtítulo

Unidade II Atividades em PDS: Testes. Unidade III Suporte e Manutenção. Processo Desenvolvimento Software

CTIC - Centro de Pesquisa e Desenvolvimento em Tecnologias. Digitais para Informação e Comunicação CHAMADA DE PROJETOS. Computação em Nuvem

Soluções de gestão de clientes e de impressão móvel

ARQUITETURAS PARA APLICAÇÕES MÓVEIS

EMENTA. Curso de Projetos Microcontrolados utilizando Linguagem C.

Introdução. Qualidade de Produto. Introdução. Introdução ISO/IEC Normas

5 - Qual é a principal vantagem de desenvolvimento de código por pares:

BABok 2.0, O Guia de Referência de Análise de Negócio

Programação de Computadores - I. Profª Beatriz Profº Israel

INE 5323 Banco de Dados I

Gestão de Processos: Ciclo PDCA. Profa. Reane Franco Goulart

Arquitetura TCP/IP. Apresentado por: Ricardo Quintão

Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO

Tipos de Banco de Dados - Apresentação

Formação WEB com PHP. Subtítulo

Documento de Processo

Modelo de negócios CANVAS

Avaliação da Satisfação do Cliente de Informática

Relatório Técnico: Descrição do algoritmo para pesquisa automática dos egressos do curso de Ciência da Computação

Orientação a Objetos

PROGRAMAÇÃO ORIENTADA A OBJETO INTRODUÇÃO

INTEGRAÇÃO JAVA COM ARDUINO

Montadores e Compiladores

Arquitetura e Organização de Computadores

FLIP FLOPS. EXPERIMENTS MANUAL Manual de Experimentos Manual de Experimentos M-1113A

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos

Padrões de Projeto. Factory Method

Projeto Integrador Gestão em TI II Gestão em Pessoas. Organograma DIRETOR DEPARTAMENTO DE T.I ANALISTA TÉCNICO

7. Defina encapsulamento. R.: Encapsular é ocultar. Criar uma cápsula ao redor da classe, para proteger o que está dentro dela.

Orientações Para o Preenchimento do Formulário de Inscrição Preliminar dos Projetos

SIG. USANDO A TECNOLOGIA COMO SUPORTE Tecnologias de Apoio

Linguagem de Programação I

Modelagem UML Através do Microsoft Visual Studio 2010

Business intelligence para empresas de segurança. Como uma instituição pode gerar recursos e errar menos com ajuda da informação

6 CONCEPÇÃO BÁSICA DO SISTEMA DE APOIO À DECISÃO

Pós-graduação Lean Operations Management. Pós-Graduação LEAN OPERATIONS MANAGEMENT

SISTEMA DE GERENCIAMENTO DE EDIFÍCIOS METASYS Vá mais longe com Metasys

e ao Introdução ao BPM Guia BPM CBOK Instrutor: Eduardo Oliveira Slide XII Semana de Administração Orçamentária, Financeira e de Contratações Públicas

Modelagem de processos e gestão da qualidade da fundação uniselva. Prof. Dr. Cristiano Maciel Diretor

MPS.BR. rogerioaraujo.wordpress.com - rgildoaraujo@gmail.com 1

BANCO DE DADOS I AULA 2. Willamys Araújo willamysaraujo7@gmail.com

Programação de Computadores I. Linguagem C Função

O Engenheiro. Introdução à Engenharia Elétrica Prof. Edmar José do Nascimento

Elementos básico de uma rede Samba - Local Master Browser

APOSTILHA AULA 4 O CICLO DE VIDA DO PROJETO

CONCURSO PÚBLICO EDITAL Nº 03 / 2014

PROJETO DE REDES Prof. José Maurício S. Pinheiro UniFOA

Utilizando o Modelo Webquest para a Aprendizagem de Conceitos Químicos Envolvidos na Camada de Ozônio

EQUIPLANO SISTEMAS. Nota Fiscal de Serviços Eletrônica Manual de Utilização Web Services

NOME DO CANDIDATO TÍTULO DO PRÉ-PROJETO

O uso de remuneração variável para gerar o engajamento sustentável

Curso Técnico Concomitante em Informática MATRIZ CURRICULAR. Módulo/Semestre 1 Carga horária total: 400h. Módulo/Semestre 2 Carga horária total: 400h

PROGRAMA da Certificação Internacional em Integração Sensorial

Gerenciamento de Integração. Prof. Anderson Valadares

OpenPDV: Sistema aberto para gerenciamento de restaurantes

LÓGICA E ROBÓTICA PRIMEIRAS IMPRESSÕES

Plataforma Mercer 360

/ 2012_1 6 ( ) ADM ( ) ADM COMEX ( ) ADM MKT

Avaliação e Desempenho Aula 1 - Simulação

Ementa 22/08/2012. Teoria Geral de Sistemas. TADS 2. Semestre Prof. André Luís. Aula 01. Apresentação da Disciplina Conceito de Sistemas

DEVF IT Solutions. Gerenciador de Log. Documento Visão. Versão 2.0. Projeto Integrador 2015/2 Engenharia de Software

Manual do Processo de Planejamento da UFSC. Departamento de Planejamento SEPLAN/UFSC

Plano de Trabalho Docente Ensino Técnico

Transcrição:

Aplicando Composição e Orquestração de Serviços na Organização de Sistemas Silva, Leo Moreira Centro Federal de Educação Tecnológica do Rio Grande do Norte (CEFET-RN) CEP 59015-000 Natal RN Brazil 1. Introdução Atualmente, um grande desafio para empresas de qualquer gênero é a integração de sistemas heterogêneos e dinâmicos. Para atender essa necessidade, surge a Arquitetura Orientada a Serviços (SOA, do inglês Service-Oriented Architecture), visando a interoperabilidade e a reusabilidade de componentes. Em SOA, as funcionalidades são providas através de serviços em servidores específicos. As principais vantagens da SOA são: Reuso; Baixo acomplamento; Autonomia; Abstração; Contrato de Serviço; Inexistência de Estados. Com essa nova visão, os recursos e o conhecimento não são mais exclusivos a departamentos ou setores. Essa junção de esforços trás uma vantagem competitiva. Mas essa busca por um novo paradigma, acaba fazendo que as empresas utilizem apenas a tecnologia de Web Services, mudando apenas a forma de implementação de seus sistemas. Isso é o que se chama de falso SOA. A diferença básica é que SOA representa um novo paradigma para o desenvolvimento de aplicações corporativas orientadas a serviços, enquanto Web Services representam a tecnologia para o desenvolvimento dessas aplicações. Para auxiliar na solução dessa confusão, surgem alguns padrões que disciplinam e auxiliam na criação de composições através de linguagens para expressar a lógica de serviços compostos em processos de negócio. BPEL é uma das principais linguagens para especificar processos de negócio e o estado dos processos. Existem duas formas de se realizar composição de serviços: Orquestração e Coreografia. A orquestração é organizada por coordenador, fazendo verificações de précondições e pós-condições. Já na coreografia, todos auxiliam na fluxo das operações. O artigo se referiu a um estudo de em sistemas de uma empresa de telecomunicações que utiliza Web Services para comunicação interna e externa entre eles. Até o momento de conclusão, a empresa não utilizava o paradigma de orientação a serviços. O estudo utilizou a ferramenta BPEL para aplicar os conceitos de orquestração e composição.

2. Objetivos e Metodologias Como objetivo geral da monografia, foi implementar a orquestração de serviços em um ambiente real. Em objetivos específicos, a realização de estudos das tecnologias envolvidas, bem como as plataformas e ferramentas. A metodologia aplicada, foi em um primeiro momento, a realização do estudo da plataforma envolvida e logo após um estudo teórico das tecnologias. Por fim, foi realizada a implementação do estudo. 3. Fundamentação Teórica 3.1 SOA A primeira tecnologia abordada no estudo, foi a tecnologia SOA. Basicamente é demonstrada a definição forma; da tecnologia, mostrando o que cada palavra significa e como deve ser interpretada. No caso de SOA, as duas primeias palavras Service- Oriented expressam uma metodologia de software, enquanto Architecture seria um panorama dos componentes do sistemas, como se fosse uma planta arquitetônica. Também é apresentando o paradigma a qual o SOA é implementado, o findbind-execute. Esse paradigma segue o princípio de publicação de serviços, e consumidores buscam pelos mesmo. Caso o consumidor encontre o serviço necessário, é criado um contrato e o mesmo devolve um endereço para utilização do serviço. Abaixo, a figura ilustra esse paradigma. Figura 1: Paradigma Find-Bind-Execute 3.1.1 Vantagens do SOA Segundo o estudo, a grande vantagem da utilização do SOA é a integração entre aplicações através de serviços. Basicamente, essa integração de serviços é regida por contratos, onde são definidos o conjunto de mensagens suportadas, seu conteúdo e políticas(alvez et al., 2006).

3.1.2 Características do SOA Dentro do estudo, são apontadas algumas características importantes do SOA. Entre estão: Baixo; Contrato; Autonomia ; Abstração; Reuso; Composição; Estado. 3.2 Web Services O estudo inicia esse tópico abordando tecnologias que tiveram a iniciativa de comunicação em ambientes distribuído, como Corba e JAVA RMI. Essas tecnologias apresentam problemas na sua implementação. Nesse contexto, os Web Services surgiram para corrigir esses problemas. É apontado como uma grande vantagem dos Web Services, a utilização de baixo acoplamento entre sistemas e sua interoperabilidade, além de usar padrões abertos baseados em XML como WSDL,SOAP.e UDDI Abaixo é demostrada a arquitetura do Web Service. No estudo, é dado um destaque para similaridade entre a arquitetura Web Service e SOA, pois a primeira é uma implementação da segunda. Figura 2: Arquitetura Web Service Na continuação do estudo, são apresentados os componentes de um Web Services. Em resumo, essas são as principais características citadas de cada um: Serviços é um componente que atende a uma função de negócio específica. Ele recebe requisições e oculta todo o processamento;

WSDL define como as mensagens devem ser troca entre um consumidor e um serviço. Tem como objetivo principal, descrever as interfaces dos serviços, sem ficar preso a nenhuma plataforma; SOAP é o protocolo de comunicação dos Web Services. Ele utiliza a infraestrutura de rede, navegando sobre o protocolo HTTP, facilitando a comunicação, pois na maioria das vezes não é barrado por firewalls; UDDI fornece o mecanismo para localização de serviços. Organiza ponteiros para descrição de serviços para acomodar o processo de descoberta através de registro de serviços. 3.3. Camada de Serviços Após a introdução das tecnologias necessárias para a implementação do serviço, o estudo apresenta os princípios fundamentais para implementação da tecnologia orientada a serviços. Em um primeiro momento, é apresentada a camada de serviços, onde segundo o estudo, é a área onde as características do SOA são mais prevalentes. E para uma melhora compreensão, é demostrada a divisão dessas camada em 3 partes como mostra a figura Figura 3: As 3 principais camadas de serviço Um resumo das principais características das camadas: Camada de Serviços de Aplicação provê funções reusáveis relacionadas ao processamento de dados de um sistema novo ou legado. Os serviços que rodam nessa camada rodam dentro de uma contexto específico, são genéricos e reutilizáveis e podem ser usados para atingir uma integração ponto a ponto com outros serviços de aplicação; Camada de Serviços de Negócio representam a lógica de negócio da aplicação. São os serviços base da SOA;

Camada de Serviços de Orquestração impõe uma ordem seqüencial correta na execução dos serviços. 3.4 Modelagem de Serviços O estudo apresenta a situação atual das organizações, onde a mentalidade de se buscar uma melhora em processos individuais está sendo deixado de lado, para uma mentalidade onde todos os processos se interligam para alcançar um objetivo único. Para complementar essa informa, são apresentados alguns conceitos de um processo de negócio. O primeiro tópico é o processo de negócio em si. Basicamente, é um conjunto de tarefas que contribuem coletivamente para que uma organização atinja seus objetivos. E para ajudar no mapeamento dessas tarefas, é apresentado o conceito de workflow, que nada mais é do que um conjunto de uma ou mais atividades diretamente ligadas, que realizam coletivamente um objetivo do negócio. Logo após, é apresentado o conceito de BPM (Business Process Management), que surgiu da necessidade de se mapear processos além das fronteiras de uma organização. Com BPM, processos totalmente diferentes começaram a ser mapeados em função de um objetivo. O estudo cita que o BPM surge baseada em SOA, e junto com eles, a necessidade de se compor serviços, ou seja, combinar serviços para que os mesmos alcancem objetivos que superam suas capacidades individuais. Trazendo essa teoria para o estudo, essa composição conecta Web Services objetivando criar processos de negócio de alto nível, com alto valor agregado. A figura abaixo ilustra esse conceito. Figura 4: Composição de Serviços E para se atingir essa composição de serviços, o estudo demonstra as principais técnicas de composição, que são orquestração e coreografia. No estudo, orquestração é citada como um mecanismo que permite dois ou mais sistemas se comuniquem, utilizando uma orquestradora central. Sua grande vantagem, é que não existe a necessidade de se refazer funcionalidades de sistema já existentes,

deixando a cargo da orquestradora central a invocação e retorno das mensagens. A figura abaixo ilustra o seu funcionamento. Figura 5: Orquestração de Serviços Ao contrário da orquestração, na coreografia, os serviços conhecem uns aos outros e cada um conhece sua função dentro do fluxo do processo. A coreografia é realizada através da troca de mensagem entre os serviços. Abaixo a figura ilustrando a coreografia. Figura 6: Coreografia de Serviços O estudo também trás um comparativo entre as duas abordagens de composição. Entre as principais vantagens da orquestração em relação a coreografia, está no fato da flexibilidade, pois a inserção de um Web Service dentro de um grande processo de negócio sem a necessidade de apresentar o serviço as todos os Web Service rodando. Por outro lado, na coreografia, é traçada a correta ordem da sequência de mensagens, sem que nenhum deles controle a conversação. Durante o estudo é citada da linguagem BPEL (Business Process Execution Language) que serve para especificar o comportamento de um processo de negócio.

BPEL é uma linguagem usada para padronizar a integração de aplicações e para integrar sistemas isolados. Para finalizar, são apresentadas ferramentas para composição de serviço. Dentre as ferramentas se destacam: WebSphere Utilização de tecnologia J2EE e SOA. Possui uma perspectiva para modelagem dos processos de negócio utilizando BPEL; Microsoft BizTalk Server 2006 ferramenta poderosa para desenvolvimento,implantação e gerenciamento de processos de negócio. Possibilidade de modelar regras de negócio; JBoss jbpm criação de processos de negócio para coordenador pessoas,aplicações e serviços. Possui um ambiente para fácil programação; NetBeans IDE possibilita criação,testes e depuração de aplicativos utilizando XML,BPEL e serviços Web em Java; ActiveBPEL ferramenta utilizada durante o estudo. É uma ambiente de execução de processos de negócio baseado no padrão WS-BPEL. Também é possível gerenciar persistência de dados, filas, alarmes e diversos outros detalhes inerentes a execução de processos de negócio. 4. Desenvolvimento do Projeto A parte prática do estudo foi a realização de uma composição através de orquestração, utilizando os sistemas de uma empresas de telecomunicações. No inicio, são abordadas as soluções que a empresa provê. O sistemas da arquitetura pertencem apenas a camada de serviços da aplicação, ficando de fora dessa implementação a camada de serviço de negócio e a camada de orquestração. Abaixo é ilustrada uma figura com todos os serviços contemplados pelas aplicações. Figura 7: Estrutura dos Sistemas da Plataforma

Logo em seguida, é realizada uma descrição detalhada de cada serviço. Um detalhe que é bastante frisado no estudo, é que muito dos sistemas que estão rodando realizam operações em comum, mas cada sistema possui a implementação das operações separadamente, resultando em excessiva duplicação de código. Para resolver esse problema, pode-se criar serviços utilitários, como por exemplo, o serviço manipuladorxml, que nada mais é, do que um serviço que lê dados referentes a consulta de banco de dados. Esses serviços utilitários também foram utilizados para compor serviços, resultando em uma performance mais adequada. Em um primeiro exemplo, ele demonstra como utilizar a composição de 2 serviços, no caso ManipularXML e SalvarGrupo que estão na camada de serviço de aplicação. Abaixo uma ilustração do serviços. Figura 8: Serviços ManipularXML e SalvarGrupo na Camada de Serviço de Aplicação. Abaixo é mostrado como é executado os 2 serviços interagem para gerar um novo serviço chamado ServiceSalvarGrupo. BasicamenteO processo inicia-se quando o cliente requisita a operação, representada pela operação ReceberDoCliente. Após isso, as variáveis do serviço LerXML são iniciadas e o serviço é invocado. Num passo seguinte, o processo entra em um condicional if. Se a mensagem de retorno do serviço LerXML for a string de consulta,o processo continua, senão, uma mensagem é retornada ao cliente. Caso o processo continue, as variáveis do serviço SalvarGrupo são iniciadas e o serviço é invocado realizando sua tarefa dentro do processo. Posteriormente, a resposta do serviço SalvarGrupo é verdadeira. Se o for, a variável de resposta é iniciada e a mesma é retornada ao cliente. Caso contrário, o processo envia outra mensagem ao cliente, indicando que o processo falhou.

Figura 9: Processo ServiceSalvarGrupo. Como o estudo aborda, logo após a composição esse novo serviço fica a disposição na camada de serviços como ilustra a figura abaixo. Figura 10: Serviço ServicoSalvarGrupo nas camadas de Aplicação e Negócios Na seqüência do estudo, é mostrado outro exemplo de composição de serviços, mostrando a mesma lógica de desenvolvimento. Como resultado, foi demonstrado a reusabilidade de serviços e composição dos mesmo para gerar serviços mais completos.

5. Conclusões O estudo tira como conclusão principal a combinação de Web Services para gerar serviços de valor agregado. No exemplo foi ilustrado que não é uma tarefa complexa como poderia se imaginar. 6. Referências Silva, Leo Moreira (2007) Aplicando Composição e Orquestração de Serviços na Organização de Sistemas, www.ic.unicamp.br/~beatriz/cursos/mo809/2008/referencias/monografia.pdf, Maio.