using ibm rational software architect and the cim to...
TRANSCRIPT
Using IBM Rational Software Architect and the CIM to Accelerate Smart Grid Application Integration
Tara Francis - AEP
Darrell Schrag – IBM
Background
AEP and IBM worked together to determine if IBM
Rational Software Architect could be used as a
single tool to manage and build CIM-based
application integration data and service definitions
and implementations based on those definitions.
This presentation will explore that process and
show its results.
Use Case Perspective
Manage CIM
The following requirements and needs were
addressed in regards to managing the CIM– The ability to compare different CIM versions to
understand release differences.
– The ability to extend the CIM and to be able to report on
those extensions (CIM extension proposals)
– The ability to preserve the integrity of the model
– The ability to mark or select elements of the CIM for
inclusion in a data definition (CIMTool)
– The ability to save those selections (CIMTool)
– The ability to restore those selections (CIMTool)
RSA and CIM
Model interoperability is still a problem today– XMI is not consistent
– Model interchange still a problem
– Diagram information lost
How is this being addressed?– Very active model interchange OMG working group
http://www.omgwiki.org/model-interchange/doku.php
– A new diagram interchange OMG working group has just
been approved and is in Finalization Task Force
(expect 1.0 spec in May 2011)
– Note: UML 2.5 submission team has agreed to include a
UML diagram interchange model
Manage CIM
Model diff and
extension reports
Manage CIM
Preserve the
integrity of the CIM
Manage CIM
Extend the CIM– Any time a new
element is added to the
model, it automatically
gets an <<Extend>>
stereotype
– Keeps track of what
you have added and
can be reported on
Manage CIM
Mark CIM elements for
inclusion in a data
definition– Items selected are given
a <<Select>> or
<<SelectAll>> stereotype
– Mirrors what you can do
with CIMTool
– Selections can be saved,
restored, or cleared
Manage CIM
Mark CIM elements for
inclusion in a data
definition– Items selected are given
a <<Select>> or
<<SelectAll>> stereotype
– Mirrors what you can do
with CIMTool
– Selections can be saved,
restored, or cleared
Manage CIM
Standard RSA features
for model introspection– Browse Diagram
Manage CIM
Standard RSA features
for model introspection– Browse Diagram
Manage CIM
Standard RSA features
for model introspection– Browse Diagram
Develop Data/Service Definitions
Utilizing the selected CIM elements, transform the
model into a 2nd UML model– Selected elements plus 1 level of related elements are
moved to 2nd model• Association ends
• Attribute types
• Enumerations
Develop Data/Service Definitions
Resulting model is flat
Resulting model has
XSD Data types
reference library applied
Develop Data/Service Definitions
Resulting model is flat
Resulting model has
XSD Data types
reference library applied
CIM contains
representations for
standard data types
(Boolean, Integer, etc.)– Can convert this to XSD
data types
– Preference setting
determines if originals are
kept
Develop Data/Service Definitions
Standard UML→XSD
transformation is flexible
to handle different XSD
styles
Develop Data/Service Definitions
Standard UML→WSDL
transformation and
SoaML profile available
to utilize XSD data
definitions as part of
message data.
Develop Integration Implementation
You can go in numerous directions once you
develop a series of data definitions and/or services– Develop Java-specific integration solutions
• XSLTs
• JAXB code to process XML data
• Web Service implementations
– Utilize the data/service definitions in ESB solutions
RSA provides the following tooling to help with this: XML editor and validator
XSL schema editor and validator
Simplified XML schema graphical editing options
High performance XML schema validator
XML schema document generator
XML schema inference (XML -> XSD)
XML grammar converters (DTD -> XSD, XSD -> DTD)
XML schema to Java code generation (XSD -> Java via
JAXB – JSR222)
DTD editor and validator
XSLT editor and validator
XSLT debugger
XPath wizard
XML-to-XML mapper (also utilizes XSD and DTD as input)
XSLT implementation generator
Web Services wizards to take you through each step in
Web Service development
Generate Web Service client from WSDL/WSIL
Create Web Services from Java Beans or WSDL/WSIL
files using Axis 1.3 Web service runtime
WSDL visual editor
Thank you… Any Questions???