Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and...

85
Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU

Transcript of Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and...

Page 1: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Service-Oriented Architectures

Instructor: Dr. Hany H. Ammar

Dept. of Computer Science and Electrical Engineering, WVU

Page 2: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

outline

What is SOA.– Perspective, Evolution, SOA v/s Traditional Architecture– Key Concepts – Differences between SOA and UDDI (UDDI vs SOA)– Elements of SOA, SOA ERD Model

Service-Oriented Architecture (SOA) Style– What is a service, service characteristics, service

interface, and service types– The Enterprise Service Bus ESB

Business Processes Management

Page 3: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

What is SOA?A Business Perspective

SOA is the application of well-founded concepts which exploit the modern ability for system resources to– Collaborate independent of location

Across Heterogeneous technologies A set of architectural principles backed by

technology to tap into system resources to freely participate in a larger community

Provide tools and techniques to orchestrate the reuse of these newly available resources into processes that drive the business.

Page 4: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

What is SOA?A Technical Perspective

A Service Oriented Architecture is a collection of self-contained services that can communicate with each other.

Key characteristics of services: loosely coupled coarse grained typically published & available for invocation on a

Service Bus • Defining services at a “business level” enables

rapid composition of end-to-end business processes, delivering on the promise of greater IT flexibility and agility

Page 5: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

The Evolution… From Three-Tier Applications

PresentationLayer

DatabasesApplication

Application

Application

Business Layer

Page 6: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

The Evolution to:SOA-Based Applications

DatabasesPresentation

Process #1

Process #2

Process #3

Service Components

Page 7: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Calls for a Paradigm Shift

Service Oriented Architecture

Functionality DrivenFunctionality Driven

Long development cyclesLong development cycles

Tightly CoupledTightly Coupled

Application SpecificApplication Specific

Designed to lastDesigned to last

Data OrientedData Oriented

Traditional Architecture

Process OrientedProcess Oriented

Iterative developmentIterative development

Loosely CoupledLoosely Coupled

HeterogeneousHeterogeneous

Designed for changeDesigned for change

Business Service OrientedBusiness Service Oriented

SOA v/s Traditional Architecture

But must be built on standards to enhance interoperability

Page 8: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Service-Oriented Architecture: Key Concepts Service A unit of business functionality that can be

invoked over the network

Web service A service that is called in a standard way, so anyone can use it without knowing its internals

“Loosely coupled”

When services are self-contained, and can be easily combined and disassembled, they are called loosely coupled.

Service-Oriented Architecture

A standards-based platform that lets you model, develop, find, and combine services into flexible business processes

Orchestration Combining and assembling services into a coherent business process – also known as business process management

Page 9: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Differences between SOA and UDDI UDDI vs SOA

What is UDDI? UDDI is a platform-independent framework for

describing services, discovering businesses, and integrating business services by using the Internet.

UDDI stands for Universal Description, Discovery and Integration

UDDI is a directory for storing information about web services

UDDI is a directory of web service interfaces described by WSDL (Web Services Description Language)

UDDI communicates via SOAP (Simple Object Access Protocol, )

UDDI is built into the Microsoft .NET platform

Page 10: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

UDDI vs SOA

What is UDDI Based On? UDDI uses World Wide Web Consortium (W3C) and

Internet Engineering Task Force (IETF) Internet standards such as XML, HTTP, and DNS protocols.

UDDI uses WSDL to describe interfaces to web services Web Services Description Language (WSDL) is an XML

grammar that defines the functionality offered by a Web service and the format of messages sent and received by a Web service.

Additionally, cross platform programming features are addressed by adopting SOAP, known as XML Protocol messaging specifications found at the W3C Web site.

Page 11: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

UDDI vs SOA: UDDI Architecture

requester provider

UDDI registry

look for service in UDDI registry retrieve provider

location and WSDL service description

publish services in registry

create request from WSDL description

bind and send request via SOAP/http or other transport to provider

It was assumed that fully automated agents (request entities) could perform lookups and use services thereby executing business tasks.

AnotherView

Page 12: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

UDDI vs SOA:Why UDDI Could Not Work

central registries of

service descriptions independent automatic agents searching for services machines understanding service descriptions machines deciding on service use machines being able to use a service properly machines being able to construct advanced workflows (i.e., bussiness processes) from

