Hi All,
This is the first post in a series on open source ESBs and real-world SOA. What I mean by real-world SOA is people doing real things in production within SOA initiatives. Initially I will concentrate on JBI 1.0 implementations such as Apache ServiceMix/IONA Fuse (to include Camel), and Sun's Open-ESB. Later on will look to cover other implementations such as Mule and Spring's new offering.
The key point is this is real stuff, not just some posting regarding theory. At IONA I was a consultant that used ServiceMix, CXF, ActiveMQ, and Camel in the field. I was also an instructor and course co-author for provided training for these frameworks. Previous to IONA, I was the technical lead on projects that had fixed budgets and schedules, and we delivered many projects on-time and under-budget. So my focus is actual delivery and keeping the rubber on the road.
Now with Telelogic/IBM, I am now dedicated to moving to the next level and integrating these open source frameworks into advanced analysis, modeling (UML, SysML, DoDAF, etc.), simulation, and implmentation tools. This was a logical next step in my career to bridge a heavy implemenation background with systems engineering and true architecture design. These tools allow you to actually build, catalog, and govern your SOA so they differ greatly from "drawing" tools. The real payoff is the ability to actually model designs running, prior to making the final plunge into implementation! If everything works out like I want it to :-), several of the most popular open source frameworks and patterns will be integrated into these tools giving higher productivity and assurance that your implemtations using open source "fit the bill". I will also be using these tools to assist the Apache community with design documentation via reverse-engineering.
Getting back to the essence of the title, are open source ESB's real? The answer is a definitive YES! These SOA tools are now at the level where they work, and work well. Of course there are some bumps, but in general you will find them to be stable and real alternatives. Each ESB has strengths and weaknesses so you need to take a look at which tool is best for your needs. But, I have it on real-world experience that they work as advertised.
Does this mean that you should never use a closed source ESB? In my opinion, the answer is probably no, or at least maybe. The project requirements need to be a core driver, as well as other issues such as support and the skill level of your team. Often, a blend of open and closed source is the answer.
I am also a big fan of Apache projects for open source. This is not to say that non-Apache projects are not worthy. I just feel that the community around Apache is essentially "un-stoppable", that is no entity can ever kill an Apache project. Also, the license structure is also important regarding modification and distribution. Given this, my trade studies for selecting frameworks take into account these legal issues as well. I find the Apache license to be the most lenient. This is an important distinction that should not be ignored.
So, are open ESB's real? You bet! Go forth and use them!
The next post will talk about when to host services in an ESB versus some off-ESB surrogate process/container such as CXF, Spring, servlets, etc. Essentially, "to ESB, or not ESB". I found that people are struggling with what constitutes when a service should be deployed to an ESB, or standalone. Hopefully I can help clear the picture over time.
Cheers,
Patrick
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment