The Role of Modeling in Systems Integration and - CIMug

advertisement
The Role of Modeling in Systems
Integration and Business Process
Analysis
Ben Constable
Sparx Systems
CIM Users Group Meeting, Prague
2011
www.sparxsystems.com
© Sparx Systems Pty Ltd 2011
Overview
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 Modeling
Process Modeling vs Process Execution
BPM Example
Interoperability concerns
Q&A
www.sparxsystems.com
Integrated systems helped us get to CIMug…
1.1: ApproveCustomerCredit()
Payments System
1: PurchaseTickets()
2.1: Add Seat Allocation()
2: Allocate Seats()
1.2: AddPassengerToFlight()
3: Online Check-in()
Client Web
Brow ser
Flight Booking
System
Seat Allocation
Subsystem
3.1: Check-inPassenger()
2.2: AssignPassengerToSeat()
4: Register Baggage()
4.1: AssignBaggageToPassenger()
5.2: RegisterPassengerList()
Flight Records
Bag-drop Self
Serv ice
Interface
Baggage Serv ices
5: Register Baggage()
5.1: Check-inPassenger()
Check-in
Counter
Interface
Customs Registry
The value of modeling
Manage complexity
Plan and mitigate risk
Facilitate communication
www.sparxsystems.com
Engineer’s view of our integrated system
1.1: ApproveCustomerCredit()
Payments System
+
Client Web Brow ser
1: PurchaseTickets()
ApproveCustomerCredit() :void
2.1: Add Seat Allocation()
Flight Booking System
Seat Allocation Subsystem
+
+
+
2: Allocate Seats()
3: Online Check-in()
PurchaseTickets() :void
Allocate Seats() :void
Online Check-in() :void
+
+
1.2: AddPassengerToFlight()
Get Available Seats() :void
Add Seat Allocation() :void
3.1: Check-inPassenger()
2.2: AssignPassengerToSeat()
Bag-drop Self Serv ice
Interface
Baggage Serv ices
4: Register Baggage()
+
Register Baggage() :void
Flight Records
4.1: AssignBaggageToPassenger()
+
+
+
+
AssignBaggageToPassenger() :void
AddPassengerToFlight() :void
AssignPassengerToSeat() :void
Check-inPassenger() :void
5.2: RegisterPassengerList()
Check-in Counter
Interface
5: Register Baggage()
5.1: Check-inPassenger()
Customs Registry
+
RegisterPassengerList() :void
Tools, 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 Tools
Editing environment, notation support, navigation, plug-n’-play models
Define reference models, system interfaces, trace, report
Generative capability. Inputs to implementation and deployment tools
Enterprise Architect
www.sparxsystems.com
Understanding Data for Information Exchange
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
www.sparxsystems.com
Model Search
Traceability View
Trace the selected Element’s
relationships within the model
Find Related Elements
Navigate to related elements
Filter relationships and restrict
hierarchy depth
www.sparxsystems.com
CIM Data Concepts Related to Metering…
Visualizing 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
www.sparxsystems.com
Visualizing 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 Systems
Understanding 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 Systems
Import XML schema to UML:
«XS DcomplexType»
Meter
«XS Delement»
+ Address :string
+ Name :string
«XS Dattribute»
+ mRID :string
1
XSD- UML
Mapping
1..*
«XS DcomplexType»
MeterReading
«XS Dattribute»
+ mRID :string
«XS Delement»
+ TimeS tamp :dateTime
+ Value :string
www.sparxsystems.com
Understanding Legacy Systems
Import database schema to UML:
Relational - UML
Mapping
www.sparxsystems.com
Understanding Legacy Systems
One approach to mapping legacy data model to CIM:
www.sparxsystems.com
Business Process Modeling
Objectives
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’
www.sparxsystems.com
Business Process Modeling Notation (BPMN)
Published by Object Management Group (OMG)
Flow-chart like notation, readable by business users
Current version: BPMN 2.0
Version 2.0 also defines
serialization for presentation
info and execution semantics!
«Pool» Meter Monitoring
S ystem
Conversation
Collaboration
Choreography
«Pool» S upplier
BPMN 2.0 adds new diagram types:
Request Meter
Reading
Receive Meter
Reading
S tart B illing
Cycle
Receive Reading
Request
S end Meter Reading
Generate B ill
BPMN Fundamentals
Read Meter
Flow Objects: Activity, Event, Gateway
Activities represent process tasks
Events: Something that happens to affect
S tart
Event
S tart Event
Timer
End
Event
process flow
Gateways control process flow
Swimlanes: Pool, Lanes
Pools represent participants in Collaborations
Partition activities in B2B interactions
S end Email via Form
P arse Email
P arse Email
Validate S ubmission
«Pool» S upplier
Connecting Objects: Message, Sequence Flows
Message Flow between participants
Sequence Flow orders activities
Gateway
Data Objects:
Inputs and outputs to Activities
Data Input
Data Output
Returning to our Metering System Integration…
«Pool» Supplier
Draft process for meter reading request:
Request Meter
Receive Meter
Reading
Reading
Start
Billing
«Pool» Meter Monitoring
System
Cycle
Receive Reading
Send Meter
Request
Reading
www.sparxsystems.com
Generate Bill
Linking the data model to message 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 exchange…
BPMN properties (UML Tagged Values) to capture metadata and link to data
structure
www.sparxsystems.com
Process Modeling vs Process Execution
Use 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 interoperability
Ideally: 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 support
Notation and XML export supported in Enterprise Architect 9
Serialization of presentation and semantic info built into the BPMN 2.0 spec
www.sparxsystems.com
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
References
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/0
8%20Extending%20IEC%20CIM%20with%20Enterprise%20Architect.ppt
www.sparxsystems.com
Questions?
?
www.sparxsystems.com
Thank You
Download