[pilarczyk] adrenaline programing implementing - soa and bpm in your application

Post on 30-Jun-2015

1.074 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Implementing SOA and BPM in your application

Wiesław Pilarczyk

wp@vdel.com

Ljubljana, 9.10.2008

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Agenda

– Business requirements and software architectures

– SOA&BPM acronym soup

– Implementation using FOSS

– Example

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Business requirements

Support for all enterprise business areas ERP, CRM, ECM

Business process management BPM

Application integration EAI

Agile enterprises

Virtual projects

Globalization SAAS

Nonfunctional requirements

IT infrastructure management ITIL

Return on investment ROI

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Application Architecture today

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Do you know what is your process?

9.10.2008 JavaBlend 2008, http://www.javablend.net/

BPM Vision

Ideas are cheap, implementation is hardThink big, make small steps

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Ontology

Before you start talking to me, define your words

(Aristotle paraphrase)

Specification of conceptualization

• OWL Web Ontology Language Protégé• SBVR Semantics of Business Vocabulary and Rules• Repositories of ontologies

9.10.2008 JavaBlend 2008, http://www.javablend.net/

BPMN for business analysts

XPDL for model persistence (WfMC) BPDM Business Process Definition Metamodel (OMG) ActiveVOS from ActiveEndpoints, Intalio

9.10.2008 JavaBlend 2008, http://www.javablend.net/

BPEL for implementers

• BPMN-BPEL mapping needed (serious model descrepancies)• BPEL4People• WS-HumanTask• ActiveBPEL from ActiveEndpoints

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Inside BPEL

Variables

WSDL Message

Schema ElementSchema Type

Structured Activities

flow pick

sequence forEach

if-else

scoperepeatUntil

while

sequence forEach

Basic

Activities

receive

reply

rethrow

exit

throwwait

compensate compensateScope

extensionActivity

empty

validate

assign

invoke

Handlers

event

handler

fault

handler

compensation

handler

termination

handlerCorrelation Sets

property 1

property 2

Partner Links

partnerLink 1

partnerLink 2

9.10.2008 JavaBlend 2008, http://www.javablend.net/

ebXML (www.oasis-open.org)

9.10.2008 JavaBlend 2008, http://www.javablend.net/

JBI – JSR 208

ServiceMix from Apache

9.10.2008 JavaBlend 2008, http://www.javablend.net/

SCA

Tuscany from Apache, STP from Eclipse

9.10.2008 JavaBlend 2008, http://www.javablend.net/

SOA Governance

Implementing SOA without a solid governance model is the equivalent to having an airport without a control tower.

* Not enough process creates chaos

* Too much process stifles innovation and deters agility

* Evolve governance over time

(Mike Kavis, CIO Magazine)

ebxmlrrMule GalaxyWSO2 Registry

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Web Services Registry (UDDI)

Provider

9.10.2008 JavaBlend 2008, http://www.javablend.net/

SOA Reference Architecture

Presentation layer

Service coordination (orchestration, choreography)

Service virtualization and delivery

Standard services

Platform

Application

DesktopInternet

RIAMobile

Develo

pm

ent

Managem

entDedicated

services

Application Application

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Example Implementation

Presentation layer Seam/JBoss Portal

Service coordination layer (orchestration) jBPM

Service virtualization and delivery JBoss ESB

Standardservices

JBoss RulesReporting

MetamatrixPlatform JBoss AS

Application Application Application

DesktopInternet

RIAMobile

Develo

pm

ent

JB

oss D

evelo

per S

tudio

Managem

ent

JO

N

Dedicatedservices

RRichfaces/Ajax4jsf Mobicents

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Application using BPM and SOA

9.10.2008 JavaBlend 2008, http://www.javablend.net/

BPM and SOA

9.10.2008 JavaBlend 2008, http://www.javablend.net/

jPDL Process Editor

9.10.2008 JavaBlend 2008, http://www.javablend.net/

ESB

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Composite Services

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Enterprise Integration

Patterns

www.eaipatterns.com

9.10.2008 JavaBlend 2008, http://www.javablend.net/

ESB Services and Actions

9.10.2008 JavaBlend 2008, http://www.javablend.net/

ESB Content Based Routing

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Rules Language

rule "Customer Platinum Status"

when

customer: Customer(status > 50)

order: OrderHeader(orderPriority == 3)

then

order.setOrderDiscount(8.5);

end

rule "Customer Gold Status"

when

customer: Customer(status > 10, status <= 50)

order: OrderHeader(orderPriority == 2)

then

order.setOrderDiscount(3.4);

end

Externalize Business Rules

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Rule Editor

9.10.2008 JavaBlend 2008, http://www.javablend.net/

DSL

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Decision Tables Excel/OpenOffice)

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Aggregate applications - Portal

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Use what is available

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Control your infrastructure

RHQ http://www.rhq-project.org

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Management Console

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Management Console Dashboard

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Are you ready for it yet?

– BAM Business Activity Monitoring

– EDA, CEP Esper

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Business Process Maturity Model BPMM (OMG)

Level 1 Not coordinated just do it

applications

Level 2 Defined services increased effectivity

written instructions

Level 3 Defined processes automatization

Level 4 Process management better control

Level 5 Dynamic process full optimalization cycle:

optimalization define

implement

deploy

monitor

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Roadmap

Level 1 Not coordinated Application Server

applications

Level 2 Defined services ESB

written instructions

Level 3 Defined processes BPM

Level 4 Process management Rules

Level 5 Dynamic process BPMS

optimalization

9.10.2008 JavaBlend 2008, http://www.javablend.net/

Q&A

Wiesław Pilarczyk

wp@vdel.com

top related