51
Maestría en Ingeniería Arquitectura de Software Sesión 12 Fernando Barraza A., Ms.C [email protected]

Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Embed Size (px)

Citation preview

Page 1: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Maestría en Ingeniería Arquitectura de Software

Sesión 12

Fernando Barraza A., Ms.C [email protected]

Page 2: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Sesión 12 •  Objetivo: Brindar al estudiante una visión general de

BPM, BPMN y BPEL dentro de un estilo SOA •  Temas:

–  SOA y los modelos de negocio de empresa –  BPM y la relación con SOA y sus tecnologías –  Procesos de Negocio –  Estándares y Notaciones para modelar,

implementar y monitorear procesos de negocio •  BPMN •  BPEL, WS-BPEL •  BAM

–  Transformaciones de modelos

Page 3: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Ciclo de vida SOA

Page 4: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Solución conceptual

Page 5: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPM, BPEL, BAM, BPMN, SOA, Web Services

BPM

SOA BPMN

BPEL

BAM

Page 6: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Integración de estándares en el modelo de negocio de la empresa

Estándar Objetivo Responsable BPM Modelar el proceso total de negocio Responsables y

consultores del Negocio BPMN Representar el modelo de negocio Consultor de Negocio BPEL Especificar el proceso en un código

ejecutable Arquitecto de Sistema

SOA Implementar BPM con servicios Arquitecto de Software y Sistema

Web Services Integrar aplicaciones mediante servicios

Desarrolladores de Software

BAM Monitorear los procesos de negocio Analista de Negocios

Page 7: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Procesos de negocio

•  Un proceso de negocio es un conjunto de actividades que generan un valor para la empresa

•  La orientación SOA permite modelar un proceso como una “orquestación” de servicios

Page 8: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Ejemplo Modelo de Procesos

C heck C ompleteness

ObtainAdditional Information

C heck C redit His tory

C heck Income S ource(s )

C redit C ardApplication

Assess  Application

Make C redit Offer

Notify R ejection

Page 9: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPM

•  Business Process Management – El BPM son las actividades que tienen como

objetivo el análisis, diseño, ejecución y monitorización de los procesos de negocio

Page 10: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPM

•  Características de BPM – Debe permitir gestionar el ciclo de vida de los

servicios – Simular procesos de negocio – Monitorizar KPIs de los procesos de negocio – Agilidad en el cambio de los procesos

Page 11: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPM

•  Relación BPM, SOA y Web Services – Los Web Services son la tecnología más

adecuada para implementar arquitecturas SOA

– Las arquitecturas SOA representan adecuadamente procesos de negocio

– El BPM permite la implantación de un proceso de negocio usando una arquitectura SOA.

Page 12: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPM

•  ¿Cómo genera valor el BPM? – La tecnología debe dar soporte a los

procesos de negocio. – El mercado actual es muy cambiante. Los

cambios en los procesos deben ser rápidos – El BPM permite ver los procesos como una

sucesión funcionalidades atómicas. – Consecuencia: Es fácil y rápido cambiar los

procesos de negocio Ventaja competitiva

Page 13: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPM

•  ¿Cómo empezar a utilizar BPM? – Empezar por un proceso que funcione mal –  Intentar que la lógica de negocio cubra

distintos actores tanto internos como externos

Page 14: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPM •  Puntos clave de éxito

–  La organización debe tener perfectamente definidos sus procesos de negocio

–  Seleccionar los procesos de negocio susceptibles de usar BPM

–  Definir correctamente los servicios (funcionalidad, granularidad, etc…)

–  Seleccionar las KPI adecuadas –  Monitorizar, monitorizar, monitorizar,… –  Tener una orientación de “mejora continua” de los

procesos

Page 15: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Notaciones para Modelar Negocios

•  Business Process Modelling Notation (BPMN)

•  Event-driven Process Chains (EPC) •  Business Process Execution Language

(BPEL) •  State-machines y variantes (ej: IBM

Business State Machine, WWF) •  Petri nets y variantes (ej: YAWL)

Page 16: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPMN

•  Business Process Modeling Notation. – Modelado de procesos – Es el lenguaje del consultor de negocio. – Se usa para representar el proceso de

negocio. – El modelo será traducido posteriormente a

“lenguaje máquina”(BPEL) para ser ejecutado.

– Ojo: Hay una tendencia a usar UML 2.0+ en vez de BPMN.

Page 17: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Elementos bàsicos BPMN

E vent Tas k F low Gateway

Page 18: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPMN: Vista detallada

S tart E ventIntermediate 

Mes s age E ventIntermediate T imer E vent

Tas k Parallel F ork Gateway

Parallel J oin Gateway

E nd Terminate E ventE nd E vent

F low E vent‐bas ed Dec is ion Gateway

receive

