Win a free ecopy of "Oracle SOA Infrastructure Implementation Certification Handbook"

Book Give-away: Hold a chance to win free copy of the 'Oracle SOA Infrastructure Implementation Certification Handbook (1Z0-451)' just by commenting!

For the contest we have two copies of Oracle SOA Infrastructure Implementation Certification Handbook (1Z0-451) to be given away to two lucky winners.

How you can win:

To win your copy of this book, all you need to do is come up with a comment below highlighting the reason "why you would like to win this book”.

Duration of the contest & selection of winners:

The contest is valid for 30 days, and is open to everyone. Winners will be selected on the basis of their comment posted. Also please don't forget to mention your email adres within the comment.

About the book:

Oracle SOA Infrastructure Implementation Certification Handbook (1Z0-451) is written by Kathiravan Udayakumar, who is a key member of the Fusion COE team of a highly reputed IT Consulting Organization has extensive experience in architecting and designing solutions using various Oracle Fusion and PeopleSoft Products. This handbook is a new Oracle learning resource designed to help SOA architects, technical consultants and analysts successfully clear the 1Z0-451 Oracle SOA Foundation Practitioner exam.

Oracle SOA Infrastructure Implementation Certification Handbook (1Z0-451) focuses on the use of a relational data model and takes a deep dive into Technology Adapters while working with Mediator to integrate SCA components and external services. The book highlights topics such as identifying the SOA Suite 11g components, defining a SOA composite application and securing composite application using Security Policies and Web Services Manager.

A wide variety of well explained practice questions will help application developers strengthen and test their learning by solving practice papers modeled. Integrating Human Workflow with advanced BPEL concepts and understanding the various SOA Integration Points including B2B, BAM Service Bus, master the monitoring of Components Runtime execution are also explained in a concise manner using SOA Enterprise Manager Console.


Cordys projects in the enterprise


Cordys is used in small, medium as well as enterprise organisations. Within the Cordys Wiki you can find guidelines and best practices for the Folder structures and CWS environment (see [1]). When you want to use Cordys within the Enterprise I think these best practices are not recommended. In this Blog i will try to explain why.

BPM/SOA 5-layering Architecture

Every enterprise architect knows the 5-layering SOA enterprise architecture pattern:
  1. GUI - In this layer in which thin and thick clients are using the Business Services.
  2. Business Services - In this layer the Composite Services, like the enterprise business processes are implemented.
  3. Services - In this layer the Services are implemented.
  4. Applications - This layer is the integration layer towards the encapsulated applications.
  5. Data - This layer contains the data
Most Cordys projects (at least that i have seen) uses Cordys (solutions and projects) like this:

The solutions and projects are divided vertically, so in fact this way you get Application Silo's again, which you want to avoid with SOA and BPM principles. I understand that WS-AppServer integration is nicely integrated with XForms but i doubt if this is the way to go for the enterprise.

For the enterprise I would recommend:

In this case projects and solutions are defined horizontally. 

In this layer projects are defined that contain the Portals, Web Clients, Mobile applications etc that can only use the Business Services layer to execute business functionality.

Business Services
In this layer projects are defined that only implement the business processes. This layer will use the Services layer to compose the processes and composite Services.

This layer contains the Domain Services solutions and projects. Note that these Services only use Common Data Model data and not applications specific data.

This layer contains the projects that actually encapsulate the applications with webservices.

This layer contains the encapsulation of data, i.e. databases or shared files on directories. Here you will see WS-AppServer projects.


For small and medium sized organisations and projects you can use the solution/project constructions mostly described. However within big enterprises this does not suffice.
The question is of course what the consequences are when you are using the projects horizontally.

Are there any Cordys perfomance penalties? Of course because layering always causes overhead.

What are your experiences with large Cordys projects?



Cordys Solution Architect Accelerator Program

On the 30th and 31th of May 2012 the first Cordys Solution Architect Accelerator Program took place at Putten, The Netherlands. A couple of potential Cordys Solution Architects of partners were invited to follow this program. I was one of the "lucky" ones. This program is setup so that more solution architects are trained and can be used in projects, because there is a miss in the field of Cordys projects.
This was a first session and this session will also be held in US, UK and India.
As always Cordys had organized this event very nice. There was also place for discussions and a social event in the evenening with bowling and BBQ.

The program was:

* High Level architecture overview of BOP4
* Security Models
* Case Management
* Workflow (part 1)
Evening: Bowling, BBQ and Beers

* Workflow (part 2)
* Cordys Cloud Provisioning

Next steps:

  • The architecture team will help in developing more architectural patterns and best practices of the Cordys platform. 
  • All member will get certified (Fundamentals, BPMS, Solution Architect)
  • All architects will get a Cordys buddy to help the architects with challenges
  • Next sessions will be organized to discuss more topics

Thanks Cordys for this great initiative and opportunity to become a Solution Architect for the Cordys produkt and help Cordys in moving forward !

Cordys BOP4: Avoid deadlocks !


Today we went into a deadlock situation in our project. I like to share this case so that other Cordys developers are aware of this potential problem.

We have defined the following Long Lived Process.

So we have 1 subprocess and a webservice call.
There is 1 BPM Service Container that handles BPMs and Cases.
The problem is with the webservice call. This is also a call that is handled by a BPM container, however NOT on the same thread as the one that started this BPM instance. So in case the long-lived thread pool is full, the webservice can not be handled by the BPM container and all BPM instances are locked.


Define a separate BPM Service Container for the Case Management handling and in this case the call is handled by a different thread pool.

In general keep aware that in LongLived BPMs it can be dangerous to call BPM Webservices (like BPM generated webservices, case webservices, executeProcess webservice).

More can be found also on the Cordys Wiki: https://wiki.cordys.com/display/dp/Process+Execution+Modes+and+Thread+Pool+usage