5 Developing Service Bus Applications in JDeveloper

This chapter describes how to use JDeveloper to develop Service Bus applications from the top down, using the Service Bus Overview Editor.

This chapter includes the following sections:

5.1 Introduction to the Service Bus Overview Editor

The Service Bus Overview Editor provides a graphical interface for you to design and configure Service Bus projects. A project overview file is automatically generated when you create a project, which describes the Service Bus project.

In the Application Navigator, the node representing this file has the same name as the project it represents; in the file system, it is named servicebus.sboverview. You can open this file in the Service Bus Overview Editor to create and configure the Service Bus components.

Opening the overview file launches the Service Bus Overview Editor, which appears as a tab in the JDeveloper designer. This file describes the entire application assembly of proxy services, business services, pipelines, and split-joins. There is one overview file for each Service Bus project.

5.1.1 Service Bus Overview Editor Components

When you work with the project overview file, you primarily use the Overview Editor canvas, the Components window, and the component configuration wizards. The editor lets you view many of your files in a WYSIWYG environment, and you can view a file in an overview editor where you can declaratively make changes, or you can view the source code for the file. The Structure window shows the structure of the currently selected file.

Figure 5-1 Service Bus Overview Editor

Description of Figure 5-1 follows
Description of "Figure 5-1 Service Bus Overview Editor"

Table 5-1 describes the Service Bus Overview Editor.

Table 5-1 Service Bus Overview Editor

Element Description

Application Navigator

Displays the key files for the components included in the Service Bus project:

  • A project_name node (servicebus.sboverview file) that is automatically created when you create a Service Bus project. This file describes the entire composite assembly of proxy services, business services, pipelines, split-joins, and wires. Once you open the file in the Service Bus Overview Editor, the name changes to match that of the containing project.

  • The pipeline component file (pipeline_name.pipeline)

  • The proxy service component file (proxy_name.proxy)

  • The business service component file (business_name.bix)

  • The split-join component file (splitjoin_name.flow)

  • The individual files that describe Service Bus components, such as alert destinations, service key providers, and service accounts.

  • Optional subfolders for class files, WSDL files, schema definitions, transformations, and test suites. These can also be created directly under the project. By default, components generated by the adapter wizard are created in a subfolder named Resources.

Structure Window

The Structure window provides a structural view of the data in the document currently selected in the active window.

Overview Editor

You drag Service Bus components from the Components window into the canvas of the Overview Editor. When you drag and drop a component into the designer, a corresponding wizard appears so you can create and configure that component.

For all subsequent editing sessions, double-click these components to re-open their editors.

Middle Swimlane (Pipelines/Split Joins)

The middle swimlane is for the components that provide routing and transformation logic, restricting this lane to pipelines and split-joins.

Left Swimlane (Proxy Services)

The left swimlane is for services that provide an entry point to the application, so this lane is restricted to proxy services. If you drag a JCA adapter or a transport to this lane, you generate a proxy service based on the selected adapter or transport.

Right Swimlane (External Services)

The right swimlane is for references that send messages to external services in the outside world, which can be business services or proxy services. If you drag a JCA adapter or a transport to this lane, you generate a business service.

Proxy services that appear in this lane are actually references to existing proxy services, so they cannot be added by dragging a JCA adapter or a transport to the canvas. They can only be added by selecting the existing proxy service to use.

Components Window

The Components window provides the various Service Bus components that you can use in a Service Bus application. It contains pipelines, split-joins, technology adapters, application adapters, transports, and a REST binding. Proxy services and business services are not included in the Components window, but you can create them by dragging adapters, transports, or bindings to the left or right swimlanes of the canvas.

For more information about the available components, see the online help for the Overview Editor in JDeveloper. If the Components window is not visible, select Components from the View main menu.

Resources Window

The Resources window provides a single dialog from which you can browse both local and remote resources. For example, you can access the following resources:

  • Shared local application metadata such as schemas, WSDL documents, event definitions, and so on.

  • WSIL browser functionality that uses remote resources that can be accessed through an HTTP connection, file URL, or application server connection.

  • Remote resources that are registered in a Universal Description, Discovery, and Integration (UDDI) registry.

You select these resources for the Service Bus application through the Resource Browser dialog. This dialog is accessible through a variety of methods. For example, when you select the WSDL file to use with a pipeline or drag a business service from the Components window, the Resource Browser dialog appears. Click Resources at the top of this dialog to access available resources.

If the Resources window is not visible, then select Resources from the View main menu.

Log Window

The Log window displays messages about application compilation, validation, and deployment.

Properties Window

The Properties window displays properties for the selected Service Bus component. You also use the Properties window to define properties for pipeline and split-join actions.

If the Properties window is not visible, select Properties from the View main menu.

Application Resources

In the Application Resources panel, the system resources for Service Bus applications and projects are listed under Service Bus System Resources. System resources include UDDI registries, proxy services, JNDI providers, and SNMP servers.

5.1.2 Transports, Adapters, and Bindings

Using the Service Bus Overview Editor, you can create proxy and business services based on Service Bus transports, Oracle JCA Adapters, or the REST binding. Service Bus is fully integrated with JCA adapters, and you can create and configure a JCA adapter and its associated files directly in a Service Bus project using the Overview Editor. In previous versions, you created the JCA adapter in a separate SOA Suite project and then imported it into Service Bus. When you create a JCA adapter, the concrete WSDL file and proxy or business service are created automatically. The same applies when you create a service using the REST binding; the associated WADL file and proxy or business service are automatically created for you.

