Você está na página 1de 10

Modelagem de Processos de Negcio

Uma abordagem baseada em Business Process Management Notation (BPMN), Business Process Execution Language (BPEL) e XML Process Definition Language (XPDL)
De que se trata o artigo: O artigo uma reviso bibliogrfica a respeito de modelagem de processos de negcios baseada na notao BPMN e linguagens BPEL e XPDL. Para que serve: Com o advento da reestruturao das empresas com foco nos processos de negcio, se faz premente a utilizao e evoluo de mtodos e ferramentas que dem suporte a modelagem dos processos empresariais, sua simulao e execuo. Em que situao o tema til: Para suportar a modelagem dos processos empresariais tem sido amplamente utilizado no mercado a notao BPMN e a traduo para linguagens executveis como o BPEL e XPDL. empreender de forma a reduzir o tempo dos processos entre a gesto e o consumidor, aumentar a transparncia nos relacionamentos entre organizaes e clientes atravs de tecnologias adequadas, reduzir a burocracia e introduzir na gesto do negcio princpios que agilizem as decises.

U N X

Andr Luiz de Castro Leal andrecastr@gmail.com


mestrando e especialista em Cincia da Computao pela Universidade Federal de Viosa UFV, especialista em Gesto das Tecnologias da Informao pela Faculdade Machado Sobrinho, atua a mais de 14 anos no mercado de informtica com projetos de software e atualmente coordena a equipe de desenvolvimento de sistemas computacionais do Grupo Mult unidade de Juiz de Fora. tambm professor de disciplinas de Gerncia de Projetos e Banco de Dados da Faculdade Estcio de S - JF. reas de Interesse: Engenharia de Software, Qualidade de Software, Processos de Desenvolvimento de Software.

Jos Luis Braga zeluis@dpi ufv.br


Ps-doutoramento em Tecnologias da Informao na University of Florida (1998-1999). Doutor em Informtica - Departamento de Informtica da PUC-Rio (1990). Mestre em Cincias da Computao - Departamento de Cincia da Computao da UFMG (1980). Atualmente Professor Titular do Departamento de Informtica do Centro de Cincias Exatas e Tecnolgicas da Universidade Federal de Viosa-MG. Atua na rea de Cincia da Computao, com nfase em Engenharia de Software e Sistemas de Informao. reas de Interesse: Qualidade de Software com Foco em Processos, Engenharia de Software Experimental, Engenharia de Software Apoiada por Ontologias, Engenharia de Software Baseada em Agentes, Sistemas de Apoio Deciso.

iante de um mercado competitivo e vulnervel entrada de produtos internacionais, onde a qualidade desses produtos e o preo nal esto sendo impostos por uma demanda de mercado e de uma concorrncia acirrada, cada empresa necessita entender claramente cada etapa dos processos administrativos e produtivos, a m de atender a uma demanda cada vez mais exigente de consumo. Alm do exposto, medida que aumenta o nmero de fornecedores e solues de TI no mercado corporativo, surge a necessidade de interoperabilidade e comunicao entre diferentes softwares envolvidos nos processos empresariais. A partir dessa necessidade, o mercado busca descrever um processo de negcio em um formato padronizado e inteligvel tanto por analistas quanto por sistemas. Nesse contexto, a administrao empresarial est frente a novos e grandes desafios. Os empresrios necessitam

12 Engenharia de Software Magazine Modelagem de Processos de Negcio

