SOA, BPM, BPEL, jBPM. Outline Service oriented architecture Enterprise application integration...

35
SOA, BPM, BPEL, jBPM

Transcript of SOA, BPM, BPEL, jBPM. Outline Service oriented architecture Enterprise application integration...

SOA, BPM, BPEL, jBPM

Outline• Service oriented architecture

• Enterprise application integration

• Point-to-point integration

• Enterprise Service Bus

• BPM

• BPEL

• jBPM

Service Oriented Architecture• Service Oriented Architecture (SOA) is an

architectural style that guides all aspects of creating and using business processes, packaged as services

• Functionality is decomposed into small, distinct units (services), which can be distributed over a network and can be combined together and reused to create business applications

SOA Benefits

http://www.sun.com/products/soa/benefits.jsp

Web Services• Web services can be used to implement a service

oriented architecture

• Web Service characteristics:• Application-to-application communication• XML-based• Platform and language

independent• SOAP protocol• WSDL interface• UDDI registry

Enterprise Application Integration• EAI combines separate applications into a

co-operating federation of applications

https://www.soainstitute.org/articles/article/article/eai-bpm-and-soa/

Business-to-business integration• System-to-system communications among

business partners

https://www.soainstitute.org/articles/article/article/eai-bpm-and-soa/

Integration architectures• Two logical integration architectures for

integrating applications: • Direct point-to-point connections • Middleware-based integration

Point-to-point integration• Easy to understand and quick to implement when

there are just a few systems to integrate

• Disadvantages• Tightly coupled, changes in one application may

break the applications integrated with it

• Number of integration points

require support, connections

grow across an organization

Uzdevums• Cik daudz savienojumi ir jāizveido 10

sistēmu integrācijas gadījumā???

The result of P2P integrations

http://msdn2.microsoft.com/en-us/library/bb220799.aspx

Middleware-based integration• Middleware infrastructure products provide

foundational services for complex architectures via an event-driven and standards-based messaging engine

Enterprise Service Bus• Based on asynchronous messaging

• Application communicate via the bus, which acts as a message broker between applications

• Typically Web services based, but not necessarily (WSDL interfaces)

• Primary advantage - it reduces the number of point-to-point connections

• The process of adapting a system to changes in one of its components becomes easier

ESB Architecture

http://msdn2.microsoft.com/en-us/library/bb220799.aspx

ESB Definition• An ESB is a standards-based, service-oriented

backbone capable of connecting hundreds of application endpoints.

• ESBs combine messaging, Web Services, XML, data transformation and management to reliably connect and coordinate application interaction.

• The ESB deployment model is an integrated network of collaborating service nodes, deployed in service containers.

http://www.fiorano.com/whitepapers/ESB_Best_Practices.htm

ESB Functions• Invocation

• Synchronous and asynchronous transport protocols, service mapping (locating and binding)

• Routing • Addressability, static/deterministic routing, content-

based routing, policy-based routing • Mediation

• Adapters, protocol transformation, service mapping • Messaging

• Message processing, message transformation and message enhancement

ESB Functions• Process Choreography

• Implementation of complex business processes • Service Orchestration

• Coordination of multiple implementation services exposed as a single, aggregate service

• Complex Event Processing• Event interpretation, correlation, pattern matching

• Other Quality of Service • Security, reliable delivery, transaction management

• Management • Monitoring, audit, logging

ESB - Standards based integration• Communication and data routing (JMS)• Data protocols (XML)• Transformation (XSLT)• Connectivity (JCA)• WebServices• Security• Business Process Management (BPM)• Pre-built Business Components• Business Process Modelling (BPEL)• B2B – trading partner management

Business Process Management• A business process is a set of coordinated tasks

and activities, conducted by both people and equipment, that will lead to accomplishing a specific goal

• Business process management (BPM) is a systematic approach to improving an organization's business processes

Business Process Management• BPM is a structured approach that models an

enterprise's human and machine tasks and the interactions between them as processes

• Evolving from document management,

workflow and enterprise application

integration (EAI), a BPM system

can monitor and analyze tasks

BPM Notation• A standardized graphical notation for drawing

business processes in a workflow

• Flow objects:• Event

• Activity

• Gateway

• Connecting objects

Example: Business process 1

http://en.wikipedia.org/wiki/BPMN

Example: Business process 2

http://en.wikipedia.org/wiki/BPMN

BPEL• Business Process Execution Language (or BPEL,

pronounced 'bipple', 'bepple' or 'bee-pell'),

is a business process modelling language that is executable

• BPEL is a language for specifying business process behavior based on Web Services

• BPEL is serialized in XML and aims to enable programming in the large

Two Programming Levels• Programming in the large generally refers

to the high-level state transition interactions of a process

• Programming in the small deals with short-lived programmatic behaviour, often executed as a single transaction and involving access to local logic and resources such as files, databases, etc

BPEL presentationsOASIS BPEL Web page

http://www.oasis-open.org/committees/wsbpel/

• Technical overview part 1

• Technical overview part 2

• Technical overview part 3

BPELJ• BPELJ is a combination of BPEL and the Java

allowing the two languages to be used together to build business process applications

• BPEL programming in the large the logic of business processes

• It is assumed that BPEL will be combined with other languages which are used to implement business functions (programming in the small) Java

BPELJ• BPELJ enables Java and BPEL to cooperate by

allowing sections of Java code, called Java snippets, to be included in BPEL process definitions

• BPELJ Web page:http://www.ibm.com/developerworks/library/specification/ws-bpelj/

jBPM• JBoss jBPM is a framework that delivers

workflow, business process management (BPM), and process orchestration

• Enables enterprises to create and automate business processes that coordinate between people, applications, and services

• Provides the tools and process execution engine to integrate services deployed in a SOA and automate workflows

jBPM vision for BPM

jBPM components

• The core workflow and BPM functionality is packaged as a simple java library

jBPM process language - jPDL• jPDL is a graph based process language

that is build on top of common jBPM framework

Overview of the jPDL components

http://docs.jboss.com/jbpm/v3.2/userguide/html/introduction.html

BPEL support• jBPM design and pluggable architecture makes it

possible to support different languages that can be shown as a graph and represent some sort of execution

• jBPM provides BPEL support:• JBoss jBPM BPEL Extension, version 1.1.Beta3• Download

• http://prdownloads.sourceforge.net/jbpm/jbpm-bpel-1.1.Beta3.zip?download

• Documentation• http://docs.jboss.com/jbpm/bpel/

References• ESB Best Practices Presentation

http://www.fiorano.com/whitepapers/ESB_Best_Practices.htm

• jBPM Documentation Library http://labs.jboss.com/jbossjbpm/docs/index.html

• jBPM Presentations http://wiki.jboss.org/wiki/Wiki.jsp?

page=JbpmPresentations