In addition to the full range of support for Oracle JCA Adapters, Service Bus provides connectivity to external systems through a variety of transports, each of which is specific to a type of external system. You can use a combination of transports, adapters, and REST bindings to create services in Service Bus.

Table 5-2, Table 5-3, and Table 5-4 describe the transport, adapters, and bindings available in the Components window. For more information, see Working with JCA Adapters, Transports, and Bindings.

Table 5-2 Technology Components

Component Description

AQ

Drag an AQ adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle AQ Adapter, and to create its associated service. The AQ Adapter lets Service Bus interact with a single consumer or a multi-consumer queue.

This action launches the AQ Adapter Configuration wizard.

AS/400

Drag an AS/400 adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle Database Adapter for AS/400, and to create its associated service.

This action launches the Database Adapter Configuration wizard.

BAM

Drag a BAM adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle BAM Adapter, and to create its associated service. The BAM Adapter lets Service Bus interact with Oracle Business Activity Monitoring.

This action launches the BAM Adapter Configuration wizard.

Coherence

Drag a Coherence adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle Coherence Resource Adapter, and to create its associated service. Use the Coherence Resource Adapter to perform cache operations in a transaction.

This action launches the Coherence Adapter Configuration wizard.

Database

Drag a Database adapter to either the Proxy Services or External Services swimlane to create and configure a Database JCA Adapter, and to create its associated service. The Database Adapter lets Service Bus communicate with Oracle and other databases through JDBC.

This action launches the Database Adapter Configuration wizard.

Direct

Drag a Direct transport to the External Services swimlane to create a business service using the SOA-DIRECT transport. Use the SOA DIRECT transport to exchange messages over a remote method invocation (RMI).

This action launches the Create Business Service wizard. The Direct transport can only be used with business services.

File

Drag a File adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle File Adapter, and to create its associated service. The File Adapter lets Service Bus applications read and write messages from files on a local file system.

This action launches the File Adapter Configuration wizard.

FTP

Drag an FTP adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle FTP Adapter, and to create its associated service. The FTP Adapter lets Service Bus applications read and write messages from remote service files.

This action launches the FTP Adapter Configuration wizard.

HTTP

Drag an HTTP transport to the Proxy Services swimlane to create an HTTP proxy service, or to the External Services swimlane to create an HTTP business service. The HTTP transport lets you invoke applications through HTTP POST and GET operations.

This action launches either the Create Proxy Service wizard or the Create Business Service wizard.

JEJB

Drag a JEJB transport to the Proxy Services swimlane to create a JEJB proxy service, or to the External Services swimlane to create a JEJB business service. The JEJB transport lets you pass Plain Old Java Objects (POJOs) through Service Bus.

This action launches either the Create Proxy Service wizard or the Create Business Service wizard.

JMS

Drag a JMS Transport to the Proxy Services swimlane to create a JMS proxy service, or to the External Services swimlane to create a JMS business service. The JMS transport configures services that interact with Java Messaging Service.

This action launches either the Create Proxy Service wizard or the Create Business Service wizard.

LDAP

Drag an LDAP adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle LDAP Adapter, and to create its associated service. The LDAP Adapter lets Service Bus interact with an LDAP directory.

This action launches the LDAP Adapter Configuration wizard.

MQ

Drag an MQ adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle MQ Series Adapter, and to create its associated service. The MQ Series Adapter lets Service Bus connect to MQ Series queue managers and to add and remove messages in queues.

This action launches the MQ Series Adapter Configuration wizard.

MSMQ

Drag an MSMQ adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle MSMQ Adapter, and to create its associated service.

This action launches the MSMQ Adapter Configuration wizard.

REST

Drag REST binding to either the Proxy Services or External Services swimlane to create and configure a REST binding component, and to create its associated service.

This action launches the Create REST Binding dialog.

SB

Drag an SB transport to the Proxy Services swimlane to create an SB proxy service, or to the External Services swimlane to create an SB business service. Use the SB transport to allow Oracle products to synchronously invoke a proxy service using RMI.

This action launches either the Create Proxy Service wizard or the Create Business Service wizard.

Socket

Drag a Socket adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle Socket Adapter, and to create its associated service. The Oracle Socket Adapter lets Service Bus create a client or server socket, and establish a connection.

This action launches the SOCKET Adapter Configuration wizard.

Tuxedo

Drag a Tuxedo transport to the Proxy Services swimlane to create a Tuxedo proxy service, or to the External Services swimlane to create a Tuxedo business service. The Tuxedo transport to access a Tuxedo domain from Service Bus.

This action launches either the Create Proxy Service wizard or the Create Business Service wizard.

UMS

Drag a UMS adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle UMS Adapter, and to create its associated service. The Oracle UMS Adapter lets Service Bus send and receive notifications using email, SMS, or instant messaging.

This action launches the UMS Adapter Configuration wizard.

WS

Drag a WS transport to the Proxy Services swimlane to create a WS proxy service, or to the External Services swimlane to create a WS business service. The WS transport implements requests for services derived from based on SOAP 1.1- or SOAP 1.2-based WSDL documents with WSRM policy.

This action launches either the Create Proxy Service wizard or the Create Business Service wizard.

Table 5-3 Application Components

Component Description

JDE World

Drag a JDE World adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle JDE World Adapter, and to create its associated service. This action launches the JDE World Adapter Configuration wizard.

Oracle

Drag an Oracle adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle Applications Adapter, and to create its associated service. This action launches the Oracle Applications Adapter Configuration wizard.

SAP

Drag a SAP adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle SAP Adapter, and to create its associated service. This action launches the Oracle SAP Adapter Configuration wizard.

Table 5-4 Advanced Components

