Skip to main content

Best IDE to teach SOA and ESB concepts

Posted by giovanisalvador on April 19, 2009 at 11:32 AM PDT

I am preparing myself to teach at a post-graduation course that is going to start in May. I will be responsible to teach
and discuss around architecture and despite software architecture will drive most of the discussion, I will be also presenting topics
like business architecture, enterprise architecture, information architecture, etc.
Helping to support most of these architectures is the Service
Oriented Architecture (SOA), which is not a discipline by itself but helps to implement the architectures mentioned above and drive
companies towards a better IT governance, if well implemented.
As part of the SOA discussion there will be some hands on and students' skills may vary (some may work with SOA in the .Net world
while others with Java). So which tool should I use? Also, I should be taking into account some requirements like:

  • IDE should be able to easily integrate with an open source ESB.
  • Visual tool to create services. Students shouldn't need to deal with lots of XML files in order to publish a service or compose existing services.
  • Easy to use and understand.
  • Not so configuration driven. Donwload a bundle and start using it. - Not too dependent on compiled code to perform tasks like routing and transformation.
  • Binding to a variety of protocols like htpp, jms and ftp.
  • Based on standards like XQuery, BPEL and XSLT.
  • Last but not least, strong community support.


There is one IDE which I really like to play SOA which is Oracle Workspace Studio (formerly BEA Workspace Studio), that works
together with Oracle Service Bus (formerly BEA AquaLogic Service Bus - or ALSB for short). It is a robust IDE that helps to easily create
services, compositions, routings and transformations. Oracle has converged Oracle ESB and ALSB into a single product. Check href="http://www.oracle.com/technology/products/integration/service-bus/docs/Oracle-Service-Bus-SOD.pdf">here. However, it is not
free license.
Then I started loooking at some other ESBs like mule, ServiceMix (JBI based) and also Open-ESB. I have not done any formal or
complete comparison between the differents ESBs and their IDE support. If you want to see some comparison, check this good
one
, from the Utah Department of Technology Services. But I like what I saw when I downloaded the GlassFish ESB in a bundle together with
NetBeans IDE. All in one, installation was easy and first steps either. My first services were easily created and deployed using the strong integration NetBeans has with GlassFish. Also, you can easily create composed services using BPEL in a graphical manner.
There are lots of templates for developers who are new to the entire solution like the Travel Reservation service that shows a complete business process in action and all the steps of the flow graphically so you can investigate and configure each step individually.
So this is the path I am going to follow for the course, which is the GlassFish ESB solution. So far, I haven't found anything easier than that given my requirements. I will be posting here my progress on NetBeans SOA solution.
But what about you? Any suggestion on an easy IDE to play with the SOA world?

Related Topics >>

Comments

There are very good tools out there. But I have to agree that NetBeans sold me with their excellent integration and decent tutorials. My needs are different. I'm evaluating for company use. It is much easier for me to get buy-in if it is fully functional (Mule has a stripped down community edition) and free. And yes, Oracle, has an excellent license for personal dev/edu use.

I haven't seen SOA in other IDEs, but I can say that I tried the OpenESB SOA Tutorial in NetBeans and was amazed at how intuitive the controls were as well as how truly high tech fantastic it looked! My only comment would be that the Tutorial could probably use a good course to go with it to help explain the concepts a little better - so your course might just be the perfect match.

Hi Giovani, I'm glad to hear that your first experiences with OpenESB were positive ones. I hope you give OpenESB serious consideration: you'll find out that it has a strong set of components (BPEL, XSLT, ...) and it comes with a very easy to use IDE. Should you have any questions, feel free to ask them on the OpenESB users' mailing list! -- Frank Kieviet

Thank you Edgar. I will consider reasearching a litle more on the JBoss tool set.

Giovani, JBoss offers JBossTools(http://www.jboss.org/tools), which is an option, besides, Eclipse has several others plugins, for instance: Eclipse BPEL Desginer (http://www.eclipse.org/bpel/), I would add an opensource BPEL engine: Apache ODE(http://ode.apache.org/) . JBoss ESB is a nice ESB, once we have many many successful cases already in Brazil (where I guess you will be teaching), you may count also with JBoss jBPM and Drools respectively as your Orchestration engine and Rules Engine, in JBoss Tools you will find available plugins for interacting with these tools, as well as JBoss ESB. Although, in my opinion NetBeans is an incredible environment for academic teaching. IMHO, teaching using opensource solution is much better, once your students will be free for downloading these technology anytime.

Daniel, I haven't found any the same IDE support and the visual creation of flow in JBoss like in the other IDEs. Not sure if you experienced something similar with JBoss like we have in ALSB + Eclipse Workspace.

What about JBoss? http://www.jboss.com/products/platforms/soa/ http://www.jboss.org/jbossesb/

I completelly agree. What you teach should match with what the market is using. Of course, the concepts behind the tools won't be lost after the course but it would be much better to guide the students in the right path.

Oracle SOASuite is free for development and (I think) educational purposes. So is Oracle database. JDeveloper is free for all purposes, the BEA Workshop will be as well if it isn't already (Oracle is I think not yet done consolidating all licenses).
As eelzinga said you should match the tools you use to the products your students are going to be using after the course. There is enough difference between different variants that it's non-trivial to move from one to another.

For topics on both open source and the oracle stack see http://eelzinga.wordpress.com

If you want to use open source and soa i would recommend the netbeans ide with his support for the soa components. OpenESB is getting more and more mature and adopted. Support for xslt, bpel ,composite applications but also the easy wizards for creating webservice etc..it's all there out of the box. If you want to use a non free suite you could use the Oracle SOA Suite. The suite itself got lots of components in it like bpel, esb, webservice manager, business rules and all integrated not that bad ;) Development for this will be done in JDeveloper, Oracle his own IDE. This IDE got lots of functionality in it, but not really widely adopted in the 'java world'. After Oracle bought BEA they had some new components which 'matched' with the Oracle stack..one of these is the alsb. Development for this esb can be done in the Oracle Workshop (Eclipse) or the console of alsb. If i need to make a choice between this esb (OSB) and the older Oracle Enterprise Servicebus (OESB) i would go for the OSB. Hope it isn't too much info. So it depends if you want to teach the attenders more about open source or the Oracle stack. Both stacks will do their jobs well.