PROCESSOS
Para competir nesse novo mercado fundamental que os executivos obtenham uma viso mais completa da empresa. Entender o funcionamento de suas atividades, da interao de seus prossionais, da relao com outras organizaes, da utilizao e funcionamento dos recursos fsicos e sistemas computacionais atravs de uma abordagem de toda a empresa. Assim, possvel criar uma imagem congelada e organizada da interao de cada um dos elementos envolvidos nos elos de funcionamento empresarial. Uma forma de se produzir essa imagem criar modelos de empresa [VERN, 1996]. Segundo VERNADAT [VERN, 1996]: modelo: pode ser denido como uma representao, com maior ou menor grau de formalidade, da abstrao de uma realidade expressa em algum tipo especco de formalismo; modelo de empresa: um tipo especco de modelo formado por um conjunto de modelos que procuram representar as diferentes vises da empresa. formado por um conjunto consistente e complementar de modelos que descrevem os aspectos de uma organizao e que tem por objetivo auxiliar um ou mais usurios de uma empresa em algum propsito. Nesse modelo de empresa possvel representar alguns elementos que iro contribuir fortemente para o entendimento empresarial, tais como: a funcionalidade e comportamento da empresa em termos de processos, atividades, operaes bsicas e eventos envolvidos; os sistemas computacionais e os recursos fsicos necessrios para seu funcionamento; os produtos, seus ciclos produtivos at os processos de distribuio; os componentes fsicos ou recursos, como mquinas, ferramentas, dispositivos de armazenagem e movimentao, podendo apresentar seus layouts, capacidades para armazenamento ou alocao de pessoas; processo, uxo e pontos das decises que tm que ser tomadas; os dados e informaes, seus uxos na forma de ordens, documentos, dados discretos, arquivos de dados ou bases de dados complexas; conhecimento e know-how da empresa, regras especcas de deciso, polticas de gerenciamento interno, regulamentao, entre outros; indivduos, especialmente suas qualicaes, habilidades, regras, papis e disponibilidades; responsabilidade e distribuio de autoridade sobre cada um dos elementos aqui descritos, ou seja, sobre as pessoas, materiais e funes; os tempos envolvidos em cada processo, uma vez que a empresa um sistema dinmico. VERNADAT [VERN, 1996] cita a lista abaixo como sendo os principais benefcios da implantao de uma gesto por processos: construo de uma cultura, viso e linguagem compartilhadas; formalizao do know-how e memria dos conhecimentos e prticas da empresa; suporte a decises para melhoria e controle das operaes da empresa, onde inclui-se a introduo dos recursos da tecnologia de informtica como um dos principais habilitadores para esta melhoria. Para atender a essa demanda de construo de um modelo da empresa, a Object Management Group (OMG) criou em novembro de 2002 o primeiro rascunho de uma notao para modelagem de processo de negcios e o denominaram de Business Process Modeling Notation (BPMN 0.9 Dra ). Para o melhor entendimento das abordagens tcnicas que sero expostas, cabe o esclarecimento sobre o que vem a ser modelagem de processos de negcio. Modelagem de Processos de Negcios signica desenvolver diagramas (Diagramas de Processos) que mostram as atividades de uma rea de negcios ou da empresa como um todo, e a sua seqncia de execuo, permitindo assim o entendimento de seu funcionamento. A partir do funcionamento dos processos empresariais apresentados nos diagramas possvel vericar onde h inecincia / ineccia, complexidade, redundncias e no conformidades nas atividades e remodelar o seu funcionamento a m de se propor uma otimizao no processo atual, fazendo assim um desenho completamente novo. Para auxiliar as discusses sobre a modelagem de processos e propor uma alternativa para execuo do modelo, as empresas Microso , IBM, Siebel, BEA e SAP resolveram se unir e desenvolver uma linguagem completa e universal denominada Business Process Execution Language (BPEL). O BPEL surgiu da unio de outros padres, mais especicamente o Web Services for Business Process Design (XLANG) da Microso e o Web Services Flow Language (WSFL) da IBM. Aps a concluso do meta-modelo e da especicao inicial, o padro passou para o controle da organizao internacional OASIS. A Organization for the Advancement of Structured Information Standards (h p:// www.oasis-open.org) um consrcio internacional, sem ns lucrativos, que est responsvel pelo desenvolvimento e difuso da adoo de padres abertos para a sociedade global da informao. Fundado em 1993, a OASIS tem 5.000 participantes representando mais de 600 organizaes em 100 pases.

Uma abordagem baseada em Business Process Management BPMN - Business Process Modeling Notation (BPMN), Business Process Execution Language (BPEL) Notation e O BPMN uma notao grca simples e poderosa para especicao visuXML Process Definition Language (XPDL) al de processos de negcio. A aborda-

gem foi desenvolvida para ser utilizada para a comunicao entre analistas de negcios e analistas de sistemas para o entendimento dos requisitos de negcio a serem implementados em sistemas computacionais. Na prtica, o modelo se tornou to simples que pode ser utilizado por usurios nais na modelagem de suas atividades e, conseqentemente, a explicao formal do que se deve ser implementado. A especicao BPMN foi desenvolvida pela Business Modeling Integration (BMI www.bpmi.org), integrada OMG no ano de 2005. A principal misso do grupo o desenvolvimento de especicaes de modelos integrados para dar suporte a processos empresariais. Essas especicaes devem promover a integrao de processos internos da empresa, bem como processos externos que devem se acoplar s atividades da corporao. Assim, deve objetivar a integrao e colaborao de pessoas, sistemas, processos e informaes da empresa, incluindo parceiros de negcios e clientes [BPMN, 2006]. Algumas razes importantes tm feito o BPMN se sobrepor a outros padres para modelar processos e que, na essncia, no tinham de fato esse objetivo, como o caso dos diagramas de atividades da UML, redes petri, IDEF0 e outros.

Edio 04 Engenharia de Software Magazine 13

Evento

Representado por objetos de crculo e so utilizados para representar o que ocorre no curso de um processo de negcio. Os eventos representados a partir desses objetos geralmente afetam o uxo do processo e tm uma causa, tambm chamado de gatilho, ou um impacto, resultado da ao do processo. Os trs tipos de eventos so: Inicial, Intermedirio e Final. O evento inicial utilizado para dar incio a um processo, assim todo uxo deve apenas sair desse evento em direo a um outro elemento do BPD. O evento intermedirio est entre os eventos inicial e nal, e afeta o uxo do processo, mas no inicia ou termina o processo. O evento nal o evento que naliza o uxo do processo e, dessa forma, no deve haver uxo saindo desse evento.

inicial

intermedirio

nal

Atividade Uma atividade de um processo pode ser uma tarefa ou um sub-processo do processo principal. representada por um retngulo com as bordas arredondadas e um objeto que ir representar uma ao executada dentro da empresa. As guras ao lado sugerem os dois tipos de atividades que podem ser desenhadas no BPD. Como exemplos das atividades que podem ser representadas por esses elementos podem ser citados: a emisso de faturas, a solicitao de um pedido, o fechamento de caixa, entre outros. Gateway Um gateway representado por um losango e usado para controlar a convergncia e divergncia de um Fluxo de Seqncia. Assim, ele determinar as decises tradicionais, bem como a quebra e juno de caminhos. Os Gateways podem representar tipos de comportamento como: desvio (branching), bifurcao (forking), fuso (merging) e juno (joining).

tarefas processo ou sub-processo


+

Tabela 1. Objetos de Fluxo. Fonte: [BPMN, 2006]

Fluxo Seqencial

O Fluxo Seqencial representado por uma linha e uma seta slida e usada para mostrar a ordem (seqncia) que as atividades sero executadas em um processo.

Fluxo de Mensagem O Fluxo de Mensagem representado por uma linha tracejada com uma seta aberta e usada para mostrar o uxo de mensagens entre dois participantes do processo (entidades de negcio ou regras de negcio) que as enviam e as recebem. Em BPMN, dois Pools separados no diagrama representaro os dois participantes. Associao Uma Associao representada por uma linha pontilhada com uma seta aberta e usada para associar dados, texto e outros artefatos com objetos do uxo. Associaes so usadas para mostrar as entradas e sadas das atividades.

Tabela 2. Objetos de Conexo. Fonte: [BPMN, 2006]

Pool

Um Pool representa o agrupamento de atividades de um participante em um determinado processo. Um exemplo seria o agrupamento das atividades de um diretor da empresa envolvido no processo que est sendo modelado. Na representao gr ca o nome do diretor ou sua funo na empresa entrariam como identi cador do Pool onde se encontra a descrio Name. Um Lane uma sub-partio dentro de um Pool, dividindo o Pool inteiramente, horizontal ou verticalmente. So usados para organizar e categorizar atividades. Por exemplo, podem-se indicar os representantes de uma determinada rea ou o processo da empresa nas raias, identi cando cada participante no cabealho da Lane e o departamento ou o processo principal, no cabealho geral e nico. A rea seria a de suprimentos e, nas raias, seriam representadas as atividades do gerente e de um determinado fornecedor em um processo de compra.

Lane

Tabela 3. Swimlanes. Fonte: [BPMN, 2006]

A primeira razo a facilidade do uso de uma linguagem visual clara e de fcil entendimento. Outra razo que merece destaque a disponibilidade de recursos grcos que podem representar dos mais simples aos mais complexos processos de negcio. Dessa forma, permite um mapeamento dos processos agregando informaes tcnicas e a conseqente migrao para modelos de execuo, como o caso do BPEL. Generalizando, a notao BPMN nos permite representar os seguintes conceitos: Processos, sub-processos e atividades; Loops, instanciao mltipla de atividades e transaes de compensao; Eventos de incio, de m e intermedirios no processo (por exemplo, um processo pode iniciar a partir do evento Email vindo do cliente); Decises, paralelismo e sincronizao de processos; Organizaes, departamentos e papis que participam do processo; Trocas de mensagens entre organizaes participantes do processo (essencial para representar cenrios Business to Business (B2B) onde, por exemplo, comum a integrao de diferentes plataformas de sistemas legados; Objetos de dados que tramitam ao longo do processo [BPMN, 2007]. Por ser uma ferramenta simples e poderosa, o BPMN tem se tornado um padro para a modelagem de processos. Para contribuir com o cenrio de consolidao dessa ferramenta no mercado, a fuso entre a criadora do BPMN, a BPMI, com a OMG (mantenedora de padres como CORBA e UML) vem com uma proposta de incorporao do BPMN UML. Assim, pretende-se preencher uma decincia do modelo UML que modelagem de processos de negcio. Para representar o processo de negcio que est sendo modelado, BPMN dene o Business Process Diagram (BPD), que se baseia na tcnica de uxograma. Com isso, disponibiliza uma srie de guras grcas que representam os elementos envolvidos no processo modelado. Um modelo de processo de negcio , ento, uma rede de objetos grcos que representam controle de uxo que denem a ordem de execuo de cada atividade do modelo. Os principais elementos compem um BPD so descritos como [BMPN, 2006]:

name name

14 Engenharia de Software Magazine Modelagem de Processos de Negcio

name

name

PROCESSOS
Objetos de uxo: so utilizados para representar o comportamento dos processos de negcio, formando a estrutura central do BPD. Os objetos de uxos so representados por: Eventos, Atividades e Gateways (ver Tabela 1); Objetos de conexo: so utilizados para determinar a ordem dos uxos de mensagens, a conexo entre artefatos aos objetos do uxo ou entre atividades, ou podem ser utilizados tambm para representar a troca de mensagens entre elementos do modelo. Tm trs representaes: Fluxos de Seqncia, de Mensagens e de Associao. A Tabela 2 contm a explicao detalhada desses objetos; Swimlanes: so utilizadas para organizar os participantes do processo ou organizar e agrupar as categorias de objetos do uxo. O participante chamado de pool e a raia onde sero classicados os objetos chamada de lane. Assim, cam representadas nos Swimlanes diferentes funcionalidades e responsabilidades, agrupadas por categorias de atividades de acordo com cada participante. A Tabela 3 contm a discriminao desses elementos; Artefatos: So utilizados para representar as informaes complementares do processo. Podem ser dados, anotaes ou grupos de atividades. Os artefatos esto representados na Tabela 4. A Figura 1 apresenta um exemplo de processo de registro de reserva de viagem contendo as atividades de reserva de vo, hotel, carro, a verificao de crdito at a confirmao final das solicitaes das reservas. O processo detalhado da reserva de viagem segue os seguintes pontos: inicia com a recepo do pedido de reserva de viagem; efetua uma verificao do carto de crdito; a falha do carto, representada pela gura na atividade Vericao carto de crdito, dever emitir uma resposta para a falha de manuseio do carto; as reservas so feitas para o vo, o hotel e o carro; a reserva do carro pode ter que ser feita com mais de uma tentativa; aps das trs reservas serem efetuadas, enviada uma resposta de conrmao. Vrios detalhes podem ser incorporados ao modelo podendo assim enriqueclo a m de auxiliar as decises a serem Objeto de Dados Objetos de Dados so mecanismos que mostram como os dados so requeridos ou produzidos pelas atividades. Eles so conectados s atividades atravs das associaes. Nessa representao podem ser representados valores totais do custo da viagem, como: o valor da reserva do hotel, o valor do aluguel do carro, taxas, parcelas, entre outros. Grupo Um Grupo representado por um retngulo com bordas arredondadas, desenhado com linhas tracejadas. Agrupamento pode ser usado com ns de documentao ou para facilitar a anlise de determinado conjunto de atividades, no afetando o Fluxo Seqencial. As atividades de registro de reserva podem ser agrupadas para facilitar a visualizao dentro do modelo. Anotaes so mecanismos que fornecem informao textual adicional para o leitor de um diagrama BPMN. Por exemplo, para o pagamento das reservas do registro de reserva de viagem, podem ser includas no modelo anotaes com informaes complementares dos uxos de tipo de pagamento a ser efetuado, tais como: carto de crdito, carto de dbito ou depsito em conta.

Anotao

Informaes Complementares

Tabela 4. Artefatos. Fonte: [BPMN, 2006]

Figura 1. Processo de registro de reserva de viagem com BPMN (adaptado de [WHIT, 2005]).

tomadas e uma maior proximidade com o problema real. Como representado na Figura 2, existe um trecho de um processo com a congurao de tempo que este dever ser executado, assim pode-se enriquecer as decises do modelo apresentado anteriormente. Na Figura 2 apresentada uma pequena parte da riqueza de detalhes que pode ser incorporada ao BPMN. Dessa forma, com a caracterizao de cada elemento do modelo deve ser feita criteriosamente para que todos os detalhes dos requisitos dos processos sejam congurados e possam servir como base para uma exportao para uma linguagem de execuo. Alm da diagramao do modelo do processo representado no BPD, as ferramentas computacionais para modelagem

Figura 2 Configurao do tempo de resposta a um evento 2. no processo.

Edio 04 Engenharia de Software Magazine 15

permitem que sejam congurados textualmente as propriedades de cada elemento do diagrama. Pode-se congurar, por exemplo, a linguagem de programao a qual o modelo poder ser gerado ou a sua compatibilidade com uma linguagem, o nome do processo principal, o nome para cada regra dos participantes do processo, bem como o tipo de implementao a que estar vinculado aquele processo. A Figura 3 apresenta a configurao textual codificada do modelo de processo da reserva de viagem apresentado anteriormente. Com as conguraes implementadas, possvel transformar o modelo do processo em uma linguagem. Assim, possvel simular a execuo do processo diagramado, ou mesmo gerar cdigo XML, que poder servir para integrao ou comunicao com um sistema computa-

cional. As linguagens utilizadas para a execuo do modelo do processo so conhecidas como Business Process Execution Language (BPEL) ou XML PROCESS DEFINITION LANGUAGE (XPDL) que sero apresentadas nas sesses seguintes.

BPEL - Business Process Execution Language


O BPEL uma linguagem baseada em eXtensible Markup Language (XML) que busca um padro de desenvolvimento para que os processos de diferentes sistemas interajam e se comuniquem, tornando essas atividades mais exveis, distribudas e independentes de plataforma. Alm desses objetivos, o BPEL uma ferramenta para promover o seqenciamento, a coordenao e o gerenciamento de conversaes entre Web Services dentro de uma aplicao de negcio [BOLI, 2006].

Figura 3. Configuraes textuais do processo de registro de 3 reserva de viagem (adaptado de [WHIT, 2005]).

Atualmente, o BPEL tem sido considerado como a base para os projetos baseados na arquitetura Service-Oriented Architecture (SOA). Isso tem sido um fator de motivao para as empresas adotarem e utilizarem Web Services em suas aplicaes computacionais. O desenvolvimento do BPEL aconteceu a partir de um consrcio formado entre a BEA Systems, IBM e Microsoft, que inicialmente objetivou a substituio de padres como IBMs WSFL e Microsofts XLANG [JURI, 2006]. A partir do momento que seu meta modelo e sua especificao inicial foram definidos, o modelo foi passado para o controle da organizao internacional OASIS, que atualmente responsvel por sua evoluo. Apesar das denies encontradas na literatura a respeito da linguagem, ainda h divergncia por parte de alguns players com relao ao seu conceito. A Oracle e IBM consideram o BPEL como sendo uma linguagem de programao para execuo de processos, j a Microso a considera como sendo uma interface de comunicao e importao/exportao de regras de processos. A Microso utiliza esse fundamento em seu aplicativo Biz Talk Server, onde o seu objetivo a integrao de sistemas e processos que podem exportar suas regras de negcios para o modelo BPEL. O funcionamento do BPEL est basicamente atrelado s atividades de comunicao. Com bases tcnicas, pode-se descrever que essas comunicaes se do a partir de atividades como [JURI, 2006]:

Listagem 1. Inicializao e configurao do Link ServicoReservaHotel, parte do PapelProcessoViagem (adaptado de [WHIT, 2005])
<partnerLinks> <partnerLink myRole=PapelProcessoViagem name=InicioProcesso partnerLinkType=wsdl5:ProcessoViagem/> <partnerLink name=ServicoReservaHotel partnerLinkType=wsdl5:ReservaHotelPartnerPLT partnerRole=PapelReservaHotel/> <!-- Another 3 partnerLinks are defined --> </partnerLinks>

Listagem 2. Definio das mensagens referentes s transaes de reserva area (adaptado de [WHIT, 2005])
<message name=input> <part name=linhaAerea type=xsd:string/> <part name=chegada type=xsd:string/> <part name=partida type=xsd:string/> <!-- Another 10 parts are defined --> </message> <message name=facaSolicitacaoReservaVoo> <part name=linhaAerea type=xsd:string/> <part name=chegada type=xsd:string/> <part name=partida type=xsd:string/> <!-- Another four parts are defined --> </message> <!-- Another nine messages are defined -->

16 Engenharia de Software Magazine Modelagem de Processos de Negcio

PROCESSOS

Listagem 3. Definio das variveis correspondentes s transaes com carto de crdito (adaptado de [WHIT, 2005])
<variables> <variable messageType=wsdl0:input name=input/> <variable messageType=wsdl4:facaVerificacaoSolicitacaoCartaoCredito name=VerificaSolicitacaoCartaoCredito/> <variable messageType=wsdl4:facaVerificacaoRespostaCartaoCredito name=VerificaResposaCartaoCredito/> <variable messageType=wsdl4:Exception name=FalhaCartaoCredito/> <variable messageType=wsdl1:facaSolicitacaoReservaCarro name=RespostaReservaCarro/> <!-- Another 6 variables are defined --> </variables>

enviar mensagens XML para servios remotos; manipular estrutura de dados XML; receber mensagens XML assncronas de servios remotos; gerenciar eventos e excees; denir seqncias paralelas de execuo e retornar partes do processo quando as excees ocorrem. Os trechos de cdigo das Listagens 1, 2 e 3 representam a semntica do BPEL, a partir do exemplo do modelo de processos de registro de reserva de viagem apresentado anteriormente. Na Listagem 1 representada a denio do processo a partir da congurao do PartnerLink. Em PartnerLinkType denido o tipo de implementao para o processo, no caso um Web Service que ter a denio wsdl5:ReservaHotelPartnerPLT. Na Listagem 2 apresentado o cdigo de configurao das mensagens que sero inseridas no cdigo BPEL para a representao do modelo do registro de reserva de viagens. Cada mensagem ter seus componentes como no caso da mensagem Input com os elementos de linha area, destino da viagem e origem da viagem, todas do tipo string. Na Listagem 3 apresentada a utilizao da mensagem Input denida no padro XML acima. No caso, a mensagem far parte das variveis denidas para representar as transaes com carto de crdito utilizadas no modelo do registro de reserva de viagens.

Dessa forma, atravs de cdigos XML, o BPEL consegue descrever um processo de negcio para interagir com Web Services, sejam eles internos ou externos. Isso signica denir e criar uma srie de regras de uxogramas, como seqncias, paralelismos, condicionais, loops, dentre outros, para a execuo de diversos Web Services em seqncia [BOLI, 2006]. Ferramentas para implementao de solues BPM, como o framework da JBoss, o BPELPM da Oracle, assim como a soluo BPM Sute da nova verso do NetBeans, so capazes de criar o modelo do uxograma em BPEL e tambm de execut-lo, isso , ler as regras denidas, executar as regras de negcio e invocar os Web Services. Alguns fornecedores como a Microso , por exemplo, utilizam o BPEL somente para importao e exportao de regras de uxos para seus sistemas, similar ao XPDL. A principal crtica ao BPEL a falta da comunicao entre agentes participantes do processo, ou seja, as pessoas. Por exemplo, o tratamento de workow para comunicao entre os participantes do processo inexistente no modelo bsico, no existe, por exemplo, um elemento ou regra que descreva uma tarefa que necessita a aprovao do diretor autorizando o fechamento do pacote de viagens para o interessado. Essa soluo resolvida pela maioria dos fornecedores com a criao de servios (Web Services) de noticao de pessoas, que podem ser acoplados ao BPM. Nesse ponto, o modelo cai em um

antigo problema da utilizao de solues proprietrias, dicultando a portabilidade entre ferramentas. Assim, talvez a maior questo envolvendo o BPEL, hoje, esteja relacionada a Web Services. O BPEL trabalha somente com Web Services. H, portanto, uma incompatibilidade com arquivos texto, tabelas de banco de dados, File Transfer Protocol (FTP), a no ser via Web Services programados. Nessa situao, voltamos s solues proprietrias de fornecedores que implementam servios para a interoperabilidade com esses tipos de interfaces.

XPDL - Process De nition Language


A linguagem XPDL foi proposta pela Workow Management Coalition (WfMC), entidade que dene padres para a comunidade que trabalha com workow. Essa linguagem constitui em um modelo para intercmbio de processos de negcio entre ferramentas de modelagem diferentes [WfMC, 2005]. Esta especificao utiliza XML como o mecanismo para definir o processo de intercmbio ou comunicao entre produtos. XPDL forma uma normatizao para intercmbio comum, que permite que os produtos troquem suas informaes internas a partir das representaes e definies de um processo padro [WfMC, 2005]. Uma variedade de diferentes mecanismos pode ser utilizada para o processo de transferncia de dados

Edio 04 Engenharia de Software Magazine 17

Figura 4 O conceito do processo de definio de intercmbio da linguagem (adaptado de [WfMC, 2005]). 4. [WfMC 2005])

Figura 5 Cdigo de implementao de DataObject Fonte: [WfMC 2005] 5. DataObject. [WfMC,

entre sistemas, de acordo com as caractersticas dos diferentes cenrios empresariais. Em todos os casos, o processo de intercmbio deve ser expresso de forma consistente a m de se obter um conjunto comum de objetos, relacionamentos e atributos expressando seus conceitos subjacentes. Dessa forma, possvel que diferentes sistemas computacionais com diferentes modelos de processos de negcio interajam com base em uma linguagem padro baseada em XML. A Figura 4 apresenta um contexto da interao de modelos de negcio e sua transformao na linguagem comum baseada na normatizao XPDL. O meta-modelo representado descreve as entidades do nvel mais alto que esto na definio do processo, seus relacionamentos e atributos e, apesar de serem utilizadas vrias notaes para modelagem dos diversos processos, utilizada apenas definio padro para a interface de dados, no caso utilizada o XPDL. Portanto, a execuo, a simulao e o monitoramento dos processos so concebidos sob uma nica interface padro de dados. As entidades do BPMN Swimlanes, process activit, transition information, participant declaration, artifact, message flow, association entre outros [WfMC, 2005] podem ser encontradas nas sintaxes do XPDL e, para cada uma notao, existe um cdigo apropriado. Por exemplo, a seguir pode ser observado o cdigo XML para a notao Swimlane e a definio de Data Object, gerados com base no padro XPDL. Outras representaes podem ser verificadas como, por exemplo, na Figura 5 onde descrito o cdigo de gerao para o elemento DataObject da notao BMPN.

Figura 6. Mapeamento dos atributos bsicos do processo de negcio Fonte: [WfMC 2005] negcio. [WfMC, 2005]. 6

18 Engenharia de Software Magazine Modelagem de Processos de Negcio

PROCESSOS
Transformao do processo de reserva de viagem
Essa sesso apresenta nas Figuras 6, 7 e 8 a transformao de alguns elementos do modelo de processo de reserva de viagem apresentado para o respectivo cdigo BPEL. De um lado esto os elementos do modelo BPM com a representao da congurao de cada um dos seus elementos. Do outro, esto os respectivos cdigos em BPEL aps a transformao do modelo em uma linguagem executvel. A Figura 6 apresenta a congurao bsica do BPM com o nome principal do processo, o tipo de linguagem de implementao, entre outras conguraes. Do lado BPEL encontrado o cdigo em linguagem executvel relativo congurao do modelo do processo. Os WebServices gerados a partir de parte do modelo so demonstrados na Figura 7. A inicializao do processo bem como a atividade de Servio de Reserva do Hotel so mapeados de forma a gerarem servios para o PartnerLink que sero transformados em WebServices em tempo de execuo do modelo do processo de reserva de viagens. A Figura 8 apresenta os tipos de objetos de inputs gerados a partir do BPMN e seu respectivo cdigo executvel em BPEL. So demonstrados na gura as mensagens e tipos de objetos de entrada de dados como companhia area e a chegada dos vos mapeados. A Figura 9 apresenta uma ilustrao do ambiente da transformao do modelo em BMPN e sua forte aderncia aos processos de negcio da empresa, em que analistas, projetistas e consultores de estratgia de negcio esto com seu esforo voltado a elaborar e construir um modelo diagramtico dos processos empresarias. Enquanto que, ao longo da transformao do modelo de negcios em produto executvel, temos engenheiros de software, arquitetos de sistemas e projetistas preocupados em transformar o modelo desenhado para uma linguagem que possa ser executada, onde se verifica a presena de implementao tecnolgica baseada em BPEL ou XPDL. importante destacar que quanto mais alto o nvel, ou seja, voltado ao desenvolvimento do negcio, mais

Figura 7. Mapeamento das propriedades WebServices Fonte: [WfMC 2005] 7 WebServices. [WfMC, 2005].

Figura i Figura 8. Mapeamento das propriedades e atributos dos objetos Fonte: [WfMC 2005] objetos. [WfMC, 2005].

Figura 9. Contextualizao de transformao de modelo BPMN em linguagem de execuo BPEL e XPDL. Fonte: [BPMN, 2005]. 9 XPDL [BPMN 2005]

Edio 04 Engenharia de Software Magazine 19

aderentes so os domnios relacionados s estratgias do negcio e os propsitos de modelagem, nesse contexto esto fortemente envolvidos os profissionais que mais conhecem de todos os processos da empresa. De outro lado, quanto mais voltado implementao tecnolgica, mais esto envolvidos os profissionais voltados tecnologia das linguagens trabalhando para que os modelos de negcios possam ser executados.

impulsiona a utilizao de abordagens de modelagens de processos. Para Natis [NATI, 2006]: SOA ser utilizada parcialmente em mais de 50% das novas aplicaes de misso crtica e processos de negcio criados em 2007, e mais de 80% at 2010 (70% de probabilidade). Organizaes que comecem sua transformao para BPM durante 2006 e 2007 sero recompensadas pelo domnio de suas indstrias por volta de 2010. Ter uma arquitetura de processos (parte de uma arquitetura de negcios) e alinhar as iniciativas de BPM com as iniciativas de SOA so atividades chaves a serem realizadas em 2007. O relatrio do Gartner Group de novembro de 2006 aponta o crescimento dos investimentos e pesquisas nas chamadas BMP Sutes. Os mtodos baseados nessa sute estaro no topo dos investimentos nos prximos 2 a 5 anos e ficar entre as mais altas no grfico de evoluo de ferramentas, tcnicas e tecnologias do grupo. A Figura 10 apresenta os resultados do relatrio onde pode ser visualizada a curva de crescimento das tecnologias e ferramentas computacionais se aproximan-

do ou afastando da visibilidade de investimentos ao longo do tempo. Outro indicador pesquisado pelo Gartner Group sobre o avano em solues para BPM o investimento dos grandes players do mercado. A Figura 11 apresenta uma relao desses players e os seus principais focos de investimento para solues de BPM.

Concluses
As consideraes feitas sobre a modelagem de processos de negcio e a gerao de cdigo XML a partir de um modelo diagramtico, muda sensivelmente a viso de como modelar os requisitos de negcio da empresa. A viso do analista de sistemas, o envolvimento de analistas de negcios e outros setores estratgicos fazem com que haja uma aproximao entre os setores tecnolgicos da empresa e os setores de negcio. Aparentemente estamos em um novo limiar de viso da TI na empresa. E os modelos de negcio sendo executados pela equipe tcnica fazem com que uma viso empresarial seja mais difundida. Dessa forma, entende-se que produtos possam ser mais bem elaborados e mais prximos da realidade do usurio.

O estado da arte
Basicamente, as tcnicas de modelagem de processos de negcio so suportadas por representaes diagramticas de uxo de dados ou controle das atividades de um determinado processo. Isso facilita a documentao, o entendimento e a manuteno dos modelos. Alguns elementos so fundamentais nesse contexto, como: atividades; ligaes entre atividades que podem representar pontos de deciso; padres de coordenao, tais como o uxo seqencial e a execuo paralela. A facilidade do uso da notao, o crescimento do paradigma SOA e a crescente implantao nas empresas,

Figura 10. Grfico de evoluo de tecnologias, ferramentas, aplicativos entre outros. Fonte: Gartner Group, novembro, 2006 [NATI, 2006].

20 Engenharia de Software Magazine Modelagem de Processos de Negcio

PROCESSOS
Alm dessa melhoria, a modelagem de processos faz com que os profissionais saiam do campo operacional e entrem em vises mais estratgicas da empresa. Dessa forma, os investimentos passam a focar em um outro mbito, no s o de treinamento em ferramentas ou linguagens de programao, mas em formao multidisciplinar de profissionais de TI, que passam agora a ter como demanda uma formao mais generalista e sistmica. D seu feedback sobre esta edio! A Engenharia de Software Magazine tem que ser feita ao seu gosto. Para isso, precisamos saber o que voc, leitor, acha da revista! www.devmedia.com.br/esmag/feedback
D s

Feedback eu
sobre e s

D seu voto sobre este artigo, atravs do link:


Figura 11. Ilustrao contendo fornecedores de solues BPM. Fonte: Gartner Group, novembro, 2006 [NATI, 2006].

Referncias [AKIY, 2004] [BOLI, 2006] AKIYAMA. E. (2004) Gesto de Processos: BPM (Business Process Management). SAP. Basf Case. BOLIE. J. et al. (2006) BPEL Cookbook: Best Practices for SOA-based integration and composite applications development. 188p. Packt Publishing Ltd.

[BPMN, 2005] BPMN Fundamentals (2005). OMG Beidtf Meeting. Atlanta. September. [BPMN, 2006] Business Process Modeling Notation Speci cation (2006). OMG Final Adopted Speci cation. February. [BPMN, 2007] BPMN: o Modelo E-R dos Processos. <Disponvel em: http://www.iprocess.com.br/artigos/4.htm> <Consultado em: 22/07/2008> [JURI, 2006] [NATI, 2006] [VERN, 1996] [WHIT, 2005] JURIC, M. B. (2006) Business Process Execution Language for Web Services BPEL and BPEL4WS. 2nd Edition. 372p. Packt Publishing Ltd. NATIS, Y. (2006). Predicts 2007: SOA Advances. EUA: Gartner, id: G00144445, Novembro. VERNADAT, F. B. (1996) Enterprise modelling and integration: principles and applications. London: Chapman & Hall. WHITE. A. S. (2005) Using BPMN to Model a BPEL Process. BPTrends. 2005. <Disponvel em www.bptrends.com.br. > <Consultado em: 22/07/2008>

[WfMC, 2005] Process De nition Interface - XML Process De nition Language (2005). Work ow Management Coalition Work ow Standard. October.

e ta

d i o

Edio 04 Engenharia de Software Magazine 21

Você também pode gostar