Component Description

BPEL 10g

Drag a BPEL 10g transport to the External Services swimlane to create a BPEL Process Manager business service. Use the BPEL Processing Manager (BPEL-10g) to define messaging with Oracle SOA Suite 10g BPEL processes.

This action launches the Create Business Service wizard. The BPEL 10g transport can only be used with business services.

Note: For messaging with Oracle SOA Suite 11g BPEL processes, use the SOA_DIRECT transport.

Custom

Drag a Custom adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle Custom Adapter, and to create its associated service. The Oracle Custom Adapter lets you create a customized adapter to connect to external systems.

This action launches the Custom Adapter Configuration wizard.

DSP

Drag a DSP transport to the External Services swimlane to create a DSP business service. Use the DSP transport to communicate with Oracle Data Service Integrator.

This action launches the Create Business Service wizard. The DSP transport can only be used with business services.

EJB

Drag an EJB transport to the External Services swimlane to create an EJB business service. Use the EJB transport to create an Enterprise JavaBeans service for using SDO parameters or Java interfaces with Enterprise JavaBeans.

This action launches the Create Business Service wizard. The EJB transport can only be used with business services.

Email

Drag an Email transport to the Proxy Services swimlane to create an email proxy service, or to the External Services swimlane to create an email business service. The Email transport lets Service Bus communicate with email servers.

This action launches either the Create Proxy Service wizard or the Create Business Service wizard.

File Transport

Drag a File Transport to the Proxy Services swimlane to create a file proxy service, or to the External Services swimlane to create a file business service. The File transport configures services that read and write messages from files on a local file system.

This action launches either the Create Proxy Service wizard or the Create Business Service wizard.

FTP Transport

Drag an FTP Transport to the Proxy Services swimlane to create an FTP proxy service, or to the External Services swimlane to create an FTP business service. The FTP transport configures services that read and write messages from remote service files.

This action launches either the Create Proxy Service wizard or the Create Business Service wizard.

JCA

Drag a JCA transport to the Proxy Services swimlane to create a proxy service based on an existing JCA adapter, or to the External Services swimlane to create a business service based on an existing JCA adapter.

This action launches either the Create Proxy Service wizard or the Create Business Service wizard.

JMS

Drag a JMS adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle JMS Adapter, and to create its associated service. The JMS Adapter lets Service Bus interact with Java Messaging Service.

This action launches the JMS Adapter Configuration wizard.

Local

Drag a Local transport to the Proxy Services swimlane to create a Local proxy service. Local proxy services can only be invoked by other proxy services, not by external clients.

This action launches the Create Proxy Service wizard. The Local transport can only be used with proxy services.

MQ Transport

Drag an MQ Transport to the Proxy Services swimlane to create an MQ proxy service, or to the External Services swimlane to create an MQ business service. The MQ transport provides access to IBM WebSphere MQ.

This action launches either the Create Proxy Service wizard or the Create Business Service wizard.

SFTP

Drag an SFTP Transport to the Proxy Services swimlane to create an SFTP proxy service, or to the External Services swimlane to create an SFTP business service. The SFTP transport lets you transfer files securely over the SSH File Transfer Protocol (SFTP).

This action launches either the Create Proxy Service wizard or the Create Business Service wizard.

Third Party

Drag a Third Party adapter to either the Proxy Services or External Services swimlane to create and configure an Oracle Third Party Adapter, and to create its associated service. The Third Party Adapter lets Service Bus interact with third-party services as long as a WSDL document is already defined.

This action launches the Create Third Party Adapter Service dialog.

5.1.3 Project and Overview Diagram Synchronization

Performing certain tasks outside of the Overview Editor results in components being automatically added to or changed in the Service Bus Overview Editor diagram. When you create proxy services, pipelines, and split-joins outside of the Service Bus Overview Editor (that is, you create them directly in the project using their creation wizards), Service Bus adds the generated components to the Overview Editor diagram. This does not occur when you add business services, since they can be used by multiple projects.

When you add a new outbound messaging or callout activity to a pipeline or split-join and configure the activity to call an external service, Service Bus adds the referenced component to the External Services swimlane in the overview diagram if it is not already there. Service Bus also wires the pipeline or split-join to the referenced component. If you remove the call to the external service, the wire is also removed. When you add, remove, or modify the target service in the Proxy Service Definition Editor, Service Bus modifies the wires on the overview diagram accordingly.

If you import a new Service Bus project, Service Bus generates the project overview file and adds all derivable Service Bus components to the diagram in the Service Bus Overview Editor. If your import updates an existing Service Bus project, the overview diagram is also updated with any new components or updated wiring.

The overview is synced when you make changes to or import resources. After you add, update, or delete a resource, the changes will appear in the Service Bus Overview Editor the next time you refresh or open it.

5.2 Creating Service Bus Applications and Projects in JDeveloper

In JDeveloper, Service Bus resources are organized into projects, which can be further divided into folders. Service Bus projects are grouped into Service Bus applications.

Note:

To create and deploy Service Bus applications and projects in JDeveloper, you must install the Service Bus extension. For instructions on installing this extension for JDeveloper, see Enabling Oracle JDeveloper Extensions in Installing Oracle JDeveloper.

5.2.1 How to Create a Service Bus Application and Project

When you create a Service application, you assign it a name and to specify the directory in which to save source files. By creating an application using application templates provided by JDeveloper, you automatically get the organization of the workspace into projects, along with the project overview file.

You can create a Service Bus application with a Service Bus project, or you can create just the application and create the project separately. The following figure shows the creation wizard when you create the application and project together.

