Antony Reynolds' Blog

  • SOA
    April 24, 2008

Patterns and Methods

Antony Reynolds
Senior Director Integration Strategy

Patterns & Methods

Thought I would share some thoughts on Oracle SOA Methodologies and SOA patterns.  These are by no means complete, I just wanted to put down some ways in which SOA Suite can encourage good practise.


The Oracle SOA Success Methodology is a methodology with a small 'm'. 

It is best viewed as a set of tools of techniques that can be applied

within the context of a more proscriptive methodology.  That said it

works best with iterative methodologies.

The SOA Success Methodology is currently used with a restricted number

of Oracle customers prior to a full release.

Within the context of the SOA Success methodology is extensive

modelling of the business in terms of services.  Oracle BPA Suite can

be used to drive this iterative modelling process.

BPA encourages a focus on the abstract modelling side of the SOA

success methodology.  As the model becomes more reified then composite

services and processes may be made available to JDeveloper through a

shared repository.

Oracle is currently using BPA Suite to perform high level modelling in Fusion Applications development.

BPA Suite supports roundtripping to allow regeneration of processes

without loss of reifications applied to earlier versions, encouraging

an iterative cycle between business analyst and process developers.

SOA Patterns

Best source for SOA patterns in the Oracle space specifically is the BPEL cookbook

which covers a lot of common patterns and techniques.  Both the latest

release of Oracle SOA Suite 10g, and 11g currently in beta, encourages

these best practises in a number of ways, including but not limited to

the following.
  • Rules abstraction for
    • True Business Rules - tight integration of rules and BPEL

      encourage business process developers to abstract business logic into

      the rules engine - this is also available in 10g

    • Routing Rules - tight integration of rules and Mediator encourage developers to abstract routing decisions into the rules engine
  • Service Abstraction

    • Encourages service level location abstraction by making it easy

      to hide physical endpoint of service - in 11g all BPEL processes are

      automatically packaged up in the same SCA assembly used to describe

      service deployments
    • Encourages service level interface abstraction by encouraging

      use of mediator to transform between canonical and physical

      implementation formats
  • Process Abstraction
    • Definition of processes allows for lower level processes to be treated as services
    • Capturing of process flows in code allows for simulation and modelling based on real world data
    • Human workflow captures common best practise human interactions into re-usable templates
  • Process Migration
    • Champion/challenger processes - two versions of same process

      can run in parallel and be compared to see which yields best results

      based on concurrent versioning capabilities of BPEL process manager.
    • Managed process migration - ability to run multiple versions of

      same process allows controlled introduction of new process versions

      whilst existing instance continue to execute.

  • Service Discovery
    • Service promotion - use of a registry allows services to be

      promoted from dev to test to production in a managed way, encouraging

      best practise.
    • Service catalogue - use of UDDI allows such a catalogue to be

      maintained to encourage re-use by simplifying service discovery process

There is lots more but this was a quick brain dump.  Let me know which important ones I have missed.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.