different services

Even if you replace machines with human beings (e.g. for the service decision) UDDI does not work: Too much in services is ambiguous, undefined or expressed in different and incompatible terms – not to forget that the service interface use (order of calls, meaning of datatypes etc.) is undefined as well.

Page 13: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

04/11/23 13

WS Stack based on UDDI

Network

XML-based Messaging

Service Description

Service Publication

Service Discovery

Service Flow

HTTP, FTP, MQEmail, IIOP

SOAP

WSDL

UDDI

UDDI

WSFL

Secu

rity

Man

ag

em

en

t

Qu

ality

of S

erv

ice

Page 14: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

UDDI vs SOA: Missing Technology Behind UDDI

policies

create request from WSDL description

Important to remember: business languages which standardize business terms like contract, sale, customer etc. Generally speaking a ton of meta-data where missing. Webservices (WSDL, SOAP) merely covered the mechanics of message exchange.

Autonomous Agent

Meaning of data types and

interfaces

Meaning ofactions

Understanding and matchingof constraints

UnderstandingFlows and

Goals

Business Process Exectution LanguagesBusiness

Domain knowledge

Ontologies

Risk

Trust Establishment

Page 15: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Elements of SOA Services offer high-level, business type interfaces Service Choreography (aka workflow) is performed outside services

which allows the combination of services into larger business processes

A set of semantic standards and technologies allows agents to understand services and their interfaces (OWL, SAML, Semantic Web etc.)

Legacy applications will be wrapped through a service interface and become available to other companies

SOA will use Web Service technology as its base

Page 16: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

SOA Elements Model

This diagram from „Web Services Architecture“ shows internal and external elements of the SOA architecture. Action e.g. is not an externally visible element. Note the important roles of „policy“ and „semantics“

Page 17: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

ServiceService

describesdescribes

End PointEnd Point ExposesExposes

MessagesMessages Sends/ReceivesSends/Receives

ContractsContracts

Binds toBinds to

Service Service ConsumerConsumer implementsimplements

PolicyPolicy governed bygoverned by

Sends/ReceivesSends/Receives

Adheres Adheres toto

ComponentComponentRelationRelation

KeyKey

UnderstandsUnderstands

ServesServes

Another Simplified Model

Page 18: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

outline

What is SOA.– Perspective, Evolution, SOA v/s Traditional Architecture– Key Concepts – UDDI vs SOA– Elements of SOA, SOA ERD Model

Service-Oriented Architecture (SOA) Style– What is a service, service characteristics, service

interface, and service types– The Enterprise Service Bus ESB

Business Processes Management

Page 19: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Service Oriented Architecture (SOA) Style:Service Oriented Architecture (SOA) Style:An Architecture StyleAn Architecture Style

Service-Oriented Architecture (SOA) is an architectural style.

Applications built using the SOA style deliver functionality as services that can be used or reused when building applications

SOA uses open standards to integrate software assets as services

It provides a standard form of interactions of services

Page 20: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Process Services

Orchestration

System BPM

Business Logic

Databases

Data Services

Enterprise Service Bus (ESB)

Systems of Record

Web Portals

Human Business Process Management (BPM)

Sec

urity

Reg

istr

y an

d R

epos

itory

Man

age

and

mon

itor

A Map of SOA Components

Page 21: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Fee database

Data Services

ESB: Routes to appropriate core system

DDA / Current Account

Internet Banking

Business Process: Stop Payment

Process Services

Orchestration:Business Logic: If Customer_Status = Gold Service_Fee = $8 else

Service_Fee = $20

Sec

urity

: Aut

hent

icat

e us

er

Reg

istr

y an

d R

epos

itory

: Fin

d S

top

Pay

men

t Ser

vice

, Cha

rge

Fee

ser

vice

Man

age

and

mon

itor

Banking Examples of SOA

Page 22: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Place customer orders: 1. Basic Data Service – access operations, 2. Composed

Services - business logic, 3. Process Services – complex business logic

Page 23: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

A Unified Patience Journal System

Page 24: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Service Oriented Architecture (SOA) Service Oriented Architecture (SOA) Style:Style:

SOA services become the building blocks that form business flows

