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 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?