This chapter describes WebLogic Service Component Architecture (SCA). SCA provides a model for building enterprise applications and systems as modular business services that can be integrated and reused. WebLogic SCA provides support for developing and deploying SCA applications using Plain Old Java Objects (POJOs).
This chapter includes the following sections:
WebLogic SCA is based on a subset of the OASIS Service Component Architecture Spring Component Implementation Specification at
http://www.oasis-open.org/committees/download.php/25529/sca-springci-draft-20070926.doc. Features not supported are listed below, under Chapter 2, "Limitations."
In SCA, the implementation of a component and its communication are clearly separated. In WebLogic SCA, you can write Java applications using POJOs and, through different protocols, expose components as SCA services and access other components via references. You do this using SCA semantics configured in a Spring application context. In SCA terms, a WebLogic Spring SCA application is a collection of POJOs plus a Spring SCA context file that wires the classes together with SCA services and references.
WebLogic Spring SCA applications run seamlessly in WebLogic Server (via the WebLogic SCA Runtime) and can be used without modification, as components in Oracle SOA composites.
In WebLogic Sever, WebLogic Spring SCA applications run in the WebLogic SCA Runtime. The runtime must be deployed to WebLogic Server as a shared Web application library before applications can be deployed to it. WebLogic SCA Runtime includes the following:
A Spring container with support for configuring SCA references and services using the WebLogic SCA schemas.
WebLogic SCA Runtime's Spring container is different from the WebLogic Server Spring support documented in Spring Support in Oracle WebLogic Server. However, any Spring application (including one built with the current Spring support in WebLogic Server) can also use the extensions in WebLogic SCA.
A message processor that routes incoming messages (only Java parameters supported) to the appropriate services.
SCA binding component implementations responsible for listening for requests, publishing services, and invoking references. Two binding component implementations are included in this release: Web Service and EJB session bean.
Figure 2-1 shows a representation of a deployed WebLogic Spring SCA application.
WebLogic SCA does not support some features from the OASIS Service Component Architecture Spring Component Implementation Specification. The limitations are as follows:
For WebLogic SCA in standalone WebLogic Server, service and reference bindings are specified in the Spring context only, not in a separate SCDL (.composite) file. Using SCDL files to specify service and reference bindings is available only in Oracle SOA Suite.
SCA annotations are not supported in this release.
<sca:property> element is not supported in this release.
The following are not supported for EJB session bean bindings in this release:
Stateful EJB bindings
EJB 2.x service bindings
Local EJB service bindings
The following limitations apply to Web Service bindings in this release:
For SCA references, the type used must be a JAX-WS compatible interface generated from the external WSDL, using a JAX-WS compatible client generation tool such as the JAX-WS
wsimport tool, the WebLogic
clientgen Ant task, Oracle JDeveloper, or Oracle Enterprise Pack for Eclipse (OEPE).