Book review of: Getting Started With Oracle SOA Suite 11g R1: A Hands-On Tutorial

Getting Started With Oracle SOA Suite 11g R1: A Hands-On Tutorial

Authors: Demed L’Her, Heidi Buelow, Jayaram Kasi, Manas Deb, Prasen Palvankar (aka Oracle Product Management for SOA Suite)

Book review of: Getting Started With Oracle SOA Suite 11g R1: A Hands-On Tutorial coverA hands-on tutorial is what the cover of the book promises, and that is exactly what you get. A quick, very hands-on introduction into the most important components in the SOA Suite 11g. In no time at all, readers will be able to get a composite application up and running. An application that leverages many of the essential features and functions in the SOA Suite.

Some books are primarily an introduction into a certain topic, with lots of theory, background and explanations of what, why and how. Other books are mainly reference material that you use to look things up when you need them. This book is neither – it offers very little in the way of explanation and background and it would be fairly useless as reference guide. It is however a very good way to get to know the SOA Suite – both design time and run time – and get a feel for how to develop for it and run applications in it.

The book contains a large number of informative screenshots and also provides the salient code snippets. It is very focused on getting specific jobs done, and for these jobs it has all the information and illustrations you may need. It is hard to not get it to work following the very detailed instructions.

The book – or at least the paper copy I am holding – is written for the very first 11gR1 release, that was published on July 1st 2009. The functions made available with PS1 release (November 2009) are not discussed therefore.

The book has a page on which the publisher – Packt – makes a pledge: complimentary eBook upgrades are made available to anyone who has purchased the book. To qualify, you need to send an email to oracle@packtpub.com. I do not know whether this will apply once 11gR2 and R3 are released or if upgrades are created for 11gR1 PS1, PS2 and PS3 as well. I would hope for the latter, as quite a few things have changed and improved between these patch sets.

Content – feature complete

The book covers a wide range of topics, including some that are not as obvious such as BAM and SDO. It also lacks a few subjects that I would have liked to be in it; however, with just under 500 pages, you just cannot cover everything.

The installation chapter is good. It includes all the steps and also provides useful instructions for configuring JMS and Database Adapter resources. It does not discuss UMS (User Messaging Service) which is at the heart of sending email notifications and would be a nice element in the tutorial.

Of course it discusses File Adapter and Database Adapter – though for the latter only the Select operation where I would have liked an example of PL/SQL interaction as well. It has a fairly extensive example of the JMS adapter, but does not discuss the AQ or FTP adapters. It introduces the Mediator and BPEL and how they interact in composite applications. There are tutorials on Human Task and Business Rules.

The new 11g Event Delivery Network (EDN) is treated as a fairly minor topic – no sooner than chapter 17 and a mere 10 pages, far less than more exotic topics such as SDO and BAM. I am curious what role the Oracle SOA Suite product management team responsible for this book envisions for the Event Delivery Network. This book may lead to the conclusion that it is a minor role indeed.

The Oracle Service Bus is a relatively new member of the Oracle SOA product family. Its integration into the SCA container and JDeveloper design time and even the native binding to the SOA Composite application and its integration into the message flow trace in the FMW Enterprise Manager console is still being developed. At the time of writing at least, the OSB was the odd one out. The chapter on OSB in this book is also a bit of an outsider. Hardly anything from either preceding or following chapters applies to the OSB: development, deployment, testing, securing, monitoring – it is all different for the OSB. The chapter walks the user through an example of creating simple OSB Service (proxy + business service). Given the simplicity of the example (which is unavoidable probably given the number of pages available to the topic) it is hard to grasp for the reader what the added value of the OSB exactly is. In this chapter OSB is not used for service composition, message enrichment, XQuery based data manipulation, throttling, split/join, protocol transformation. Note that most of these topics are briefly mentioned. However, they are not actually done for real. The OSB Service developed by the reader does service virtualization – insulating the application from the Credit Validation service as that is an externally provided service that may change providers regularly. A simple validation is added as well, which produces an Alert when violated. The brief paragraph on Governance and the Oracle Enterprise Repository is slightly odd, given that the topic is carefully avoided in other chapters. The discussion of OSB for Financial Services seems even more weird – probably a copy and paste from a white paper.

The discussion of OWSM and security policies is good: concrete, to the point, useful. The applies to the chapter on Deployment which introduces Configuration Plans and discusses various deployment methods, using JDeveloper, Ant, WLST and the Fusion Middleware Enterprise Manager Console. The unit testing framework is introduced in very clear manner that invites the reader to give it a further spin. At the same time, it fails to mentions several limitations that you will soon run into when you start using the testing facilities for real.

The chapter on Exception Management is another very good one. It gives a clear, to the point introduction of the main capabilities of the SOA Suite for implementing error policies, handling exceptions, recovering failed instances and dealing with expected and unexpected errors in general. It only scratches the surfaces, but in a way that prepares the reader for the next steps to take.

The Business Activiy Monitor (BAM) is given much more attention than I would have expected: it is not a core component of the SOA Suite (SCA container) and even though it is part of the SOA Suite license, it is not the most obvious component to spent many pages on. However, it is a nice visual topic and the chapter gives a good introduction at what BAM can do and how it can integrate with SOA Composite applications.

