BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP,...

31
BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California

Transcript of BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP,...

Page 1: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

BPM Implementationwith SOA and MDA

Marc J. BalcerVP, Product Development

AZORA™ TechnologiesSunnyvale, California

Page 2: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Promise

Business ProcessModel Existing Systems

and Data

How do you get fromhere to there?

Page 3: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Typical Scenario

Data

OtherSystem

Data

PolicySystem

Data

AutoSystem

Data

LOB 2 System

Data

Application System

Data

Application 2System

Page 4: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

It doesn’t scale

Data

OtherSystem

Data

PolicySystem

Data

Data

AutoSystem

LOB 2System

Data

Data

Application 1System

Application 2System

Page 5: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

The ultimate result?Gartner: “Enterprise Application Spaghetti”

Page 6: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Solution Approach

• Use “right kinds” of services for building BPMs• Organize the complete set of services to be usable in

our context• Use MDA to realize the design

Business ProcessModel Existing Systems

and Data

How do you get fromhere to there?

Page 7: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Partitioning Principles

• Business process models should be in the language of the business

• The steps in the BPMs should map to services that provide equivalent business functionality

• Business services should be built atop layers of services that reach down to implementation technologies

Page 8: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Domains

• A domain is a separate real, hypothetical, or abstract world inhabited by a distinct set of objects, all subject to the same rules and policies

Bookstore

Inventory

Credit Card Processing

Package Shipping

USPS FedEx

BankCard Processing

Authentication

Logging

Page 9: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Domains and Objects

• Each domain has its own independent object model– classes

– attributes

– associations

– specializations

codenameaddressorderingContact

productIDunitPricetitle

ISBNNumbersubtitle

runningTimeformat

version

quantityOnHandreorderThreshhold

orderingInstructionsdaysToDeliver

produces and markets1 0..*

namebiography

writes

0..*

0..*

role (0..1)

contributes to

0..*

0..*

role

Page 10: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

codenameaddressorderingContact

productIDunitPricetitle

ISBNNumbersubtitle

runningTimeformat

version

quantityOnHandreorderThreshhold

orderingInstructionsdaysToDeliver

produces and markets1 0..*

namebiography

writes

0..*

0..*

role (0..1)

contributes to

0..*

0..*

role

/ quantityunitPricetotalPrice

orderNumberorderDatetotalPrice

selects 0..*1..*

accountNumberexpirationDatechargeAmountapprovalCode

/ isApproved

attempts to pay for

1

0..*

pays for

1

0..*

nameemailmailingAddress

places 11..*

Domains and Services

• Domains expose their capabilities as services– operations

– types

– documents

Services

Document definition

Page 11: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Bridges

• A bridge is a contract between domains that states how one domain makes use of services provided by another

Bookstore

Inventory

Credit Card Processing

Package Shipping

USPS FedEx

BankCard Processing

Authentication

Logging

The bookstore uses Package Shipping to send completed ordersto customers

Page 12: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Domains as Layers

• Business– the actual business

• Utility– generic capabilities

• Integration– combine operational resources

• Operational– existing systems

• Foundation– provided by the core software

architecture

Bookstore

Inventory

Credit Card Processing

Package Shipping

USPS FedEx

BankCard Processing

Authentication

Logging

Page 13: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Layered SOA Architecture

OperationalResources

IntegrationServices

BusinessServices

BusinessProcesses

IS IS IS IS ISISIS

Interfaces defined by enterprise semantics and requirements

Interfaces defined by enterprise modeltask definitiontask implementation

Page 14: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Use Cases and Scenarios

• Use cases define the context in which the domain will be used

• Individual scenario steps map to business services

• Messages carried between the steps map to business documents

Page 15: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Model Interconnections

Class

Operation

State Model

Document

Service

Scenario

Use Case

Actor

Step

Type

Attribute

Page 16: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Integrating Existing Systems

Bookstore

Inventory

Credit Card Processing

Package Shipping

USPS FedEx

BankCard Processing

Authentication

Logging

One existing system providesall the capabilities neededto realize a domain

Different existing systemsprovide capabilities to realize a domain

The integration servicecombines the existing systems’ capabilities

Existing systems can beenabled as services

Page 17: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Combining Multiple Systems

• Suppose we need to create a single customer view– billing

– provisioning

– trouble ticketing

• Hint:it’s not just a UI problem

Page 18: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Unified Enterprise Model

• Create one model of the combined domain

