Rewiring EJB references to SCA references

You can rewire an Enterprise JavaBeans™ (EJB) reference to a Service Component Architecture (SCA) reference that provides the same named operations. The rewiring does not require a change to existing code.

Before you begin

Identify the Java™ Platform, Enterprise Edition (Java EE) application that contains business logic in EJB or Web modules to enable in the SCA environment. A Java EE application is also called an enterprise application or enterprise archive (EAR) file.

Identify the SCA components and services to replace the EJB references in EJB and Web modules.

About this task

The SCA programming model supports Java EE integration. You can rewire EJB references to SCA references without changing existing code that uses the EJB reference. Thus, you can use the SCA programming model without changing the implementation code.

Procedure

  1. Create a file named application.composite that defines components with component types of Web and EJB modules of the enterprise application. Save the file to the enterprise application META-INF directory.

    Use the implementation.web element to declare a service component that is implemented by the Web component. The component contains information for the annotations. To configure a Web component implementation, use the following schema:

    <implementation.web web-uri="Web_module_name"/>

    Use the implementation.ejb element to declare a service component that is implemented by a session bean component. To configure an EJB component implementation, use the following schema:

    <implementation.ejb ejb-link="EJB_module_name"/>

    To rewire an EJB reference to an SCA service in an SCA component, add a <reference> element to the jee module component. For example, to rewire an EJB reference named MyEJBRef to an SCA service named MySCASvc in an SCA component named MyComponent, the <reference> element resembles the following:

    <reference name="MyEJBRef" target="MyComponent/MySCASvc">
      <interface.java .... />
    </reference>
    

    The reference names must match the name of the EJB reference. The contract of operations supported must also match. Because references must be promoted in the composite, the names of the references must be unique. After the EJB reference is promoted, all matching instances of the EJB reference in the module are rewired to the SCA service.

  2. Create a component in an SCA composite definition that has the implementation.jee component type and the archive attribute set to the name of the enterprise application asset object.

    For an enterprise application named MyEAR.ear, create a component such as the following:

    <component name="ImplJeeComponent">
      <implementation.jee archive="MyEAR.ear"/>
    </component>

Results

The EJB references are rewired to SCA references enabling Java EE modules to use SCA features without changing its implementation.

What to do next

Deploy the enterprise application and the SCA composite that uses the application as composition units of the same business-level application. You can use the administrative console or wsadmin commands to create the business-level application and add the enterprise application and the SCA composite as composition units.




In this information ...


IBM Redbooks, demos, education, and more

(Index)

Use IBM Suggests to retrieve related content from ibm.com and beyond, identified for your convenience.

This feature requires Internet access.

Task topic    

Terms of Use | Feedback

Last updated: Oct 21, 2010 7:37:48 AM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=v701sca&product=was-nd-mp&topic=tsca_jee_rewire_ejb
File name: tsca_jee_rewire_ejb.html