OBIEE & SOA, and a Parrot in the Fireplace
This week Jon and I took a few days out from client work, and went down to Oracle's offices in Bristol to work on some OBIEE and SOA prototypes. Regular readers of this blog will know that I'm particularly excited about the convergence of BI and Service Orientated Architectures, as it gives us the possibility of broadening the reach of BI into business processes and business applications. Jon and I had an invite from Mike Durran and the SOA integration development team to go to their offices and build out some examples, so we decamped down to Bristol, got our laptops out and started integrating some services.
The main driver for this has been the next round of masterclasses I'm running for Oracle University. The theme for this year's masterclasses is OBIEE, going beyond the basics and integrating it with the wider world of Oracle Fusion Middleware. In response to some requests from readers earlier this year, I'm having a common thread going through the entire masterclass, where we take the data provided in the SOA Suite "Order Bookings" demo, extend it a bit to create a customer data warehouse, then modify the Order Bookings BPEL process to call out to OBIEE reports, conditions and iBots to add "intelligence" to the business process.
Last week, we built out the bits where the request for customer information, which previously was obtained through a database adapter against an Oracle database, is instead retrieved from an Oracle BI Answers report. The credit check, which in the original Order Bookings demo was performed by checking that the credit card checksum was correct, is instead obtained by running an Answers report that either returns rows (customer is valid) or doesn't (customer is invalid). At the end of the process, an iBot is triggered which checks inventory and emails a "low stock" report to the inventory manager if stock needs replenishing.
All of this is accomplished through the Web Services interface provided by OBIEE, and is intended to demonstrate to the developer audience how this integration process works. In terms of customer benefits, it allows you to "externalize" decision about customer validity, get customer data, say, from an integrated BI Server data store, all of which can be modified by a report builder and enhanced to add intelligence to the business process. Now that the basic invokation of OBIEE Web Services is built out, the next thing we're doing is integrating an Oracle Real-Time Decisions decision engine in to the BPEL process, removing a set of static rules and replacing them with a self-learning decision process that assesses customer feedback, prices offered and past order preferences and picks a supplier based on which is likely to be most profitable for the company. I've got all the code together and the decision process, so next week I'll be folding this into the enhanced Oracle Bookings process and integrating the whole lot. Apart from all the SOA and RTD goodness, I'm also working on some data modeling issues (see previous postings a week or so ago around ragged hierarchies, fragmentation and aggregate persistence), some dashboard and alerts tips (including calling a BPEL process from a guided analytics link), and a whole section on OBIEE and Identity Management. If you're interested in attending, here's the current set of dates: One of the Oracle team and I are also working on an article for OTN on integrating OBIEE and SOA, which we'll probably submit after the first seminar in July and hopefully see up on OTN around August or September. So, what, I hear you ask, about the escaped parrot? Well, just before I went down to Bristol, we'd heard this rustling sound in our chimney but put it down to bits of our chimney falling off (we've got an old Victorian house in Brighton). Well after I got back, I was lying in bed on Friday morning just happening to look at the fireplace, when a bird's head popped out of the chimney flue, looked round at me, and then fell from the flue into the fireplace. Bizarrely, rather than being a pigeon (or a seagull, as it's Brighton) it was a rather puzzled-looking parrot; whilst it was a bit flustered at first, it then took up residence on our bed, let us feed and water us, and then just sat there for around four or five hours whilst we tried to think what to do with it. Looking in the phone book, there is an actual "Sussex Parrot Rescue" service, but in the end we bundled it up in the cat transporter box, took it to the vet and left it with them to rehome. The parrot itself took it all in it's stride - it just sat there looking philosophical, shuffled about a bit and so on, unlike my wife who was rather understandably rather freaked out by a parrot falling down our chimney. Our cats however knew nothing of what was going on, although given the size and un-flappability of the parrot, I don't know who would have come off worse. UPDATE: Unbelievably, as I just finished writing this blog posting, another parrot fell down our chimney - not the same one (a homing parrot?) but presumably it's mate, who presumably also was nesting in our chimney. This one looked a much tougher proposition, flapped around the bedroom a bit and then flew through the (rapidly opened) window. As if things couldn't get any stranger.