Tara Francis - AEP Darrell Schrag IBM Using IBM Rational Software Architect and the CIM to Accelerate Smart Grid Application Integration
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 2 nd UML model Selected elements plus 1 level of related elements are moved to 2 nd 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???