Figure 5-2 Create Service Bus Application with Service Bus Project Wizard

Description of Figure 5-2 follows
Description of "Figure 5-2 Create Service Bus Application with Service Bus Project Wizard"
5.2.1.1 Guidelines for Creating Applications and Projects

Make sure to follow these guidelines when you create Service Bus applications and projects in JDeveloper.

  • When you create applications and projects, you can specify the directory in which the associated files are stored. You must create Service Bus projects in the same folder as their containing application.

  • Do not create application or project names with spaces.

  • Do not create applications and projects in directory paths that have spaces (for example, c:\Program Files).

  • The combination of application and component name cannot exceed 500 characters.

  • A project deployed to the same infrastructure must have a unique name across Service Bus applications. For example, do not perform the actions described in Table 5-5. During deployment, the second deployed project overwrites the first deployed project.

    Table 5-5 Restrictions on Naming a Service Bus Project

    Create an Application Named... With a Project Named...

    Application1

    Project1

    Application2

    Project1

Caution:

Do not create SOA Tier components in Service Bus applications, nor Service Bus Tier components in SOA Suite applications. Mixing technologies within an application will result in errors.

5.2.1.2 Creating a Service Bus Application with No Project

Before you begin:

To avoid errors, become familiar with the information in Guidelines for Creating Applications and Projects before creating applications or projects.

To create a Service Bus application with no project:

  1. Start Oracle JDeveloper Studio Edition.
  2. Do one of the following to create a new Service Bus application:
    • If no applications are open, click New Application in the Application Navigator.

    • In the JDeveloper toolbar, click File, point to New, and select Applications.

    • In the JDeveloper toolbar, click Application and then select New.

    The New Gallery opens, where you can select different application components to create.

  3. In the Categories tree, select General > Applications.
  4. In the Items pane, select Service Bus Application, and click OK.

    The Create Service Bus Application wizard appears.

  5. On the Name your Application page, optionally change the name and directory location for the application.
  6. Click Finish.
  7. From the File menu, select Save All.
  8. To add projects to your application, see Adding a Service Bus Project to a Service Bus Application.
5.2.1.3 Creating a Service Bus Application and Project

Before you begin:

To avoid errors, become familiar with the information in Guidelines for Creating Applications and Projects before creating applications or projects.

To create a Service Bus application and project:

  1. Start Oracle JDeveloper Studio Edition.
  2. Do one of the following to create a new Service Bus application:
    • If no applications are open, click New Application in the Application Navigator.

    • In the JDeveloper toolbar, click File, point to New, and select Applications.

    • In the JDeveloper toolbar, click Application and then select New.

    The New Gallery opens, where you can select different application components to create.

  3. In the Categories tree, select General > Applications.
  4. In the Items pane, select Service Bus Application with Service Bus Project, and click OK.

    The Create Service Bus Application wizard appears.

  5. On the Name your Application page, optionally change the name and location for the application.
  6. On the Name your Project page, optionally change the name of your Service Bus project. Make sure the project directory is in the application directory (this is the default).
  7. Click Finish.

    JDeveloper adds the Service Bus project technology, the project's XML file that describes the Service Bus application, and the necessary libraries to your project.

  8. From the File main menu, select Save All.
5.2.1.4 Adding a Service Bus Project to a Service Bus Application

Before you begin:

To avoid errors, become familiar with the information in Guidelines for Creating Applications and Projects before creating applications or projects.

To add a Service Bus project to a Service Bus application:

Note:

The following instructions are for the first time you create a Service Bus project. You can continue to follow these steps for future project, but a Project option will also appear when you right-click in the Application Navigator and select New.

  1. Start Oracle JDeveloper Studio Edition.
  2. Using the Application menu, open the Service Bus application.
  3. Click File, point to New, and then select Project.

    The New Gallery dialog appears.

  4. In the Categories panel, scroll down to and select Service Bus Tier.
  5. In the Items panel, select Service Bus Project, and click OK.

    The Create Service Bus Project wizard appears.

  6. On the Name your Project page, you can optionally change the name for your Service Bus project. Leave the directory at its default value, which is located in the containing application's folder.
  7. Click Finish.

    JDeveloper adds the Service Bus project technology, the project's XML file that describes the Service Bus application, and the necessary libraries to your project.

  8. From the File main menu, select Save All.

5.2.2 Developing Service Bus Projects in Reference Configuration Mode

Beginning with Release 12c (12.2.1.4), you can create either a Reference Configuration domain or a Classic domain on the Templates screen in the Configuration Wizard during installation. A Reference Configuration domain guards servers from running into out-of-memory, stuck threads, endpoint connectivity, and database issues. A Reference Configuration domain supports SOA, OSB, and B2B topologies. The templates in these products include Reference Configuration in their names, and are the default templates listed in the Configuration Wizard for these products.

Notes:

  • A Reference Configuration domain does not support BPM or BAM components.
  • There is no specific Reference Configuration template for ESS. However, ESS can be added to both a Reference Configuration domain and to a Classic domain.
  • The Reference Configuration feature does not apply to MFT domains.

Developing a Service Bus project in Reference Configuration mode means that you enable Reference Configuration settings in JDeveloper so that new adapters that you create in the project will have special JCA endpoint properties defined in their source files. You can modify these properties directly in the Adapter Configuration Wizard for projects newly created in Release 12c (12.2.1.4). See JCA Endpoint Properties in the Adapter Configuration Wizard in Understanding Technology Adapters.

To create a Reference Configuration domain, see Selecting the Configuration Template for Oracle Service Bus in Installing and Configuring Oracle Service Bus. To configure the domain, see Configuring a Reference Configuration Domain in Administering Oracle Service Bus.

