|Oracle® Fusion Middleware Administrator's Guide for Oracle SOA Suite
11g Release 1 (11.1.1)
Part Number E10226-01
This chapter provides a brief introduction to Oracle Fusion Middleware, Oracle Service-Oriented Architecture (SOA) Suite, and administration of Oracle SOA Suite from Oracle Enterprise Manager Fusion Middleware Control Console.
This chapter includes the following topics:
For more information about Oracle Enterprise Manager Fusion Middleware Control Console administrative tasks and Oracle Fusion Middleware concepts, see the following documents:
Oracle Fusion Middleware is a collection of standards-based software products that spans a range of tools and services: from Java EE and developer tools, to integration services, business intelligence, and collaboration. Oracle Fusion Middleware offers complete support for development, deployment, and management.
Oracle SOA Suite is a middleware component of Oracle Fusion Middleware. Oracle SOA Suite provides a complete set of service infrastructure components for designing, deploying, and managing SOA composite applications. Oracle SOA Suite enables services to be created, managed, and orchestrated into SOA composite applications. 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.
You can administer Oracle SOA Suite from Oracle Enterprise Manager Fusion Middleware Control Console. The following sections provide an overview of the components of Oracle SOA Suite:
For introductory information about Oracle SOA Suite, see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
The SOA Infrastructure is a Java EE-compliant application running in Oracle WebLogic Server. The application manages composites and their life cycle, service engines, and binding components.
You deploy SOA composite applications designed in Oracle JDeveloper to the SOA Infrastructure. In the example shown in Figure 1-1, many SOA composite applications are deployed to the SOA Infrastructure and are visible in Oracle Enterprise Manager Fusion Middleware Control Console.
From the SOA Infrastructure home page, you can perform administration tasks such as monitoring SOA composite applications, monitoring individual composite instances, and updating the state of SOA composite applications and individual composite instances. You can also perform corrective actions such as fault recovery.
Figure 1-1 SOA Composite Applications Deployed in the SOA Infrastructure
You can click a specific SOA composite application in the Composite table to access its home page. Figure 1-2 shows the upper part of the home page for the EventMediatorDemo SOA composite application. From the SOA composite application home page, you can perform administration tasks such as monitoring instances, recovering from faults, managing the state of application instances, and attaching policies. You can also perform a limited number of configuration tasks at the SOA composite application level, such as specifying the composite audit level and payload validation.
Figure 1-2 SOA Composite Application Home Page (Upper Part)
Figure 1-3 shows the lower part of the home page for the EventMediatorDemo SOA composite application. The service components and service and reference binding components included in the EventMediatorDemo are shown.
Figure 1-3 SOA Composite Application Home Page (Lower Part)
For more information, see the following sections:
SOA composite applications such as those shown in the Deployed Composites page in Figure 1-1 consist of the following:
Service components such as Oracle Mediator for routing, BPEL processes for orchestration, human tasks for workflow approvals, and decision services for working with business rules
Binding components (services and references) for connecting SOA composite applications to external services, applications, and technologies
These components are assembled into a single SOA composite application. Having the components assembled into one unit of deployment (the application) greatly simplifies the management and life cycle of SOA applications.
Figure 1-4 provides an example of a SOA composite application in the SOA Composite Editor in Oracle JDeveloper. Service binding components (such as orderprocessor_client_ep) advertise their capabilities to external consumers. The service exposes a public interface of the SOA composite application (OrderBookingComposite) consisting of BPEL process, Oracle Mediator, human task, and decision service components. A wire connects the service to a specific component or reference in the composite. Reference binding components (such as CreditCardAuthorizationService and PartnerSupplierService) enable messages to be sent from the SOA composite application to external services. The service binding components, service components, and reference binding components are wired (connected) for communication.
Figure 1-4 SOA Composite Application
The service components and binding components included in a SOA composite application appear in the lower part of an application home page, as shown in Figure 1-3 and Figure 1-5. The example in Figure 1-5 shows two service components (OrderPublisher and EventMediator) and two binding components (service OrderPublisher_ep and reference OrderLogger). You can click a specific service component or binding component to access its home page.
Figure 1-5 Service Components and Binding Components of a SOA Composite Application
For more information, see the following documentation:
When a SOA composite application is invoked, a new composite instance is created. This instance is identified by a unique instance ID that displays in pages of Oracle Enterprise Manager Fusion Middleware Control Console. For example, Figure 1-6 shows instance IDs displaying for the AutoLoanComposite, CompositeTest, and EventMediatorDemo SOA composite applications in the Instances page of the SOA Infrastructure. You can click these IDs to access more specific details about the state of SOA composite application instances. From the Instances page, you can also monitor the state of SOA composite application instances.
Instances that you create as unit tests from the Test Runs page are distinguished from those created automatically or manually from the Test Web Service page by a little yellow box. This box displays to the left of the instance ID, as shown in Figure 1-6. This box is visible in both the Instances page and in the Recent Instances table of the Dashboard page of the SOA Infrastructure and SOA composite application.
For some SOA composite applications, conversation IDs are also generated. Conversation IDs provide another method for distinctly identifying a set of generated instances. As shown in Figure 1-6, conversation IDs do not automatically display for all instances. To see a conversation ID generated, perform one of the following tasks:
Programatically invoke the service and pass a unique ID through a WS-Addressing header (
Create an instance using the Test Web Service page. The only exception to this is when the Enable Stress Test check box of the Additional Test Options section on the Test Web Service page is selected. In that case, a conversation ID is not created for the instance.
Figure 1-6 SOA Composite Application Instance IDs
For more information, see the following sections:
SOA composite applications include service components. Service components are the basic building blocks of SOA composite applications. Service components implement a part of the overall business logic of the SOA composite application.
The following service components can be used in a SOA composite application:
From the service component home page in Oracle Enterprise Manager Fusion Middleware Control Console, you can perform administration tasks such as monitoring instances, recovering from faults, and attaching policies.
As described in Section 1.2.3, "Understanding SOA Composite Application Instances," each application instance has its own instance ID. Each service component instance included in a SOA composite application instance also has its own instance ID that displays in Oracle Enterprise Manager Fusion Middleware Control Console. Figure 1-7 shows an instance ID (workflow:200000) displaying in the Instance ID column for the VacationRequestTask human task service component of the VacationRequest SOA composite application. You can monitor the state of that service component instance from the Instances page. You can also click this instance to access more specific details about the service component.
Figure 1-7 Service Component Instance IDs
For more information about administering service components, see the following sections:
Binding components connect SOA composite applications to external services, applications, and technologies (such as messaging or databases). Binding components are organized into two groups:
Services — Provide the outside world with an entry point to the SOA composite application. The WSDL file of the service advertises its capabilities to external applications. The service bindings define how a SOA composite service can be invoked (for example, through SOAP).
References — Enable messages to be sent from the SOA composite application to external services (for example, the same functionality that partner links provide for BPEL processes, but at the higher SOA composite application level).
In Oracle Enterprise Manager Fusion Middleware Control Console, you can perform binding component administration tasks such as attaching policies, monitoring rejected messages, and setting binding component properties. Figure 1-8 shows the home page of a service binding component.
Figure 1-8 Binding Components
For more information, see Part XIV, "Administering Binding Components".
The SOA Infrastructure includes a set of service engines (BPEL process, human workflow, decision service, and Oracle mediator) that execute the business logic of their respective components within the SOA composite application (for example, a BPEL process).
Figure 1-9 provides an example in Oracle Enterprise Manager Fusion Middleware Control Console of the BPEL process service engine. In this engine, the Calling, LoanService, and CreditRatingService BPEL process service components run. Note the multiple instance IDs for LoanService and CreditRatingService. The BPEL process service components are included in two separate SOA composite applications:
Calling is included in the Calling SOA composite application.
LoanService and CreditRatingService are included in the CompositeTest SOA composite application.
However, each BPEL process service component runs in the same BPEL process service engine. You can click the links on the page to see more details about each BPEL process service component instance, the service component itself, or the SOA composite application in which it is included.
Figure 1-9 Service Components Running in a Service Engine
In Oracle Enterprise Manager Fusion Middleware Control Console, you can perform service engine administration tasks such as monitoring instances, recovering from faults, manually recovering (BPEL) failed messages, and configuring properties specific to each service engine. These configuration properties impact all service components that execute in the service engine, no matter which SOA composite application the service components are included in. The service engine pages also include engine-specific statistics and performance metrics.
For more information about administering service engines, see the following sections:
The service infrastructure provides the internal message transport infrastructure for connecting components and enabling data flow. The service infrastructure is responsible for routing messages along the wire connections between services, service components, and references.
For more information, see the following sections:
Your SOA composite application can consist of a variety of service components, binding components, and services that you administer from Oracle Enterprise Manager Fusion Middleware Control Console:
Decision services (Oracle Business Rules)
Oracle User Messaging Service
For conceptual information about these service components, binding components, and services, see Oracle Fusion Middleware Getting Started with Oracle SOA Suite.
You can perform a variety of Oracle SOA Suite administration (configuration, monitoring, and management) tasks from Oracle Enterprise Manager Fusion Middleware Control Console. This section provides an overview of these tasks:
The administrative tasks that you can perform are based on the roles to which you are mapped; each role corresponds to a different set of privileges. Certain users can be mapped to simple monitoring privileges (for instance view-only access), while other users can be granted full access, including the ability to update configurations, restart servers, and so on. For more information about roles in Oracle Enterprise Manager Fusion Middleware Control Console, see Appendix C, "Oracle Enterprise Manager Roles."
You can perform Oracle SOA Suite configuration tasks in Oracle Enterprise Manager Fusion Middleware Control Console. Configuration tasks consist of setting properties such as audit levels and payload validation for your environment. Properties can be set in the following areas:
SOA Infrastructure (impacting all SOA composite applications)
Service engines (impacting all service components that execute in the engine, no matter the SOA composite application in which they are included)
SOA composite application (impacting all service components that are included in that composite application)
Oracle B2B bindings
Service and reference binding components message header properties
In terms of order of precedence, inherited SOA composite application property settings (such as audit level settings and payload validation) take the highest precedence, followed by service engine settings, followed by SOA Infrastructure settings. Most properties do not have this type of precedence to consider.
For more information, see the following sections:
You can perform Oracle SOA Suite monitoring tasks in Oracle Enterprise Manager Fusion Middleware Control Console, including monitoring the following:
Instances, faults, and rejected messages in the SOA Infrastructure, SOA composite applications, service components, service engines, and service and reference binding components
Service engine, service infrastructure, and binding component processing request performance
Service and reference binding component message processing totals and average processing times
Audit trail and process flow behavior in service components
Service engine request and thread states in BPEL processes and human workflows
You can perform Oracle SOA Suite management tasks in Oracle Enterprise Manager Fusion Middleware Control Console, including managing the following:
Startup and shutdown of the SOA Infrastructure application
Composite state (activating, retiring, starting, stopping, and setting the default composite version)
Deleting and aborting composite instances
Deployment, undeployment, and redeployment actions for SOA composite applications
Manual initiation of SOA composite application test instances from the Test Web Service page
Recovery from faults in SOA composite applications, service components, service engines, and business events
Manual recovery of failed messages in BPEL processes
Unit testing of SOA composite applications
Attachment of policies to SOA composite applications, service components, and binding components
Incoming and outgoing notification messages in human workflow
Subscriptions to business events and testing of event publications
The following sections provide a more specific overview of several management tasks:
Note:Backup and recovery of Oracle SOA Suite is described in Oracle Fusion Middleware Administrator's Guide.
You can perform fault recovery actions on BPEL process, Oracle Mediator, human workflow, and business event subscription faults (which include database and component subscription faults) identified as recoverable in Oracle Enterprise Manager Fusion Middleware Control Console. The following types of fault recovery are supported:
Recovery from individual faults, where you have access to the most granular recovery options specific to each type of fault
Recovery from multiple (bulk) faults, where you select multiple faults for recovery
You can perform individual and bulk recovery actions on recoverable faults at the following levels:
Faults occurring in all SOA composite applications in the SOA Infrastructure
Faults occurring in an individual SOA composite application
Faults occurring in service components
Faults occurring in service engines
Faults occurring in business events
You perform fault recovery on faults identified as recoverable in Oracle Enterprise Manager Fusion Middleware Control Console. For BPEL process faults to be identified as recoverable, there must be a fault policy defined that is bound to the fault (through the
fault-bindings.xml file) and which triggers the action
ora-human-intervention. A BPEL component fault can be recovered in only this case. If no fault policy is defined as part of the composite, then a recoverable BPEL process fault is not possible.
You define a fault recovery policy in the
fault-bindings.xml files outside of Oracle Enterprise Manager Fusion Middleware Control Console. These files are packaged with the SOA composite application that you deploy to the SOA Infrastructure and administer in Oracle Enterprise Manager Fusion Middleware Control Console.
Oracle Mediator and human workflow faults do not have the same behavior; they can create recoverable faults without any fault policy. For errors in human task service components or human workflow service engines, you perform fault recovery on faults identified as recoverable from the Oracle BPM Worklist.
System: Network errors or other types of errors such as a database server or a Web service being unreachable.
Oracle Web Service Manager (OWSM): Errors on policies attached to SOA composite applications, service components, or binding components. Policies apply security to the delivery of messages.
Recoverable or nonrecoverable:
Only certain types of faults are identified as recoverable. Table 1-1 provides examples of several recoverable and nonrecoverable faults.
A fault is classified as a rejected message based on where it occurs. If a fault occurs before entering a SOA composite, without generating a composite instance, it is classified as a rejected message. A system or a policy fault can be identified as a rejected message.
Table 1-1 Faults
|Recoverable Faults||Nonrecoverable Faults|
For more information on performing fault recovery, see the following sections:
You can attach and detach policies at the following levels in Oracle Enterprise Manager Fusion Middleware Control Console:
SOA composite applications
Service and reference binding components
Policies apply security to the delivery of messages. Oracle Fusion Middleware uses a policy-based model to manage Web services. The following types of policies are supported:
Security — Implements WS-Security 1.0 and 1.1 standards. They enforce authentication and authorization of users, identity propagation, and message protection (message integrity and message confidentiality).
Reliable Messaging — Supports the WS-ReliableMessaging protocol, guaranteeing the end-to-end delivery of messages.
Message Transmission Optimization Mechanism (MTOM) — Ensures that attachments are in MTOM format, a format for efficiently sending binary data to and from Web services.
WS-Addressing — Verifies that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification. Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information.
Management — Logs request, response, and fault messages to a message log. Management policies can include custom policies.
Policies are part of an enterprise policy framework that allows policies to be centrally created and managed.
For more information, see the following documentation:
Oracle Fusion Middleware Security and Administrator's Guide for Web Services for definitions of available policies and details about which ones to use for your environment
A policy attached to an Oracle Mediator service component is executed on the wire before the message is passed to the Oracle Mediator. This causes the fault to display in the service binding component instead of the Oracle Mediator.
A policy attached to a human task service component is executed in the preceding BPEL process service component before the message is passed to the human task service component. This causes the fault to display in the BPEL process service component instead of the human task service component.
To see the exact location of the policy error, view the audit trail.
You can administer the entire life cycle state of deployed SOA composite applications from Oracle Enterprise Manager Fusion Middleware Control Console. An application is automatically activated when you deploy it to the SOA Infrastructure. During deployment, you can specify a specific revision number for the application. A revision is a specific deployed version of the application. You can deploy multiple revisions of an application, enabling all to run at the same time.
This is a key benefit of revisions. For example, you may have an older revision of an application running with one customer that is still valid. You then begin a partnership with a different customer that requires a slight modification to the design of the application. At some point, you plan to migrate the old customer to the newer revision of the application, but for now that is not necessary. Revisions enable you to run both applications.
The revision value is added to the application name in Oracle Enterprise Manager Fusion Middleware Control Console. For example, in Figure 1-1, revision 1.0 is the version for many deployed SOA composite applications. If a new request comes in for a specific composite application revision, that composite application revision is invoked. If a new request comes in without specifying a revision, the default revision is invoked. A small green dot distinguishes the default revision from other revisions.
You can perform the following life cycle administration tasks on a SOA composite application from Oracle Enterprise Manager Fusion Middleware Control Console:
Create an instance.
Stop and restart application revisions. An application revision is typically started instantly after deployment.
Retire and activate application revisions. Application revisions are instantly activated upon deployment.
Set an application as the default version.
Deploy, undeploy, and redeploy application revisions.
Delete specific instances of an application revision.
For more information about administering the life cycle states of a SOA composite application, see the following sections:
You can create, deploy, and run test cases that automate the testing of SOA composite applications. Test cases enable you to simulate the interaction between a SOA composite application and its references before deployment in a production environment. Test suites consist of a logical collection of one or more test cases. Each test case contains a set of commands to perform as the test instance is executed. The execution of a test suite is known as a test run. Each test corresponds to a single SOA composite application instance. Instances generated by the execution of these tests are distinguished as test instances by a little yellow box next to their instance ID, as shown in Figure 1-6.
Uses emulations to simulate the behavior of components with which your SOA composite application interacts during execution. Instead of invoking a specific component, you can specify a response from the component.
Uses assertions to validate data during process execution.
For information about designing test cases for SOA composite applications, Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.