Services can be reused by other applications What is a service?

– A service provides a discrete business function that operates on data. Its job is to ensure that the business functionality is applied consistently, returns predictable results, and operates within the quality of service required.

Page 25: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Service Oriented Architecture (SOA) Style:Service Oriented Architecture (SOA) Style:

What is a service? A service is a reusable component that can be

used as a building block to form larger, more complex business-application functionality.

A service may be as simple as “get me some person data,” or as complex as “process a disbursement.”

Page 26: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Service Oriented Architecture (SOA) Style:Service Oriented Architecture (SOA) Style:

Characteristics of a Service Supports open standards for integration: Although

proprietary integration mechanisms may be offered by the SOA infrastructure, SOA’s should be based on open standards.

Open standards ensure the broadest integration compatibility opportunities

Loose coupling: provides well defined interfaces to clients

Stateless: The service does not maintain state between invocations. If a transaction is involved, the transaction is committed and the data is saved to the database.

Page 27: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Service Oriented Architecture (SOA) Style:Service Oriented Architecture (SOA) Style:

Characteristics of a Service Location agnostic: Users of the service do not need

to worry about the implementation details for accessing the service. The SOA infrastructure will provide standardized access mechanisms with service-level agreements.

Page 28: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

SOA Design

This diagram is modelled after O.Zimmermann et.al. „Elements of a Service-Oriented Analysis and Design“. The paper also shows nicely how flow oriented a SOA really is and that a class diagram does not catch the essence of SOA. A state-diagram performs much better. The authors also note that SOA is process and not use-case driven design.

BusinessObject

Service

Component

BusinessObject

Service

Component

BusinessService

Choreography

Page 29: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Interface Design

Only objects (classes) are programming language constructs. But a detailed look at the interfaces reveals that component and service type interfaces are just different types of the interface model.

Object interface: accepts transactions, fast, Object references

Component interface: value objects, relatively fast. Mostly stateless.

Service interface: long running transactions with state in DB. Composable to larger services (choreography) or composed of smaller services (orchestration). Stateless.

Page 30: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

SOA Blueprint Service Types Basic Service: atomic operation on a simple object (e.g. DB-

access) Composite Service: atomic, uses several basic services

(orchestration), stateless for caller. Workflow Service: Stateful, defined state changes (state kept in

persistent store) Data Service: Information integration via message based

request/response mechanism. Pub/Sub Service: typical event service with callbacks and

registration. Service Broker: Intermediate, rule based message manipulation

and forwarding Compensation Service: revert actions (not rollback like)

Page 31: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Service Oriented Architecture (SOA) Style: Service Oriented Architecture (SOA) Style: Makes use of an Enterprise Service Bus ESBMakes use of an Enterprise Service Bus ESBUsed in web-based systems and distributed computingUsed in web-based systems and distributed computing

nodes make resources available to other nodes make resources available to other participants in the system as independent services thatparticipants in the system as independent services that the participants access in a standardized way using the ESBthe participants access in a standardized way using the ESB

BeforeSOA

The SOA Style

Page 32: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Legacy Integration

Page 33: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

SOA Integration

SOA Architecture

Page 34: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Service Oriented Architecture (SOA) Style: Service Oriented Architecture (SOA) Style:

The Enterprise Service Bus ESBThe Enterprise Service Bus ESB An enterprise service bus is an infrastructure used for

building compound applications Similar to the Software Bus in a CORBA based distributed application architecture

The enterprise service bus is the glue that holds the compound application together

The enterprise service bus is an emerging style for integrating enterprise applications in an implementation-independent fashion

An enterprise service bus can be thought of as an abstraction layer on top of an Enterprise Messaging System

Page 35: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Service Oriented Architecture (SOA) Style: Service Oriented Architecture (SOA) Style:

The Enterprise Service Bus ESBThe Enterprise Service Bus ESB Characteristics of an ESB

– Streamlines development– Supports multiple binding strategies– Performs data transformation– Intelligent routing– Real time monitoring– Exception handling– Service security

Page 36: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

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

Service Oriented Architecture (SOA) Style: Service Oriented Architecture (SOA) Style: The Enterprise Service Bus ESB The Enterprise Service Bus ESB FunctionsFunctions

Page 37: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

