Skip Headers
Oracle® Fusion Middleware Developer's Guide for Oracle SOA Suite
11g Release 1 (11.1.1)
E10224-03
  Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
 
Next
Next
 

16 Customizing SOA Composite Applications

This chapter describes how to customize SOA composite applications with the customization feature available with a BPEL process service component.

This chapter includes the following section:

16.1 Introduction to Customizing SOA Composite Applications

This section describes the life cycle for customizing SOA composite applications. For example, assume the following organizations require use of the same composite, but with slight modifications:

The core applications development team creates a base customizable composite and delivers it to a vertical applications team that customizes it for a certain industry (for example, telecommunications). The tailored solution is then sold to a telecommunications customer that further customizes the composite for their specific geographic business needs. Essentially, there is a base composite and several layers of customized composites. At a later time in the composite life cycle, the core applications development team creates the next version of the base composite, triggering an upgrade cycle for the vertical applications team and the customer.

16.1.1 How To Create the Customizable Composite

This section provides an overview of the steps required for creating the customizable, base SOA composite application.

To create the customizable composite:

  1. Start Oracle JDeveloper and select the Default Role.

  2. From the File menu, select New > Applications > SOA Application, and click OK.

  3. Follow the steps in the Create SOA Application wizard.

  4. On the Create SOA Application dialog, select both Composite With BPEL and the Customizable checkbox.

  5. Design the BPEL process.

  6. Customize the BPEL process by creating a scope activity. This action is required because by default the BPEL process is not customizable.


    Note:

    You cannot customize mediator, human workflow, or business rules service components.

  7. Right-click the scope and select Customizable.

  8. In the Application Navigator, expand Application Resources > Descriptors > ADF META_INF.

  9. Open the adf-config.xml file.

  10. Click the Add icon to add the required customization classes, as shown in Figure 16-1.

    In real environments, the customization classes are provided by the core applications team. When you use your own customization classes, you must add your customization class JAR file to your project to make the classes available for the adf-config.xml file.

    Figure 16-1 Customization Classes

    Description of Figure 16-1 follows
    Description of "Figure 16-1 Customization Classes"

  11. Right-click the SOA project and select Deploy. This creates a JAR file package. This JAR is also known as a SOA archive (SAR).

  12. Check the application into a source code control system. The file is now ready for delivery to the vertical applications team.

For information on how to write customization classes, see Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.

16.1.2 How To Customize the Vertical Application

This section provides an overview of the steps required for customizing the base SOA composite application.

To customize the vertical application:

  1. Open the CustomizationLayerValues.xml file in $JDEV_HOME/jdeveloper/jdev and add the layer values for the customization layers. For example, add the value Communications to the industry layer.

    <cust-layers xmlns="http://xmlns.oracle.com/mds/dt">
      <cust-layer name="industry">
        <cust-layer-value value="communications" display-name="Communications"/>
      </cust-layer>
    </cust-layers>
    
  2. Start Oracle JDeveloper and select the Default Role.

  3. Create a new SOA application with a different name than the core application.

  4. From the File menu, select Import > SOA Archive Into SOA Project.

  5. Click Browse to select the composite archive JAR file created by the core application team in Section 16.1.1, "How To Create the Customizable Composite."

  6. In the Composite Name field, enter a different name than the core SOA project.


    Note:

    Do not select any SOA project. You must create a new SOA project for the JAR file that you import.

  7. Select the Import for Customization checkbox.

  8. From the Tools menu, select Preferences -> Roles > Customization Developer.

  9. Restart Oracle JDeveloper.

    The Customization Context dialog displays the available customization layers and layer values.

  10. Select a layer and value to customize, as shown in Figure 16-2 (for this example, layer industry and value Communications are selected).

    Figure 16-2 Customization Context

    Description of Figure 16-2 follows
    Description of "Figure 16-2 Customization Context"

  11. In the SOA Composite Editor, double-click the BPEL process to access Oracle BPEL Designer.

    You can only edit scope activities that have been set to customizable. In the example shown in Figure 16-3, the core applications team set only one scope to customizable. The other activities in the BPEL process are disabled and cannot be edited.

    Figure 16-3 One Customizable Scope

    Description of Figure 16-3 follows
    Description of "Figure 16-3 One Customizable Scope"

  12. Right-click the SOA project and select Deploy to create a JAR file of the customized composite (SAR).

    Since deployment is invoked with the customization role enabled, the base composite with the appropriate layers based on the current customization context is automatically merged.

  13. Check in the application to a source code control system.

    The JAR file contains a merged composite that in turn acts as a base process for the next level of customization. The JAR file can now be delivered to the customer.

