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
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
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()
www.sparxsystems.com
The value of modelingThe value of modeling
Manage complexity
Plan and mitigate risk
Facilitate communication
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()
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
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
Model SearchModel Search
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
CIM Data Concepts Related to CIM Data Concepts Related to Metering…Metering…
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
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)
Understanding Legacy SystemsUnderstanding Legacy 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)
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
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
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»
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’
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
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
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
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
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
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
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
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
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
www.sparxsystems.com
Questions?Questions?
?
Thank You
Top Related