BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

82
1 BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010 Martien van den Akker Integration Architect

description

BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010. Martien van den Akker Integration Architect. Agenda. Process Management bij Oracle Welke producten Wanneer gebruik je wat? Hoe aan het werk met BPEL? Wat is BPEL? Opbouw/Constructies Jdeveloper Modeler Adapters - PowerPoint PPT Presentation

Transcript of BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

Page 1: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

1

BPEL in een BPM WereldOGh Fusion Middleware/SOA dag 2010

Martien van den AkkerIntegration Architect

Page 2: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

2

Agenda

• Process Management bij Oracle– Welke producten– Wanneer gebruik je wat?

• Hoe aan het werk met BPEL?

• Wat is BPEL?– Opbouw/Constructies– Jdeveloper Modeler– Adapters– Human Workflow Services

Page 3: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

3

BPEL in een BPM Wereld

Process Management bij Oracle

Page 4: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

4

Oracle Workflow

• 1e Process Engine bij Oracle• Standalone/Embedded• Ontstaan in EBS (Embedded)• Standalone versie meegeleverd bij

database, vanaf 8i t.m.10g en AS tm. 10G

• Workflow engine volledig in de database (Pl/SQL)

Page 5: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

5

OWF Builder

Page 6: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

6

Business Event System

• Onderdeel van OWF vanaf 2.6• HTML Based Frontend• Op AQ gebaseerd Event verwerking• Events afvuren in applicaties

– Vanuit Workflows– Via database API

• Events sturen functies aan– Workflows– Database Rule functies– Java taken

Page 7: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

7

Interconnect

• Interconnect– EAI– Pre-historische ESB– Adapters voor o.a. database, file, ftp.– Koppeling met OWF via BES

• Onderdeel van applicatieserver, vanaf 9i (9.0.2)

• J2EE pas vanaf 10gR2

Page 8: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

8

ProcessConnect

• Onafhankelijk nieuw ontwikkeld• Process gestuurde Integratie• Onderliggend Oracle Workflow• Geflopt als integratie tool: te

ingewikkeld• Trading partner Management =>

B2B

Page 9: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

9

Oracle Workflow For Java (OW4J)

• Next generation of Oracle Workflow• J2EE (OC4J) based Business Process

Management• Integrated with Oracle JDeveloper

Application Developer Framework• Engine in database en in Middle

Tier

Page 10: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

10

XML Business Process Definition

• OW4J gebaseerd op XML Schema process definition

• Lid van de Workflow Management Coalition

• Industry standard XML schema based import/export BP Model

• Oracle volgt nauwgezet de debatten mbt. verschillende standards (BPMI.org ,BPEL….)

Page 11: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

11

'Future……' OW4J Modeler

• Applications developer tool• Geintegreerd in Oracle JDeveloper

Application Framework• Gebaseerd op XML• Maakt gebruik van Oracle JDeveloper

Application Framework metadata services

• Draait op platforms ondersteund door Oracle JDeveloper

Page 12: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

12

OW4J Modeler

Page 13: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

13

OW4J Modeler

ComponentPalette

PropertyInspector

Process Window

ApplicationNavigator

StructurePane

Page 14: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

14

'Future…' OW4J Self Service Modeler

• Browser Based• Process modeler voor Business

Analysts• Optimized for simple use case

scenarios (Notification messages editing & simple activity re-sequencing )

• Hosted environments

Page 15: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

15

OW4J Self Service Modeler

Page 16: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

16

BPEL Process Manager

• Former Collaxa BPEL4WS Orchestration Server

• Collaxa aangekocht in 2004• Orchestratie van Webservices• Oracles entree in SOA• Technisch georienteerd, gericht

op Developers

Page 17: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

17

BPEL Process Manager

Page 18: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

18

• BPA Business Process Analysis Suite• OEM Partnerschap met IDS Scheer

– Re-branded versie van IDS Scheer’s ARIS (Architecture of Integrated Information systems) Design Platform

– Complete Enterprise Architectuur tool– Gericht op Architecten/Business

Analisten– Geen Process Engine

BPA Suite

Page 19: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

19

BPA Levels

Page 20: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

20

Business Process Architect

Page 21: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

21

BPA Suite

• Blueprinting van Processen– Inclusief roundtrip– BPEL– Vanaf 11g ook BPM Suite

processen

