Dados do Projeto

 

Sigla:

WebFlowAH

Título do Projeto:

Ambiente para Especificação e Execução ad-hoc de Processos de Negócio Baseados em Serviços Web

Referência da Chamada:

Chamada CT-INFO: CNPq 31/2004 – PDPG-TI

Programa de Pesquisa e Desenvolvimento para Capacitação de Pequenos Grupos Acadêmicos na Área de Tecnologia da Informação

Instituição Executora:

Univesidade Federal do Estado do Rio de Janeiro - UniRio

 

1.      Identificação e caracterização do problema

 

Grande parte das empresas reconhece hoje a importância de aprimorar a gerência de processos de negócios para obter resultados satisfatórios no que tange à velocidade de respostas às danças dos requisitos do negócio, redução de custos operacionais e aumento da colaboração com seus parceiros,  sejam eles  fornecedores ou consumidores [3,10,11]. A gerência de processos de negócio (usualmente chamada de BPM, iniciais da expressão equivalente em inglês) cobre o levantamento, projeto, implantação e controle de processos de negócio, de forma a assegurar que estes processos se mantenham alinhados com as metas da organização e atendam às expectativas dos clientes.

 

A tecnologia de serviços Web vem trazer consideráveis benefícios à gerência de processos de negócio uma vez que propicia a agilidade necessária e requerida pelos empreendimentos frente às necessidades atuais das rápidas mudanças no ambiente de negócios [4,7]. A grande vantagem do uso dos serviços Web está na sua interoperabilidade, obtida devido à adesão a protocolos padrão [6], amplamente difundidos na Internet, e à existência de uma arquitetura padrão, que define os mecanismos necessários para a sua utilização [13]. De fato, serviços Web tornaram-se a base das novas iniciativas de computação distribuída e de negócios eletrônicos, pois permitem construir redes de aplicações colaborativas distribuídas, dentro e entre organizações, onde os serviços Web, na forma de módulos auto-contidos, são descritos, publicados, localizados e dinamicamente invocados.

 

Ao viabilizarem um alto grau de interoperabilidade e autonomia, os serviços Web ampliam as fronteiras da condução de negócios através da Internet, uma vez que fornecem a infra-estrutura básica para construção e composição de novos serviços Web, de elevado valor agregado, a partir da composição de serviços Web básicos. Nesta área, a composição automática de serviços apresenta desafios interessantes, já que a localização, seleção e composição de serviços existentes, para satisfazer necessidades específicas de um novo serviço composto, requerem mecanismos sofisticados de descrição, sincronização, coordenação e monitoramento [9]. A descoberta de serviços Web buscando atender necessidades específicas tem como desafio a diversidade de suas características, muitas vezes complexas de serem descritas [5]. Esses serviços, ainda, possuem características dinâmicas, ou seja, podem estar ou não disponíveis ou podem possuir características diferentes (por exemplo, o custo), dependendo da data em que são procurados. Por isso, dizemos que sua descoberta deve ser dinâmica, isto é, deve considerar a natureza mutável e também a riqueza de suas características. Para atender à necessidade dessa descoberta dinâmica é necessário fornecer descritores precisos para os serviços Web.

 