Note:

If you develop Service Bus projects in Reference Configuration mode, Oracle recommends that you deploy them to a server that is in a Reference Configuration domain. If a Service Bus project is developed in Classic mode and the server to which it is deployed is in a Reference Configuration domain, or vice versa, JDeveloper displays a Mismatch notification in the Deploy Composite Wizard. For more information, see Deploying Service Bus Applications or Projects in JDeveloper.

How to Enable Reference Configuration Settings

By default, JDeveloper is in Classic mode. To develop Service Bus projects in Reference Configuration mode, you must manually enable this feature in JDeveloper:
  1. From the Tools menu, select Preferences.

  2. Select Reference Configuration Settings.

  3. Select Enable Reference Configuration settings in adapters.

5.3 Adding Service Bus Components

Once you create your Service Bus applications and projects, the next step is to add Service Bus components that implement the business logic or processing rules of your application.

You can use the Components window from the Service Bus Overview Editor to drag and drop components into the overview editor. Dragging Service Bus components to the editor launches a corresponding creation wizard where you can create the component and any associated resources, such as WSDL files and schema definitions. You can also create components by right-clicking in one of the swimlanes, and then selecting from the available options for that lane. Once you create the component, the corresponding files are generated in the project directory structure and appear in the Application Navigator.

5.3.1 How to Launch the Service Bus Overview Editor

The Overview Editor displays a graphical representation of the servicebus.sboverview file. In the Application Navigator, this file is represented by the node with the same name as the project.

Note:

When you open the Overview Editor, Service Bus always tries to synchronize the diagram to the current state of the project components.

To open the project overview:

  • Do one of the following:

    • Double-click the node in the Service Bus project with the same name as the project.

    • Right-click the node in the Service Bus project with the same name as the project and select Open.

5.3.2 How to Add a Pipeline

Add a pipeline to define the message flow and any data transformation, error handling, and validation for the project. When you create a new pipeline, you have the option to generate a proxy service from the pipeline configuration.

To add a pipeline:

  1. From the Components window, select Service Bus.
  2. From the Resources list, drag a Pipeline into the Pipelines/Split Joins lane in the designer.

    The Create Pipeline Service wizard appears.

  3. Configure the settings for the pipeline.

    For help with the configuration fields, click Help or press F1. For more information about creating pipelines, see Working with Pipelines in Oracle JDeveloper .

  4. To generate a proxy service to associate with the pipeline, click Expose as a Proxy Service on the Type page of the wizard. Select a transport for the proxy service and, optionally, modify the name.
  5. On the last page of the wizard, click Finish.

    The pipeline file is added to the project, and the pipeline appears in the Pipelines/Split Joins section of the designer. If you exposed the pipeline as a proxy service, the proxy service also appears in the Proxy Services swim lane, and the components are automatically wired.

  6. To define the message flow in the pipeline, see Working with Pipeline Actions in Oracle JDeveloper.
  7. Click Save All in the JDeveloper toolbar.

5.3.3 How to Add a Split-Join

Add a split-join to define a message flow that performs concurrent processing to improve service performance. You can also define data transformations, validations, error handling, and reporting in a split-join. When you create a new split-join, you have the option to generate a proxy service from the split-join configuration.

To add a split-join:

  1. From the Components window, select Service Bus.
  2. From the Resources list, drag a SplitJoin into the Pipelines/Split Joins lane in the designer.

    The Create Split-Join Service wizard appears.

  3. Configure the settings for the split-join.

    For help with the configuration fields, click Help or press F1. For more information about creating split-joins, see How to Create a Split-Join in JDeveloper.

  4. To generate a proxy service to associate with the split-join, click Expose as a Proxy Service on the Type page of the wizard. Select a transport for the proxy service and, optionally, modify the name.
  5. On the last page of the wizard, click Finish.

    The split-join file is added to the project, and the split-join appears in the Pipelines/Split Joins section of the designer. If you exposed the split-join as a proxy service, the proxy service also appears in the Proxy Services swim lane, and the components are automatically wired.

  6. To define the message flow in the split-join, see Improving Service Performance with Split-Join.
  7. Click Save All in the JDeveloper toolbar.

5.3.4 How to Create a Proxy Service

A proxy service is the entry point of data into the Service Bus application. There are several ways to create a proxy service using the Service Bus Overview Editor.

  • Drag an adapter or transport from the Components window to the Proxy Services lane. Adapters and transports are under Technology, Applications, and Advanced in the Components window.

  • When you create a pipeline or split-join, expose it as a proxy service. This creates the pipeline or split-join, the proxy service, and the connecting wire between the two. For more information, see How to Add a Pipeline and How to Add a Split-Join.

  • After you create a pipeline or split-join, drag the input anchor to the Proxy Services swimlane to create a new proxy service.

5.3.4.1 Creating a Proxy Service with an Adapter

When you use a JCA adapter to create a proxy service, Service Bus generates a concrete WSDL file along with a JCA-based proxy service. The WSDL file generated for the JCA adapter is abstract. The concrete WSDL file has the text "concrete" appended to the file name.

