"The ultimate value of SOA is the ability to combine automated business services to create new market offerings that may reduce time-to-market and development costs."
This statement was made by Terry Borden and Bill Mitlehner in chapter 4 of the Secrets of SOA. I find this statement very interesting since this is exactly was Adobe LiveCycle ES offers. This new release has been completely re-designed to enable you to visually "string" document services together to match your requirements. Now, I say document services because that’s what we are in the business of selling. But don’t let that fool you. The LiveCycle ES architecture is built on SOA principals which enable extensibility and flexibility beyond just documents. Mike Hodgson wrote up an excellent article on Adobe DevNet on how to deploy your own POJOs in LC ES
Everything LiveCycle sits on what we have dubbed the Foundation. The foundation is powered by a service container which exposes two types of services:
- Packaged POJO (Plain Old Java Objects) classes: Java class accompanied by a component.xml file which describes which methods, inputs and outputs are supported by the class.
- Orchestrated services: Using Workbench (Eclipse based graphical editor), a designer drags the above mentioned packaged POJO classes onto a canvas and links them together based on business rules and/or application requirements.
In each case, once the service is activated, it is registered in the invocation layer which automatically creates invocation methods (endpoints) for that service. The default endpoints are: Web Service, Flex Remoting and EJB. Additional available endpoints (configured manually) are: Watched Folder, Email and Task Manager (only used in conjunction with LC Workspace ES).
The latter type of service (Orchestrated Service) is exactly what Terry and Bill are describing in their chapter. LiveCycle ES provides developers and business analysts with the ability to build processes in a graphical environment, set service properties using property pages and link services together based on their requirements. The key here is that the second that "process" is activated, it is deployed within the service container and from that moment on, is available just like any other service. Of course, there are security constraints that are applied, etc. The point is that very few people understand the power and flexibility that LiveCycle ES provides. With this introduction, I will post several examples in the next few weeks that illustrate my point.