• Nenhum resultado encontrado

Orquestração de Processos de Negócio

N/A
N/A
Protected

Academic year: 2021

Share "Orquestração de Processos de Negócio"

Copied!
14
0
0

Texto

(1)

8/28/2003 José Alves Marques

Orquestração de Processos de Negócio

Partitura, Libreto, Maqueta

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

Ponto de Situação da Arquitectura

• Os Processos de negócio foram levantados e foram

descritos

– Eventualmente em BPMN

• Os Serviços de Negócio (Business services) foram

identificados

• Os Serviços Técnicos foram definidos

– Serviços de aplicações herdadas – Serviços externos

– Novos serviços necessários

• Questão como integrar os Serviços de Negócio com os

(2)

8/28/2003 José Alves Marques

Mapeamento BPEL

Departamento de Engenharia Informática

Business Process Execution Language

• Evolução do XLANG e do WSFL • Objectivo:

– Descrever a interacção entre parceiros de negócio em interacções de longa duração com estado, traduzidas em sequências de mensagens quer síncronas quer assíncronas.

• Permite definir dois tipos de processos:

– Abstract Process – protocolo de negócio, define as mensagens – Executable com detalhe dos WS e XML

• É um subset do BPML – Business Process Modeling Language • É importante notar a palavra execution, ao contrário de muitas

linguagens de descrição de processos, visa portanto a geração de código (WSDL e XML) que pode ser directamente interligado ao Web Services

(3)

8/28/2003 José Alves Marques

Uma visão dos standards (WfMC, Web

Services e BPM)

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

Elementos do WS-BPEL

• Partner links

– Entidades externas que interagem com o processo : parceiros, serviços

– São definidos por: um tipo, papel (o papel irá corresponder a um serviço diferente no WSDL)

• Variables

– Usadas para passar dados entre etapas do processo – Descritas por um documento WSDL

• Activities

– Basic – etapas na execução que realizam o trabalho – Structured – organiza a sequência de controlo do processo

(4)

8/28/2003 José Alves Marques

Elementos do WS-BPEL

• Correlation sets

– Correlacionam múltiplas invocações de serviços, são o

equivalente das referências de objectos que permitem

associar instâncias de serviços aos processos de

negócio. Um conjunto de tokens são definidos como

propriedades partilhadas por todas as mensagens,

• Fault handlers

– Tratam as excepções na execução dos processos

• Compensation

– Permitem a um processo desfazer acções já executadas

Departamento de Engenharia Informática

(5)

8/28/2003 José Alves Marques

Estrutura do WS-BPEL (II)

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

(6)

8/28/2003 José Alves Marques

Oracle BPEL Designer (Eclipse IDE)

Departamento de Engenharia Informática

A quick zoom into BPEL

• Designed for behavioural interfaces and implementations

• Imperative programming language: scoped variables,

assignment, sequence, while, switch, exception handlers

• Constructs specific to WS programming:

– XML typing and XPath, XQuery, or XSLT expressions – receive and send actions (with dynamic references) – correlation of messages based on content (à la MOM) – parallelism and synchronisation: flow and control links – event-action rules (event handlers and event-based choice) – nested transactions with compensation (compensation handlers) – In BPEL 2.0: multiple concurrent executions of a block of code

(7)

8/28/2003 José Alves Marques

BPEL by Example

• The escalation service of a call centre may receive:

– storm alerts from a weather service, or

– long waiting time alerts from the queue management service.

• The receipt of an alert triggers an escalation.

• Different escalations apply to the different types of alerts.

• While an escalation process is running, subsequent storm

or queue saturation alerts are forwarded to a manager but

do not trigger new escalations.

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

BPEL by example (cont.)

pick

onMessageQueueAlert : (* starts new process instance *)

begin scope

onEventQueueAlert : forward to manager

onEventStormAlert : forward to manager (* "queue alert" escalation activity goes here *)

end scope

onMessageStormAlert : (* starts new process instance *)

begin scope

onEventQueueAlert : forward to manager

onEventStormAlert : forward to manager (* "storm alert" escalation activity goes here *)

end scope end pick

(8)

8/28/2003 José Alves Marques

BPEL by example (cont.)

A broker service that solicits bids from a set of

bidders (not known a priori), and collects

responses, keeping track of the lowest bid

received. Bids are collected until a time-out.

Departamento de Engenharia Informática

BPEL by example (cont.)

set partner linkto the address of the first bidder;

send(one-way invoke) first bid request and initialise correlation set while(more partners)

set partner linkto the address of next bidder;

sendnext bid request;

begin scope

onAlarmtimeLimit : throw timeoutFault

catchtimeoutFault : set flag variable to indicate time-out

while(more bids expected)

receivea bid;

updatewinning bid

end scope

(9)

8/28/2003 José Alves Marques

BPEL by example

A conference provides redundant services to accept

paper submissions.

A submitter service submits the paper via the first

service; if no acknowledgement is received within

