1Z0-451: Oracle SOA Foundation Practitioner Exam Reference


(For more resources on Oracle SOA, see here.)

SOA concepts

The service-oriented architecture concepts are as follows:

  • Service Component Architecture (SCA) is the key enabler of the 11g service platform.
  • SDO provides a metadata API, which allows applications, tools, and frameworks to introspect the data model for a data graph.
  • SDO specifications are different from SCA specifications. SCA promotes the use of SDO to represent the business data for assembly and transportation.
  • Business events are not currently part of SCA specifications; they are in the process of getting incorporated into SCA specifications.
  • JCA contributes towards the SOA application standard to establish communication between different applications or enterprise information system such as file, database, queue, topic, and so on.
  • XQuery is an XML traversal path in an XML document to obtain information about a node or a subset of nodes.
  • UDDI is a standard method for publishing and discovering SOA components.
  • WS-Reliable Messaging supports standards to transmit messages with high reliability to enable the QOS. WS-Addressing, WS-I, WS-Security are standards that supplement the WS-RM standards.
  • WS-Coordination supersedes WS-Transaction and WS-AtomicTransaction in defining the context management properties for Web Service transaction management.
  • Oracle has intentionally not implemented nested SCA specifications as the nested composite application implementation leads to circular reference issue.

SOA composite applications

The key components that build the SOA composite applications are as follows:

  • Oracle BPEL process components used for process/service orchestration.
  • Oracle Business Rule components used for centralized services/ process-related business rule implementation and execution.
  • Various adapter services such as file, JMS, and database adapters.
  • Oracle Mediator components used for filter, data transformation, and routing.
  • Oracle Human Task components used to define the human actions to be executed in the business process flow.
  • EDN that supports an event-driven architecture for event-driven applications.
  • Wires are used to create interaction between service end points, components, and references in SOA composites.
  • A composite is the unit of deployment for SCA. It holds services that can be accessed remotely and it contains one or more components.
  • SCA components are integrated together into one application and communicate with the outside world through binding components such as adapters and Web Services.
  • The ADF BC component can be configured to publish events for the CRUD operations it can perform.
  • SCA provides an assembly model for SOA-style applications.
  • SCA components are basic elements of business functions in an SCA assembly. Components are combined into complete business solutions by SCA composites.
  • Oracle User Messaging Service (UMS) provides a common service responsible for sending out messages from applications to devices.
  • Service interactions within SOA Suite are handled using Oracle Mediator.
  • Service Virtualization cannot be achieved using Mediator.
  • Oracle Service Bus or Enterprise Service Bus is required to carry out Service Virtualization. Only mediation of a service can be achieved using Oracle Mediator.
  • The BPEL/BPM Engine represents the orchestration component of SOA infrastructure.
  • Oracle BPEL Engine supports BPEL 1.1 and 2.0.
  • Incoming and outgoing XML documents for a Partner Link can be validated by setting the validateXML property on a Partner Link to true.
  • Metadata Service (MDS) allows you to share common artifacts such as XML schemas across SOA composites. It supports two types of repositories, namely, file-based repository and database repository.
  • The Service Infrastructure provides the internal message routing infrastructure capabilities for connecting components and enabling data flow.
  • The Service Infrastructure is responsible for the internal routing of messages between service engines and binding components.
  • Weblogic JMS is used as a messaging layer for delivering events through EDN. EDN can also be configured to use EDN-DB. EDN-DB uses an Oracle database as a backend store.
  • Event definitions are stored in the EDL file.
  • Event Delivery Network can work across SOA Suite.
  • Business Activity Monitoring (BAM) is used for visualizing and monitoring business activity.
  • Oracle Service Registry supports UDDI V3 standard.

Working with adapters

  • Adapters are used in Oracle SOA Suite 11g to connect to non-service enabled backend systems.
  • File adapter supports four types of operations: read file, write file, synchronous read, and list files.
  • FTP adapter supports four types of operations: get, put, synchronous get file, and list files.
  • Oracle FTP and file adapter do not support XA transaction.
  • XA transaction is supported by all JCA-compliant adapters (for example: DB, JMS, AQ adapter).
  • Inbound adapter-rejected messages are handled through fault policies.
  • The SCA component should participate in the XA transaction and the other adapter should not have the idempotent property enabled.
  • Fault policy doesn't work for both outbound adapters in XA mode and outbound adapters with Mediator in sequential routing.
  • Oracle file adapter provides an option to delete the files after processing. This can be enabled by selecting delete after processing the checkbox in the Adapter Configuration Wizard.
  • Larger payload support is available in Oracle File Adapter.
  • The Oracle adapters support metadata service. The Oracle File Adapter and the FTP adapter provide the features to read the metadata information such as filename, file modified date, and so on. The 'Do not read file content' option in the file adapter helps to achieve this.
  • Adapter Configuration Wizard is the required feature to generate the WSDL for both the request-response and event-notification service.

