I am very excited to announce that MuleSoft has launched a new open source integration product called iBeans (short for Integration Beans). iBeans provide a way to dramatically simplify common integration tasks for Web application developers.
Why did we create iBeans?
As I mentioned in a previous blog post, ESBs provides powerful integration capabilities, but not every integration scenario necessarily calls for an ESB; even a light-weight ESB like Mule. Some applications, including many web applications, require integration to only a few services, using standard protocols without any complex routing.
For example, you might be building a web app that just needs to poll an RSS feed for information and send an email alert when certain conditions are met. Or, another app might need to pull location information from a database and map it using Google Maps. In those cases, you want a solution that fits within your app rather than an ESB that sits outside of your app. The challenge is, in those simple integration cases, developers are left with few choices. They can either write hundreds of lines of code to communicate via those protocols and make the appropriate API calls to the service, or they can implement an ESB-type solution and have to overcome the concepts, architecture and nomenclature that introduces.
iBeans is all about hooking shit together. I’ve spoken with dozens of Web app developers, and it became clear that there was a huge need for something that bridged that gap – a tool that could help eliminate the “donkey work” of all of that manual point-to-point integration coding, without the need for learning ESB and its architectural concepts.
· Receiving and sending email
· Subscribing and publishing to JMS queues and topics
· Scheduling tasks, such as polling database tables or RSS feeds
· Publishing REST-style services using JAX-RS annotations (soon)
· Publishing web services using JAX-WS (soon)
· Interact with public APIs like Amazon AWS, Facebook or Flickr.
· Subscribing to and publishing AJAX events
iBeans dramatically simplifies these common integration tasks – developers can create an iBean for a particular application in literally minutes, and you can invoke those iBeans from a method using a few simple annotations in your code.
Even more interesting, iBeans are ideal for sharing and reuse. We’ve created iBeans Central, which is a free repository of reusable iBeans that are built/contributed by the Mule community and hosted in the cloud. Some examples of iBeans already available for use include iBeans for Twitter, Amazon EC2, Flickr, and Gmail. These iBeans can be downloaded for free from the iBeans console, for use in any application.
I’m hoping iBeans will transform the way people think about building web apps in the new era of the web. Rather than having to worry about the “plumbing,” developers can now focus their energies on creating useful applications with great user interfaces, letting iBeans do the heavy lifting in the background. But don’t take my word for it, download the beta and try it for yourself, at http://www.mulesoft.org.