ten seconds, it submits the paper via the second

service, and so on.

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

BPEL by example (cont.)

responseReceived:=false begin scope onEventX : begin scope onAlarmtimeLimit : begin switch

case(more servers) send a message of type X to myself otherwisethrow allServersTimedOut

end switch

catchallServersTimedOut: do nothing (* terminates scope *) catchresponseReceived: do nothing (* terminates scope *)

sendrequest to next server and receiveresponse (synchronous invoke); responseReceived:=true;

throwresponseReceived end scope

senda message of type X to myself end scope

(10)

8/28/2003 José Alves Marques

Impacto do BPMS no ciclo de vida dos

processos

Integração, Automatização, e workflow Monitorização Actividade Negócio e Processual Capacidade ajustar

dinamicamente regras de negócio e processos

Definir Executar Monitorizar

Modelação gráfica Standard-based (BPEL), Regras Negócio, Workflow

Criar

Optimizar

Orquestrações

Departamento de Engenharia Informática

(11)

8/28/2003 José Alves Marques

Integração da arquitectura orientada a

serviços (SOA)

• A arquitectura orientada a serviços aplicada num

sistema BPM possibilita às organizações o foco na

criação de soluções orientadas ao processo

• Benefícios:

– Automação e composição (orquestração) de serviços

– Criar serviços de negócio colaborativos

– Standards ao nível web services (WSDL, SOAP,

BPEL4WS)

– Fornecer segurança ao nível das mensagens

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

Coreografia

(12)

8/28/2003 José Alves Marques

Coreografia

• WS- choreography model

• Modelo

– Abstract coreography – Portable coreography – Concrete coreography

• Objectivo descrever a forma como interagem as entidades

da arquitectura

– Independente das plataformas, modelos de programação, etc.

• WS-Choreography Description Language com formalismo

baseado do Π – calculus

– Não é uma BPEL não tem por objectivo produzir código executável

Departamento de Engenharia Informática

Definição Orquestração e Coreografia

• Coreografia

– As mensagens trocadas externamente, regras de interacção e acordos entre dois ou mais endpoints de processos de negócio – WSCI - Web Services Choreography Interface

• Descreve as mensagens entre web services que colaboraram • Linguagem baseada em XML

• Observável externamente

• Orquestração

– Um processo executável descrito na perspectiva do fluxo de execução e sob controlo de um único endpoint.

– BPML - Business Process Model Language • Descreve processos de negócio executáveis • A definição é privada

(13)

8/28/2003 José Alves Marques

Um exemplo:

Sample Business Process: Purchase Order

Sample Purchase Order

Purchase Order Request

Purchase Order Acknowledgement

Purchase Order Response Business

“A” Business “B”

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

Do ponto de vista da Coreografia

PO Request Send PO Receive PO Ack Receive PO Response Receive PO Send PO Ack Send PO Response PO Acknowledgement PO Response

Coreografia – The observable public exchange of messages Public Process

(14)

8/28/2003 José Alves Marques

Do ponto de vista da Orquestração

Send PO Receive PO Ack Receive PO Response Transform Transform From ERP To ERP PO Request PO Acknowledgement PO Response

Orquestração – A private executable business process (Workflow) Private Process

Business A BPEL Workflow

Departamento de Engenharia Informática

Orquestração e Coreografia em conjunto

Business B Business Analyst Tool Business A Send PO Receive PO Ack Receive PO Response Transform Transform

Business A BPEL Workflow

PO Request PO Acknowledgement PO Response Generate BPEL Template Generate BPEL Template Receive PO Send PO Ack Receive PO Response Transform Transform Business B BPEL Workflow

Referências

Documentos relacionados

Os valores apresentados na coluna de Erro são obtidos através da diferença entre as médias das leituras do instrumento sob calibração e do padrão utilizado (valores corrigidos

Não obstante um padrão gustativo de preferência para soluções mais adoçadas e conseqüente maior consumo de açúcar esteja relacionado a níveis mais altos de cárie,

- Para fazer tais inferências, o pesquisador seleciona um método apropriado de amostragem que leva em conta a possibilidade de todos os membros da população fazerem parte de amostra

3.1.1. Ter título de Doutor em Estudos da Linguagem, Linguística, Letras ou áreas afins, compatíveis com as linhas de pesquisa do PPGLL-FL/UFG. Em caso de diploma obtido

5. Por consiguiente, las disposiciones del presente Acuerdo no impedirán, entre los territorios de las partes contratantes, el establecimiento de una unión aduanera ni el de una zona

Seja na parte prática ou na análise teórica durante o processo de pesquisa-criação, a integração da somática como um meio de reavaliar as relações entre dança

Esta subposição inclui os serviços de instalação de cercas, grades de proteção e estruturas assemelhadas. Essas cercas podem ser de diferentes materiais, como,

Proficiência realizada pelo Departamento de Letras da UEM ou Departamento equivalente de universidades federais ou estaduais que possuam Programa de Pós-Graduação