www.sparxsystems.com the role of modeling in systems integration and business process analysis ©...

29
www.sparxsystems.com The Role of Modeling in The Role of Modeling in Systems Integration and Systems Integration and Business Process Analysis Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems IM Users Group Meeting, Prague 2011

Upload: hope-hall

Post on 22-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

The Role of Modeling in Systems The Role of Modeling in Systems Integration and Business Process Integration and Business Process

AnalysisAnalysis

© Sparx Systems Pty Ltd 2011

Ben ConstableSparx Systems

CIM Users Group Meeting, Prague 2011

Page 2: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

OverviewOverview The Value of Modeling in SI & BPA

Systems-of-Systems complexity

Tools, Notations and Reference Models

Understanding Data for Information Exchange

Navigating the CIM model

Understanding legacy systems

Visualizing As-is and To-be scenarios

Business Process ModelingProcess Modeling vs Process ExecutionBPM ExampleInteroperability concerns

Q & A

Page 3: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

Integrated systems helped us get to Integrated systems helped us get to CIMug…CIMug…

Client Web Browser

Flight Records

Payments System

Flight Booking System

Baggage Serv ices

Seat Allocation Subsystem

Check-in Counter Interface

Bag-drop Self Serv ice Interface

Customs Registry

1: PurchaseTickets()

1.1: ApproveCustomerCredit()

1.2: AddPassengerToFlight()

2: Allocate Seats()

2.1: Add Seat Allocation()

2.2: AssignPassengerToSeat()

3: Online Check-in()

3.1: Check-inPassenger()

4: Register Baggage()4.1: AssignBaggageToPassenger()

5: Register Baggage()

5.1: Check-inPassenger()

5.2: RegisterPassengerList()

Page 4: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

The value of modelingThe value of modeling

Manage complexity

Plan and mitigate risk

Facilitate communication

Page 5: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

Engineer’s view of our integrated Engineer’s view of our integrated systemsystem

Client Web Browser

Flight Records

+ AssignBaggageToPassenger() :void+ AddPassengerToFlight() :void+ AssignPassengerToSeat() :void+ Check-inPassenger() :void

Payments System

+ ApproveCustomerCredit() :void

Flight Booking System

+ PurchaseTickets() :void+ Allocate Seats() :void+ Online Check-in() :void

Baggage Serv ices

+ Register Baggage() :void

Seat Allocation Subsystem

+ Get Available Seats() :void+ Add Seat Allocation() :void

Check-in Counter Interface

Bag-drop Self Serv ice Interface

Customs Registry

+ RegisterPassengerList() :void

1: PurchaseTickets()

1.1: ApproveCustomerCredit()

1.2: AddPassengerToFlight()2: Allocate Seats()

2.1: Add Seat Allocation()

2.2: AssignPassengerToSeat()

3: Online Check-in()

3.1: Check-inPassenger()

4: Register Baggage()4.1: AssignBaggageToPassenger()

5: Register Baggage()

5.1: Check-inPassenger()

5.2: RegisterPassengerList()

Page 6: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

Tools, Notations and Reference ModelsTools, Notations and Reference Models Modeling Notations

Provide suitable, formal language for communicating concepts

Open industry standards by OMG, The Open Group etc.

UML®, OMG SysML™, BPMN™, ArchiMate® etc.

Reference Models

Library of reusable domain concepts defined in standard notation (UML)

Essential ingredient for defining interoperable system interfaces

IEC CIM for utilities

Modeling ToolsEditing environment, notation support, navigation, plug-n’-play modelsDefine reference models, system interfaces, trace, reportGenerative capability. Inputs to implementation and deployment toolsEnterprise Architect

Page 7: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

Understanding Data for Information Understanding Data for Information ExchangeExchange Data model required (irrespective of messaging technology)

CIM provides an excellent starting point

Ask: Is this information already defined in the CIM?

Locate: Use the modeling environment’s search facility

Reuse: Link elements to your domain/data model.

Locating CIM concepts in Enterprise Architect:

Model Search

Traceability View

Page 8: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

