• Nenhum resultado encontrado

Composição Flexível de Serviços Orientada a Processo de Negócio Utilizando Mashups

N/A
N/A
Protected

Academic year: 2021

Share "Composição Flexível de Serviços Orientada a Processo de Negócio Utilizando Mashups"

Copied!
6
0
0

Texto

(1)

Composição Flexível de Serviços Orientada a Processo de

Negócio Utilizando Mashups

Trabalho de Mestrado

Flávio de Paula Faria1, Leonardo Guerreiro Azevedo1,2

Programa de Pós-Graduação em Informática 1

Departamento de Informática Aplicada (DIA) – Universidade Federal do Estado do Rio de Janeiro (UNIRIO) - 22290-240 – Rio de Janeiro – RJ - Brasil

2

Núcleo de Pesquisa e Prática em Tecnologia (NP2Tec)

{flavio.faria, azevedo}@uniriotec.br

Ano de Ingresso no Programa de Mestrado: 2010 Época esperada de conclusão: dezembro de 2011

Etapas já concluídas: defesa de proposta

Abstract. One of the major challenges in Service-Oriented Computing (SOC) is service composition. It corresponds to creating services from existing ones. Traditional approaches employ complex and low flexible patterns for service composition. Mashup is a service composition approach that employs simple patterns and is presented as a light and flexible composition alternative. This paper proposes a business process-oriented composition based on Mashups for distributed application development.

Resumo. Um dos maiores desafios da computação orientada a serviços (SOC) é a composição de serviços. Ela permite que serviços sejam construídos a partir de serviços existentes. No entanto, as abordagens tradicionais para composição de serviço utilizam padrões complexos e são pouco flexíveis. Mashup é uma abordagem de composição de serviço que utiliza padrões simples e é apresentada como uma alternativa mais leve e flexível de composição. Este artigo apresenta uma proposta para a composição de serviço orientada a processo de negócio baseada em Mashup para o desenvolvimento de aplicações distribuídas.

Palavras-chave: Metodologias e abordagens para engenharia de Sistemas de

Informação, Arquiteturas Orientadas a Serviços (SOA).

1. Fundamentação teórica

A computação orientada a serviço é o paradigma computacional que utiliza serviços como elementos fundamentais para o desenvolvimento de aplicações distribuídas. Serviços são elementos computacionais auto-contidos, independentes de plataforma que suportam composição fácil, rápida e de baixo custo mantendo baixo acoplamento (Papazoglou et al. 2007).

(2)

Serviços podem ser construídos considerando a invocação de outros serviços existentes. Esta abordagem é conhecida como composição de serviços, apontada como um dos principais aspectos da computação orientada a serviço que contribui para o reuso dos serviços (Erl, 2007).

De acordo com Bozzon et al. (2009) mashup é a composição de funcionalidades existentes, dados e interfaces permitindo alcançar um objetivo mais complexo. Os dados são integrados de fontes heterogêneas, normalmente como web services, e o resultado da integração de todas as invocações aos serviços são apresentadas em um web site com bons recursos de usabilidade. Zou e Plavlovski (2007) afirmam que mashup é a grande promessa para uma solução SOA flexível no cenário corporativo.

O objetivo deste trabalho é desenvolver uma abordagem para composição de serviço orientada a processo de negócio utilizando mashup. Desta forma, serão investigadas as formas flexíveis1 de composição de serviço existentes com o intuito de aprimorar as formas tradicionais de composição.

Este documento está organizado da seguinte forma. A seção 1 é a presente introdução. A seção 2 caracteriza a contribuição do trabalho e apresenta o problema de pesquisa a ser tratado durante o estudo. Na seção 3, o estado atual do trabalho é descrito. Na seção 4, uma visão comparativa com trabalhos relacionados é apresentada. Por fim, a seção 5 lista as referências bibliográficas.

2. Caracterização da contribuição

Este trabalho tem o objetivo de aprimorar a composição de serviços em relação aos complexos padrões utilizados até o momento. Com isso espera-se reduzir o tempo de desenvolvimento, aumentar o desempenho e o reuso da composição, uma vez que os padrões utilizados não se restringem a composição de web services apenas.