Orchestrating services with BPEL

The following image shows the list of BPEL activities:

List of BPEL activities

The standard BPEL constructs are given in the following table:






Provides the feature to invoke the required Partner Link.


Partner Link

Partner Link is a Web Service or adapter that is called from the BPEL process.



Receive activity can be used to receive the message to the BPEL process. This can be used at the start or in the middle of the BPEL process.



Reply activity is used to reply back to the caller of the message. This is used by the BPEL process in synchronous communication.



Assigns the variables to values or expressions.



The Compensate activity is a business activity that compensates for the previous executed steps.



The Empty activity is used to represent that no action is required on the branch of Flow or While.



The Terminate activity ends the BPEL process execution.



Throw activity throws the fault that is captured in the Catch block or the Fault that is constructed in the Catch All block.



The Wait activity provides features to pause the BPEL process execution for a specified period of time.



The Flow activity  is a unique activity for BPEL. It helps to run tasks in parallel. There are two types of Flow activities.



Pick  is also a unique activity for BPEL. This activity is used to receive the message from various different Partner Links.

It is used in an asynchronous BPEL process. This can also be used at the start or in the middle of the BPEL process.



Scope  is the activity used to group the set of BPEL activities for logically grouping a set of actions to handle faults, define local variables for manipulation, and so on.



Sequence is another grouping construct that is used to sequence the list of BPEL activities.



Switch is used in a very similar way to Switch Case constructs in C programming language.



While is a looping construct that is used to execute the list of actions until the condition specified in While constructs return to false.


If (BPEL 2.0)

Switch is replaced with If in BPEL 2.0. This construct helps us perform the if-else operations.


Repeat Until (BPEL 2.0)

This is an additional construct introduced in BPEL 2.0 to repeat certain actions until the condition is met.


ReThrow (BPEL 2.0)

This is an additional construct that allows you to re-throw the fault caught in the Fault Handler block.


ForEach (BPEL 2.0)

This is an additional construct introduced in BPEL 2.0. This will replace the FlowN construct by allowing parallel execution.


The Oracle extensions to BPEL constructs are given in the following table:






Activity to send an e-mail to any target recipient.


User Notification

Uses the UMS (Unified Messaging Framework) to send SMS, e-mail, IM, and voice messages.



Validates a variable data against the schema definition.



Sends an instance message to the required person.



Checkpoint activity helps to dehydrate the BPEL process to the database.



This is a special purpose activity which helps to construct an output message based on the business rules defined around the inputs message. This can be used as a replacement for data transformation where multiple condition checks are used.



This activity enables the sending of a telephone voice notification.



This activity is used in the master process to send a signal to the detailed process.


Receive Signal

This activity is used in the detail process to receive a signal sent from the master process.


Create Entity

This activity allows the creation of an entity variable.


Bind Entity

This activity allows the binding of an entity variable.



This activity allows the calling of an XSLT function from BPEL.

  • BPEL schema validation can be done to validate activity.
  • BPEL exposed as a service can have multiple operations.
  • The process will not be terminated when a fault is thrown from the BPEL process.
  • Pick without Alarm can be the first activity in the BPEL process.
  • Pick cannot be the very first activity in the BPEL process.
  • Events can be generated from BPEL.
  • Fault policies can be used to handle a composite fault as well as a component-level fault.
  • SyncMAxWait is a BPEL container property that controls the synchronous response time of a BPEL. If the BPEL doesn't respond to the caller within this wait time, the BPEL transaction will be timed-out.
  • The doTransformation function takes multiple input parameters for transformation.
  • Wait, Checkpoint, Pick, Mid-process receive activities will dehydrate a BPEL process forcefully.

(For more resources on Oracle SOA, see here.)

Advanced BPEL concepts