The ESB Boundaries

The ESB (in its simplest form) is responsible for getting a message from point A to point B.

Enterprise Service Bus

Point A Point B

Message

Page 38: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Get the Message on the Bus

A binding component “speaks” the service’s protocol, which happens to be SOAP over JMS.

Enterprise Service BusPoint B

Message

Get Person Data Client

Request

Get Person Data BC

Page 39: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Perform the Person Read

The request is now routed to the Get Person Data Service, which will perform the business logic.

Enterprise Service Bus

Message

Get Person Data

Request

Get Person Data Client

Request

Get Person Data BC

Get Person Data BC

Page 40: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Do the SSIM Lookup

A call is made to the SSIM service to perform a lookup of the Student Identifier (SID). The SSIM service lives inside the bus.Note: The SSIM binding components are not shown so the diagram can remain simple.

Enterprise Service Bus

SSIM Lookup

Message

Get Person Data

Request

Get Person Data Client

Request

Get Person Data BC

Get Person Data BC

Request

Page 41: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Return the Person Data

The process is reversed, returning the response to the requester.

Enterprise Service Bus

Response

MessageResponse

SSIM Lookup

Message

Get Person Data

Request

Get Person Data Client

Request

Get Person Data BC

Get Person Data BC

Request

Response

Page 42: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Defining the Message Web Services Description Language Open Standard for describing Interfaces

