Friday, November 15, 2013

New SOA material available on OTN

Listen to our 3-part podcast about "the state of SOA" and read our 13-part article series "Industrial SOA" on OTN


Today I'd like to highlight some SOA material that has recently been published.

1) Podcast Show Notes: Old Habits Die Hard in the New SOA World

During Oracle OpenWorld 2013 in San Francisco Bob Rhubart from the OTN Architect Community invited Lonneke Dikmans, Ronald van Luttikhuizen, Hajo Normann, Torsten Winterberg, Guido Schmutz and me to participate in an informal roundtable discussion of what's happening in Service Oriented Architecture today. I really enjoyed it! You can download the conversation directly from OTN ArchBeat.  

As you'll hear, the conversation ranged from the maturity of Service Oriented Architecture technology and tools, to the the lingering and typically self-imposed problems that can prevent organizations from realizing the full potential of SOA, to what SOA means in the era of *aaS, mobile computing, and big data.  

After the recording we discussed our ACM poster
[Hajo Normann, Torsten Winterberg, me and Lonneke Dikmans (L-R)]

2) Article Series "Industrial SOA" - 9 from 13 articles already published

In the last months already 9 from 13 "Industrial SOA" articles have been published on OTN and the Service Technology Magazine. The articles are covering topics like Service Categories, SOA Security, SOA and User Interfaces, Mobile Solutions and many more. The next upcoming article will be about SOA and Events. 

Download them and share your comments e.g. via twitter by using the hashtag #industrialsoa.

Tuesday, November 5, 2013

Configure Auto-Recovery in Oracle SOA Suite

Oracle SOA Suite 11g has some great features to recover faulted instances automatically. When a BPEL process flow errors out, it is retried with all its invocations. This is undesirable in some cases. For example if re-calling a composite results in duplicated data, data have been changed before the recovery is planned to be executed or you do not want to create too many composite instances in order to save the space in your SOAINFRA-schema. See below the different places where automatic recoveries are configured / disabled.

1) Change RecurringScheduleConfig (see also the screenshot below) 
  • Right-click soa-infra (SOA_cluster_name) 
  • Choose SOA Administration > BPEL Properties 
  • Click "More BPEL Configuration Properties" 
  • Click "Recovery Config" 
  • Change values for RecurringScheduleConfig 
    • maxMessageRaiseSize = 0 
    • startWindowTime = 00:00 
    • stopWindowTime = 00:00 
  • Click Apply 

2) Change StartupScheduleConfig (see also the screenshot below)
  • Right-click soa-infra (SOA_cluster_name)
  • Choose SOA Administration > BPEL Properties
  • Click "More BPEL Configuration Properties"
  • Click "Recovery Config"
  • Change values forStartupScheduleConfig
    • maxMessageRaiseSize = 0
    • startupRecoveryDuration = 0
    • subsequentTriggerDelay = 0
  • Click Apply


3) Change GlobalTxMaxRetry
The property GlobalTxMaxRetry specifies how many retries are performed if an error is identified as a retriable one. For example, after several web service invocations, if dehydration fails due to a data source error, then this is identified as a retriable error and all activities from the prior dehydration state are retried. If the activities being retried are not idempotent (that is, their state can change with each retry and is not guaranteed to give the same behavior), then multiple retries can be problematic.

You can set GlobalTxMaxRetry to 0 in the Systems MBean Browser.
  • Right-click soa-infra (SOA_cluster_name)
  • Choose SOA Administration > Common Properties
  • Click "More SOA Infra Advanced Configuration Properties"
  • Click "GlobalTxMaxRetry"
  • In the Value field, enter an appropriate value
  • Click Apply

Additional Information