Another slightly exotic topic – or maybe not, that is the question – that gets a lot of attention is SDO (Service Data Objects). A new feature in 11g, SDO is an industry standard with promise (yet to fulfill). ADF Business Components can provide a Data Access Service that makes SDOs available. This opens up a way for SOA Composite applications to interact with data sources such as databases without any knowledge even of the fact that there a database lurking behind the Data Service and the SDOs. It seems like SDOs have the potential to replace the Database Adapter. However, at this moment, SDOs can only be used (conveniently at least) from BPEL processes. And whether Oracle plans to have SDO support take over from the Database Adapter and really become a key player in database (and other data sources) interaction is not clear at all from the book. How exotic will SDO turn out to be – that is a question I wonder about.

The final chapter discusses B2B or Business to Business integration. Oracle offers a range of adapters for B2B (for EDIFACT, RosettaNet, HL7, and many other industry standard business exchange protocols) that can be integrated with the SOA Suite. However, it seems a little far removed from the otherwise very technical discussions in the book. I expect only a small minority of readers to actually try out the tutorial for this B2B chapter.

Some topics that I really missed include: a discussion of MDS (local and central), Mediator enrichment (include request in reply mapping), BPEL correlation and a little introduction of the console and the facilities for administration of composites and instances.

A PS1 feature that is not (yet) in the book is the SOA Composer – the browser based run time tool to edit Domain Value Maps and Business Rules. Come to think of it, Domain Value Maps are not discussed at all. Composite sensors are another PS1 feature that is not in the book – even BPEL Sensors are mentioned only in the context of the BAM Adapter.

What I would have liked, though can not really expect to get, is a section on CEP (Complex Event Processing).

The scope of this book does not include architectural principles that underpin the SOA Suite and the applications running in it, a discussion of Governance and other meta-level and process oriented concepts. It is very much focused on the implementation of functionality, not so much the rationale behind it or the objectives with it. Given the background of the authors, it would have been nice to see more in terms of guidelines and best practices as they would be very useful and this team surely would be able to provide them.

Business Case

I realize the business case is a matter of personal taste as much as anything. However, I really have to say that the ‘order processing’ case used in this book is a bit bland to my taste, especially since the book does little or nothing to make clear the business value of the various steps we go through in implementing the composite application. The case is not about any particular (fictional) organization and as a result does not really come alive (in my mind at least). Perhaps this is a good thing, as you do not alienate people who are in a different business and order are something everyone understands. Yet the way the case is treated does not make it interesting in any way – I would consider that a missed opportunity.

Conclusion

I do not believe that after reading or working your way through this book, you will be able to design and develop your own composite applications. The book does get you going and helps you to quickly gain familiarity with the tooling and a particular instance of the concepts. It does not actually teach you SOA fundamentals nor really the ideas behind the SOA Suite.Given that the book has been written by members of the product management team at Oracle for SOA Suite, I would have hoped for more background, more vision and more from behind the scenes tips and insights.

I find the book very thin on theory: you do things (which is nice and useful) but you do not really learn why you do them and how you may want to do them slightly differently in other circumstances. Alternatives are hardly discussed at all. It is plain and simple: a first introduction to many areas of the SOA Suite.

On the bright side: as the book allows you to rapidly make things work, it considerably lowers the threshold for people to make a first attempt at the SOA Suite. With this book, anyone can do it.

Personal Bias

I have to confess that I may be biased – or at least that I have a personal stake in books about the SOA Suite. I am currently in the final stages of writing the Oracle SOA Suite 11g Handbook,  published by Oracle Press (see http://www.mhprofessional.com/product.php?isbn=0071608974 and http://wiki.oracle.com/page/Oracle+11g+SOA+Suite+Handbook for some supporting material and early screenshots) which you could consider a competitor to the book I am discussing here. I would suggest however that the two are quite complementary: after reading the Getting Started With Oracle SOA Suite 11g R1: A Hands-On Tutorial and concluding that you want to learn more and delve deeper into the SOA Suite and the concepts around it, it would make perfect sense to read my book, Oracle SOA Suite 11g Handbook, as that takes you to the next level.

Book details

Getting Started With Oracle SOA Suite 11g R1: A Hands-On Tutorial

Authors: Demed L’Her, Heidi Buelow, Jayaram Kasi, Manas Deb, Prasen Palvankar (aka Oracle Product Management for SOA Suite)

Book review of: Getting Started With Oracle SOA Suite 11g R1: A Hands-On Tutorial coverPackt Publishing
Paperback : 482 pages
Release Date : October 2009
ISBN : 184719978X (ISBN 13 : 978-1-847199-78-2

The Book’s Homepage on OTN: http://www.oracle.com/technology/products/soa/soasuite/11gthebook.html

Download sources for the book: http://download.oracle.com/technology/products/soa/soasuite/books/SOA11g_GettingStarted.zip

The book’s homepage at the Packt Publishing website: https://www.packtpub.com/getting-started-with-oracle-soa-suite-11g-r1/book