Merge Gateway

Data‐bas ed Dec is ion Gateway

c

~c

Page 19: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Ejemplo BPMN

C heck s tock availability

R eject order

C onfirm order

S end invoice

S hip goods

Page 20: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPEL

•  Business Process Execution Language •  Es el lenguaje “máquina” que permite la

implementación del BPM. •  Es un estándar soportado por la mayoría

de fabricantes •  Físicamente es un fichero XML

Page 21: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPEL

•  ¿Qué aporta? – Es la unión entre negocio y tecnología – Al ser un estándar usado por los fabricantes:

•  Permite elegir entre distintas plataformas •  Permite la interoperabilidad •  Fomenta la competitividad y la mejora de las

plataformas

Page 22: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

WS-BPEL  Web Services Business Process

Execution Language (WS-BPEL) es un lenguaje para describir procesos de negocio basados en Web Services  WS-BPEL ejecuta la funcionalidad únicamente

con interfaces tipo WS  La especificación de WS-BPEL es administrada

por OASIS  WS-BPEL es un lenguaje de orquestación

no de coreografía

Page 23: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Orquestación vs. Coreografía Orquestación   Especifica un proceso

ejecutable con intercambio de mensajes entre sistemas los cuales son controlados por el diseñador de la orquestación.

Coreografía   Especifica un protocolo peer-

to-peer con la secuencia de mensajes intercambiados para garantizar la interoperabilidad

Una coreografía no es directamente ejecutable y requiere ser impementada a través de un proceso de orquestación (por ej. BPEL)

Page 24: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPEL como orquestador

Page 25: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Ejemplo BPEL <sequence> <invoke “check stock availability” …/> <switch (…) …/> <case “reject”> <invoke “order rejection” …/> </case> <otherwise> <sequence> <invoke “order acceptance” … /> <flow> <invoke “invoicing” … /> <invoke “ship goods” … /> </flow> </sequence> </otherwise> </switch> </sequence>

Page 26: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Definición de proceso en WS-BPEL

process

imports

Declare dependencies on external XML Schema or WSDL definitions extensions

Declare namespaces of WS-BPEL extension

attributes and elements

variables Data holding state of a business process or exchanged with partners

partner links

Relationships that a WS-BPEL process will employ in its behavior

correlation sets

Application data fields that together identify a

conversation

message exchanges

Relationship between inbound and outbound

message activities

event handlers

Concurrently process inbound messages or timer alarms

fault handlers

Deal with exceptional situations in a process

primary activity

Perform the process logic – any number of activities may be recursively nested XML

schemas

WSDL definitions

Page 27: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Web Service

Financial institution‘s Web service implementation (Loan Approver)

Web Service

WSDL Loan Approval PortType

Loan Approval Process

invoke

receive

reply

Modelo de composición recursiva

Los procesos WS-BPEL son expuestos como Web Services a los socios de negocio

Los procesos WS-BPEL interactúan con los Web services expuestos por los socios de negocio

Page 28: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Elemento “Partner Link” •  WDSL describe la funcionalidad de los servicios del partner •  El enlace al partner describe el tipo de relación con el partner

describiendo los tipos de puertos usado en la relación peer-to-peer

•  Ejemplos: <partnerLinks>

<partnerLink name=“Invoice” partnerLinkType=“inv:InvoiceType” partnerRole=“InvoiceServiceProvider”/> <partnerLink name=“Employee” partnerLinkType=“emp:EmployeeType” partnerRole=“EmployeeServiceProvider”/>

</partnerLinks>

Reference to WDSL portType element

Page 29: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Partner Links gráficamente process

partner link

partner link type

Peer-to-peer conversational partner relationship

WSDL port type

myRole

Provided port type

WSDL port type

partnerRole

Required port type

receive

Inbound request – service provided by the process

invoke

Outbound request – service required by the process

Page 30: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Variable Element

•  Es usado para almacenar información de la lógica del workflow

•  Las variables pueden contener mensajes enteros y conjuntos de datos con XSD

•  Ejemplo:

<variables> <variable name=“EmployeeHoursRequest” messageType=“emp:getWeeklyHoursRequestMessage”/>

</variables>

Message Name from Partner

Process Definition

Page 31: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Variables gráficamente

process

assign

xsl:transform

receive

request

response

invoke

request

reply

response

42

WSDL message

WSDL message

WSDL messages

Variables defined using WSDL messages

42 XML schemas

XML Schema elements / types

Variables defined using XML schema elements or types

Page 32: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Properties y Correlation Sets •  Como identificar instancias con estado (stateful instances) con interfaces

WS sin estado? •  Una instancia de proceso es asignada a una o más llaves

–  Datos de negocios son usados como llaves, ej: customerID –  Una llave puede ser compuesta, Ej: (customerID, orderNumber) –  WS-BPEL llama una llave como un conjunto rolrelacionado (correlation set) –