A proposta de solução inclui os passos ilustrados na Figura 1: identificação de composições a partir de modelos de processos de negócio; transformação das composições identificadas da linguagem de representação do modelo de processo para linguagem mashup; transformação da composição para uma aplicação web.

Mashup introduz uma abordagem mais simples e econômica que facilita e reduz a

complexidade da composição de serviço SOA. Mashup é um estilo de composição leve, que utiliza tecnologias simples e que prega o reuso em diferentes contextos (Liu et al. 2007). A composição mashup utiliza recursos na web como web services, gadgets,

widgets, pipes e até mesmo outros mashups, e não está restrita apenas a composição de web services (Xie et al. 2009).

O primeiro passo da proposta é identificar a composição de serviço, a partir do modelo de processo, e transformá-la para mashup automaticamente. Para isto iremos utilizar os padrões de wokflow propostos por Van Der Aalst et al. (2003) e nos padrões de fluxo de dados, que capturam as diferentes formas que o dado é representado e utilizado nos processos, propostos por Russell et al. (2004). Para representar os modelos de processo graficamente, escolhemos BPMN (BPMN, 2010) por ser

(3)

considerada um padrão gráfico que facilita a integração, tanto no nível de representação como em nível de execução e pode ser considerada o padrão mais expressivo e influente (Ko et al. 2009). A semântica definida no processo de negócio, como regras de negócio e requisitos também devem ser consideradas. Algumas propostas são apresentadas para identificação automática de composição de serviços a partir de modelos de processo. Rao e Su (2004) apresentam um survey sobre métodos baseados em workflow e AI

Planning. Meyer e Weske (2006) propõem um algoritmo de busca heurística. Enquanto

que Ge et al. (2008) defendem um método baseado em ontologia (OWL2).

Figura 1 – Modelo conceitual da proposta

Uma vez identificada a composição, será necessário utilizar uma linguagem que represente os aspectos do modelo de processo gráfico envolvido no diagrama BPMN para linguagem XML. Ko et al. (2009) destacam o uso das linguagens BPDM (Business

Process Definition Metamodel) e XPDL (XML Process Definition Language) para a

transformação do diagrama BPMN para XML, onde os elementos contidos no fluxo do processo são representados. Os autores afirmam que a linguagem XPDL é mais estável e pode ser considerada uma linguagem mais madura do que BPDM, pois possui dezenas de produtos e aplicações que utilizam XPDL na indústria. Por estes motivos, XPDL foi a linguagem escolhida para a realização deste trabalho.

O passo seguinte da proposta é transformar a composição em uma linguagem que seja capaz de executar a composição e conseqüentemente invocar os serviços corretos de forma orquestrada. A linguagem EMML3 (Enterprise Markup Mashup Language)

2 http://www.w3.org/TR/owl-features/

(4)

será utilizada. EMML é uma linguagem mashup, baseada em XML, que fornece recursos para conectar diferentes serviços ou recursos.

O último passo consiste em apresentar o resultado da composição em uma aplicação para um usuário final, também conhecida como aplicação situacional. Aplicações situacionais correspondem a aplicações que são desenvolvidas para situações ocasionais de negócio. Uma aplicação situacional é um tipo de aplicação composta por dois ou mais componentes distintos, interligados para criar uma nova experiência integrada (Balasubramaniam et al. 2008). Estes tipos de aplicações podem ser utilizadas, por exemplo, no apoio a tomada de decisão pelas áreas de inteligência de negócio (BI), em Sistemas de Informação Geográfica e em aplicações de Exploração e Produção na indústria de óleo e gás (Pahlke et al. 2010). Estas aplicações também podem ser utilizadas no planejamento e combate em situações de crise, como é o caso dos mashups que fornecem informações sobre o vazamento de óleo no Golfo do México4 e sobre a crise no Haiti5.

3. Estado atual do trabalho e avaliação dos resultados

Nesse momento a revisão bibliográfica está em andamento. O processo de revisão da literatura está sendo conduzido de forma sistemática. Estão sendo analisados métodos para identificar composição de serviços automaticamente a partir do modelo de processo (Rao e Su, 2004; Meyer e Weske, 2006; Ge et al. 2008) para verificar a aderência ao tema proposto neste trabalho e avaliar a necessidade de possíveis adaptações.

