Loraine Lawson spoke with Greg Schott, CEO of MuleSoft (previously MuleSource) about the new iBeans open source offering, which gives Java developers a quick and easy way to integrate internally or with some platforms externally.
Lawson: You're best known as an open source ESB, correct? But I understand you're doing something with Tomcat servers?
Schott: Yes. Overall in the ESB space, as a company we've continued to do extremely well. We've had three record quarters, getting ready to put another one in the bag of record bookings growth.
"What iBeans does is allows a developer - with just a few lines of code - to provide integrations, to a cloud service or a SaaS service."
We run standalone, as well as inside of application services, but we've seen Apache Tomcat servers being a fairly common deployment technology that our customers were using. We started looking at what we could do to help people be more effective with it and we saw there were several things that we brought to the table. First, with our Galaxy product, we had already developed a lot of intellectual property around application provisioning and managing artifacts and deploying them. Then we also obviously understood run-time, and a lot of kind of mission-critical functionality around management and monitoring. So we took a lot of the core intellectual property and our open source knowledge and put that together and came out with Tcat Server. It uses plain vanilla Tomcat - we don't make any changes to Tomcat - but it provides some very deep diagnostics capabilities, management monitoring and application provisioning and deployment capabilities bundled in. So that was the announcement we had a few weeks ago.
In parallel with that, there's our iBeans technology. If you think about the whole ESB trajectory, there have been some concerns about top-down, heavyweight SOA infrastructures and people's success or lack thereof. We thought that the way to solve some of this problem would be to give people success quickly with very lightweight integration.
What iBeans does is allows a developer - with just a few lines of code - to provide integrations, to a cloud service or a SaaS service. We're talking about things like Gmail and Twitter and Flickr and things like that. So, there could be an iBean that really provides the access to the APIs of those third-party services or somebody can develop an internal iBean that is a reusable component that other people in their organization can use.
Basically, it gives a Java developer a very quick and easy way to provide an integration with their applications, but because it is backed by some of the core Mule technology in the background, it provides them with an on-ramp to a more robust ESB solution. So it doesn't dead end and it's not this one-off situation where three to six months down the road, people are thinking, "Wow, I wish we would have used something that could expand with us." We give the people a way to go from a fast implementation and integration to something that is really more architecturally correct as people try to scale.
Lawson: So iBeans are designed to be used with your ESB - only your ESB?
Schott: No, it's not required to use our ESB. You use iBeans and the iBeans run-time associated with that does not require use of the Mule ESB. It has some core Mule integration components in it, but it doesn't require you to buy in to an ESB. You can start off in a lightweight integration fashion using these iBeans.
Lawson: The release says iBeans can be used to connect to services such as Twitter, Gmail, Flickr and Amazon EC2. Can you give me an example of some other ways you might use iBeans?
Schott: A use case in the social networking realm would be somebody who was doing any kind of a mash-up type of composite application. So if you're trying to access a bunch of different data services, you could use iBeans as a way to quickly wire those things together.
Outside of the initial list we have there, you could use it to connect to Salesforce if you were just trying to pull down some very simple piece of information or even something more complex, a customer record or other things. Also, if somebody really knows what they're doing, they can write an iBean in a few minutes, maximum a couple of hours. So it would be a way for somebody internally to say, "For accessing my SAP application, I need to pull down a customer record" - or whatever components you're trying to pull from a customer record - "I'll write that iBean internally." You'd use this concept of an iBean store, if you will, to manage your set of iBeans.
Some of those would be externally developed and contributed by the community, and that's going to be something we're calling iBean Central. That's where community members would contribute a bunch of these, but then internally you could have your own set of iBeans for any of your internal applications - whether they would be something that came from an ISV (independent software vendor) or homegrown applications. You could have kind of a set of reusable components.
Lawson: Is iBeans Central a commons or something you subscribe to?
Schott: It's a commons.
Lawson: Is there anything else like this?
Schott: I don't think so. On one end of the spectrum, you've got kind of the heavyweight ESB players. The commercial ESBs are very much of a big, heavy architectural decision. And at the complete opposite end of the spectrum, from an integration standpoint, you've got folks that have a very lightweight, point-to-point integration. They'll connect you one time to Salesforce or something like that.
But there's never been, that we're aware of, a way to have the best of both worlds where you can do some of these really lightweight, easy things up front and then have the capabilities on the back end going forward that if you want to pull into a full-blown ESB, you're already part way there, because you're already using some of the Mule components.
If you're already working with these annotations for iBeans and then you want to put a full-blown Mule ESB backending it, it just doesn't require any real additional changes to your code. You've already hooked in. You already understand how to work with Mule.
Lawson: Does iBeans offer anything to organizations that already have an ESB?
Schott: If you're already a Mule user and you're using it at the ESB level, if you want to use iBeans Central to connect to some other services, connect to Twitter or AWS or something outside your firewall, you've got an iBean that's sitting there ready to use and re-purpose.
If you were already in a full SOA infrastructure, there's no reason why you couldn't use an iBean and use the iBean run-time to provide that integration. It'd be a way to connect to the services in a very lightweight way because coming out of the backend of it, the runtime could talk to another ESB. I'm not sure if people necessarily would go down that path out of the shoot.
Lawson: Right. But you have to be on Tomcat - not necessarily your version, but a version of Apache Tomcat server - that's the clincher?
Schott: Yes. Tomcat has broad penetration in IT organizations, over 70 percent by some counts.
Lawson: Okay. What's the cost?
Schott: iBean is purely open source. The iBeans console is actually included with the iBeans runtime; it's more of just a development time kind of console as opposed to a full-blown environment. We are working on an Eclipse plugin for iBeans that will be out in a couple of weeks.
If somebody wants to run it on top of the Tcat Server, that pricing is between $595 and $930 per CPU.