To create a proxy service with an adapter:

  1. Do one of the following:
    • Right-click in the Proxy Services swim lane, point to Insert Adapters, and select the adapter to use from the list of options.

    • From the Components window, select Service Bus and drag an adapter into the Proxy Services lane.

      Tip:

      Adapters are designated by a unique icon in the Technology section of the Components window.

    The creation wizard for the selected adapter appears.

  2. Configure the settings for the adapter.

    For help with the configuration fields, click Help or press F1. For more information about configuring adapters, see Generic Oracle JCA Adapter Properties in Understanding Technology Adapters.

  3. On the last page of the wizard, click Finish.

    The proxy service, adapter, and associated WSDL files are added to the project, and the proxy service appears in the Proxy Services section of the designer. The proxy service is configured for a JCA adapter, and it is named based on the type of JCA adapter used.

  4. To configure the proxy service, see Configuring Proxy Services and Using the JCA Transport and JCA Adapters.
  5. Click Save All in the JDeveloper toolbar.
5.3.4.2 Creating a Proxy Service with a Transport

To create a proxy service with a transport:

  1. Do one of the following:
    • Right-click in the Proxy Services swim lane, point to Insert Transports, and select the transport to use from the list of options.

    • From the Components window, select Service Bus and drag a transport into the Proxy Services lane.

      Tip:

      Transports are designated by a plain gear icon in the Technology and Advanced sections of the Components window.

    The Create Proxy Service Wizard appears.

  2. Configure the settings for the proxy service.

    For help with the configuration fields, click Help or press F1. For more information about creating proxy services, see How to Create a Proxy Service.

  3. On the last page of the wizard, click Finish.

    The proxy service file is added to the project, and the proxy service appears in the Proxy Services section of the designer.

  4. To configure the proxy service and transport, see Configuring Proxy Services and Working with JCA Adapters, Transports, and Bindings
  5. Click Save All in the JDeveloper toolbar.
5.3.4.3 Creating a Proxy Service from an Existing Pipeline or Split-Join

To create a proxy service from an existing pipeline or split-join:

  1. Click the left anchor of the pipeline or split-join and drag it to the Proxy Services swimlane.

    The Create Proxy Service wizard appears.

  2. Configure the settings for the proxy service.

    For help with the configuration fields, click Help or press F1. For more information about creating proxy services, see How to Create a Proxy Service.

  3. On the last page of the wizard, click Finish.

    The proxy service file is added to the project, and the proxy service appears in the Proxy Services section of the designer.

  4. To configure the proxy service and transport, see Configuring Proxy Services and Working with JCA Adapters, Transports, and Bindings
  5. Click Save All in the JDeveloper toolbar.

5.3.5 How to Reuse Existing Proxy Services in the Overview

A proxy service can be called as an external service from a pipeline or split-join in the Service Bus application. You can add a proxy service to reference from the External Services context menu or from an existing pipeline or split-join. The proxy service to reference must already be created in the current application. Typically, proxy services are referenced so their logic is not exposed, and they usually use the local transport.

To add an existing proxy service as a reference:

  1. Do one of the following:
    • Right-click in the External Services swim lane, point to Choose, and select Proxy Service.

      The Select Proxy Service dialog appears.

    • Click the right anchor of a pipeline or split-join, and drag it to the External Services swimlane.

      The Resource Chooser dialog appears.

  2. In the list of projects, expand the project and any folders containing the proxy service you want to use.
  3. Select the proxy service to use, and then click Finish.
  4. Click Save All in the JDeveloper toolbar.

5.3.6 How to Create a Business Service

A business service communicates with the external systems with which you share data. You can create a business service by dragging either an adapter or a transport from the Components window to the External Services lane. Adapters and transports are under Technology, Applications, and Advanced in the Components window.

5.3.6.1 Creating a Business Service with an Adapter

When you use a JCA adapter to create a business service, Service Bus generates a concrete WSDL file along with the business service. The WSDL file generated for the JCA adapter is abstract. The concrete WSDL file has the text "concrete" appended to the file name.

To create a business service with an adapter:

  1. Do one of the following:
    • Right-click in the External Services swim lane, point to Insert Adapters, and select the adapter to use from the list of options.

    • From the Components window, select Service Bus and drag an adapter into the External Services lane in the designer.

      Tip:

      Adapters are designated by a unique icon in the Technology section of the Components window.

    The creation wizard for the selected adapter appears.

  2. Configure the settings for the adapter.

    For help with the configuration fields, click Help or press F1. For more information about configuring adapters, see Generic Oracle JCA Adapter Properties in Understanding Technology Adapters.

  3. On the last page of the wizard, click Finish.

    The business service, adapter, and associated WSDL files are added to the project, and the business service appears in the External Services section of the designer. The business service is configured for a JCA adapter, and is named based on the type of JCA adapter used.

  4. To configure the business service, see Configuring Business Services and Using the JCA Transport and JCA Adapters.
  5. Click Save All in the JDeveloper toolbar.
5.3.6.2 Creating a Business Service with a Transport

To create a business service with a transport:

  1. Do one of the following:
    • Right-click in the External Services swim lane, point to Insert Transports, and select the transport to use from the list of options.

    • From Components window, select Service Bus and drag a transport into the External Services lane in the designer.

      Tip:

      Transports are designated by a plain gear icon in the Technology and Advanced sections of the Components window.

    The Create Business Service Wizard appears.

  2. Configure the settings for the business service.

    For help with the configuration fields, click Help or press F1.

  3. On the last page of the wizard, click Finish.

    The business service file is added to the project, and the business service appears in the External Services section of the designer.

  4. To configure the business service and transport, see Configuring Business Services and Working with JCA Adapters, Transports, and Bindings.
  5. Click Save All in the JDeveloper toolbar.

5.3.7 How to Reuse Existing Business Services in the Overview

If the business service you want to use already exists in the project, you can reference that business service from the Overview Editor. You can add the business service from the External Services context menu or from an existing pipeline or split-join. The business service must already be created in the current application.

