10 orquestra..o de processos de neg.cio file• É um subset do bpml – business process modeling...

14
8/28/2003 José Alves Marques Departamento de Engenharia Informática 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 Serviços Técnicos?

Upload: lyanh

Post on 12-May-2018

216 views

Category:

Documents


4 download

TRANSCRIPT

1

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

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 Serviços Técnicos?

2

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

Mapeamento BPEL

8/28/2003 José Alves Marques

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

Departamento de Engenharia Informática

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

Departamento de Engenharia Informática

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

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

Estrutura do WS-BPEL (I)

5

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

Estrutura do WS-BPEL (II)

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

Estrutura do WS-BPEL (III)

6

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

Oracle BPEL Designer (Eclipse IDE)

8/28/2003 José Alves Marques

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

• XML syntax (but this is irrelevant!)

7

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

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.)

pickonMessage QueueAlert : (* starts new process instance *)

begin scopeonEvent QueueAlert : forward to manageronEvent StormAlert : forward to manager(* "queue alert" escalation activity goes here *)

end scopeonMessage StormAlert : (* starts new process instance *)

begin scopeonEvent QueueAlert : forward to manageronEvent StormAlert : forward to manager(* "storm alert" escalation activity goes here *)

end scopeend pick

8

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

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.

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

BPEL by example (cont.)

set partner link to the address of the first bidder;send (one-way invoke) first bid request and initialise correlation setwhile (more partners)

set partner link to the address of next bidder;send next bid request;

begin scopeonAlarm timeLimit : throw timeoutFaultcatch timeoutFault : set flag variable to indicate time-outwhile (more bids expected)

receive a bid;update winning bid

end scope(* processing of time-out or winning bid goes here *)

9

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

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 := falsebegin scope

onEvent X :begin scopeonAlarm timeLimit :

begin switchcase (more servers) send a message of type X to myselfotherwise throw allServersTimedOut

end switchcatch allServersTimedOut: do nothing (* terminates scope *)catch responseReceived: do nothing (* terminates scope *)send request to next server and receive response (synchronous invoke);responseReceived := true;throw responseReceived

end scopesend a message of type X to myself

end scope

10

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

Impacto do BPMS no ciclo de vida dos processos

Integração, Automatização,

e workflow

MonitorizaçãoActividade

Negócio e Processual

Capacidade ajustardinamicamente regras de negócio e processos

Definir Executar Monitorizar

Modelação gráficaStandard-based (BPEL),

Regras Negócio, Workflow

Criar

Optimizar

Orquestrações

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

Arquitectura de um sistema BPM

11

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

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

Encenação

12

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

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

8/28/2003 José Alves Marques

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

Departamento de Engenharia Informática

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 RequestSend PO

Receive PO Ack

Receive PO Response

Receive PO

SendPO Ack

Send PO Response

PO Acknowledgement

PO Response

Coreografia – The observable public exchange of messages

Public Process

Business A Business B

14

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

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 ProcessBusiness A BPEL Workflow

8/28/2003 José Alves Marques

Departamento de Engenharia Informática

Orquestração e Coreografia em conjunto

BusinessB

Business Analyst Tool

BusinessA

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

Two BPEL workflow templates reflecting a business agreement