Por descoberta dinâmica de serviços, nesta proposta, entende-se o mecanismo de software que permite buscar, localizar, e selecionar serviços, de acordo com parâmetros de busca. Nessa definição, o termo dinâmica se refere ao fato de que a localização física do serviço ou dos dados que descrevem a sua chamada não são conhecidos à priori e não são fixos, ou seja, podem mudar. É conhecido apenas um local de referência, com informações de vários serviços Web, a partir do qual a descoberta é feita. Assim, buscar, no contexto dessa definição, consiste em procurar por serviços, a partir de parâmetros fornecidos que restringem o escopo da busca;  localizar consiste em achar os serviços que atendem aos requisitos de busca informados por aquele que deseja descobrir os serviços; selecionar é escolher o serviço mais adequado de acordo com os critérios de desempate [1, 2] escolhidos por aquele que deseja descobrir os serviços. Por fim, compor serviços, não é o mesmo que combinar dois ou mais serviços que já têm suas características individuais identificadas. Há casos em que um único serviço não atende aos requisitos de descoberta individuais desejados, mas que, alternativamente, dois ou mais serviços combinados podem atender. O processo de descoberta e encadeamento desses serviços de forma que funcionem de forma transparente, como se fossem um só, é o que chamamos aqui de composição dinâmica de serviços. Esta envolve mais do que simplesmente achar serviços que combinados executem a função desejada. É preciso tratar também questões não relacionadas à função do serviço, tais como integridade de transações e substituição eventual de serviços não disponíveis. E, ainda, tratar atributos que, quando combinados, podem variar, tais como o tempo médio de execução, o custo conjunto dos serviços e contratos que regulam a sua utilização.

 

Para permitir que serviços possam ser descobertos dinamicamente, mecanismos definidos na nova área da Web semântica [15] vêm sendo aplicados com sucesso em recentes projetos de pesquisa [16,17,18,19,20,8]. A Web semântica é definida como a segunda geração da Web, onde programas podem fazer interpretações sobre os recursos disponíveis no ambiente de forma não ambígua. Tais interpretações são possíveis através do emprego de linguagens de descrições e técnicas de inferências baseadas em ontologias. De forma simplificada, uma ontologia pode ser vista como a descrição formal dos conceitos existentes em um domínio, dos relacionamentos entre esses conceitos e do seu significado. Ontologias permitem a descrição de conceitos de forma interpretável pelo computador, com a possibilidade de realização de inferências. OWL-S é uma ontologia, baseada na linguagem OWL, a qual provê um meio de descrever a funcionalidade de um serviço Web para usuários potenciais, que ao invés de programadores humanos, são agentes de software.

 

A composição de serviços Web traz à tona diversas questões relacionadas à modelagem conceitual. É necessário saber (ou inferir) os objetivos dos serviços, identificar as restrições sobre a sua aplicabilidade (usualmente definidas como pré-condições) e os efeitos (usualmente definidos como pós-condições). No momento em que vários serviços básicos são compostos, a verificação do comportamento conjunto torna-se uma questão fundamental, tanto no que tange à correção do comportamento global como à sua eficiência. Estudos de diversas técnicas envolvendo teoria dos autômatos, verificação de modelos (model-checking) lógica temporal, redes de Petri e cálculo de situações são aplicáveis nesse contexto [8, 20].  

 

Por outro lado, as técnicas de Inteligência Artificial, envolvendo planejamento, reconhecimento e adaptação de planos de agentes aparecem como ferramentas potenciais para a geração automática de serviços Web compostos [12], partindo-se da especificação de serviços Web básicos, descritos através de uma ontologia. Essas técnicas de IA têm, contudo, que lidar com desafios importantes nesse contexto, tais como a representação de ações complexas, tipos de dados estruturados, objetos criados dinamicamente, a coordenação entre diferentes agentes e a alternância entre planejamento e execução [12].

 

O desenvolvimento de aplicações de negócio pode ser grandemente facilitado se forem criadas metodologias e ferramentas para dar suporte ao desenvolvimento e implantação de composições dinâmicas de serviços, onde o reuso e a agilidade de coordenação sejam metas fundamentais a serem atingidas.

 

2.      Justificativa

 

