The Service Component Architecture (SCA) implementation
complies with Service Data Objects (SDO) 2.1.1 (JSR 235). You can
use SDO 2.1.1 in your SCA applications.
Before you begin
Read SDO data binding
for SCA applications to better understand how to work with
SDO in SCA Java clients and implementations. For more information,
read about using business exceptions with SCA interfaces.
Consider
installing a Rational Application Developer product with SCA Development
Tools that you can use to assemble service-oriented application components
based on open SCA specifications. See the Rational Application Developer
documentation.
About this task
SDO is supported in both the OSOA
and OASIS applications. Unless otherwise specified, the information
in this topic pertains to applications for both the OSOA and OASIS
specifications.
To use SDO 2.1.1 in an SCA application, access
the default HelperContext programmatically in a Java or Java Platform, Enterprise Edition (Java
EE) component implementation type and then develop one or more SCA
composites that use SDO following a bottom-up or top-down approach.
Procedure
- Develop one or more SCA components that use SDO.
- Decide whether you are going to use a top-down or bottom-up
approach to developing your SCA component implementations.
The
section on top-down and bottom-up development in SDO data binding for SCA applications describes
the approaches. The top-down approach is typically preferred in SCA
service architecture and development.
- Use a top-down approach (starting from WSDL and XSD
files) or a bottom-up approach (starting from Java files) to develop
SCA composites that use SDO.
- Access
the default HelperContext programmatically.
You
can access the default HelperContext programmatically in a Java or
Java EE component implementation type. You cannot access the default
HelperContext programmatically in a Spring component implementation
type.
Restriction: You cannot use array types for Java
parameters. You cannot map from schema elements declared with the
attribute maxOccurs="unbounded" to array types. Instead,
map the element to a List, such as a List<DataObject> or List<String>.
Restriction: For the bottom-up approach, you
cannot use Java collection types for either Java parameters or return
types. The DataObject itself can serve as a container. For example,
instead of List<DataObject> personsList where
the contained DataObject instances are each a person, pass DataObject
persons where the children of the root element are each a person.
- If you are using a top-down development approach, package
your WSDL and XSD files in an SCA contribution.
Packaging
WSDL and XSD files in an appropriate contribution enables your component
to access the schema definitions. The section on schema registration
in SDO data binding for SCA
applications describes the registration.
Consider packaging
your WSDL and XSD files so that they can be accessed across various
parts of your application from a shared in-memory instance. For details,
see Implementing
shared scopes in SCA applications that use SDO.
- Deploy your SCA composites that use SDO in an SCA business-level
application.
See topics on SCA contributions and shared
scopes for information on how to establish a shared SDO scope. Otherwise,
there are no special deployment considerations for applications using
the SDO data binding.
Results
You have developed and deployed an SCA composite that uses
SDO in a business-level application.
What to do next
Test the deployed SCA composites.