Getting started with developing soa composite applications

This chapter describes service-oriented architecture (SOA) and Oracle SOA Suite , standards used by Oracle SOA Suite to enable SOA, SOA composite application architecture and runtime behavior, approaches to designing SOA composite applications, and where to go to learn more about Oracle SOA Suite.

This chapter includes the following sections:

1.1 Introduction to Oracle SOA Suite

This section provides an overview of service-oriented architecture and standards, Oracle SOA Suite capabilities, service component architecture, runtime behavior, and design-time approaches.

For introductory information about Oracle SOA Suite , see Understanding Oracle SOA Suite . For information about Oracle SOA Suite infrastructure and administration, see Administering Oracle SOA Suite and Oracle Business Process Management Suite .

1.1.1 Service-Oriented Architecture

Changing markets, increasing competitive pressures, and evolving customer needs are placing greater pressure on IT to deliver greater flexibility and speed. Today, every organization is faced with predicting change in a global business environment, to rapidly respond to competitors, and to best exploit organizational assets for growth. In response to these challenges, leading companies are adopting service-oriented architecture (SOA) to deliver on these requirements by overcoming the complexity of their application and IT environments.

SOA provides an enterprise architecture that supports building connected enterprise applications to provide solutions to business problems. SOA facilitates the development of enterprise applications as modular business web services that can be easily integrated and reused, creating a truly flexible, adaptable IT infrastructure.

1.1.2 Services

SOA separates business functions into distinct units, or services. A SOA application reuses services to automate a business process.

A standard interface and message structure define services. The most widely used mechanism are web services standards. These standards include the Web Service Description Language (WSDL) file for service interface definition and XML Schema Documents (XSD) for message structure definition. These XML standards are easily exchanged using standard protocols. Because standards for web services use a standard document structure, they enable existing systems to interoperate regardless of the choice of operating system and computer language used for service implementation.

When designing a SOA approach, you create a service portfolio plan to identify common functionality to use as a service within the business process. By creating and maintaining a plan, you ensure that existing services and applications are reused or repurposed whenever possible. This plan also reduces the time spent in creating needed functionality for the application.

1.1.3 Oracle SOA Suite

Oracle SOA Suite provides a complete set of service infrastructure components for designing, deploying, and managing composite applications. Oracle SOA Suite enables services to be created, managed, and orchestrated into composite applications and business processes. Composites enable you to easily assemble multiple technology components into one SOA composite application. Oracle SOA Suite plugs into heterogeneous IT infrastructures and enables enterprises to incrementally adopt SOA.

The components of Oracle SOA Suite benefit from common capabilities, including a single deployment, management, and tooling model, end-to-end security, and unified metadata management. Oracle SOA Suite is unique in that it provides the following set of integrated capabilities:

1.1.4 Standards Used by Oracle SOA Suite to Enable SOA

Oracle SOA Suite puts a strong emphasis on standards and interoperability. Among the standards it leverages are:

1.1.5 Service Component Architecture within SOA Composite Applications

Oracle SOA Suite uses the SCA standard as a way to assemble service components into a SOA composite application. SCA provides a programming model for the following:

SCA provides a model for assembling distributed groups of service components into an application, enabling you to describe the details of a service and how services and service components interact. Composites are used to group service components and wires are used to connect service components. SCA helps to remove middleware concerns from the programming code by applying infrastructure declaratively to composites, including security and transactions.

The key benefits of SCA include the following:

A SOA composite is an assembly of services, service components, and references designed and deployed in a single application. Wiring between the services, service components, and references enables message communication. The details for a composite are stored in the composite.xml file.

Figure 1-1 provides an example of a composite that includes an inbound service binding component, a BPEL process service component (named Account ), a business rules service component (named AccountRule ), and two outbound reference binding components.

Figure 1-1 Simple SOA Composite Architecture

1.1.5.1 Service Components

Service components are the building blocks that you use to construct a SOA composite application.

The following service components are available. There is a corresponding service engine of the same name for each service component. All service engines can interact in a single composite.