Os resultados da proposta serão avaliados através de um estudo de caso para medir o tempo de desenvolvimento, o desempenho da composição e o grau de reuso com o objetivo de compará-los com os resultados de uma composição desenvolvida utilizando BPEL (BPEL, 2008), que é o padrão de execução de processos mais influente no mercado (Ko et al. 2009).

4. Trabalhos Relacionados

Bozzon et al. (2009) propõem um método para especificar a composição de serviço a partir do modelo de processo. O processo de negócio inclui a definição de eventos BPMN que permite a comunicação entre a camada do usuário (GUI) e os serviços

mashup. A principal contribuição da proposta consiste em definir um conjunto de

linguagens padrão responsáveis pelas transformações de modelos de BPMN (BPMN, 2010) para WebML (Ceri et al. 2000). WebML é uma notação visual para projeto de aplicações web envolvendo grandes volumes de dados complexos. Logo, uma limitação para este trabalho é WebML não tratar os aspectos referentes a mashups. Outro ponto que pode ser visto como uma desvantagem da proposta é que a lógica da composição é realizada pela camada cliente, onde o navegador invoca os serviços compostos. Nossa proposta não se limita a gerar aplicações incluindo mashup, mas sim a geração de composição mashup, a partir do modelo de processo, que seja independente de plataforma e que possa ser reutilizada em outras composições.

4

http://blog.programmableweb.com/2010/06/04/4-mashups-to-help-you-follow-the-bp-oil-spill-crisis/

5

(5)

Riabov et al. (2008) desenvolveram o MARIO (Mashup Automation with Runtime

Orchestration and Invocation) uma ferramenta que possui um motor (engine) inteligente

responsável pela execução automática de uma composição de serviços. Para gerar a composição o motor do MARIO necessita de um fluxo, que é criado pelo usuário. Em seguida, o fluxo é implantado e executado pelo motor. Segundo os autores, o objetivo principal da proposta é aumentar o consumo de dados, utilizando mashup, pelo usuário final. A ferramenta tanto apóia o usuário final a localizar um fluxo de serviço existente quanto é capaz de gerar novos fluxos de serviço de acordo com uma requisição. No entanto, para que uma composição seja criada, é necessário que um usuário interaja com o MARIO para criar um fluxo, o que pode ser visto, no contexto desta pesquisa, como uma limitação do trabalho. A idéia da proposta a ser tratada nesta dissertação, é que a composição de serviços será gerada a partir do modelo de processo, de forma automática, sem a interação do usuário. Desta forma, esperamos simplificar o processo de desenvolvimento de uma composição e aumentar a flexibilidade para que as mudanças técnicas não afetem os processos de negócio.

A proposta apresentada por Xie et al. (2009) tem como objetivo permitir que o usuário especifique suas próprias composições, localizando os recursos necessários na

web, e ainda execute o processo resultante com o uso de mashups orientados a processo,

reduzindo o gap no gerenciamento do processo de negócio. Apesar de afirmarem que uma das características principais dos mashups orientados a processo é a composição de recursos na web, a proposta apresentada não endereça este aspecto, o que pode ser visto como uma limitação do trabalho. A proposta apresentada nesta dissertação é tratar a composição de recursos disponíveis na web (pipes, gadgets, widgets, web services e etc.) e desta forma contribuir para o aumento do reuso destes recursos e da própria composição.

5. Conclusão

Este artigo apresentou uma proposta para aprimorar a composição de serviço. Após a revisão da literatura, constatou-se que mashup possui potencial para simplificar o desenvolvimento de uma composição de serviços. Mashup permite maior controle sobre dados e atividades e também sobre o estado da informação. A contribuição esperada com a pesquisa é simplificar o desenvolvimento de sistemas distribuídos, baseados na composição de serviços existentes, com objetivo de reduzir o tempo de desenvolvimento de uma aplicação e aumentar o reuso.

Referências bibliográficas

Balasubramaniam, S., Lewis, G.A., Simanta, S., Smith, D.B. (2008) “Situated software: concepts motivation, technology, and the future”, In: IEEE Softw 25(6):50–55. Bozzon, A., Brambilla, M., Facca, F.M., Carughui, G.F. (2009) “A Conceptual

