The Feature Pack for Service Component Architecture (SCA) provides a simple, yet powerful programming model for constructing applications based on the Open SCA specifications. The SCA modules of WebSphere® Process Server use import and export bindings to interoperate with Open SCA services.
An Open SCA application invokes WebSphere Process Server SCA applications using an export binding. An Open SCA application receives a call from a WebSphere Process Server SCA application using an import binding.
When building an Open SCA service client which will invoke WebSphere Process Server SCA module services, start with an existing WSDL file for all supported bindings except Enterprise JavaBeans™ (EJB) bindings.
Generate Java™ interfaces from the Web Services Description Language (WSDL) file. Do not port modules from WebSphere Process Server SCA to Open SCA and do not port modules from Open SCA to WebSphere Process Server SCA.
In general, Java artifacts are not reusable across WebSphere Process Server SCA modules and Open SCA applications, even when one artifact invokes the other over a common WSDL interface. You must use appropriate tooling to separately generate, from the WSDL interface, the Java interfaces and classes that are used in the Open SCA applications and the Java interfaces and classes that are used in the WebSphere Process Server SCA modules. For Open SCA applications, use the wsimport command-line tool or Rational® Application Developer with SCA function. For WebSphere Process Server SCA modules, use a tool such as WebSphere Integration Developer.
Currently, four bindings support interoperability between Open SCA client services and WebSphere Process Server SCA modules:
Constructing a URI for a WebSphere Process Server SCA module export over SCA binding
WebSphere Process Server SCA module export is exposed using a uniform resource indicator (URI) that is constructed as follows:
module_name/export_name
The module_name and export_name variables are defined in the WebSphere Process Server application. You can view the values from either WebSphere Integration Developer or from the administrative console.
Specify this URI as the reference target URI or as the URI in the binding.sca element in the .composite file. For example, for a WebSphere Process Server module named HelloWorldModule and a WebSphere Process Server export named /test/sca/ClassicHelloWorld, the .composite file resembles the following:
<?xml version="1.0" encoding="UTF-8"?> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" autowire="false" name="HelloWorldClientComposite" targetNamespace="http://sca.test"> <component name="HelloWorldClientComponent"> <implementation.java class="test.sca.open.OpenHelloWorldClient"/> <reference name="classicHWReference" target="HelloWorldModule/test/sca/ClassicHelloWorld"> <interface.wsdl interface="http://sca.test#wsdl.interface(HelloWorldInterface)"/> <binding.sca/> </reference> </component> </composite>
or:
<?xml version="1.0" encoding="UTF-8"?> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" autowire="false" name="HelloWorldClientComposite" targetNamespace="http://sca.test"> <component name="HelloWorldClientComponent"> <implementation.java class="test.sca.open.OpenHelloWorldClient"/> <reference name="classicHWReference"> <interface.wsdl interface="http://sca.test#wsdl.interface(HelloWorldInterface)"/> <binding.sca uri="HelloWorldModule/test/sca/ClassicHelloWorld"//> </reference> </component> </composite>
When configuring a reference to a WebSphere Process Server SCA module over a Web service binding, the following restrictions apply:
When configuring a reference to a WebSphere Process Server SCA module over a JMS binding, the following restrictions apply:
Business graphs are not interoperable across any SCA bindings and, therefore, are not supported in interfaces used to interoperate with the Feature Pack for SCA.