Start your engines - here is a list of new SOA Suite 11g PS2 features (all of the below, except BPEL 2.0 are production ready and supported)

  • SOA Infra's Spring C&I implementation (based on weblogic sca for java) becomes full production.
    • Inbound / outbound EJB 2|3.0 binding for composite services
    • Transparent wsdl2java and vice versa mapping (including async callbacks) at design time and runtime, including support for SCA's "interface.java"

      Buildfile: C:\JDeveloper\11.1.1.3\jdeveloper\bin\ant-sca-compile.xml
      scac:
           [scac] Validating composite "C:\_Business\11g\samples_new\soa_samples_spring\spring-105-AsyncInterations\composite.xml"
           [scac] ### clazz: interface asyncinteractions.spring_105_asyncinterations.com.example.AsyncInteractions
           [scac] ### qname: {http://example.com/spring_105_asyncInterations/AsyncInteractions}AsyncInteractions
           [scac] ### clazz: interface asyncinteractions.spring_105_asyncinterations.com.example.AsyncInteractionsCallback
           [scac] ### qname: {http://example.com/spring_105_asyncInterations/AsyncInteractions}AsyncInteractionsCallback

  • External EJB data-binding mapping support (based on toplink's external mapping facility)
    • This allows to specify type mappings (e.g. list -> list <Employee>) without code modifications, just by adding a side file like the below into the classpath 

      <java-web-service-endpoint xmlns="http://xmlns.oracle.com/weblogic/weblogic-wsee-databinding"
         xmlns:oxm="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" databinding="toplink.jaxb">
        <xml-schema-mapping>
            <toplink-oxm-file file-path="./Team-oxm.xml" java-package="jwsur.exmteam"/>
        </xml-schema-mapping>
        <java-methods>
           <java-method name="getTeams">
             <java-params>
               <java-param>
                  <oxm:xml-element type="jwsur.exmteam.Team"/>
                </java-param>
             </java-params>
           </java-method>
         </java-methods>
      </java-web-service-endpoint>
  • Additional component implementation / bindings in the designer
    11gR1 Patchset 2 ~ 11.1.1.3.0 (SOA) features .._java
  • Full support for sync / async interfaces, mapping between the component's interface & callback interface and "sca:service -> bean -> sca:reference" to adhere to spring's development model and don't force developers into a BPEL' alike model
  • Audit-trail / flow trace support for new components and addition to Fusion Order Demo [partner supplier composite]
    11gR1 Patchset 2 ~ 11.1.1.3.0 (SOA) features .._ide_02  
Full and complete support for BPEL 2.0 (runtime, seriously) ~ PREVIEW in this release
  • Additions for EM / flow trace
    11gR1 Patchset 2 ~ 11.1.1.3.0 (SOA) features .._java_03
  • and of course ..
    <process name="Test" targetNamespace="http://samples.otn.com/bpel2.0/ch11.4"
        suppressJoinFailure="yes" 
    xmlns:tns="http://samples.otn.com/bpel2.0/ch11.4" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"> <!-- This test case test BPEL 2.0 spec's 11.4. Repetitive Execution - While --> <partnerLinks> <partnerLink name="client" partnerLinkType="tns:Test" myRole="TestProvider"/> </partnerLinks> <variables> <variable name="input" messageType="tns:TestRequestMessage"/> <variable name="output" messageType="tns:TestResultMessage"/> <variable name="count" type="xsd:integer"/> </variables>
    [..]
Reintroduction of "BPEL domains" - this time, because of the obvious [weblogic domains], we had to name them "Partitions"

  • default "partition" always exists, others can be created on demand via wlst / ant / EM

    11gR1 Patchset 2 ~ 11.1.1.3.0 (SOA) features .._spring_04 
  • Note that partitions in the first incarnation only support grouping features, and no tuning of threads or alike (yet)
Enhancements to BPEL's transactional behavior and audit-trail (which will serve the upcoming BPM process core as well)

  • Audit trail saving can be configured

    <auditStorePolicy>syncLocalTransaction</auditStorePolicy>

    <asyncAuditQueueSize>10000</asyncAuditQueueSize>


    <asyncAuditPersisterThreads>5</asyncAuditPersisterThreads>


    <auditBatchSize>10</auditBatchSize

  • Conceptually  

    • sync (same thread / local transaction)
    • aysnc (single / batched)
  • This allows us to provide a complete trail, especially in the case of rollbacks or unhandled faults - no matter what happened to the underlying "working" transaction. At this point we are also adding  "global" messages as the ones below to signal what happened with the working transaction, below is the native trace that gets rendered by the UI 

    <event sid="BpPrc0.1" cat="2" n="8" date="2010-02-24T17:07:05.953-08:00" type="4">

      <message>"BPELFault" has not been caught by a catch block.</message>


    </event>




    <event sid="BpPrc0.1" cat="2" n="9" date="2010-02-24T17:07:06.391-08:00" type="2">


      <message> The transaction was rolled back. The work performed for bpel instance "2" was rolled back, but the audit trail has been saved for this instance. </message>


    </event>


Unified model of checkpoints (that is dehydration points) allowing you to design idempotency w/o all my favorite (=magic) knobs (e.g. bpel.config.idempotentReply, ..)

  • <bpelx:checkpoint/> was introduced, which will return the thread in order to have the engine hydrate and the instance will be continued by an engine thread later.
Fixes for transaction semantic bugs and cornercases, such as
Oracle Mediator

  • Support for re-sequencing (at operation level), this was a regression from 10.1.3.5 where we introduced this feature.
XML / http - get and post support on binding level

  • We introduced extensions to <binding.ws> - to enable support for xml / http support, inbound and outbound
Support for <binding.direct/>
  • This is helpful for two use-cases

    • fast, high performance, secure & transactional inbound invocation of a composite service (including a very lightweight client API)
    • the integration with the upcoming OSB 11g release, including support for async callbacks
BPMN 2.0 support (as part of BPM 11g which runs on top of 11g PS2 SOA core), including design time and runtime

11gR1 Patchset 2 ~ 11.1.1.3.0 (SOA) features .._xml_05

  • Full editor and simulator in JDeveloper (Business Analyst and Implementation Perspective)
  • Web based (browser) customization, process portal and declarative metrics

Warning: the above is a non-exhaustive list and there are features that ship in preview mode (e.g. the BPEL 2.0 runtime) in this release.

We encourage you to test and experiment with those "preview" features, but there is no production support for those.