• Nenhum resultado encontrado

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, tipo

i

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.

Documentos relacionados