To add an existing business service to the overview:

  1. Do one of the following:
    • Right-click in the External Services swim lane, point to Choose, and select Business Service.

      The Select Business Service dialog appears.

    • Click the right anchor of a pipeline or split-join, and drag it to the External Services swimlane.

      The Resource Chooser dialog appears.

  2. In the list of projects, expand the project and any folders containing the business service you want to use.
  3. Select the business service to use, and then click Finish.
  4. Click Save All in the JDeveloper toolbar.

5.3.8 How to Invoke Deployed Service Bus and SOA Applications

From your Service Bus applications, you can invoke other Service Bus or SOA applications that have already been deployed to the Oracle WebLogic Server.

To invoke deployed Service Bus and SOA applications:

  1. Launch the Create Business Service or Create Proxy Service wizard by dragging a transport or adapter to the Proxy Services or External Services swim lane on the Service Bus Overview Editor.
  2. On the Type page, select WSDL and click the Find existing WSDLs icon.

    The Select WSDL dialog appears.

  3. In the list at the top, select Application Server.
  4. Select the Oracle WebLogic Server on which the application is deployed.
  5. Expand the tree to display the Service Bus or SOA application you want to invoke.
  6. Continue expanding the application until the service to invoke is visible.
  7. Select the service and click OK.

    The Import Service Bus Resources dialog appears.

  8. Verify the resource and location information, and click Next.
  9. On the Configuration page, make sure the service and any dependent resource (such as schemas) are selected, and click Finish.
  10. On the Type page of the Create Business/Proxy Service wizard, verify the binding or port information, and click Next.
  11. Verify the transport and URI information, and click Finish.

For information about creating an application server connection, see Deploying Oracle Service Bus Services.

5.3.9 What You May Need to Know About Adding Components

Note the following about adding components:

5.4 Modifying and Deleting Components in the Service Bus Overview Editor

From the Service Bus Overview Editor, you can rename a component, delete a component, and access a component's definition editor to update its configuration.

5.4.1 How to Edit Components from the Service Bus Overview Editor

Once you create components in the Overview Editor, additional configuration is required. You can access a component's definition editor from the Overview Editor in order to configure specific details about that component.

To edit a Service Bus component:

  1. Double-click the component in the Service Bus Overview Editor to display the appropriate editor or designer, as described in Table 5-6.

    Table 5-6 Starting Service Bus Editors from the Service Bus Overview Editor

    Component Description

    Pipeline

    Double-click a pipeline in the Service Bus Overview Editor to launch the Pipeline Definition Editor, where you can define data flow and transformations. This editor provides a graphical format where you can drag and drop stages, actions, and error handlers into the message flow.

    Split-Join

    Double-click a split-join in the Service Bus Overview Editor to launch the Split-Join Definition Editor, where you can define the data flow and transformations for processing message parts in parallel. This editor provides a graphical format where you can drag and drop operations and error handlers into the message flow.

    Proxy Service

    Double-click a proxy service in the Service Bus Overview Editor to launch the Proxy Service Definition Editor, where you can further configure the transport, connectivity information, and security policies for the proxy service.

    Business Service

    Double-click a business service in the Service Bus Overview Editor to launch the Business Service Definition Editor, where you can further configure the transport, connectivity information, and security policies for the business service.

  2. To edit the JCA Adapter on which a proxy or business service is based, right-click the proxy or business service in the Overview Editor and select Edit JCA.

    The configuration wizard for the associated adapter appears.

  3. To edit the REST Binding on which a proxy or business service is based, right-click the proxy or business service in the Overview Editor and select Edit REST.

    The REST Binding wizard appears.

  4. To return to the Service Bus Overview Editor from the editor for any Service Bus component, double-click the project_name node in the Application Navigator or single-click the project_name tab above the designer.

    For help with a service component editor, click Help or press F1.

  5. From the File main menu, select Save All.

5.4.2 How to Rename Components in the Service Bus Overview Editor

When you rename a component from the Service Bus Overview Editor, the names of the file and the corresponding node in the Application Navigator are updated to reflect the change. Any references to the renamed component are also updated.

Note:

When you change a component's name using JDeveloper's refactoring feature, the same processing occurs.

To rename a Service Bus component:

  1. Right-click the component you want to rename in the Service Bus Overview Editor.
  2. Click Rename.
  3. On the Rename dialog, enter a new name for the component in the Rename To field. Do not change the file extension.
  4. If the component is referenced by another component, click Show Usages to view those references.
  5. Click OK to finalize the new name.
  6. In the JDeveloper toolbar, click Save All.

5.4.3 How to Delete Components in the Service Bus Overview Editor

When a component is deleted, all references pointing to it are invalidated and all wires are removed. This also deletes the file that defines the component. Associated files, like WSDL documents or XML schemas, are not deleted.

To delete a Service Bus component:

  1. In the Service Bus Overview Editor, right-click the component to delete and select Delete.

    The Confirm Delete dialog appears.

  2. If the component is used in any projects, click Show Usages to view more information.
  3. To proceed with deleting the component, click Yes.

5.5 Synchronizing the Overview Diagram

You can add and edit Service Bus components from both inside and outside the Service Bus Overview Editor. Changes made from outside the Overview Editor are automatically synchronized with the overview diagram when you launch the Overview Editor. The Overview Editor toolbar gives you options to refresh and update the diagram, if you suspect the diagram is not displaying properly.

  • Refresh Diagram: Synchronizes the composite diagram with the current state of the project components as stored in the configuration framework.

  • Refresh Validation State: Runs a validation check and highlights all the conflict indicators on the composite nodes. Ared icon with an "x" in the middle indicates a conflict.