Modeling Approach to Business Service Mashup Development”, In: IEEE Inter-national Conference on Web Services.

BPEL (2008) “Business Process Execution Language”, http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel. Acessado em fevereiro de 2011.

(6)

BPMN (2010) “Business Process Model and Notation”, http://www.omg.org/spec/BPMN/2.0/Beta2/PDF/. Acessado em fevereiro de 2011. Ceri, S., Fraternali, P., Bongio, A. (2000) “Web Modeling Language (WebML): a

modeling language for designing Web sites”.

Erl, T. (2007) “SOA: Principles of Service Design”, Prentice Hall, Crawfordsville: Indiana, 608 p.

Ge, J., Qiu, Y., Yin, S. (2008) “Web services composition method based on OWL”, In: International conference on Computer Science and Software Engineering.

Ko, R. K. L., Lee, S. S. G., Lee, E. W. (2009) “Business Process Management (BPM) Standards: A Survey”, In: Business Process Management Journal.

Liu, X., Hui, Y., Sun, W., Liang, H. (2007) “Towards Service Composition Based on Mashup”, In: IEEE Service Computing, pp. 332–339.

Meyer, H., Weske, M. (2006) “Automated Service Composition Using Heuristic Search”, In: Fourth International Conference on Business Process Management. Pahlke, I., Beck, R., Wolf, M. (2010) “Enterprise Mashup Systems as Platform for

Situational Applications: Benefits and Challenges in the Business Domain”, In: Business and Information Systems Engineering.

Papazoglou, M. P., Traverso, P., Dutsdar, S., Leymann, F. (2007) “Service-Oriented Computing: State of the Art and Research Challenges”, In: IEEE Computer Society, vol. 40, issue 11, pp. 38-45.

Rao, J., Su, X. (2004) “A survey of automated web service composition methods”, In: Semantic Web Services and Web Process Composition.

Riabov, A.V., Bouillet, E., Feblowitz, M.D., Liu, Z., Ranganathan, A. (2008) “Wishful search interactive composition of data mashups”, In: 17th International World Wide Web Conference.

Russell, N., Ter Hofstede, A.H.M., Edmond, D. (2004) “Workflow Data Patterns”, In: Proceedings of the Informatik 2004 - Informatik verbindet (Band 1), Lecture Notes in Informatics (LNI), Ulm. v. p-50.

Van Der Aalst, W.M.P., Ter Hofstede, A.H.M., Kiepuszewski, B., Barros, and A.P. (2003) “Workflow Patterns Distributed and Parallel Databases”.

Xie, L., Xu, L., de Vrieze, P. (2009) “When Social Software Meets Business Process Management”, In: International Conference on Computer Sciences and Convergence Information Technology.

Zou, J., Plavlovski, C.J. (2007) “Towards Accountable Enterprise Mashup Services”, In: IEEE International Conference on e-Business Engineering.

Referências

Documentos relacionados

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

Os maiores coeficientes da razão área/perímetro são das edificações Kanimbambo (12,75) e Barão do Rio Branco (10,22) ou seja possuem uma maior área por unidade de

O predomínio na sub-bacia de uso com pastagens degradadas, fases de relevo principalmente fortemente onduladas e onduladas, e manejo incorreto do solo, são as

Detectadas as baixas condições socioeconômicas e sanitárias do Município de Cuité, bem como a carência de informação por parte da população de como prevenir

Este estudo, assim, aproveitou uma estrutura útil (categorização) para organizar dados o que facilitou a sistematização das conclusões. Em se tratando do alinhamento dos

forficata recém-colhidas foram tratadas com escarificação mecânica, imersão em ácido sulfúrico concentrado durante 5 e 10 minutos, sementes armazenadas na geladeira (3 ± 1

Podemos então utilizar critérios tais como área, arredondamento e alongamento para classificar formas aparentadas a dolinas; no processamento digital de imagem, esses critérios

Apesar da longa distância dos grandes centros urbanos do país, Bonito destaca- se, regionalmente, como uma área promissora dentro do Estado de Mato Grosso do Sul. Bonito,