16.1.3 How to Customize the Customer Version

This section provides an overview of the steps required for customizing the customer version of the SOA composite application.

How to customize the customer version:

  1. Open the CustomizationLayerValues.xml file in $JDEV_HOME/jdeveloper/jdev and add the layer values for the customization layers. For example, add the values North America and Asia Pacific to the site layer.

    <cust-layers xmlns="http://xmlns.oracle.com/mds/dt">
      <cust-layer name="site">
        <cust-layer-value value="communications" display-name="North America"/>
        <cust-layer-value value="communications" display-name="Asia Pacific"/>
      </cust-layer>
    </cust-layers>
    
  2. Start Oracle JDeveloper and select the Default Role.

  3. Create a new SOA application with a different name than the core application or customized application.

  4. From the File menu, select Import > SOA Archive Into SOA Project.

  5. Click Browse to select the composite archive JAR file created by the vertical applications team in Section 16.1.2, "How To Customize the Vertical Application."

  6. Select the Import for Customization checkbox.

  7. From the Tools menu, select Preferences -> Roles > Customization Developer.

  8. Restart Oracle JDeveloper.

    The Customization Context dialog displays the available customization layers and layer values.

  9. Select a layer and value to customize, as shown in Figure 16-4 (for this example, layer site and value North America are selected).

    Figure 16-4 Customization Context

    Description of Figure 16-4 follows
    Description of "Figure 16-4 Customization Context"

  10. Customize the BPEL process.

  11. Right-click the SOA project and select Deploy to create a JAR file (SAR) for the North American region.

  12. Check the application into a source code control system.

16.1.4 How to Upgrade the Composite

This section provides an overview of the steps required for upgrading the SOA composite application to the next version.

To upgrade the composite:

16.1.4.1 Core Application Team

The core application team fixes bugs, makes product enhancements. and creates the next version of the composite.

  1. Check out the application created in Section 16.1.1, "How To Create the Customizable Composite" from source control.

  2. Start Oracle JDeveloper and select the Default Role.

  3. Make bug fixes and product enhancements.

  4. Deploy the composite to create the next revision of the JAR file.

  5. Deliver the JAR file to the vertical applications team.

16.1.4.2 The Vertical Application Team

The vertical applications team customizes the new base composite to create a new version of the JAR file.

  1. Check out the application created in Section 16.1.2, "How To Customize the Vertical Application" from source control.

  2. Start Oracle JDeveloper and select the Default Role.

  3. Open the checked-out application.

  4. Select the project node in the Application Navigator to set the current project context. This is important because the import in the next step imports the SOA archive into the selected project to upgrade the base.

  5. From the File menu in Oracle JDeveloper, import the new revision of the JAR file created in Section 16.1.4.1, "Core Application Team."

  6. From the Tools menu, select Preferences -> Roles > Customization Developer.

  7. Restart Oracle JDeveloper.

  8. In the Customization Context dialog, select a layer and value to customize (for example, select layer industry and value Communications).

  9. Open the BPEL process to see if the new base composite can be merged with layers for the above selected context.

  10. Review the log window for potential warnings and errors.

  11. If required, fix errors and warnings by modifying the process. This edits the layers behind the scenes.

  12. Deploy the composite to create the next revision of the customized JAR file and deliver it to the customer for an upgrade.

16.1.4.3 The Customer

The customer follows the same procedures as the vertical applications team in Section 16.1.4.2, "The Vertical Application Team" to apply their layers to the new base composite.