Model SearchModel Search

Page 9: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

Traceability ViewTraceability View

Trace the selected Element’s relationships within the model

Find Related Elements

Navigate to related elements

Filter relationships and restrict hierarchy depth

Page 10: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

CIM Data Concepts Related to CIM Data Concepts Related to Metering…Metering…

Page 11: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

Visualizing As-is and To-be IntegrationsVisualizing As-is and To-be Integrations

Integration of systems occurs in stages

How do I document as-is and to-be scenarios or phases?

Modeling tool provides options to:

Selectively hide relationships

Differentiate phases by color

Capture Phase as metadata

Dynamically filter visual elements

by meta data (Diagram Filters)

Preferable to reuse, rather than remodel, elements in each scenario

Page 12: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

Visualizing As-is and To-be IntegrationsVisualizing As-is and To-be Integrations

Consider our metering systems integration…

Components currently integrated are Phase 1.0

“PDA Interface” component to be integrated in Phase 2.0 (faded)

Page 13: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

Understanding Legacy SystemsUnderstanding Legacy Systems

Page 14: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

Understanding Legacy SystemsUnderstanding Legacy Systems

Use the modeling tool to help complete the picture.

Import source code:

Application (C++, java etc.)

Middleware (CORBA), etc.

Reverse engineer data schema from live databases

Import XML documents:

Schemas (XSD)

Interface definitions (WSDL)

Page 15: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

Understanding Legacy SystemsUnderstanding Legacy Systems

Import XML schema to UML:«XSDcomplexType»

Meter

«XSDelement»+ Address :string+ Name :string

«XSDattribute»+ mRID :string

«XSDcomplexType»MeterReading

«XSDattribute»+ mRID :string

«XSDelement»+ TimeStamp :dateTime+ Value :string

1

1..*XSD- UMLMapping

Page 16: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

Understanding Legacy SystemsUnderstanding Legacy Systems

Import database schema to UML:

t_Meter

«column» Name :VARCHAR(256)*PK mRID :VARCHAR(50) Address :VARCHAR(256)

«PK»+ PK_t_Meter(VARCHAR)

t_Reading

«column» Value :VARCHAR(50) Timestamp :DATE mRID :VARCHAR(50)

Relational - UML

Mapping

Page 17: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

Understanding Legacy SystemsUnderstanding Legacy Systems

One approach to mapping legacy data model to CIM:

t_Meter

«column» Name :VARCHAR(256)*PK mRID :VARCHAR(50) Address :VARCHAR(256)

«PK»+ PK_t_Meter(VARCHAR)

t_Reading

«column» Value :VARCHAR(50) Timestamp :DATE mRID :VARCHAR(50) ReadingInterval :VARCHAR(50)

MarketOperations::MeterCore::IdentifiedObject

+ aliasName :String [0..1]+ description :String [0..1]+ localName :String [0..1]+ mRID :String [0..1]+ name :String [0..1]+ pathName :String [0..1]

Metering::MeterReading

+ valuesInterval :DateTimeInterval [0..1]CIM Classes

Imported Legacy Elements

Legend

«trace»

«trace»

«trace»

«trace»

«trace»

Page 18: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

Business Process ModelingBusiness Process ModelingObjectives

Process documentation (as-is, to-be)

Process automation

Process optimization, improvement

Process orchestration etc.

Numerous notations

UML Activity models, Eriksson Penker, Flow Chart, EPC, BPMN

Describe interactions:

Inter-organizational activities

Messaging between system interfaces

Includes the ‘human system’

Page 19: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

Business Process Modeling Notation Business Process Modeling Notation (BPMN)(BPMN)Published by Object Management Group (OMG)

Flow-chart like notation, readable by business users

Current version: BPMN 2.0

BPMN 2.0 adds new diagram types:ConversationCollaborationChoreography

Version 2.0 also defines

serialization for presentation

info and execution semantics!

«P

ool»

Supplie

r«P

ool»

Mete

r Monito

ring

Syste

m

Start Billing Cycle

Request MeterReading

Receive ReadingRequest

Send Meter Reading

