Java-to-Service-Model transformations

The Java-to-Service-Model transformation transforms Java implementations into software services models, which you can use as input to other transformations that generate artifacts for other domains, such as the service-oriented architecture (SOA) domain and the Java 2 Platform, Enterprise Edition (J2EE) domain.

Valid transformation sources

The Java-to-Service-Model transformation generates software services models from the following Java sources:
  • A Java implementation class that implements an interface in the current workspace
  • A Java interface

If you select Java elements in the Project Explorer view or a class diagram instead of using the Transformation Configuration editor, the model or elements that you select override the source model or elements that you specify 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 a UML model as the destination for the output of the Java-to-Service-Model transformation.

Transformation output

In a Java-to-Service-Model transformation configuration, you can specify that the transformation applies either the Services Modeling (SoaML) profile or the Software Services profile to the model that it generates.
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.
For each class or interface that the Java-to-Service-Model transformation generates:
  • The transformation exposes the source Java interface as a service in the target model.
  • The transformation creates a UML component that delegates a Java interface to a service. This component wraps Java delegation components and a Java implementation, and also contains two ports. For more information about the characteristics of these ports, see the link to the related reference topic at the end of this topic.
  • Depending on the target profile that you select in the transformation configuration, the transformation applies one of the following stereotypes to the generated component:
    • «Participant» stereotype from the Services Modeling (SoaML) profile
    • «serviceProvider» stereotype from the deprecated Software Services profile
Note: After the transformation runs, you can use the generated services model as input to the UML-to-SOA or UML-to-SCA transformations to generate SOA artifacts. When you configure a UML-to-SOA transformation, you can specify that the transformation generates module projects only for the components that have the «Participant» or the «serviceProvider» stereotype applied.

Comparing and merging transformation output with target UML models

The Java-to-Service-Model transformation uses the comparing and merging functionality to determine the differences between the target model and the temporary model that the transformation generates. When you run the Java-to-Service-Model transformation, the merge editor displays the differences between the two models. In the merge editor window, you can select the changes that the transformation merges into the target model.

Integration with team support

The Java-to-Service-Model 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