es usado para correlacionar un mensaje entrante con una instanciad de proceso

Process 4 (0123,15)

Process 3 (0815,42)

Process 2 (4711,37)

Process 1 (0815,12)

0815 42

Message 2

customerID

orderNumber

4711 37

Message 1

Page 33: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

process

Actividades Basicas

receive reply

invoke Invoke a one-way or request-response operation

Do a blocking wait for a matching message to arrive / send a message in reply

validate

assign Update the values of variables or partner links with new data

Validate XML data stored in variables

throw

rethrow

Generate a fault from inside the business process

Forward a fault from inside a fault handler

exit Immediately terminate execution of a business

process instance

compensate

compensateScope

Invoke compensation on all completed child scopes

in default order

Invoke compensation on one completed child scope

wait Wait for a given time

period or until a certain time has passed

empty No-op instruction for a business process

extensionActivity Wrapper for language

extensions

Page 34: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

process

flow Contained activities are executed in parallel, partially ordered through control links

sequence Contained activities are performed sequentially in lexical order

while Contained activity is repeated while a predicate holds

repeatUntil Contained activity is repeated until a predicate holds

pick Block and wait for a suitable message to arrive

(or time out)

forEach Contained activity is performed sequentially or in parallel, controlled by a specified counter variable

if-elseif-else Select exactly one branch of activity from a set of

choices

scope Associate contained activity with its own local variables,

partner links, etc., and handlers

Actividades Estructuradas

2. N. 1. …

B C

A

c

c

c1 c2 …

2. N. 1. …

… A M2 M1

Page 35: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

process

Scopes

scope

scope

scope

scope scope

scope

scope

Scopes provide a context which influences the execution behavior of its enclosed activities

Isolated scopes provide control of concurrent access to shared resources

scope

Local declarations – partner links, message exchanges, variables, correlation sets

Local handlers – event handlers, fault handlers, a termination handler, and a compensation handler

Compensation handler to undo persisted effects of

already completed activities

Termination handler to deal with forced scope termination

(external faults)

primary activity

scope

Page 36: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Compensation Handling

process

scope

invoke

invoke

invoke

fault handler

compensate compensation

handler

compensate

compensation handler

compensation handler

invoke

invoke

1. Do some work (successfully invoke two services)

2. Invoke another service (throws fault)

3. The fault triggers the process-level fault handler

4. Compensate previous work

5. Propagate compensation

6. Undo work (in reverse order)

Page 37: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPEL: Ejemplo de Sintáxis Definición de Partner <?xml version="1.0" encoding="utf-8"?>  <process name="insuranceSelectionProcess" targetNamespace="http://packtpub.com/bpel/example/" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:ins="http://packtpub.com/bpel/insurance/" xmlns:com="http://packtpub.com/bpel/company/" >   <partnerLinks> <partnerLink name="client" partnerLinkType="com:selectionLT" myRole="insuranceSelectionService"/>   <partnerLink name="insuranceA" partnerLinkType="ins:insuranceLT" myRole="insuranceRequester" partnerRole="insuranceService"/>   <partnerLink name="insuranceB" partnerLinkType="ins:insuranceLT" myRole="insuranceRequester" partnerRole="insuranceService"/> </partnerLinks> …  

Page 38: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPEL: Ejemplo de sintáxis Definición de variables <variables> <!-- input for BPEL process --> <variable name="InsuranceRequest" messageType="ins:InsuranceRequestMessage"/> <!-- output from insurance A --> <variable name="InsuranceAResposne" messageType="ins:InsuranceResponseMessage"/> <!-- output from insurance B --> <variable name="InsuranceBResposne" messageType="ins:InsuranceResponseMessage"/> <!-- output from BPEL process --> <variable name="InsuranceSelectionResponse" messageType="ins:InsuranceResponseMessage"/> </variables> ...

Page 39: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPEL: Ejemplo de sintáxis Pasos de procesos <sequence> <!-- Receive the initial request from client --> <receive partnerLink="client" portType="com:InsuranceSelectionPT" operation="SelectInsurance" variable="InsuranceRequest" createInstance="yes" /> <!-- Make concurrent invocations to Insurance A and B --> <flow>   <!-- Invoke Insurance A web service --> <invoke partnerLink="insuranceA" portType="ins:ComputeInsurancePremiumPT" operation="ComputeInsurancePremium" inputVariable="InsuranceRequest" outputVariable="InsuranceAResposne" />   <!-- Invoke Insurance B web service --> <invoke partnerLink="insuranceB" portType="ins:ComputeInsurancePremiumPT" operation="ComputeInsurancePremium" inputVariable="InsuranceRequest" outputVariable="InsuranceBResposne" />   </flow> …  