The advanced BPEL concepts are as follows:

  • BPEL provides rich features to handle faults.
  • Faults can be managed through Catch, Catch All, Compensate, and also through Fault policies.
  • The purpose of the compensation activity is to do a business rollback rather than a transaction rollback of a physical transaction. Compensate is not used for an ACID purpose; it compensates for an asynchronous activity in the business process flow.
  • The faults that are defined by WS-BPEL specifications are standard faults.
  • A BPEL process in SOA Suite 11g supports the business and runtime fault categories.
  • If a fault policy is defined, it overrides the fault handling in the BPEL process.
  • Faults are notified and handled differently for synchronous and asynchronous invocations.
  • The bpelx:replay fault is used to replay the scope by throwing a replay fault.
  • Fault policy and fault policy bindings are defined in fault-policies. xml and fault-bindings.xml, and they are bound to a composite using composite.xml.
  • A custom fault policy needs to implement the oracle.integration. platform.faultpolicy.IFaultRecoveryJavaClass interface.
  • The order of precedence in a BPEL process, which the Fault policy execution follows is:
    • Fault policies specified in composite.xml
    • Fault handlers configured using the Catch block at scope level and the Catch All at process level (main scope)
  • BPEL supports both DOM and SDO data forms.
  • The FlowN activity creates multiple flows equal to the value of N, which is defined at runtime based on the data available and logic within the process.


Mediator provides the following list of features:

  • Routing between components in an SCA assembly.
  • Validation of incoming messages into an SCA assembly.
  • Transformation of data from one format to another within an SCA assembly.
  • Filtering to allow the selection of components to invoke based on the message content.
  • Oracle Mediator supports static and dynamic routing rules.
  • XSL transforms can be used in Mediator to provide mappings between one data format and another.
  • Validation of input data to Mediator can be done using the Schematron file. Input data can also be validated against an XSD using the validate syntax option in the Mediator option.
  • Mediator has a feature to create events on target types for static or dynamic rules.
  • Dynamic routing of messages is possible through the asynchronous interface in Mediator.
  • Dynamic routing of rules in the Oracle Mediator component allows the externalizing of the routing logic to an Oracle Rules Dictionary.
  • EDN uses JMS to deliver events from subscribers to publishers, but the configuration of JMS queues and topics and any associated filters is hidden from users of the EDN service.
  • Business events are defined using the Event Definition Language (EDL) in Oracle SOA Suite 11g.
  • Header properties are not propagated to the target service automatically. If the pass through property is enabled, it is propagated automatically.
  • When the underlying WSDL is changed, the Mediator need not be rebuilt; it can be refreshed to obtain the changes in the WSDL.
  • Switch case is the first action in Mediator, followed by transformation, assignment, and invoking of the required service/event.
  • Oracle Mediator initiates a new transaction for processing each parallel run.
  • The callout class must implement the oracle.tip.mediator.common.api. IjavaCallout interface.
  • Callouts are available for both static and dynamic routings.
  • Oracle Mediator provides support for setting rules based on message payload or message headers.
  • Oracle Mediator provides support for synchronous and asynchronous request and response interactions.
  • A routing rule can be either executed in parallel or sequentially.
  • Oracle Mediator supports data transformation from one XML schema to another using XSL.
  • Oracle Mediator provides support for validating the incoming message payload using a Schematron or an XSD file.
  • Oracle Mediator supports subscribing to business events and raising business events.
  • Oracle Mediator can process messages consisting of multiple parts.
  • Oracle Mediator supports both manual error handling and error handling based on a fault policy.
  • Oracle Mediator WSDLs can be modified by adding or deleting operations. After modifying the WSDL file, use the refresh WSDL dialog to synchronize the changes.
  • The echo option is available for synchronous operations like request/reply and request/reply/fault.
  • The echo option is not available for Oracle Mediator interfaces having request/reply/fault/callback WSDL files or for one-way WSDL files.
  • The echo option is only available for synchronous operations when the routing rule is sequential.
  • The priority property is applicable only to parallel routing rules.
  • You cannot route an Oracle Mediator response to a two-way service. If you want to route a response to a two-way service, you should use a one-way Oracle Mediator between the first Oracle Mediator and the two-way service. The response should first be forwarded to the one-way Oracle Mediator, which in turn should call the two-way service.
  • All the fault policies for a composite are loaded when the first error occurs. At runtime, Oracle Mediator checks whether there is any policy defined for the current error. If a fault policy is defined, then Oracle Mediator performs the action according to the configuration in the fault policies file. If there is no fault policy defined, then the default action of human intervention is performed.
  • Error groups in Oracle Mediator are:
  • Schematron files are not compiled or validated by the Oracle SCA compiler.

Business rules

