Wednesday Dec 11, 2013

Review: Oracle Data Integrator Essentials [Video]

Packt Publishing ( released a new video tutorial about Oracle Data Integrator  authored by Andreas Nobbmann of TrivadisAG in Switzerland.

The video is well paced and structured and in its larger parts focuses on ODI Studio, the IDE for building data integration projects. The TOC shown below is from the Packt Publishing website and while it gives  the timing for each section as +20 minutes, each item on the TOC is provided in its own 3-7 minute video, making it easy to listen and consume:

  1. The ODI Core Concepts [24:15 minutes]
    • Key ODI Concepts
    • Differentiating between ETL and ELT
    • Exploring the Graphical UI
    • ODI Basics
    • Defining Your Strategy
    • The ODI Staging Area

  2. Developing in ODI – the Core Objects [21:47minutes]
    • Organizing Your Project
    • Creating an Interface
    • Using Joins, Data Sets, Filters, and Sequences
    • Using Temporary Interfaces and Lookups

  3. Your Data Transformation Strategy – Knowledge Modules [11:06 minutes]
    • Adapting Knowledge Modules to Your Needs
    • Executing Data Transformation in an ODI Interface
    • Executing a Mapping on Your Source

  4. Workflows in ODI [19:08 minutes]
    • Creating a Workflow in ODI
    • Reusable Workflows: Procedures
    • User Functions as Useful Functions
    • Customize Development Objects in ODI

  5. Data Quality and Delta Detection [15:08 minutes]
    • Oracle Data Quality Products
    • Using Data Integrity Controls and Integrating Data Quality in ODI
    • Running EDQ
    • Delta Detection via CDC

  6. Version Management and Deployment [13:06 minutes]
    • Version Management
    • Scenarios: Smallest Deployment Units
    • Solutions
    • Export and Import

  7. Operating and Maintenance [12:51 minutes]
    • Loadplans
    • ODI Repository Tables
    • Security

  8. Additional Supporting Functions [11:11 minutes]
    • How to Automate ODI Object Creation
    • Impact and Data Lineaging
    • ODI Studio Enhancements

The videos explains the development environment and replaces lots of readings. As someone being new to the whole project of data integration I missed a chapter 0 that introduces data integration principals and concepts to put viewers into a context that allows them to follow the rest of the tutorial.

Maybe people like me are not the envisioned audience this video is recorded for. Questions I had while watching the tutorial included i) what is the end product of a Oracle DI project (a script? a service API?), ii) how is the repository installed and where iii) what is the result of data integration, is is a data loading from a source into a target? An end-to-end example would have been nice to see the problem solved by the product and how this solution then looks. 

All in all I think its a good tutorial if you are BI savvy and know what the Oracle DI Studio is good for (as it seems to be quite powerful). Given my non-BI background and using the Amazon star ranking as a shared language, I would give 3 stars. If there was a chapter 0 (missing) that introduces the concepts of data integration it would be worth a 4th star. An end-to-end example would have made me giving a 5th star in my rating.

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" (  by B. M. Madhusudhan Rao (a.k.a James Smith  - - 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: (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


Thursday Nov 29, 2012

Book Review: Oracle ADF Real World Developer’s Guide

Recently PACKT Publishing published "Oracle ADF Real World Developer’s Guide" by Jobinesh Purushothaman, a product manager in our team. Though already the sixth book dedicated to Oracle ADF, it has a lot of great information in it that none of the previous books covered, making it a safe buy even for those who own the other books published by Oracle Press (McGrwHill) and PACKT Publishing.

More than the half of the "Oracle ADF Real World Developer’s Guide" book is dedicated to Oracle ADF Business Components in a depth and clarity that allows you to feel the expertise that Jobinesh gained in this area. If you enjoy Jobinesh blog ( about Oracle ADF, then, no matter what expert you are in Oracle ADF, this book makes you happy as it provides you with detail information you always wished to have. If you are new to Oracle ADF, then this book alone doesn't get you flying, but, if you have some Java background, accelerates your learning big, big, big times.

Chapter 1 is an introduction to Oracle ADF and not only explains the layers but also how it compares to plain Java EE solutions (page 13). If you are new to Oracle JDeveloper and ADF, then at the end of this chapter you know how to start JDeveloper and begin your ADF development

Chapter 2 starts with what Jobinesh really is good at: ADF Business Components. In this chapter you learn about the architecture ingredients of ADF Business Components: View Objects, View Links, Associations, Entities, Row Sets, Query Collections and Application Modules. This chapter also provides a introduction to ADFBC SDO services, as well as sequence diagrams for what happens when you execute queries or commit updates.

Chapter 3 is dedicated to entity objects and  is one of many chapters in this book you will enjoy and never want to miss. Jobinesh explains the artifacts that make up an entity object, how to work with entities and resource bundles, and many advanced topics, including inheritance, change history tracking, custom properties, validation and cursor handling.

 Chapter 4 - you guessed it - is all about View objects. Comparable to entities, you learn about the XM files and classes that make a view object, as well as how to define and work with queries. List-of-values, inheritance, polymorphism, bind variables and data filtering are interesting - and important topics that follow. Again the chapter provides helpful sequence diagrams for you to understand what happens internally within a view object.

Chapter 5 focuses on advanced view object and entity object topics, like lifecycle callback methods and when you want to override them. This chapter is a good digest of Jobinesh's blog entries (which most ADF developers have in their bookmark list). Really worth reading !

Chapter 6 then is bout Application Modules. Beside of what application modules are, this chapter covers important topics like properties, passivation, activation, application module pooling, how and where to write custom logic. In addition you learn about the AM lifecycle and request sequence.

Chapter 7 is about the ADF binding layer. If you are new to Oracle ADF and got lost in the more advanced ADF Business Components chapters, then this chapter is where you get back into the game. In very easy terms, Jobinesh explains what the ADF binding is, how it fits into the JSF request lifecycle and what are the metadata file involved.

Chapter 8 then goes into building data bound web user interfaces. In this chapter you get the basics of JavaServer Faces (e.g. managed beans) and learn about the interaction between the JSF UI and the ADF binding layer. Later this chapter provides advanced solutions for working with tree components and list of values.

Chapter 9 introduces bounded task flows and ADF controller. This is a chapter you want to read if you are new to ADF of have started. Experts don't find anything new here, which doesn't mean that it is not worth reading it (I for example, enjoyed the controller talk very much)

Chapter 10 is an advanced coverage of bounded task flow and talks about contextual events

 Chapter 11 is another highlight and explains error handling, trains, transactions and more. I can only recommend you read this chapter. I am aware of many documents that cover exception handling in Oracle ADF (and my Oracle Magazine article for January/February 2013 does the same), but none that covers it in such a great depth.

Chapter 12 covers ADF best practices, which is a great round-up of all the tips provided in this book (without Jobinesh to repeat himself). Its all cool stuff that helps you with your ADF projects.

In summary, "Oracle ADF Real World Developer’s Guide" by Jobinesh Purushothaman is a great book and addition for all Oracle ADF developers and those who want to become one.



A blog on Oracle JDeveloper, ADF, MAF, MCS and other mobile and web topics inspired by questions and answers posted on the OTN forums.

Frank Nimphius


« August 2016