• Door scheiding tools strikte scheiding werkwijze

Page 22: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

22

BPM Suite

• Voorheen BEA Aqualogic BPM (orig. from Fuego)

Page 23: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

23

BPM Suite

• Overname BEA Systems (2008)–Oorspronkelijk Fuego

• Krachtige, flexibele Process Engine• BPMN gebaseerd• Gericht op Business Analisten en

Ontwikkelaars– Scheiding in menu optie/presentatie–Geen scheiding in

werkwijze/verantwoordelijkheid

Page 24: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

24

Oracle BPM Studio IDE

Project Navigator where multiple projects can be opened and managed concurrently. Each project can be expanded to see different project assets

Project Navigator where multiple projects can be opened and managed concurrently. Each project can be expanded to see different project assets

Main Canvas for editing processes, BPM Objects, BPM Object Presentations, Participant/Role/Group Definitions, etc.

Main Canvas for editing processes, BPM Objects, BPM Object Presentations, Participant/Role/Group Definitions, etc.

Variables Panel to add/delete/update Project, Instance, Local and Argument Variables.

Variables Panel to add/delete/update Project, Instance, Local and Argument Variables.

Outline for adding/deleting/updating properties and structure of the main object opened in the Main Canvas Editor

Outline for adding/deleting/updating properties and structure of the main object opened in the Main Canvas Editor

Problems Tab where Studio is reporting errors as developers are editing assets

Problems Tab where Studio is reporting errors as developers are editing assets

Documentation Tab to enter process, activity Use Cases and On Line Help

Documentation Tab to enter process, activity Use Cases and On Line Help

Log Viewer to check Studio Engine activity

Log Viewer to check Studio Engine activity

Simulation Panel to create Simulation Models and executions

Simulation Panel to create Simulation Models and executions

Page 25: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

25

BPM Studio

Page 26: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

26

Wanneer gebruik je wat?

Enterprise Modeling

Business Process Modeling

Technical Orchestration

Page 27: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

30

Toekomstige Ontwikkelingen

• In 11gR3 wordt BPM Suite Binding/Service Engine in SOASuite

• In de toekomst BPM Suite en BPEL PM samengevoegd in een engine

• Door Integratie in SOASuite worden keuze argumenten minder scherp

Page 28: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

31

BPEL in een BPM Wereld

Aan de slag met BPEL

Page 29: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

32

Aan de slag met 10g• Installeer Oracle XE of Oracle 10g• Installeer SoaSuite Repository met

IRCA scripts• Installeer SoaSuite 10131

(Inclusief OC4J)• Installeer 10135 patchset• Installeer JDeveloper 10134/10135• Voorkeur voor alleen BPEL

Page 30: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

33

Aan de slag met 11g• Installeer Oracle XE, 10g of 11g• Installeer MRCU 11.1.1.2.1 of 11.1.1.3• Installeer Weblogic 10.3.3• Installeer SoaSuite 11.1.1.2• Installeer evt SoaSuite 11.1.1.3 BPM• Installeer JDeveloper 11.1.1.2/11.1.1.3• Installeer JDeveloper SoaExtension• Complexere installatie. Voor complete

SoaSuite

Page 31: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

34

Getting Started with SoaSuite 11g

Page 32: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

35

BPEL in een BPM Wereld

Wat is BPEL?

Page 33: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

36

Wat is BPEL• BPEL4WS: Business Process Execution

Language for webservice• Komt voort uit:

– IBM WSFL – Microsoft XLANG,

• In 2003 BPEL4WS 1.1 aan OASIS aangeboden als standaard

• In June 2007, Active Endpoints, Adobe Systems, BEA, IBM, Oracle en SAP publiceerden BPEL4People en WS-HumanTask specifications

Page 34: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

37

Jdev11g: Create New SOA Application

Page 35: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

38

Jdeveloper BPEL Designer

ComponentPalet

Designer Canvas

Structure Pane

ApplicationNavigator

Message Log

Page 36: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

39

Jdeveloper BPEL Designer

Source

Page 37: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

40