The Business rules are as follows:

  • Oracle Business Rule follows RETE Algorithm.
  • Business rules can be used to make choices regarding routing rules. This can be done using the dynamic business rule option.
  • Oracle Business Rule Engine supports four types of facts: Java facts, XML facts, RL facts, and ADF facts.
  • Facts represent the data or business objects that can be used by rules.
  • A global variable is similar to a public static variable in Java.
  • Bucketsets define the data types of fact properties.
  • Bucketsets are used as a constraint to define a set of acceptable values for a fact or a property.
  • Links are used to link to a dictionary in the same application or in another application.
  • Decision function is a function that is configured declaratively, without using RL language programming.
  • A ruleset is a collection of one or more rules that is seen as a unit of execution.
  • The Dictionary holds facts, rules, and rulesets.

Human workflow

  • The task routing service deals with the dispatching and assigning of tasks
  • With Oracle ADF, you can design Oracle Human Task display forms that depict the human task in the SOA composite
  • Human Workflow Engine contains the task management service, identity service, and notification service

Monitoring and managing SOA 11g deployment

The monitoring and managing of SOA 11g deployment is done as follows:

  • SOA Suite 11g provides the ability to simultaneously host multiple versions of a given composite
  • In an enterprise manager, each instance is uniquely identified with an ECID
  • Oracle Enterprise Manager SOA Suite 11g performs administrative tasks like configuring, monitoring, and managing of runtime artifacts
  • An Oracle SOA Composite Application can be deployed using ANT scripts, enterprise manager, JDeveloper, or from command-line utilities
  • The deployment unit of an SOA composite is the SCA archive file or a .sar file
  • Business events could be monitored using enterprise manager of Fusion Middleware Console
  • Shared data is deployed to MDS in Metadata Archives (MAR files)

SOA 11g integration points

  • Messages pass through the pipelines one-way; they cannot travel through both ways
  • Proxy services have message flows and provide mediation capabilities such as data transformation
  • Content-based routing is supported by the dynamic routing feature using XPath expressions
  • Oracle service bus supports request, response, and error pipelines
  • Oracle service Bus can monitor the performance of proxy and business services and fire alerts based upon SLA definitions
  • Performance, service throttling, service pooling, service caching, and flexibility are services provided by OSB as enhancements to the ESB core architecture
  • B2B supports HL7, RosettaNet, ebXML, and EDI, EDIFACT
  • ODI is recommended for the large payload
  • BAM server components consist of ActiveDataCache, EventEngine, and ReportCache
  • BAM data will be stored in memory in a component called Active Data Cache
  • Oracle Complex Event Processing (CEP) is a complete solution for building applications to filter, correlate, and process events in real-time so that downstream applications, service-oriented architectures, and event-driven architectures are driven by true, real-time intelligence


  • JDeveloper provides a Web Service test tool through which the Web Service can be tested and a response can be obtained using the tool
  • Automated upgrade of 10g design-time artifacts is supported for Oracle BPEL and Oracle ESB
  • Managed server is an instance of an Oracle WebLogic server used to host customer-deployed applications
  • JDeveloper is used as an Oracle SOA composite editor
  • OWSM gateways are not supported in Oracle SOA Suite 11g
  • The following table lists the difference between Oracle SOA Suite 10g and 11g:





Application server

Oracle Application Server

Web logic

Service bus


Mediator (Note: This will only mediate the request between the Oracle SOA components in the composite)

Orchestration engine


BPEL - new activities like create, bind, remove entity, and signals

SDO support

Not available

Available in BPEL

Component architecture

Not available


Large file handling

Not available


Scalable DOM support

Not available


Logging support

Custom code

Through policy


Available in the ESB console

Can be created from JDeveloper

Cross reference

Available through the command-line tool

Can be created from JDeveloper


OWSM is used

Security policies can be used

Business rules

Business rule console is used to update and edit it

Rules can be created and updated using JDeveloper


Not available

The EDN framework available for publishing and subscribing to events

End-to-end tracking of application

Not available

ECID helps to track the instances end-to-end


Only BPEL faults are supported

Mediator and BPEL faults can be handled

Streaming support in the adapter

Not available





Transformation - multiple sources

Not available



Sensor framework is used to integrate with BPEL

Sensor framework + BAM adapter are provided


This article provided key points to be remembered for the 1Z0-451 Oracle SOA Foundation Practitioner exam, and other additional details that are required to understand Oracle SOA Suite 11g in detail.

Further resources on this subject:

You've been reading an excerpt of:

Oracle SOA Infrastructure Implementation Certification Handbook (1Z0-451)

Explore Title