Page 40: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPEL: Ejemplo de sintáxis Pasos de procesos (Cont’) <!-- Select the best offer and construct the response --> <switch> <case condition="bpws:getVariableData('InsuranceAResposne', 'confirmationData','/confirmationData/Amount') <= bpws:getVariableData('InsuranceBResposne', 'confirmationData','/confirmationData/Amount')"> <!-- Select Insurance A --> <assign> <copy> <from variable="InsuranceAResposne" /> <to variable="InsuranceSelectionResponse" /> </copy> </assign> </case> <otherwise> <!-- Select Insurance B --> <assign> <copy> <from variable="InsuranceBResposne" /> <to variable="InsuranceSelectionResponse" /> </copy> </assign> </otherwise> </switch> <!-- Send a response to the client --> <reply partnerLink="client" portType="com:InsuranceSelectionPT" operation="SelectInsurance" variable="InsuranceSelectionResponse"/>   </sequence> </process>

Page 41: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Transformación de Modelos

•  BPMN-to-BPEL – Transformar modelos producidos por analistas

en modelos para desarrolladores (y viceversa) – Comunmente soportados en herramientas

comerciales pero de forma limitada. •  BPEL-to-Petri nets

– Para análisis y verificación •  BPMN-to-Petri nets

– Para análisis y verificación (ej: deadlock-freeness)

Page 42: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPMN-to-BPEL: Constructs

Bounded multiple‐instance task (D) Unstructured loop

L ivelockUnbounded multiple‐instance tasks (C )

A B C D

A B C D

A D

A

B

C

D

Page 43: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPMN-BPEL: Structured Components

( a )   S E QUENC E ‐component

( b )   F L OW‐component

<s equence>    <invoke name="t1"/>    <receive name="e1"/>    . . .    <invoke name="tn"/></s equence>

tc

<flow>    <invoke name="t1"/>    <wait name="e2"/>    . . .    <invoke name="tn"/></flow>

tc

t1

e1

tn

t1

tn

e2

C

C

Page 44: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPMN-BPEL: Structured Components

( e )   WHIL E ‐component

( f )   R E PE AT‐component

<while c ondition="c1">    <invoke name="t1"/></while>

tc

<s equence>    <invoke name="t1"/>    <while c ondition="c1">         <invoke name="t1"/>    </while></s equence>

tc

c1

~c1

t1C

c1

~c1t1

C

Page 45: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BPMN-BPEL: Structured Components

( c  )   S WITC H‐component

( d )   P IC K ‐component

<switch>    <c as e c ondition="c1">        <invoke name="t1"/>    </c as e>    <c as e c ondition="c2">        <receive name="e1"/>    </c as e>    . . .    <otherwis e>        <empty/>    </otherwis e></switch>

tc

tc

<pic k>    <onMes s age name="e1"/>        <invoke name="t1"/>    </onMes s age>    <onAlarm name="e2">        <empty/>    </onAlarm>    . . .    <onMes s age name="tr">        <invoke name="tn"/>    </onMes s age></pic k>

tn

t1

tr(receive)

e1

e2

C

t1

c2

default

c 1

e1

C

Page 46: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Ejemplo: Estructuración de componentes

C heck s tock availability

R eject order

C onfirm order

S end invoice

S hip goods

F low‐component

S witch‐component

S equence‐component

S equence‐component

Page 47: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BAM

•  Business Activity Monitoring – Son las actividades que van a permitir

controlar los procesos de negocio (monitorización).

– Sus funciones principales son: •  Seguimiento del proceso •  Detectar cuellos de botella •  Aumentar la capacidad de reacción ante

problemas

Page 48: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BAM

•  ¿Qué debe hacer la monitorización? – La monitorización con BAM debe tener una

orientación hacia el proceso de negocio. – Debe generar alarmas ante las KPI definidas

para el proceso de negocio. – Debe dar información en tiempo real y

agregada – La información generada debe permitir la

“mejora continua”

Page 49: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Caso BAM

Page 50: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

BAM recursos

Page 51: Maestría en Ingeniería - PUJC – Departamento de …cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_puj... · Integración de estándares en el modelo de negocio de

Referencias y Créditos

•  Rich Powers, CSC 9010 – Service Oriented Architecture. Spring 2008

•  Jason Bloomberg - “The role of the service-oriented architect”. The Rational Edge, http://www.therationaledge.com/may_03/f_bloomberg.jsp

•  Werner Vogels - “Web services are not distributed objects”. Http://weblogs.cs.cornell.edu/AllThingsDistributed/archives/000119.html - 2003

•  Luis Felipe Cabrera, Christopher Kurt, Don Box. “An introduction to the Web Service Architecture and its specifications”. MSDN Library, Setiembre 2004