For more information about service components, see Adding Service Components.

1.1.5.2 Binding Components

Binding components establish a connection between a SOA composite and the external world. There are two types of binding components:

Table 1-1 lists and describes the binding components provided by Oracle SOA Suite .

Table 1-1 Binding Components Provided by Oracle SOA Suite

Web service (SOAP over HTTP)

Use for connecting to standards-based services using SOAP over HTTP.

Use for integrating services and references with technologies (for example, databases, file systems, FTP servers, messaging, JMS, IBM WebSphere MQ, Oracle User Messaging Service, LDAP servers, Oracle Coherence cache, and so on) and applications (Oracle E-Business Suite, PeopleSoft, and so on).

This includes the AQ adapter, database adapter, file adapter, FTP adapter, JMS adapter, MQ adapter, socket adapter, Oracle User Messaging Service adapter, LDAP adapter, Oracle Coherence adapter, and third-party adapter.

Use for browsing B2B metadata in the Oracle Metadata Services Repository ( MDS Repository ) and selecting document definitions.

Use for sending and receiving messages to and from a healthcare system.

Use for connecting Oracle Application Development Framework (ADF) applications using SDO with the SOA platform.

Oracle E-Business Suite

Use for integrating the Oracle E-Business Suite adapter with Oracle applications.

BAM 11g adapter

Use for integrating Java EE applications with Oracle BAM 11 g server to send data, and also use as a reference binding component in a SOA composite application.

Note : This adapter can only connect to an Oracle BAM 11 g server.

Use for integrating SDO parameters or Java interfaces with Enterprise JavaBeans.

Direct binding service

Use to invoke a SOA composite application and exchange messages over a remote method invocation (RMI) in the inbound direction and to invoke an Oracle Service Bus (OSB) flow or another SOA composite application in the outbound direction.

Use to integrate SOA composite applications with HTTP binding.

Use to integrate REST services with SOA composite applications and REST-enable SOA composite applications.

Oracle Managed File Transfer (MFT)

Use to transfer files to and from many endpoint types, such as remote and embedded FTP or sFTP servers; directories; and SOAP web service, Oracle SOA Suite , Oracle Service Bus, Oracle B2B, Oracle Healthcare, and Oracle Data Integrator endpoints.

The cloud adapters enable you to send and receive messages from a cloud server.

Oracle SOA Suite 12 c supports the following cloud adapters:

1.1.5.3 Wires

Wires enable you to graphically connect the following components in a single SOA composite application for message communication:

For more information about wires, see Adding Wires.

1.1.6 Runtime Behavior of a SOA Composite Application

Figure 1-2 shows the operability of a SOA composite application using SCA technology. In this example, an external application (a .NET payment calculator) initiates contact with the SOA composite application.

For more information about descriptions of the tasks that services, references, service components, and wires perform in an application, see Service Component Architecture within SOA Composite Applications.

Figure 1-2 Runtime Behavior of SOA Composite Application

Description of Figure 1-2 follows


Description of "Figure 1-2 Runtime Behavior of SOA Composite Application"

The .NET payment calculator is an external application that sends a SOAP message to the SOA application to initiate contact. The Service Infrastructure picks up the SOAP message from the binding component and determines the intended component target. The BPEL process service engine receives the message from the Service Infrastructure for processing by the BPEL Loan Process application and posts the message back to the Service Infrastructure after completing the processing.

Table 1-2 describes the operability of the SOA composite application shown in Figure 1-2.

Table 1-2 Introduction to a SOA Composite Application Using SCA Technologies

Establishes the connectivity between a SOA composite and the external world. There are two types:

The SOAP binding component service :

An example of a reference binding component in Figure 1-2 is the Loan Process application.

Provides internal message transport

The Service Infrastructure:

Service engines (containers hosting service components)

Host the business logic or processing rules of the service components. Each service component has its own service engine.

The BPEL process service engine:

Universal Description, Discovery, and Integration (UDDI) and MDS

