The Oracle SOA Suite 12c Handbook serves as both an introduction and a reference to the SOA Suite 12c. The book is primarily targeted at software developers and to some extent administrators and application or solution architects.
The book is organized into the following six parts.
- Part 1 – Setting the Stage
- Part 2 – Elementary Services
- Part 3 – Composite Services
- Part 4 – Asynchronous Services and Events
- Part 5 – Processes
- Part 6 – DevOps & Run Time Administration
Part I – “Setting the Stage” – introduces the case of Saibot Airport and the business and IT challenges it faces. The history of Oracle Fusion Middleware is described as well as its current status. The focus then moves to a detailed overview of SOA Suite 12c and a very quick start-up instruction which includes the installation of SOA Suite 12c development environment, ready for the creation and deployment of the HelloWorld equivalent in SOA applications.
Part II – “Elementary Services” – provides the first iteration through Service Bus and SOA Composite applications using the Mediator component. This part discusses design and implementation of fairly simple services that are synchronous, single purpose and short running, both with SOAP/XML and REST/JSON style interfaces. The part introduces a number of outbound adapters: File, Database, UMS (for interaction with humans using email and chat), JMS, AQ and EJB. The same services are implemented using both Service Bus and SOA Composites – to highlight the similarities and differences between the two approaches in SOA Suite 12c for service development.
In Part III – “Composite Services” – more complex services are discussed that leverage more advanced facilities in the SOA Suite. The business process execution language BPEL is introduced as well as the Business Rule component. Complex message validation, making service call outs for validation and enrichment, performing value lookups and performing bulk operations in parallel are some mechanisms discussed in this part. Templates are introduced, providing reuse at various levels. Integration of custom Java in both Service Bus (Java Call Outs) and SOA Composites (Spring Java component) are demonstrated – demonstrated using interactions from SOA Suite with the Twitter and DropBox APIs. This part also discusses the use of the Coherence Adapter to improve response times and scalability and reduce load on backend systems.
Up to this point, all activities in SOA Suite were started and completed from a synchronous call on a single thread. In Part IV – “Asynchronous Services and Events” –- we discuss the asynchronous side of things. Asynchronous service interfaces that return a response through a call back at a later point in time are both consumed and published using both Service Bus and SOA Composite. Subsequently, the use of inbound technology adapters is discussed. These adapters cause services to be executed as a result of events detected in external components, such as database tables or advanced queues, JMS destinations, an email folder or a file system directory. A time event can be another trigger to execute a service – as the chapter on the Enterprise Scheduling Service (ESS) explains. The ultimate decoupling mechanism in SOA Suite is the Event Delivery Network (EDN) that is introduced next. With EDN, we can implement the extreme decoupling concepts of Event Driven Architecture for business events that are published and consumed from and by Mediator and BPEL inside the SOA Suite, and Java and PL/SQL components outside of it. The last chapter in this part discusses Oracle Event Processor (OEP), a component that included in the SOA Suite license, integrated with the Event Delivery Network and implement outside of the SOA Suite runtime, in its own container.
In Part V – “Processes”- we introduce the human actor into the mix. Recognizing that not all activities can be executed by automated service components, the SOA Suite is capable of engaging people. Through the Human Workflow Service, the SOA Suite can have tasks assigned whose result – produced by the human actor(s) – is fed back into the automated process. An end to end business process – either true STP (straight through processing) or involving human activities – is implemented in SOA Suite using the BPEL component. As part of the process that gets implemented, interaction with a user directory is achieved using the LDAP adapter. User accounts are searched and new accounts get created.
A common consideration for organizations with a strong emphasis on automated business process execution is to acquire the Oracle BPM Suite on top of the SOA Suite and use Business Process Management and Adaptive Case Management (defined through BPMN and CMMN). This Part V makes a little excursion from its main scope – Oracle SOA Suite 12c – to discuss the BPM Suite and demonstrate how it facilitates the implementation of complex business processes as well as the notion of unstructured, content and expert-driven processes through case management. Insight into the execution of business processes is usually highly desirable – for operational resource management and problem detection and intervention as well as for longer term process analysis and optimization. This chapter discusses how process analytics can be produced from both BPEL and BPMN processes and how these analytics are reported in Enterprise Manager Fusion Middleware Control and in Business Activity Monitoring (BAM). BAM is a standalone product that is included in the SOA Suite 12c license. It can be used to report on the analytics produced from SOA Suite and BPM Suite as well as on other data sources, as is demonstrated in this part.
In the final part Part VI – “DevOps & Run Time Administration” – we switch gear a little. In parts II through V, we have primarily discussed the design and development of custom software to be deployed on the SOA Suite. In this part, we focus on the supporting software engineering processes that help govern and facilitate the creation of the custom software components as well as their delivery from development through test to production. This part discusses reuse of artifacts through MDS (the Meta Data Services), the mechanisms available for versioning and some suggested practices for governance. Subsequently, the facilities are discussed for automated building, testing and deploying of SOA Suite artifacts– for example using Maven. Administrative responsibilities are an important topics in this chapter. The Enterprise Manager Fusion Middleware Control and its features to support runtime operations are introduced – for example monitoring of SLAs, workload and performance, exception handling, meta-data purging and the extensive logging infrastructure in SOA Suite and WebLogic. The final subject in this part – and indeed the book – is security. The security of the SOA Suite runtime infrastructure and protection of its metadata is one aspect that is discussed. The protection of services from unauthorized access and the confidentiality and integrity of the messages that are exchanged is another one, both for the services exposed from the SOA Suite as well as those invoked from it. The interaction with OPSS (Oracle Platform Security Services) and the OWSM (Oracle Web Services Manager) features prominently in this discussion.