Thursday, July 23, 2009

Beehive and Zimbra

The reason I haven't blogged for such a long time is that I am no longer consulting. Some time back, I moved to product development for the Oracle Beehive Collaboration Software. I have been working on an exciting fast paced project to integrate our product with the Zimbra Ajax Web Client using SOAP protocol.

I also did some pilot projects on Ajax powered instant messaging using Java mobile library, integrating Beehive emails, calendar with WebCenter Spaces and searching Beehive artifacts in WebCenter using Oracle Secure Enterprise Search. It has been a long journey and I will try to cover parts of it in my subsequent posts.

Wednesday, March 5, 2008

While scaling up SOA, it is important to ensure that every component in the architecture is scalable

I was at a client, load testing an end-to-end business process developed in Oracle BPEL and boom ... it failed completely! Luckily for me, Oracle BPEL provides a visual audit trail and I was able to trace the failure to a web service that BPEL invoked. This web service was developed by the client internally and it was not dependable. But before I could tell that to the client, I had to have a proof by manually testing the web service. This is when someone pointed me to soapUI. I have used a few other tools but this one is really nice and it is free. I was able to test the web service using soapUI and it was clearly not responding.

I soon discovered that the web service was hosted on Tomcat. I bounced Tomcat to restore the web service. Then, as if to prove a point, someone sent multiple requests to Tomcat by clicking the send button repeatedly but, it would not go down again. You might have guessed the reason already. All those requests were in a single thread and Tomcat had no problems servicing them sequentially. Oracle BPEL on the other hand used multiple threads which ganged up on Tomcat, causing it to fail the moment I queued more than 5 messages.

Rather than spend my time worrying about Tomcat which, I don't think was meant for the torture that I was putting it through, I removed this web service from the business process. I was then able to load test as best as I could have on a cluster of Oracle BPEL servers running on VMware virtual machines and Suse Linux.

While scaling up SOA, it is important to ensure that every component in the architecture is scalable otherwise we will run into problems like this.

Use Terminal T at the Atlanta airport
This client was in Atlanta which has the distinction of being the only airport beside Sri Lanka where I have missed my flight mainly because of the security check. This time I was determined not to let the history repeat itself and I arrived at the airport more than 2 hours ahead of time but looking at the lines at Delta's terminal, I was sure to miss it again. Then, I remember someone telling me about terminal T. I could see the signs to this terminal just across from Delta's baggage claim. I walk to the terminal T, clear the security, ride a train and reach the boarding gate with an hour to spare!