A composição dinâmica de serviços Web pode ser utilizada para a implementação automática de processos de negócio, permitindo a separação total entre a lógica do processo de negócio e a tecnologia de implementação subjacente. Tal automatização na implementação de processos de negócio possibilita, ainda, a execução de programas ad-hoc por usuários e a manutenção automatizada desses programas. A manutenção automatizada é importante em um contexto onde freqüentemente os serviços Web disponíveis são alterados e novos serviços Web são disponibilizados. A execução de programas ad-hoc é importante para usuários que utilizam composições simples, mas que mudam freqüentemente de programas. Sem a implementação automática, eles precisam esperar um programador implementar o workflow, o que possui um custo e um prazo associado. Outra aplicação possível do ambiente proposto neste projeto consiste na integração de aplicações entre organizações (business-to-business) e dentro de uma mesma organização (enterprise application integration). Sistemas que integrem tais aplicações devem ser capazes de resistir às mudanças constantes na interface dos componentes distribuídos. Essa capacidade de resistir às mudanças será alcançada através da funcionalidade de descoberta dinâmica de serviços a ser disponibilizada. Além disso, o ambiente proposto permitirá a construção de processo de negócio cujas atividades sejam implementadas  por sistemas autônomos e heterogêneos, devido à utilização da  tecnologia de serviços Web.

 

Por outro lado, métodos para verificar a correção e eficiência dos workflows, bem como para adaptá-los e gerá-los automaticamente, com base em planejamento, podem garantir um melhor resultado final, incluindo o tratamento de situações complexas, envolvendo diversos agentes, restrições e objetivos. Dessa forma, pretende-se  estudar esses métodos para a sua possível incorporação à ferramenta.

 

Cabe ressaltar que, em recente levantamento realizado pelo grupo, foi verificada a inexistência de ferramentas comerciais ou livres que implementem estas funcionalidades. Este tipo de ferramenta constitui importante avanço na definição e execução de processos de negócio baseados em serviços Web, permitindo que analistas de negócio sejam capazes de especificar estes processos utilizando um mecanismo de alto nível de abstração, independente da forma como as atividades a eles associadas estejam implementadas.

 

 

3. Referências bibliográficas

 

1.       Azevedo, V., Pires, P.F., Mattoso, M.L.Q., WebTransact-EM: Um Modelo para a Execução Dinâmica de Serviços Web Semanticamente Equivalentes.  IX Simpósio Brasileiro De Sistemas Multimídia E Web (WebMídia 2003).  A ser publicado.

2.       Azevedo, V., WebTransact-EM: Um Modelo para a Execução Dinâmica de Serviços Web Semanticamente Equivalentes. Dissertação de Mestrado, COPPE-Sistemas/UFRJ 2003. Disponível em http://genesis.nce.ufrj.br/dataware/ hp/pires/ WT/WebTransact.html

3.       Burlton, R., “Business Process Management: Profiting From Process”, Sams, USA, 2001. Business Process Modelling Initiative; "Business Process Modeling Language", http://www.bpmi.org

4.       Casati, F., Ilnicki, S., Jin, L., et al., “Adaptive and Dynamic Service Composition in eFlow”,  Proceedings of the 12th International Conference on Advanced Information Systems Engineering (CaiSE 2000), Stockholm, Sweden, 2000. pp. 13- 31.

5.       Dumas, M., O’Sullivan, J., Heravizadeh, M., Edmond, D., Hofstede, A., Towards  a Semantic Framework for Service Description, in Proc. of the 9th Int. Conf. on Database Semantics, Hong-Kong, 2001. Kluwer Academic Publishers. Disponível em: http://citeseer.nj.nec.com/455961.html. Último acesso em 06 mar 2003.

6.       Gudgin M., Hadley M., Mendelsohn, N., Moreau, J.J., Nielsen, H. F.,  SOAP Version 1.2 Part 1: Messaging Framework- W3C Recommendation”, 24 June 2003. Available: http://www.w3.org/TR/SOAP/.

7.       Heuvel, W., Yang, J., Papazoglou, M.P., “Service Representation, Discovery, and Composition for E-marketplaces”, Proceedings of the 9th International Conference Cooperative Information Systems (CoopIS 2001), Trento, Italy, 2001, pp. 270-284.