Receive MeterReading

Generate Bill

Page 20: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

BPMN FundamentalsBPMN Fundamentals Flow Objects: Activity, Event, Gateway

Activities represent process tasks

Events: Something that happens to affect

process flow

Gateways control process flow

Connecting Objects: Message, Sequence FlowsMessage Flow between participantsSequence Flow orders activities

Swimlanes: Pool, LanesPools represent participants in Collaborations

Partition activities in B2B interactions

Data Objects:Inputs and outputs to Activities

«P

ool»

Supplie

r

Read Meter

Start Event

Start Event Timer

End Event

Gateway

Data Input Data Output

Send Email via Form Parse Email

Validate SubmissionParse Email

Page 21: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

Returning to our Metering System Returning to our Metering System Integration…Integration… Draft process for meter reading request:

«P

ool»

Su

pp

lier«

Pool»

Meter M

on

itorin

gSystem

Start

Bi l l i n g

Cycle

R equ est Meter

R eadi n g

R ecei ve R eadi n g

R equ est

Sen d Meter

R eadi n g

R ecei ve Meter

R eadi n g

Gen erate Bi l l

Page 22: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

Linking the data model to message Linking the data model to message exchange…exchange…One approach: Use “messageRef” and “itemRef” values on Message Flows and Message elements respectively

“messageRef” refers to the Message element behind the flow.

“itemRef” refers to the itemDefinition that defines the Message’s payload

(Data Objects also contain itemRefs)

BPEL implementations refer to data structures via Assignments

For example, Data Objects refer to XML Schema (XSD) types

Mapping from pure UML data models to XSD classes can be automated

Page 23: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

Linking the data model to message Linking the data model to message exchange…exchange…BPMN properties (UML Tagged Values) to capture metadata and

link to data structure

Page 24: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

Process Modeling vs Process ExecutionProcess Modeling vs Process ExecutionUse the modeling tool to:

Document and define processes

Link and trace processes to upstream and downstream models (requirements, architecture, data model etc).

Generate implementation artifacts (BPEL)

Export to appropriate interchange format (XPDL, BPMN XML)

Simulate processes, if supported.

Use the execution engine to:

Import modeled process (from BPEL, XPDL etc.)

Configure, implement and deploy processes

Page 25: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

A note on tool interoperabilityA note on tool interoperabilityIdeally: Seamlessly round-trip processes between modeling environment and execution environment.

Some interchange inhibitors:

Which exchange format: BPEL, XPDL, XMI?

BPEL scripts lack presentation info – so diagrams get wiped out

XPDL suffers too much variation among vendor implementations

XMI not supported by execution platforms; too much variation among modeling tools

Enter BPMN 2.0 XML…Vendors of Execution engines appear to be developing supportNotation and XML export supported in Enterprise Architect 9Serialization of presentation and semantic info built into the BPMN 2.0 spec

Page 26: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

In Summary…In Summary… Ensure that your models realize value:

Don’t model everything from scratch

Use industry standard reference models

Use tools to visualize legacy systems and extract data models

Avoid ‘picture only’ modeling. Understand and capture metadata to: Facilitate traceability between structural and process models

Enable generative modeling: UML -> XSD, BPMN -> XML, etc.

Maximise reusability of processes

Standard modeling notations (UML, BPMN) help you to: Maximise communication (wider audience)

Achieve reusability

Increase potential for tool interoperability

Page 27: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

ReferencesReferences UML, The OMG: http://www.uml.org, www.omg.org

BPMN Specification: http://www.omg.org/spec/BPMN/2.0

Enterprise Architect: http://www.sparxsystems.com/products/ea

IEC CIM UML Model: http://cimug.ucaiug.org

CIM Modeling and Enterprise Architect background: http://cimug.ucaiug.org/Meetings/Milan2010/Presentations/CIM%20University/08%20Extending%20IEC%20CIM%20with%20Enterprise%20Architect.ppt

Page 28: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

www.sparxsystems.com

Questions?Questions?

?

Page 29: Www.sparxsystems.com The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems

Thank You