UML-to-SOA transformations description

The UML-to-SOA transformation transforms UML models into software services artifacts. This transformation invokes different transformation extensions to generate output for specific domains and runtime environments.
By using the UML-to-SOA transformation, you can transform a UML services model into a service-oriented architecture (SOA) implementation model. The generated implementation model is a complete default realization of the specifications and business processes that are imported from WebSphere® Business Modeler. You can use model-driven development and model-driven architecture, as well as refactoring, patterns, and visual development capabilities to further customize the generated implementation model.
Note: You can generate a UML service model by running the Business-Process-to-Service-Model transformation on a business model that you import from WebSphere Business Modeler.

Valid transformation sources

The UML-to-SOA transformation generates software services artifacts from the following sources:
  • UML models, with or without the Services Modeling (SoaML) profile or the Software Services profile applied
    Important: The Software Services profile is deprecated and a profile called the Services Modeling (SoaML) profile is available for modeling services. For information about migrating from the Software Services profile to the Services Modeling (SoaML) profile, see the related link at the end of this topic. For information about how stereotypes in the Software Services profile map to stereotypes in the Services Modeling (SoaML) profile, see the related link at the end of this topic.
  • UML models that contain software services realizations and related artifacts, such as data types, and interfaces or references to domain-specific elements
  • Software services models, including those generated by the following transformations:
    • Java-to-Service-Model transformation
    • Session-Bean-to-Service-Model transformation
    • BPMN-to-Service-Model transformation
    • Business-Process-to-Service-Model transformation

Valid transformation sources might vary, depending on the transformation extension that you specify to generate domain-specific output. You can specify the appropriate extension in the transformation configuration file. The selected transformation extension validates the transformation source that you specify in the transformation configuration. Check the Problems view for source and target validation errors.

If you select a transformation source from the Project Explorer view instead of using the Transformation Configuration editor, the project that you select overrides the source project that is specified in the transformation configuration. The transformation configuration is not affected and the source that you specify on the Source and Target page of the transformation configuration editor or in the New Transformation Configuration wizard does not change.

Valid transformation targets

You can specify the following locations for the output of the UML-to-SOA transformation:
  • The current workspace

    If you are using a shell-sharing environment that includes WebSphere Integration Developer, you might select this option.

  • A project
  • A folder in a project

Transformation output

The UML-to-SOA transformation invokes several other transformations to generate different types of output, such as Service Component Definition Language (SCDL), Web Services Description Language (WSDL), XML Schema Definition (XSD), and Business Process Engineering Language (BPEL).

The UML-to-SOA transformation automatically generates SCDL Module and Library projects in the target container that you specify in the UML-to-SOA transformation configuration. The Module and Library projects have the same structure as a WebSphere Integration Developer project.

When the transformation generates BPEL artifacts, these artifacts are typically generated in the Module projects. For more information about the Web Services BPEL (WS-BPEL) standard, which is defined by the Organization for the Advancement of Structured Information Standards (OASIS)

The transformation output is compatible with WebSphere Integration Developer version 6.0.2 or later. You can export the generated module and library projects to WebSphere Integration Developer to further refine the implementation details of a business process, create additional services that realize business processes by grouping individual Module projects, and test and deploy to a runtime environment such as WebSphere Process Server.

To view the output of the UML-to-SOA transformation and its extensions, you must enable the Web Services Developer capability.

Important: If you use IBM® Rational® ClearCase®, you should manually commit the transformation output when a UML-to-SOA transformation is configured to generate artifacts for an SCDL domain. Manually committing the transformation output ensures that all transformation output is placed under version control.

Limitations of SOA transformations

The SOA transformations cannot transform references to interfaces that exist in other models. In a BPMN model, you can reference UML elements, but the transformation does not process these referenced elements.

If the UML model to transform contains a loop back in a UML activity, no corresponding BPEL loop is generated.

Tasks in a BPMN process that do not contain incoming or outgoing flows are not transformed into BPEL.

In a BPMN event that contains multiple triggers, the transformation processes only the first supported trigger that it encounters.

UML components that contain links to BPMN processes

If a UML component in the source model contains an opaque behavior without UML activities, and whose provided services are implemented by a Business Process Modeling Notation (BPMN) process, the transformation transforms elements of the BPMN process into BPEL elements. See the link to the related reference topic at the end of this topic.

References to interfaces in UML models

You can use Java™ interfaces, WSDL port types, or UML interfaces to specify the provided or required interfaces of a software service, and to specify the provided or required interfaces of the internal structural parts of a software service. For example, internal and external UML ports of the component of the service provider can be typed as Java interfaces.

Java code compatibility for generating BPEL artifacts

For the UML-to-SOA transformation to generate BPEL artifacts that can be exported to WebSphere Integration Developer, Java code that is part of a guard condition or action for a variable in a UML activity or conditional expression in a BPMN process must be compatible with WebSphere Integration Developer version 6.0.2 or later.

The following table lists examples of supported and unsupported code fragments that are associated with a guard or action for a variable in a UML activity or a conditional expression in a BPMN process. In this example, var1 is a UML activity variable of type UMLPrimitiveTypes::Boolean, and var2 is a UML activity variable of type UMLPrimitiveTypes::Integer.

Supported code Unsupported code
if(var2.intValue() < 20)
	var1=new java.lang.Boolean(true);
if(var1.booleanValue()){
	...
}
if(var2 < 20)
	var1=true;
if(var){
	...
}

UML-to-SOA transformation extensions

The current implementation of the UML-to-SOA transformation includes a UML-to-SCDL extension for a SOA implementation that is based on the SCDL specification. The UML-to-SCDL transformation creates Service Component Architecture (SCA) 1.0 artifacts, and Module and Library projects that you can export to WebSphere Integration Developer version 6.0.2 or later.

You can extend the UML-to-SCDL transformation to customize how it generates output. See the related topic at the end of this topic.

Comparing and merging transformation output with target content

The UML-to-SOA transformation uses the comparing and merging functionality to determine the differences between the artifacts that a transformation generates and the existing target project structure and file content. When you run the UML-to-SOA transformation, in the merge editor, you can select the changes that the transformation merges into the transformation target content.

Integration with team support

The transformation provides integration functionality with IBM Rational Team Concert™, CVS, Rational ClearCase, and Rational ClearCase LT version control systems, which enables you to automatically check out files or add new files. You must enable team capabilities to work with configuration management systems.


Feedback