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
3.
Burlton, R.,
“Business Process Management: Profiting
From Process”, Sams,
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),
5.
Dumas, M.,
O’Sullivan, J., Heravizadeh, M.,
6.
Gudgin M., Hadley M.,
Mendelsohn, N., Moreau, J.J.,
Nielsen, H. F., “SOAP
Version 1.2 Part 1: Messaging Framework- W3C
Recommendation”,
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),
8.
Hull, R.;
Jianwen, Su. “Tools for Design of
Composite Web Services”. In: Proc. SIGMOD
2004. Paris, França, 2004.
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.
12.
Srivastava, Biplav;
Koehler, J. “Planning with Workflows – An Emerging
Paradigm for Web Service Composition”. In Proc. ICAPS 2003
Planning for Web
Services Workshop.
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.
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.
20.
Sheshagiri,
M., desJardins, M., Finin, T.: A Planner for Composing Services
Described in
DAML-S. http://www.umbc.edu/~finin/papers/icaps03.pdf.
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.
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.