After working with Groovy and Business Rules for a while I’ve written a tutorial Implementing a Groovy-based rule engine which shows how both technologies can help to achieve a greater level of agility in enterprise applications.
Together Services, Business Processes (BPM) and Business Rules (BRM) can be a powerful combination to keep the SOA promise of creating agile business applications.
I often hear questions about how those three can be combined in a reasonable way.
In their article Implementation of business rules and business processes in SOA Boris Lublinsky and Didier Le Tien give some practical advice.
Recently we released the SOA Open Source Reference Platform (OSRP) Workshop.
If you have ever tried to evaluate Open Source technologies you might have experienced that a lot of time is lost in simply integrating all the different tools and products.
The idea behind the workshop is to provide people with an integrated environment which can be used to quickly learn Open source SOA technologies. This environment is called the SOA Open Source Reference Platform (OSRP).
After the workshop the attendees have a sound understanding if and how Open Source products can be used to build a reliable SOA platform.
The OSRP-Workshop is ideal after attending the SOA Workshop which gives an overview about terms and technologies used in the area of Service-oriented Architecture.
In times of lightweight containers and Service Oriented Architecture (SOA), Enterprise Java Beans (EJB) is not the predominant development model anymore. Instead multiple technologies and frameworks are competing to be THE service development model of the future. For instance SCA, Spring, Axis, CXF and …
… probably EJB?
The Jbi4Ejb Binding Component allows to integrate Stateless Session EJBs into an ESB infrastructure, thus making them available to service consumers.
This is again a nice example of how open standards such as JBI help to protect the investments of the past.
Some people argue that SOA and BPM are two different things. That is probably right because it is possible to create a service landscape without having a business process representation. But if you look at the main reason for establishing a service oriented architecture the perspective changes.
The main reason for SOA is business agility. Every technology that helps to achieve that goal is welcome to be integrated in the SOA technology stack.
BPM makes perfect sense as it fosters better aligment on business and IT and helps to shorten development cycles.
Ok understood. But if that is true wouldn’t be be enough to use a BPM only without services? The answer is no because in order to create a flexible BPM solution it must be based on a sound service landscape. If that is not the case changing a business process would require new services to be created or existing to be altered. Sooner or later this would lead to service proliferation which would render the BPM approach useless over time. The result would be anything but hardly an agile system.
My conclusion: Using BPM as part of a SOA makes perfect sense if it is based on reliable and well designed services.
In the current issue of Javamagazin you can read my latest article about SOA-Transformation. It covers the more organizational aspects of service oriented architecture.
After working a while with Groovy in a project I have the impression that it is the better Java.
Mainly because it introduces nice productivity features such as closures, runtime compilation, loose typing, operator overloading just to name a few.
These features are available in C# for instance as lambda expression, extensions methods or type inference. And runtime compilation and operator overloading are even part of the .NET-Platform since version 1.
But while the C# language evolves from version to version in a logical way, in the Java world a new language is created. It is called a scripting language. Why that? Every language that can be compiled at runtime can be used as a scripting language.
I think it would be better to add those productivity features to the next version of Java without further cluttering the Java platform. This would help developers and decision makers to choose the right technology.
In February and March 2008 I am giving a series of presentations about applying the Enterprise Service Bus technology in practice.
If you are interested please register here: