Sunday, December 04, 2005

Wrap up

It's been two great weeks!

Thanks to our teachers Dr Hans-Joachim Novak and Thomas Kasemir as well as their colleagues Khirallah Birkler and Morgan Suski, all from the IBM lab in Böblingen. Thanks also to Andy Gibbs, IBM Hursley, for feedback and blog encouragement. We also had a good time with our classmates Andy Verberne, Don Weyham , Tobias Fenster, Steffen Laux, Michael Busche, and Martin Smith. It was great meeting you all.


This blog will now be archived as-is.



// Mårten, David, and Petter.

Friday, December 02, 2005

Day 10 - Common Event Infrastructure

The Common Event Infrastucture can be configured in every possible way you can think of. You can configure processes, selectors, human tasks and everything else within WPS to send CEI events. Hence CEI can be used for auditing, notification, correlation, and deliver key performance indicators (KPI). CEI uses something called a WBI Session which is basically a context in which WBI Components execute.

It's very easy to generate lots and lots of data when enabling CEI both due to the amount of events that any reasonably sized and the fact that the entire BO may be logged on each event. As with ND and clustering there's a lot of things to configure in the WAS administration console, which of course makes it both very powerful and quite hard to get a grip on.

The setup of CEI must be thought through carefully before configuration. There is a huge risk that too much logging events will mess up the system performance. When used with care, CEI can become a powerful tool for information auditing.

Thursday, December 01, 2005

Day 9 - Clustering and Integration Patterns

Thursday consisted of two big lectures with corresponding giant labs. We started off with clustering and high availabilty using the cluster features in WebSphere Application Server (WAS) version 6. The WAS is huge, as are all J2EE application servers and I didn't find this lab that interesting not being that interested in application server administration. It did give a good look into some of the advanced features of the WAS though.

After lunch we dug into integration patterns, applied on WAS/WPS, which I found far more interesting. The presentation was based on Gregor Hohpe & Booby Woolf's excellent book Enterprise Integration Patterns. This made the actual presentation pretty repetative for me but the lab and the example scenario used for the lab was really good and provided a great foundation for experimenting and trying out different approaches to sync/async scenarios between different components and modules.

Day 8 - SCA invocation models

On Wednesday we covered custom selectors, the SCA invocation model and some exception, error handling and compensation in BPEL processes.

The four different SCA invocation models are:
  • Synchronous. Pretty obvious.
  • Asynchronous, one way. Fire and forget.
  • Asynchronous, deferred response. Fire and poll for result.
  • Asynchronous, callback. Fire and the engine will call your callback method with the result.

Then we did custom selectors. Although the tooling only supports time-based selectors at the moment the selectors can be altered for much more complex tasks. The selectors can be customized using Java and hence pretty much anything could be done to select which component to call. One thing we thought of was to call out to an external rule engine.