3.3 Sistemas de geren iamento de uxos de trabalho ientí os
4.1.1 Instân ias de estágios
Uma instân ia de estágio é um ontexto do SE que representa um estágio do uxo
de trabalho. Uma vez asso iada a uma operação de um serviço Web, uma instân ia
de estágio atua omo intermediária em todas as ações que o aOS pode realizar em
relação àquela operação. A seguir, serão des ritas as ara terísti as presentes numa
Figura 4.1. Rela ionamentos entre o serviço de suporte à exe uçãoe seus on-
textos
Uma ara terísti a fundamental para que a utilização de um sistema de geren ia-
mentode uxosdetrabalhosejasimpleséa apa idadedeinvo arserviçosWeb semos
lientes para a esso aos serviços, riados durante o desenvolvimentodestes. No aOS,
umainstân iadeestágiopodeinvo arqualquerserviçoWebqueseja apazdepro essar
mensagens dotipo SOAP [W3C, 2007a℄,que é um padrão aberto amplamenteempre-
gado. Umainstân iade estágioé apaz de onstruir umamensagem SOAPeutilizá-la
para invo ar uma operação espe í a de um serviço Web. A instân ia de estágio é
asso iada sempreaumaúni a operaçãoemparti ulare,porisso, deve ser ongurada
om asseguintes informaçõesdaoperaçãoquesedeseja invo ar: URLdoserviço Web,
nome daoperação,tipode retornoe umalistade pares
h
nome, tipoi
orrespondente à lista de parâmetros. Estas informações, além dos valores dos parâmetros de entrada,são ne essárias paraa riaçãodamensagem de invo ação. Tal apa idadefaz om que
o desenvolvimento de um uxo de trabalho demande um esforço menor,mudanças na
implementaçãode um serviço a arretempou as mudanças paraqueomesmoseja exe-
utadopelo aOS,alémdajámen ionada ompatibilidade omumaquantidademuito
grande de serviços. Umainstân ia de estágioé apaz de invo ar tantoum serviço que
esteja no servidorWeb lo alquantoemum servidor remoto,embora ainvo ação lo al
tenhao benefí iode evitaros ustos, muitasvezesaltos, de uma hamadaremotafeita
na grade omputa ional.
Aexistên iadeserviços ujaexe uçãoémuitolongatornaa apa idadede exe utar
serviços de forma assín rona uma ara terísti a também importante. No aOS, uma
instân iade estágiopossui a apa idadede exe utarum estágio ujaexe uçãoémuito
longa. O iní io de uma exe ução é realizado de maneira assín rona pela operação
ini iaExe ução. Durante sua exe ução, a operação ini iaExe ução ria um uxo de
exe ução além doprin ipal eretorna, mantendoo uxo de exe ução se undárioainda
a noti ação é interpretada por quem a re ebe omo um sinal de que a hamada
assín rona foi on luída. É importante ressaltar que a invo ação de uma operação de
um serviço Web em si não é ne essariamente assín rona e operações que não foram
implementadas para serem exe utadas de formaassín rona utilizamum tempo limite
de espera parasaberquando uma invo açãofalha. Para amenizar este problema,uma
instân iade estágio ongura otempolimitede espera da hamada om omaiorvalor
possível. Esta onguração permite que operações permaneçam emexe ução por até
aproximadamente24 dias.
A instân ia de estágio também é o prin ipalresponsável pela apa idade do aOS
de utilizar oreograa para exe utar um uxo de trabalho. Ela pode ser ongurada
paratransferirosdadosdesaídadoestágiopeloqualéresponsávelparaoutrosestágios.
Mais pre isamente, ela pode entregar dados para outras instân ias de estágio. Como
asinstân iasdeestágiorealizamastransferên iasde dadosindependentemente, nãohá
ne essidadede umelemento entralatuanteemtodasastransferên iasentreinstân ias
de estágio e a oreograa é empregada ao invés de orquestração. O dado de saída
pode ser transformado antes de ser transferido, atravésda apli ação de uma onsulta
XPath [W3C, 2007 ℄sobreeleam de obterumaparte espe í a. A onguraçãodas
transferên iasde dados que uma instân iade estágiodeverealizar onsistenuma lista
de pares formados por uma onsulta XPath [W3C, 2007 ℄ a ser apli ada ao dado de
saídae o endereço dainstân iade estágio àqual odado resultante deve ser enviado.
Para riarumainstân iadeestágio,éne essário requerera riaçãodamesmaàins-
tân iadeuxo de trabalholo alàqualdeseja-seasso iar onovo ontexto. A operação
riaInstân iaDeEstágio é a operação a ser utilizada para tal e deve re eber a des ri-
ção da instân ia a ser riada onforme des rito anteriormente. Uma vez riada, uma
instân iadeestágioé onguradatanto omsua listade parâmetros,atravésdaopera-
ção onguraEntradas, quanto om a des rição das transferên ias de dados a realizar,
feitaatravésdaoperação onguraTransporteDaSaída. Neste ponto,a onguraçãoda
operação a invo ar está ompleta. Para exe utar o estágio asso iado, os valores dos
parâmetros de entrada devem ser forne idos através da operação assinalaEntrada e a
exe ução deve ser ini iada através da operação ini iaExe ução. Os valores dos parâ-
metros de entrada devem ser forne idos no formato XML [W3C, 2008℄, pois esse é o
formatomaisapropriadoparain lusãodeumobjetonarequisiçãoSOAP[W3C, 2007a℄
utilizadapara ini iara exe ução doestágio.
Para possibilitar o monitoramento da exe ução de um estágio, foi riado um on-
juntodeestadosnos quaisumainstân iadeestágiopodeestar. Assim,a adaoperação
exe utada por uma instân ia de estágio, uma mudança de estado pode o orrer. Um
trado naFigura4.2. É possívelmonitorarasmudançasde estadode uma instân iade
estágioatravésdenoti ações, oquepossibilita,porexemplo,exe utaraçõesdea ordo
om oestadoatualde umainstân iade estágio. Umaapli açãopode adastrar-separa
re eber noti ações de uma instân iade estágio utilizandoa operação adastraMoni-
toramento.
Uma instân ia de estágio também pode exe utar um estágio por várias iterações.
Isso é feito sempre que se veri a que foram forne idos mais dados de entrada omo
valor de um parâmetro do que o ne essário para uma exe ução, em outras palavras,
é forne ido um arranjo em lugar de um úni o objeto. Quando isso o orre, o está-
gio orrespondente é exe utado uma vez para ada elemento perten ente ao arranjo
forne ido.