to Services (http://www.w3.org/TR/wsdl) Characteristics

– Describes data expected to be sent and received

– Describes what the service can do– Describes how to reach the service

WSDL description is an XML document

Services

Bindings

Port Types

Operations

Messages

Page 43: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Message-Exchange Patterns

One-way. The endpoint receives a message. Request-response. The endpoint receives a

message, and sends a correlated message. Solicit-response. The endpoint sends a

message, and receives a correlated message. Notification. The endpoint sends a

message.

Page 44: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

The Ingredients

Service Definition

WSDL XSD

Service Implementation

JavaSession

Bean

The XSD is the XML schema definitionFor variables`

Page 45: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

outline

What is SOA.– Perspective, Evolution, SOA v/s Traditional Architecture– Key Concepts – Differences between SOA and UDDI (UDDI vs SOA)– Elements of SOA, SOA ERD Model

Service-Oriented Architecture (SOA) Style– What is a service, service characteristics, service interface, and

service types– The Enterprise Service Bus ESB

Business Processes Management– Business Processes Flow, Business Process Execution Language

(BPEL), BPELJ, JBoss jBPM, jPDL The IBM Rational Software Development Platform

Page 46: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Business Processes Business processes are a set of activities, supported by

services, that support a particular business activity. Business processes are business services built using

other business services. Business Process Execution Language (BPEL) is a

specification for describing business processes in a portable XML format. BPEL is widely supported in both commercial and open source products.

BPEL defines how services interact to form complex business process. It provides a unit of work context, fault handling, and compensation (transaction rollback).

Page 47: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Legacy Business Process

Business Process 1

Business Process 2

Business Process 3

Page 48: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Example of a Business Process

Page 49: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

The Shipping Workflow

Page 50: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Grouping services

Page 51: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

SOA Business ProcessBusiness Process

Shared Service

Information Framework

Supplier

Search

ESB: StoredInformation

ESB:

Page 52: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Business Processes span Organization and System BoundariesFrom Sequential and Divisional/Functional

Division

Outsourced

Division

Customer

SharedService

Supplier

Customer Order Entry

Marketing

Invoicing & Receivables

Vendor Managed Inventory

Shipping (UPS) Collections

To Parallel and Collaborative

Need a flexible IT Infrastructure and Architecture

Page 53: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Business Process Management

• What is a business process?• 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

Page 54: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

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 andenterprise application integration (EAI), a BPM system can monitor and analyze tasks

Page 55: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Business Process Modeling Notation

• A standardized graphical notation for drawing business processes in a workflow

• Flow objects:• Event

• Activity

• Gateway

• Connecting objects

Page 56: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Example: Business process 1

Page 57: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Example: Business process 2

Page 58: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

BPEL

• Business Process Execution Language BPEL 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

Page 59: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

What BPEL does …

BPEL binds services together to form larger complex business services

Control Flow (branch, loop, parallel)

Asynchronous correlation Transaction support, Units

of Work Compensation

BPEL Process

In

JavaIn

Out

EJBIn

Out

MessageIn

Out

OtherIn

OutOut

Page 60: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

WS-BPEL: a brief introduction to some Language Constructs,

Page 61: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

WS-BPEL

Page 62: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

WS-BPEL

Page 63: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

WS-BPEL

Page 64: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

WS-BPEL

Page 65: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

WS-BPEL

Page 66: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

BPEL example: Withdrawing and depositing

services of the banking system logic

Page 67: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Sample ESB

• Custom Services

• Transformation Services

• Orchestration

• Routing

• Application ServerB

PE

L S

ervi

ce

1

5

4 23

T

rans

form

S

ervi

ce

G

atew

ay S

ervi

ce

Rou

ting

Ser

vice

J2EE Application Server

Web

Servlet

Portlet

JMS

EJB

MDB

SSB

JCA

Cus

tom

Ser

vice

BPEL and SOA

Page 68: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

BPEL Reference Presentations

OASIS BPEL Web page

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

• Technical overview part 1

• Technical overview part 2

• Technical overview part 3

Page 69: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

BPELJ

• BPELJ is a combination of BPEL and 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 (J2EE)

Page 70: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

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/

Page 71: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

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

Page 72: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

jBPM vision for BPM

Page 73: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

jBPM components

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

Page 74: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Example: http://it.toolbox.com/blogs/the-soa-blog/soa-diagram-16952

Page 75: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

jBPM process language - jPDL

• jPDL is a graph based process language that is build on top of common jBPM framework

Page 76: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Overview of the jPDL components

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

Page 77: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

The jPDL graphical process designer

jPDL includes a graphical designer tool for authoring business processes. It's an eclipse plug-in.

It includes support for both the business analyst as well as the technical developer

Enables a smooth transition from business process modeling to the practical implementation.

Page 78: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

jPDL vs BPEL

Clients of a jPDL definition are expected to start or resume process instances through the jBPM API.

Methods such as ProcessDefinition.createProcessInstance and Token.signal allow client code to interact directly with an executing process.

BPEL takes a different approach. Instead of defining its own APIs, it accommodates custom web service interfaces with which clients interact.

These interfaces describe meaningful business operations and hide the fact that clients are actually "talking" to an orchestrator

Page 79: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

jPDL vs BPEL

jPDL specifies the execution flow of a process in terms of a directed graph of nodes. It includes a set of node types that intend to cover most routing scenarios, and allows extensions to includ custom routing logic

BPEL has a fixed set of structured activities represented by XML elements, nested together to model a particular execution path (such as, sequence, while, etc.)

Page 80: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

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/

Page 81: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

XPDL

The XML Process Definition Language (XPDL) is a format standardized by the Workflow Management Coalition (WfMC) to interchange Business Process definitions between different workflow products, i.e. between different modeling tools and management suites.

Defines an XML schema for specifying the declarative part of workflow / business process.

Designed to exchange the process definition, both the graphics and the semantics of a workflow business process.

Page 82: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

XPDL

XPDL is currently the best file format for exchange of BPMN diagrams;

In April 2008, the WfMC ratified XPDL 2.1 as the fourth revision of this specification. XPDL 2.1 includes extension to handle new BPMN 1.1 constructs, as well as clarification of conformance criteria for implementations.

In contrast, BPEL focuses exclusively on the executable aspects of the process, and does not contain elements to represent the graphical aspects of a process diagram, or human oriented processes.

Page 83: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

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

• XPDLhttp://www.wfmc.org/xpdl.html

Page 84: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

outline

What is SOA.– Perspective, Evolution, SOA v/s Traditional Architecture– Key Concepts – Differences between SOA and UDDI (UDDI vs SOA)– Elements of SOA, SOA ERD Model

Service-Oriented Architecture (SOA) Style– What is a service, service characteristics, service

interface, and service types– The Enterprise Service Bus ESB

Business Processes Management Conclusions

Page 85: Service-Oriented Architectures Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

Conclusions

This lectures introduced the concepts of SOA

We also discussed issues related to SOA as an architecture style

We also discussed concepts of Business Process Management and supporting technologies