Book Review: Oracle SOA Suite 11g R1 Developer's Guide
By Olaf Heimburger on Jan 27, 2011
The Oracle SOA Suite 11g R1 Developer's Guide was written by Matt Wright and Antony Reynolds, two SOA Suite practitioners from the first release of the Oracle SOA Suite and the authors of the SOA Suite 10g Developer's Guide.
This new release of the SOA Suite Developer's Guide is part of the Packt Enterprise series and comes in a shiny white cover with a great picture of an office building in downtown Los Angeles. (Although the credits tell you who shot it, they don't tell what it is...).
Luckily, the authors continued not to bother the reader with the installation process, this might change with the upcoming patch sets, and provide it online from the book's web site at Packt Publishing.
Part 1: Getting Started
The first part helps you to get started with the SOA Suite. It sets the scene and explains which components have been chosen and which have been omitted and why. This part consists of nine chapters and shows how to write the first composite, how to service-enable existing systems, loosely coupling of services, using BPEL to build composite services, implementing business rules apart from the parts of the complete service, incorporating human services, and, finally, building a real-time dashboard using BAM.
Throughout this part, you will be introduced to the best parts of the SOA Suite and how to combine them. You get an understanding how they work together and why you should use them for the task at hand. A good decision was to use Oracle Service Bus and resort to the SOA Suite Mediator only when necessary. This may be a bit overhead (especially when it comes to performance), but both will sooner or later diverge into a single implementation. On the other hand this decision makes the design time more complex, as OSB and SOA Suite still use different tooling to accomplish the task.
The most interesting chapter in this part was chapter 8 Using Business Events as it introduces you to the Event Delivery Network (EDN), an important new piece of technology within the SOA Suite.
Part 2: Putting it All Together
The major part of the book is written around an on-line auction application. Equipped with the knowledge of the components introduced in Part 1, the authors guide you through the concepts that make the distinction between a good and a bad implementation. These concepts include Service Contract Design, Business Services with Service Data Objects, Validation, Error handling, Advanced SOA Architecture, Message Interaction and Workflow Patterns, and Using Business Rules to Implement Services.
In this part I really like the Designing the Service Contract chapter. It not only propagates the Contract First Principle but also goes very deep into XML Schema Definition creation and usage details. And it serves as a good example how the authors provide a plethora of tips and tricks throughout the book. This one is full of tips and tricks for a good design and how to avoid most of the traps and pitfalls in designing a good service contract.
Another good one is the Scheduling services part in chapter 16 Message Interaction Patterns. Nice idea of implementing a scheduler without any Java programming. Another good idea is to introduce the Metadata Service (MDS) for sharing XML Schemas across composites in chapter 11 Designing the Service Contract..
Part 3: Other Considerations
The last part consists of three chapters for Packaging and Deployment, Testing Composite Applications, and Security and Management Policies. Although the Packaging and Deployment chapter seems to be of most interest for the SOA Suite community, I would have put the Testing chapter before it. Testing as early as possible saves time and money.
The Security and Management Policies chapter focuses on Oracle Web Service Manager (OWSM), a good piece of software that feels a bit strange in the whole SOA Suite as it is neither SOA nor Security. Anyway, it makes good sense as this technology is much more integrated into the OFM 11g stack and combines the ease of implementation of the 10.1.3 web service security interceptors as well as the centralized management of policies. Don't expect to get everything you can do from a security perpective within the SOA Suite, it is just a starter and wets your appetite.
What you don't get
No standard descriptions
Although this book is a treasure of tips and tricks and common wisdom, it does not tell you all the nifty details of all the standards used within the SOA Suite. If you are interested to learn more about them, you need other sources.
No wakeup call
Since SOA Suite 11g is a big beast, it consist off many ways and wizards to get your work done. The wizards are sometimes quite complex and split over many parts and windows. Presenting these steps in every detail could be quite challenging. Unfortunately, this was the hardest part to read. Not only was the writing style uninspired (e.g ten consequtive sentences starting with the same word), it also helped me to easily fall asleep in the middle of the day.
No Concise Best Practises List
In my review for the SOA Suite 10g Developer's Guide I missed a chapter summarizing the best practices mentioned. In the 11g book, it got worse. The authors do not seem to like them anymore ("best practise dictactes") or ignore to hint the reader. At this point, I agree with Ted Neward (Death to Best Practices), and tend to use the term good behavior (or good citizenship from the earlier internet days). But using a particular technique and showing how you hate them is a tricky style.
No Consistent Style
As a book author it is tempting to coin a new style for development (like the infamous Hungarian Notation or the leading captial I for Java interfaces). But if an environment already has a style defined, do not try to beat the world with your own. Anyway, this book introduces a new style for XSD types which is completely different from the predominant one used in XSDs all over the world. Funny enough, it is not even used consistently throughout this book.
Don't get me wrong. This book isn't bad. The Oracle SOA Suite is a big beast and you need to learn a lot. As a book author you need to cover a lot, as well. So if you get bored by the writing style in some sections, keep in mind, that you need to learn it anyway.
If you need to start to learn how to develop applications for the Oracle SOA Suite, I highly recommend this book. And, if you are a seasoned SOA Suite practitioner you should take a look at it and find out which of the
best practices good behaviors you still don't know.
Finally, don't forget to read the chapters 8, 11, and 16.
Title Oracle SOA Suite 11g R1 Developer's Guide
Authors Antony Reynolds, Matt Wright
Paperback 720 pages