BPEL: XML<process ...> <partnerLinks> <partnerLink name="bpeldemoprocess_client" partnerLinkType="client:BPELDemoProcess myRole="BPELDemoProcessProvider" partnerRole="BPELDemoProcessRequester"/> </partnerLinks> <variables> <variable name="inputVariable" messageType="client:BPELDemoProcessRequestMessage"/> <variable name="outputVariable" messageType="client:BPELDemoProcessResponseMessage"/> </variables> <sequence name="main"> <receive name="receiveInput" partnerLink="bpeldemoprocess_client" portType="client:BPELDemoProcess" operation="process" variable="inputVariable" createInstance="yes"/> <invoke name="callbackClient" partnerLink="bpeldemoprocess_client" portType="client:BPELDemoProcessCallback" operation="processResponse" inputVariable="outputVariable"/> </sequence></process>

Page 38: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

41

Input XSD

Page 39: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

42

Assign

Page 40: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

43

Assign: Add Copy Rule

Page 41: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

44

Assign: Expression Builder

Page 42: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

45

Assign: Add Copy Rule

Page 43: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

46

Assign: Name

Page 44: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

47

Add Switch

Page 45: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

48

Add Switch: Condition

Page 46: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

49

Another Assign

&quot;Mrs.&quot;

Page 47: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

50

Another Assign

Page 48: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

51

PartnerLinks Resource lookup

Page 49: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

52

PartnerLinks: Service Explorer

Page 50: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

53

PartnerLinks: Define Service

Page 51: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

54

Services/AdaptersAQ-Adapter

B2B-Service

Database-Adapter

FTP-Adapter

File-Adapter

JMS-Adapter

MQ-Adapter

Oracle Apps(EBS)-Adapter

Socket-Adapter

BAM-Adapter

Page 52: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

55

File-Adapter: Operation

Read a File (Polling)

Write a File

Synchronous Read File

List Files

Page 53: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

56

File-Adapter: locations

Page 54: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

57

Define Schema: Native Format Builder

Page 55: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

58

Native Format Builder: Record Types

Delimited (CSV)

Fixed Length

Complex

XML Based on DTD

Cobol based

Page 56: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

59

Native Format Builder: Rows

Page 57: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

60

Native Format BuilderRecord Organization

Page 58: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

61

Native Format Builder: Elements

Page 59: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

62

Native Format Builder: delimiters

Page 60: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

63

Native Format Builder: Field Properties

Page 61: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

64

Native Format Builder

Page 62: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

65

Add Transformation

Page 63: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

66

Add Transformation: AutoMap

Page 64: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

67

Add Choose

Page 65: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

68

Add Concat

concat

Page 66: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

69

Wire Concat

Page 67: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

70

Scope

• Vergelijkbaar met PL/SQL block:– Declare begin exception when...

end;

• Locale variabelen• Faulthandlers (Catch.../Catch All)• Compensation Handler

Page 68: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

71

Scope

• Sequence– Groeperen van activities tot logisch

block

• Throw– Afvuren van User-defined exceptions– Afvuren van Retry/Abort acties

• Compensate– Uitvoeren van compensation handler

van een scope

Page 69: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

72

Flow control activiteiten

• While– Geconditioneerde loop

• Wait– Wachten tot een tijdstip– Wachten voor een bepaalde tijd

• Flow/FlowN– Parallelle uitvoer

• Pick– On Message– On Alarm

Page 70: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

73

HumanWorkflow

• Aparte Services voor gebruikers interactie

• Java/ADF based eindgebruiker Workspace-applicatie

• BPEL4People compliant• In de toekomst wsl.

samengevoegd met BPM Suite functionaliteit.

Page 71: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

74

HumanWorkflow

• Human Task– Java/ADF gebaseerde gebruikers

interactie– Compleet melden van taken– Uitgebreide escalatie

mogelijkheden– Business Rules integratie

Page 72: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

75

HumanWorkflow Notificaties

• SMS• User Notification• Voice• Email• Instant Message

Page 73: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

76

Deployment

Page 74: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

77

Deployment

Page 75: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

78

Deployment

Page 76: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

79

Test Service

Page 77: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

80

Test Service

Page 78: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

81

Test Service

Test

Page 79: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

82

Test Service

Page 80: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

83

Test Service

Page 81: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

84

Meer info?

darwin-it.blogspot.comwww.darwin-it.nl/trainingotn.oracle.com => Fusion

MiddlewareOracle Doc => Order

Booking Tutorial

Page 82: BPEL in een BPM Wereld OGh Fusion Middleware/SOA dag 2010

85

Vragen en Antwoorden