• Then map elements of the combined domain down to the existing capabilities

Page 19: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Enterprise Organizations

• Organize a business domain by the layers in the business– whole enterprise

– lines in the business

– industry standards

• Provides scope, visibility, and governance

Page 20: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

What’s the Problem?Analysts createapplication modelsin a UMLmodelingtool…

… then the developers look at the models

and write the production code

…print them out…

Page 21: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

What’s the Problem!

But once something is in a machine representation…

…we shouldn’t have to manually

reinterpret it (“re-code it”) into another.

The analyst’s diagrams don’t have to be complete, correct, or consistent models

The re-coding introduces development errors and

obscures analyst errors

Keeping the diagramsin sync with the code

is a daunting task.

Page 22: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

SORA Metamodel

Class

Operation

State Model

Document

Service

Scenario

Use Case

Actor

Step

Type

Attribute

Page 23: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Software Architecture

• Basic design policy

• Conceptual Architecture– Platform-independent representation

– “Character” of the architecture

• Platform Architecture– Platform-specific representation

– Select technologies

– Define actual artifacts

• Once conceptual architecture can have many platform architectures

Page 24: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

“Platform” is relative

PlatformIndependent

Model

PlatformSpecificModel 1

.Net® Web Services

PlatformSpecificModel 2

J2EE Web Services

J2EE with JMS

.Net with message queues

CIM PIM PSM

Page 25: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

One Technology Platform

< < Platform> >TransformationService

< < Artifact> >ServiceTypeProperties

< < Artifact> >ConnectionTypeXml

< < Artifact> >TransformationXslt

< < Artifact> >EndpointTypeXml

< < Platform> >ConnectionType

< < Artifact> >ServiceTypeJava

< < Artifact> >ServiceTypeXml

< < Artifact> >EsbadminScript

< < Artifact> >ConnectionXml

< < Platform> >Container

< < Platform> >Process

< < Platform> >Service

< < Platform> >CbrService

< < Platform> >Endpoint

< < Platform> >ServiceType

< < Platform> >Connection

< < Platform> >EndpointType

< < Artifact> >ContainerXml

< < Artifact> >MessageXsd

< < Artifact> >ServiceXml

< < Artifact> >ProcessEsbp

< < Artifact> >RulesJs

< < Artifact> >EndpointXml

*

*

- type

*

*

- type*

*

- type

*

*

Page 26: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Example

InformationModel

classesattributes

associations

RelationalSchema

tablescolumns

primary keysforeign keys

SQL Create TableScript

Model element(from the SORA)

Conceptualentity

Platformartifact

Page 27: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Additional Information

InformationModel

classesattributes

associations

RelationalSchema

tablescolumns

primary keysforeign keys

SQL Create TableScript

TypeModel

domain-specific type

Type Mark

Mapdomain-specific

to platformtype

Page 28: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Translation

SOA elementsdefined in

metamodelMarks

(additional dataneeded to translate)

PlatformElements

Class

Attribute

Document Definition

XML Schema

Message Class

Java Type Mark

XSD Type Mark

Page 29: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Automation Overview

Reference Architecture

BusinessArchitecture Application

Architecture PlatformArchitecture

Graphical ModelingEnvironment

ProvidesReferenceArchitecture

Design ModelSpecifies BusinessServices, not Platform Constructs

Create Analysisand Design Models

ModelVerificationEnsuresCompliance

/**private String servicename = null;private com.sonicsw.xq.XQEnvelopeFactory

envFactory = null;private com.sonicsw.xq.XQAddressFactory

addFactory = null;private com.sonicsw.xq.XQMessageFactory

messageFactory = null;

public void init(com.sonicsw.xq.XQInitContextinitialContext) throws com.sonicsw.xq.XQServiceException

b2bc770a00000156 */

GenerateArtifacts

Code

Integration Platform

‘Glue’ code

Business Logic

COTS

100%Generated

StructureGenerated

Application Software Layers

Page 30: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Summary

• Three dimensions of layering– subject matter

– organization

– modeled / realized

• SOA Reference Architecture

• Translation– ensures platform independence

– improves development performance

Page 31: BPM Implementation with SOA and MDA€¦ · BPM Implementation with SOA and MDA Marc J. Balcer VP, Product Development AZORA™ Technologies Sunnyvale, California. Promise Business

Contact

Marc J. BalcerVP, Product DevelopmentAZORA™ TechnologiesSunnyvale, California

[email protected]

http://www.azoratech.com