When you close the Service Bus Overview Editor while there are unsaved changes to project components, a dialog appears with a list of files that must be saved. You can select which files to save before closing the editor. Any files you do not save revert to their last saved state when the editor closes. It is always good practice to save your work frequently to avoid loss of data and to keep project files synchronized.

5.6 Wiring Service Bus Components

You wire (connect) proxy services, pipelines, split-joins, and external services to indicate the order in which components are called during message processing. These guidelines apply when wiring Service Bus components.

  • Since a proxy service is an inbound service, the reference handle appears on the right side. External services are outbound, so the service handle appears on the left side. Pipelines and split-joins have handles on both sides.

  • You can wire a proxy service to any other component or reference type. When you wire from a proxy service to another component, Service Bus updates the Target Service field for the proxy service with the new target information.

  • You can wire pipelines and split-joins to any other component or reference type. When you wire from a pipeline or a split-join to another component, Service Bus adds the component information to the External Services node of the pipeline or split-join.

  • A proxy service can only post to one component or reference, so each proxy service can only have one outbound wire.

  • If the source and destination services you are wiring have incompatible binding types, you cannot wire the components. This validation is based on the currently saved state.

5.6.1 How to Wire Service Bus Components

You can wire a proxy service to a pipeline, split-join, or external service. You can wire pipelines and split-joins to each other and to an external service. For example, you can wire a proxy service to a pipeline, wire that pipeline to a split-join, and then wire the split-join to a business service.

To wire Service Bus components:

  1. Click the handle on the component to wire from, and then drag a wire to the component to wire to.

    Tip:

    When you drag the wire, make sure to drag into the receiving handle on the component. Otherwise, the wire might not be created.

  2. Select Save All from the File main menu.

  3. To verify the target service for a proxy service, do the following:

    1. Double-click the proxy service.

    2. Verify that the wired component appears in the Target Service field on the General tab.

  4. To verify the external services for a pipeline, do the following:

    1. Double-click the pipeline.

    2. In the Pipeline Definition Editor, click the left-arrow button next to the root node.

    3. Expand External Services.

      The wired proxy services appear in the list.

  5. To verify the external services for a split-join, do the following:

    1. Double-click the split-join.

    2. In the Split-Join Definition Editor, click the left-arrow button next to the root node.

    3. Expand External Services.

      The wired business services appear in the list.

5.6.2 How to Delete Wires Between Services

When you delete wires, any linking information is cleaned up and removed as well.

  • When you remove a wire from a proxy service to a pipeline, split-join, or business service, Service Bus removes the service information from the Target Service field for the proxy service.

  • When you remove a wire from a pipeline or a split-join to another component, Service Bus removes the component information from the External Services node of the pipeline or split-join.

  • When an activity in a component is linked with a deleted link, validating that component reports the error so you can explicitly correct it. Service Bus does not perform automatic corrections for this when you delete a wire.

To delete wires between services:

  1. Right-click the wire to remove and click Delete.
  2. On the Confirm Delete dialog, click Yes.

5.7 Attaching Security Policies to Service Bus Components

As you create your Service Bus components in the Service Bus Overview Editor, you can secure services by attaching security policies to proxy and business services. Security can also be defined at the message and transport levels for certain services.

For more information about implementing policies, see Securing Business and Proxy Services.

To attach a security policy to a proxy or business service:

  1. In the Service Bus Overview Editor, right-click the proxy or business service to which you want to add security.
  2. Select Configure OSB WS Policies.

    The editor for the selected service appears with the Policies tab displayed.

  3. Attach policies as described in Attaching and Configuring Policies in JDeveloper.
  4. When you are done, click Save in the JDeveloper toolbar.

5.8 Testing Service Bus Components in the Overview Editor

You can access the Run and Debug features of JDeveloper directly from the Service Bus Overview Editor to test and debug the components you create.

Selecting Run or Debug for a component in the editor launches the Service Bus Test Console, where you can enter your test input and configure more options for testing. Debugging lets you set breakpoints in pipelines and split-joins so you can step through the message flow and test it in manageable sections.

5.8.1 How to Test a Service Bus Component

Access the Test Console directly from the Overview Editor to test Service Bus components.

To test a Service Bus component:

  1. In the Service Bus Overview Editor, right-click the component to test, and select Run.

    The component to test can be a proxy service, business service, pipeline, or split-join. The Test Console appears in a web browser.

  2. Enter the input in the Test Console, and then click Execute.

    For information about setting properties in the Test Console, see Test Console Page Reference for Services.

  3. When you are done testing, click Terminate in the JDeveloper toolbar and select the name of the running process.

5.8.2 How to Debug a Service Bus Component

Use JDeveloper's debug feature to set breakpoints in pipelines and split-joins and test them in the Test Console.

To debug a Service Bus pipeline or split-join:

  1. Set the breakpoints for the pipeline or split-join, as described in How to Set Breakpoints on Service Bus Components.
  2. In the Service Bus Overview Editor, right-click the pipeline or split-join to debug, and select Debug.

    The Test Console appears in a web browser.

  3. Enter the input in the Test Console, and then click Execute.

    For information about setting properties in the Test Console, see Test Console Page Reference for Services.

  4. When you are done testing, click Terminate in the JDeveloper toolbar and select the name of the debugging process.

5.9 Deploying a Service Bus Application

To deploy a Service Bus application from JDeveloper, the instance of JDeveloper must have a connection to an Oracle WebLogic Server. You can also export Service Bus projects, import them into the Oracle Service Bus Console, and activate the projects from the console.

For more information about deploying Service Bus applications, see Deploying Oracle Service Bus Services.