The MDS Repository stores descriptions of available services. The UDDI advertises these services, and enables discovery and dynamic binding at runtime.

The SOAP service used in this composite application is stored in the MDS repository and can also be published to UDDI.

SOA archive composite

The deployment unit that describes the composite application.

The SOA archive (SAR) of the composite application is deployed to the Service Infrastructure.

1.1.6.1 Service Infrastructure

The Service Infrastructure provides the following internal message routing infrastructure capabilities for connecting components and enabling data flow:

1.1.6.2 Service Engines

Service engines are containers that host the business logic or processing rules of the service components. Service engines process the message information received from the Service Infrastructure.

There is a corresponding service engine of the same name for each service component. All service engines can interact in a single composite.

1.1.6.3 Deployed Service Archives

The SOA archive (SAR) is a SOA archive deployment unit. A SAR file is a special JAR file that requires a prefix of sca_ (for example, sca_OrderBookingComposite_rev1.0.jar ). The SAR file is deployed to the Service Infrastructure. The SAR packages service components (such as BPEL processes, business rules, human tasks, and Oracle Mediator routing services) into a single application. The SAR file is analogous to the BPEL suitcase archive of previous releases, but at the higher composite level and with any additional service components that your application includes (for example, human tasks, business rules, and Oracle Mediator routing services).

1.1.7 Approaches for Designing SOA Composite Applications

When creating a SOA composite application, you have a choice of approaches for building it:

1.2 Getting Started with Oracle SOA Suite

This guide assists you with developing a SOA composite application.

Table 1-3 Getting Started with Oracle SOA Suite

The basic steps of composite, service and reference binding component, and service component creation in Oracle JDeveloper

Using shared data with the SOA Design-Time Oracle Metadata Services Repository ( MDS Repository )

Designing BPEL process service components in a composite

Designing Oracle Mediator service components in a composite

Designing business rule service components in a composite

Designing human workflow service components in a composite

Designing service and reference binding components in a composite

Functionality that can be shared across components, such as templates, XSLT and XQuery transformations, business events, cross references, and domain value maps

Composite completion tasks such as security policy attachments, deployment, debugging, and automating composite testing

Advanced topics such as management of large documents and large numbers of instances, composite customizations, composite sensors, and the spring framework

1.3 Setting Accessibility Options

Oracle SOA Suite uses both Oracle JDeveloper and Oracle SOA Composer for application development. This section describes accessibility options for both environments.

1.3.1 Setting Accessibility Options in Oracle JDeveloper

Oracle JDeveloper provides accessibility options, such as support for screen readers, screen magnifiers, and standard shortcut keys for keyboard navigation. You can also customize Oracle JDeveloper for better readability, including the size and color of fonts and the color and shape of objects. For information and instructions on configuring accessibility in Oracle JDeveloper , see Oracle JDeveloper Accessibility Information in Developing Applications with Oracle JDeveloper .

1.3.2 Setting Accessibility Options in Oracle SOA Composer and Oracle BPM Worklist

Accessibility settings help you read all components of the application. You can set accessibility options in either Oracle SOA Composer or Oracle BPM Worklist for the current instance or for all instances.

1.3.2.1 How to Set Accessibility Features Before Logging In

Oracle SOA Composer or Oracle BPM Worklist presents the Accessibility menu on the login page, so you can configure accessibility before you log in. These settings can be persisted for only the current session or for all sessions.

To set accessibility options before logging in:

  1. Launch Oracle SOA Composer or Oracle BPM Worklist .
  2. On the login page, click Accessibility in the top right corner.
The Edit Accessibility Settings page appears, as shown in Figure 1-3.
1.3.2.2 How to Set Accessibility Options After Logging In

Once you log in to Oracle SOA Composer or Oracle BPM Worklist , you can configure accessibility options from any page. This changes the user preferences, which are retained through all sessions until you change them again.

To set accessibility options after logging in:

  1. Launch Oracle SOA Composer or Oracle BPM Worklist and log in.
  2. From any page, select Preferences in the top right corner.