Saturday Jun 08, 2013

Book Review: Instant Oracle BPM for Financial Services How-to

Just recently, Packt Publishing released "Instant Oracle BPM for Financial Services How-to" (http://www.packtpub.com/oracle-business-process-management-financial-services/book)  by B. M. Madhusudhan Rao (a.k.a James Smith  - http://jamessmith73.wordpress.com/ - for those familiar with the SOA blog-sphere.

The book follows the layout of the cookbook series the sample publisher runs, is cheap as it only costs 3.39 Euro for 62 pages it covers, which appears to be a fair price.

The publisher itself sets the expectation towards this book as

  • Learn something new in an Instant! A short, fast, focused guide delivering immediate results
  • Simplifies complex business problems for financial services
  • Optimize, enhance, and modify your business processes
  • Includes enterprise architecture best practices
  • Highlights various roles of Business Process Management

The same website then says that:

"Oracle Business Process Management helps in process automation and improvement with a very high level of flexibility for all the process participants from the process planning team to the end users. It also makes it possible to have corporate employees and customers collaborating towards common goals.

Instant Oracle BPM for Financial Services How-to covers many concepts that can be easily reused across industries such as core banking, healthcare, travel, self service automation, e-governance, and so on. It highlights various roles of Business Process Management such as Business Process Modeling, Process Developer, Process Owner, and Process Participant along with the way they work together in a financial services environment.

Instant Oracle BPM for Financial Services How-to is your guide to implementing Oracle Business Process Management whilst working in the Financial Services industry.Starting through the discovering of implementation and Business challenges for financial services we will move on to Modeling, Implementation, Process ork-flow’s, deployment and testing.

Moving on to cover advanced topics such as Process administering, changing business processes using process analysts, business reporting, participants and notifications and finally collaboration. You will learn to setup, maintain and alter your Business Process Management aimed specifically for the Financial services industry."

and then ....

 "Filled with practical, step-by-step instructions and clear explanations for the most important and useful tasks. This book is a practical Packt How-to guide that is designed to provide targeted information for experienced BPM professionals in the financial sector."

Why am I quoting all of these? Because I think that the text on the publisher website describes a book different from the one I reviewed and in fact the real book falls shorter. Still I think its a good book that you certainly learn from. It however is no book for newbie developers.

To give you a background to what I expects a book to deliver, lets talk about my own goals when writing articles, samples or my book. In all of my writings I aim for a specific type of users and skill set. For this group then I try to be as comprehensive as possible to share my experience. Since you cannot start by Adam & Eve in all articles, samples or books, you have to make assumptions at some point. In such cases I usually point to references, which could be articles, blogs, documents and books written by Oracle or 3rd parties so the reader gets all the information he or she needs to get the best out of my writing. I think I demand a great deal of my own writing and do the same for 3rd party and Oracle documentation, articles and books I review.

So what to say about this book: This book surely is a good bargain looking at the minimal cost it comes for and the quality of content you get. Technically I feel the book is correct and flawless, written on a good level of knowledge. In Amazon parlance I would rate it 4 for the content and then reduce it by 1 star (to 3) for the delivery which in some areas is too bumpy for my taste.

My detailed comments on this book: This book is designed to be a how-to for SOA developers in financial services, though the book preface states:

"The book is for Java/SOA/BPM Developers and Architects, and is also for people working in financial services in various roles such as Process Administrator/Developer/Business Process Owner or Process Participant."

This in my opinion is a elegant way of saying that I don't know for what audience this book really is. Java developers by definitions have no in depth product specific SOA / BPM knowledge, as otherwise they would be SOA developers. Administrators are no developers and as such are completely overwhelmed with the technical hands-on steps in this mini-book

The how-to itself is not very detailed and here-and-there makes assumption about the readers knowledge, which at least means that readers following the hands-on steps must have some previous experience with Oracle JDeveloper and Oracle BPM. You should also be familiar with installing the Oracle SOA Suite and WebCenter software because this part is in wide parts assumed by the author. To quick start the hands-on, the author provides sample project sources.

I only wished the author provided a URL for downloading the sources, which are available on his blog (so go and ask Google for it) and the Packt Publishing website (still didn't find it there). So here's the download URL that the author provides on his blog: https://www.dropbox.com/s/3et7ye207x2uuhv/BPMforFS-Sourcecode.zip (Note that this is a dropbox reference, which means that the book may be probably longer on the market than this resources. So you want to download it instantly of hope the publisher provides it on his website)

An example for where - as a non BPM expert - I would have liked more explanation is on page 11

"It would also be interesting to know that Oracle has process accelerators—a prebuilt, 'ready to deploy' BPM process that meets industry standards. These process accelerators not only use Oracle BPM, but other Oracle products as well, depending on the business requirements."

I have no idea if this means templates, standard software or starter processes (but if you are from BPM or SOA, you maybe know). An example of which Oracle products use these also would have been helpful. In my opinion, this is not a problem of the author but should have been caught during the review process and I would have flagged this.

The example implemented in this book is a home loan application to give customers a quote based on their income. For this the author introduces a formula EMI = (L*I)* {(1+I)^N / [(1+I)^N]-1}  for which he explains what all the different variables mean and do. This formula needs to be implemented in PL/SQL by you the reader (and no guidance are provided in the book, so make sure you get the sample sources). I don't have a problem with the sources to be available as a download, however, personally I like books to provide this information so I can follow reading even in a disconnected environment (my personal taste though).

An example for where the instructions come with unnecessary gap is on page 19

14. Select the Database Adapter service that we have created in the service list.
15. Now click on Data Associations and ensure that the necessary input and outputparameters are passed.
16. Save the process and deploy on SOA Suite.
17. Generate a web service-based Application Development Framework (ADF) data
control by using the deployed WSDL URL, and drag-and-drop it on the JSPX page.

Note the gap between step 16 and 17. No mentioning about how to create a WS data control, just a mentioning of that you have to do it. Google is your friend and you will find an ADF tutorial in case you are not familiar with ADF. Here I would have liked to see more guidance in form of references to tutorials or documents that provide this information (sorry B. M. Madhusudhan Rao, I had to mention this)

All in all this book is good for readers that know the Oracle software involved and that like challenging how-to instructions that don't aim for pushing the mouse for you but outline what you should do (Interestingly I myself found the instructions towards the end of the book more detailed than in the beginning). Its the first book from the Packt Publishing "Instant" series I reviewed and I see room for improvement, which either is to reduce the scope of such a tutorial or increase the page budget to the benefit of more explanations that in the end would have helped me to pick on the authors expertise.

 As mentioned earlier, this book is a bargain compared to its cost. If you are familiar with Oracle BPM and JDeveloper then you may enjoy the challenge to test your skills, understanding and what you don't yet know

Frank


Friday Feb 24, 2012

Book Review: Do More with SOA Integration: Best of Packt

Packt Publishing released "Do More with SOA Integration: Best of Packt", book that aggregates the knowledge of  eight (!) SOA books into one 650 pages mashup.

Lets start my review with a little problem I had when reading this book: For me it was not easy to identify the audience this book a was written for. The book contains chapters that point towards beginners and others pointing towards experienced SOA experts. Other chapters are more hands-on oriented, indicating they are meant for developers. After reading the whole book, I think that the targeted audience is not to qualify though most chapters address IT architects and project leads who need to expose legacy IT infrastructures to external or who plan a new software project based on SOA.

The book touches on various aspects of SOA and in chapter 1 presents an explains a wikipedia of SOA acronyms and architecture patterns for readers foreign to SOA. If you are not yet SOA savvy then this chapter will prove itself helpful in understanding the rest of the book as these SOA acronyms are used throughout the remainder of the book.

Chapter 2 lists problem statements and solutions that describe what SOA is for and why it is good to adopt it into your IT landscape. "Types of integration" on page 82 had me slowing down in my reading pace as I found it an interesting topic. It introduces important concepts of SOA like service interfaces, brokering and communication. The chapter, as most parts of the book, is about awareness and operates on the theory of things, and less on technical implementation details.

Chapter 3 showed that a best of compilation is not always a smooth reading and started with the mentioning of the Trivadis Integration Architecture Blueprint, making me use Google to learn what this is all about. Turns out that this architecture is the documented combined SOA experience of the Switzerland based Trivadis AG. The blueprint is well introduced in this online article on the Packt Publishing website (Note that you need a user account to read the whole article). To quote from this article written by Guido Schmutz, Oracle ACE Directory for FMW and SOA, working for Trvadis AG:

"The Trivadis Integration Architecture Blueprint indicates how integration architectures can be implemented in practice. It achieves this by representing common integration approaches, such as Enterprise Application Integration (EAI); Extract, Transform, and Load (ETL); event-driven architecture (EDA); and others, in a clearly and simply structured blueprint. It creates transparency in the confused world of product developers and theoretical concepts.

...

The Trivadis Integration Architecture Blueprint shows how to structure, describe, and understand existing application landscapes from the perspective of integration. The process of developing new systems is significantly simplified by dividing the integration architecture into process, mediation, collection and distribution, and communication layers. The blueprint makes it possible to implement application systems correctly without losing sight of the bigger picture: a high performance, flexible, scalable, and affordable enterprise architecture."

As a reader I wished this was explained that way in the book (better the same chapter) along with some words about the relevance and how it helps to do more with SOA integration.

Chapter 5 explains the use of BPEL for integrating services of different systems into a single process. Here, the focus is put on the process flow and less on how to work with BPEL. Example configurations are given for exposing services on TIBCO and webMethods, for exposing Siebel and SAP services for orchestration in BPEL. Briefly the talk is about security (basic authentication) and logging.

Chapter 6 looks at ERP integration between PeopleSoft and Oracle Applications. If you are in the situation in which you need to get the two systems working together, then this chapter is for you. It explains how to create an example BPEL process, how to configure the OA adapter as a partner link and how to transform messages between the two systems. A useful reference shared in this chapter is for the Oracle Applications integration cookbook whitepaper, which you find here. Chapter 6 in my opinion is what I was expecting to find in this book: a real use case for SOA that is explained well to help readers solve a current integration problem.

Chapter 7 is about Enterprise Service Bus (ESB) and actually is a quite good read. It teaches the reason why ESB is needed, as well as the individual components, like Normalized Message Router (NMR) it provides. The idea of abstracting different systems, which may be based on different technologies and protocols, and that in the past may not even be designed for communication to the outside world, spoke to me and made this chapter useful. The uses NetBeans Enterprise Pack  5.5 and 6.0 for its screen shots and examples. The current state of the NetBeans enterprise pack is that SOA components have been removed from native NetBeans and instead should be installed from the Open ESB website:

"The SOA module has been removed from the standard distribution for NetBeans IDE 6.7. To use the SOA functionality with NetBeans IDE 6.7, you need to install GlassFish ESB v2.1 from the OpenESB website."  (src: http://soa.netbeans.org/#downloadsandstatus)

The last release of NetBeans that has SOA on board is NetBeans 6.5. I assume that this change was too late for the book to pick up, but at least it makes it appear dated.

Chapter 8 is about binding containers, which is an interesting read that explains NMR bindings to File, FTP, SMTP and JMS (though some of them needs to be downloaded from the Open ESB site to get them working in NetBeans 5.5 or 6.0). The concepts in this chapter are clearly defined and explained, which I liked. A practical example would have been a great addition.

Chapter 9 is about SOA and Web Service integration that aims for helping readers to get their SOA poject started without getting lost in the architecture's complexity. The chapter starts with pointing out that the vertical market thinking of the past often makes it difficult to integrate existing software solutions into a horizontal solution, where businesses need to access information from different business lines. For example, booking a trip to a foreign country often involves information from several airlines, hotels and rental car companies, accessed from a single front-end that hides the complexity that lies behind. It then introduces e-business patterns suggested by IBM. I didn't quite understand what IBM has to do with it and why there is no standard for it? The introduction of the IBM patterns is like the Trivadis architecture in chapter 3: It just falls into the book with no word of explanation regarding the why and the industry acceptance of it. However, the IBM patterns do a good job in outlining several architecture options to solve a specific integration problem. I liked that the patterns are not related to a specific technology and instead are expressed as blue prints. At its end, the chapter explains the  creation of WSDL files and the WS-I profile to then conclude with creating "hello world" Web Services in Java and .Net. The example of "hello world" at the end is a bit odd, given that this chapter guides you to more more complex things before.

With "Service- and Process-Oriented Approach to Integration Using Web Service", chapter 10 has a similar headline then chapter 9 but is about the Enterprise Service Bus (ESB). This chapter also makes me feel like Bill Murray in "Groundhog Day" from 1993: The problem statement that leads to SOA as a solution is getting introduced to me for the 10th time and I think that I'll have to live with it 4 more times until the end of chapter 14 will release me from this loop. On the positive side, you can read chapters in the order you like and don't miss out the relevance of SOA in today's IT. Chapter 10 nicely spans back to the various connection infrastructure types introduced in chapter 1.The chapter explains the role of the ESB in comparison to a pure Web Service approach for integration and its benefits as a connection infrastructure. The chapter states that as of 2010, when the chapter's original book has been published, there is no common standard definition of ESB (which is a statement that also goes in line with what you find on Wikipedia for ESB) nut that ESB evolve "into a tanglible infrastructure for SOA". The chapter therefore lists criteria to look out for when adopting an ESB to avoid vendor lock-in, which I think is very useful information. ESB advantages listed in the chapter includes scalability, connection to heterogeneous systems, mediation, transformation and routing, as well as orchestration and event notification.Like chapter 9, chapter 10 is a very strong chapter and one you want to read several times as it has so much information and insight to share.

Chapter 11 "Loosely Coupling Services" surprisingly already got me out of the "groundhog day" loop and went straight to the subject. It starts off with the criteria defining coupling of a service, the dependencies a services has to its environment, other services and input data streams. The chapter then continues discussing the Oracle Service Bus and Enterprise Service Bus and service virtualization. The content of the chapter is taken from chapter 4 of the Oracle SOA Suite Developer Guide by Antony Reynolds and Matt Wright. I don't understand though why this chapter was taken from the March 2009 version of the book and not from the 11g R1 version printed in June 2010. This decision remains the secret of Carl Jones the series editor but spoils the whole chapter as I kept of wondering which information else I can find is no longer accurate.

Chapter 12 "Integrating BPEL with BPM using BPM Suite" is another hands-on oriented chapter. The software used in this chapter is Oracle SoA Suite 11g PS2, which is a contrast to the older version used in the previous chapter. The chapter introduces the Oracle BPM Suite and its architecture. Readers learn about JDeveloper as the modelling environment and Metadata Services (MDS), a common repository used by the web based Oracle Business Process Composer to save projects. The hands-on journey actually gets stuck first time at a broken link that should point to the BPM Studion 11g extension. Since the publication of the original book the chapter was taken from, Oracle obviously has remodeled its website. However, the link is no longer needed and you can install the software directly from JDeveloper choosing Help --> check for updates. Then you install the Oracle SOA Composite Editor in a first installment and then BPM Studion (just in this order). Just in case you are interested in BPM I highly recommend "Getting Started with Oracle BPM Suite 11gR1  (ISBN 978-1-849681-68-1) from Packt Publishing. The remainder of the chapter then steps you through building a BPM flow for a travel request and approval scenario that included human workflow.

Chapter 13 "SOA Integratio - Functional View, Implementation, and Architecture" and deals with legacy integration. This chapter actually gets me back to "Groundhog Day" by explaining what SOA is (though it doesn't want to be a primer) and I can see Bill Murray staring at its 6 am alarm listening to "I got you babe". However, though starting with some repetition of what has been said many times earlier in the book, the legacy to SOA chapter provides some good information and methodologies for modernizing existing IT infrastructures. From an Oracle technology perspective it also covers the "why should I use" question for individual Oracle products in the context of SOA, which also is a bit of a sales pitch. All in all, I liked this chapter and the information herein.

Chapter 14 is "SOA Integration - Scenarion in Detail" works through a legacy migration project. Its not hands-on driven, but outlines the roles involved as well as the things to consider when approaching such a project. It should go without explicit mentioning that this chapter also repeats some of what the book explained before. Still, a good read.

So What's my final verdict - "buy" or "no-buy"?

As usually, it depends! Do More with SOA Integration: Best of Packt aggregates content written by people who know SOA. Personally I don't think that this is a book that I would bring to work if I was allowed to bring 3 books to a SOA project (Packt Publishing released other SOA books hat I probably would bring instead).

However, this book is not meant to be a programmer guide and for this reason does need to be brought to a job but should be read before planning the overall SOA infrastructure. By my experience in working with Oracle Application Development Framework (though a completely different topic), architecture decisions are too eagerly made driven by technology, which means that already in the planning stage architecture decisions are constraint or mislead by what is working best from an implementation point of view. Here this book really helps you to step back and focus on what you want and then how to achieve it.

My general expectation towards a book is that it enable me to do what I wasn't able to do before and that they provide information I did not know before, raising my awareness for good, best and recommended practices. From this perspective I can recommend this book (on an amazon.com rating scale I would give it 4 stars for the content, -1/2 star for dated information, missed out information and old screen shots and -1/2 for the bumpy reading experience = 3 stars). Note that on the real amazon.com website I found an existing 5 start rating for this book, which may mean I had the wrong glasses on)

Finally, and my apologies to Packt Publishing for stating this, "best-of" book compilations just don't work. Music best-of compilations are easy to listen to. However, best-of compilations of technical books are hard to read without the original chapter authors to add corrections and updates to the previously published content. The Do More with SOA Integration: Best of Packt book contains unnecessary repetitions, references old (out of date) technologies and introduces SOA core technologies in a non-chronological order that takes from the overall reading experience. An example for the latter is the introduction of a "hello world" Web Service at the end of chapter 9, which beside of this is a strong chapter that I liked. If you have money to spend on a single SOA book, my recommendation would be to buy one of the books the chapters were taken from. If you need a single quick overview at a glance and don't mind repetition and older information, still this book is a good reading (but never be 5 star. Again my apologies to Packt Publishing for having to say this; I know you had good in mind)


About

The Oracle JDeveloper forum ranks in the Top 5 of the most active forums on the Oracle Technology Network (OTN).



The OTN Harvest blog is a summary of selected topics posted on the OTN Oracle JDeveloper forum.



It is an effort to turn knowledge exchange into an interesting read for developers who enjoy little nuggets of wisdom





Frank Nimphius

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today