8.       Hull, R.; Jianwen, Su. “Tools for Design of Composite Web Services”. In: Proc. SIGMOD 2004. Paris, França, 2004.

9.       Keller, Ludwig, H., “The WSLA Framework: Specifying and Monitoring Service Level Agreements for Web Services”, Journal of Network and Systems Management, 2002, Vol. 11 N. 1 pp: 57- 81.

10.   Padmanabhuni, S., Ganesh, J., Moitra, D.,  Web Services, Grid Computing and Business Process Management: Exploiting Complementarities for Business Agility”. Proceedings of ICWS 2004, 2004, pp. 666-673.

11.   Smith, H., Fingar, P., P., “Business Process Management (BPM): The Third Wave”. Meghan-Kiffer Press, USA, 2003

12.   Srivastava, Biplav; Koehler, J. “Planning with Workflows – An Emerging Paradigm for Web Service Composition”. In Proc. ICAPS 2003 Planning for Web Services Workshop. Trento, Itália, 2003.

13.   Tidwell, D., “Web services: the Web's next revolution”, Nov 2000. Available at: www-106 .ibm.com/developerworks/edu/ws-dw-wsbasics-i.html.

14.   WSDL Specification. Available at: www.w3.org/TR/wsdl.

15.   DAML Services Coalition. DAML-:Web Service Description for the SemanticWeb. In The First International Semantic Web Conference (ISWC), June 2002.

16.   Costa, L., Pires, P. F., Mattoso, M., "Automatic Composition of Web Services with Contingency Plans" In: Proceedings of 2004 IEEE International Conference on Web Services. IEEE Computer Society, 2004. p.454 - 461.

17.   Costa, L., Pires, P. F., Mattoso, M., "WebComposer: a tool for the composition and execution of Web Service-based Workflows", In: Proceedings of the Joint WebMedia/LA-Web 2004 Conference, IEEE Computer Society, 2004.

18.   McIlraith, S., Son, T., “Adapting Golog for Composition of Semantic Web Services”. In Proceedings of the Eighth International Conference on Knowledge Representation and Reasoning (KR2002), April, 2002.

19.   Sivashanmugam, K., "The METEOR-S Framework for Semantic Web Process Composition". http://lsdis.cs.uga.edu/lib/presentations/sivashanmugam_kaarthik_200308_ms.pdf.

20.   Sheshagiri, M., desJardins, M., Finin, T.: A Planner for Composing Services Described in DAML-S. http://www.umbc.edu/~finin/papers/icaps03.pdf.

21.   Ciarlini, A.; Furtado, A. “Interactive Multistage Simulation of Goal-Driven Agents”. Journal of the Brazilian Computer Society. , v.6, n.2, p.21 - 32, 1999.

22.   Ciarlini, A.; Veloso, P.; Furtado, A. “A Formal Framework for Modelling at the Behavioural Level”. In: Information Modelling and Knowledge Bases XII ed.Amsterdam : IOS Press, 2000, p. 107-122.

23.   Campos, L.M., Pires, P. F., Campos, M.L.M, “OntoGuide-4WS: Uma Abordagem Sistemática para Descrição de Serviços Web”, In: Joint WebMedia/LA-Web 2004 Conference (SBMídia), SBC, 2004, São Carlos.

24.   Campos, L., OntoGuide-4WS: Uma Abordagem Sistemática de Descrição de Serviços Web para fins de Descoberta Dinâmica, 2004.  Dissertação de Mestrado (Informática) - Universidade Federal do Rio de Janeiro. Orientadores: Campos, M.L.M e Pires, P.F.

25.   Nodine, M., Fowler, J., “On the Impact of Ontological Commitment”, In Proceedings of theWorkshop on Ontologies in Agent Systems, Bologna, Italy, July 2002.

26.   OWL, Available at: http://www.w3.org/2001/ sw/WebOnt.

27.   OWL-S, Available at: http://www.daml.org/ services/owl-s/1.0.