In this blog post I will show how to extend Mule in a simple way using the recently released Mule DevKit. The goal of the Mule DevKit is to accelerate the development of Mule extensions by abstracting you from Mule specific stuff so that you just focus on what your are trying to build.
My idea here is to create a simple Cloud Connector to interact with Google Maps API but the concepts covered here can be used in other scenarios as well. Since the Mule DevKit is intended for developers, expect many code snippets so that you can go through this example on your own and play around with the code. You can get the full source code here.
We spent a good portion of 2011 working about our Cloud Connect initiative. That initiative has brought us the wonderful Cloud Connect DevKit, a brand-new MuleForge and lots of cloud connectors. We are extremely pleased with how all turned out and we think that the Cloud Connect DevKit played a huge part into the success that Cloud Connect has become. We felt truly in love with the way you can turn a POJO into a fully feature Cloud Connector.
As a matter of fact we love it so much that we decided to expand that development philosophy to everything Mule. Hence, we are are proud to introduce… the DevKit. The new DevKit is much more flexible than ever before, and we extended its hooks from Cloud Connectors to Mule Modules in general. Let me give you a quick tour of what is it all about.
Every week we blog about new Cloud Connectors made available for the Mule community and we have plenty more in the pipe but now is probably a good time to explain more of the what and why of of Cloud Connectors.
This post is all about developing Cloud Connectors and deploying apps to Mule iON, but rather than just using words I created a screencast that demonstrates how to use Cloud connectors and Mule Flow to build applications that can be run on Mule or Mule iON.
Cloud Connectors provide simple and reusable integration with Social Media APIs (like Facebook and Twitter) and Cloud platforms (for example Amazon Web Services). You have many options: browse our existing Cloud Connectors, create new ones yourself and share them with our growing community (and take credit for it!), or turn your existing public API client into a reusable Cloud Connector. In this particular example, I will use GeoNames API and Google Maps.
We live in a world where the slow one is left behind. You company must adapt to the ever changing and complex world of technology integration. We live in a world where it is no longer acceptable to take months to integrate new services. So today’s post is about speed. I will show how you can build a Cloud Connector for Mule in five easy steps. The same cloud connector that you will be able to use on Mule standalone or Mule iON to integrate into your company. Ready?
Once you have a working Mule ESB application you may be wondering how fast it can run. Here we will discuss a simple method for measuring the throughput of your application using Apache JMeter.
Bear in mind there are many ways to improve performance (simple changes can yield great performance boosts). We will explore them in greater detail in a follow-up blog post covering Mule application tuning.
Last time that I blogged about Studio was when we had a limited private beta. The program went really well and we got a lot of great feedback. Now, I’m really happy to announce that we have released Mule Studio (beta) to the public. You can download it from here. Mule Studio is free and anyone can use it.
When an issue arises in production it can be quite daunting to reproduce it in a test environment. Ideally one debugs the live application. But logs don’t tell the whole story. And a severe issue may require the application be taken down. How can it be stopped and debugged at the same time? With Mule composite sources and Mule Management Console (MMC) end-point control you can eat your cake and have it, too.
Mule 3 defined a simple, universal structure for Mule ESB applications. It’s a simpler version of war file format, consisting of a zip file with three sorts of entries:
- At the top level, configuration files and application properties files
- In the lib directory, jar files
- In the classes directory, classes and resource files
We also created a maven plugin to build Mule apps. And we haven’t forgotten about the Ant fans in our community. There are two new Ant tasks to make creating and working with Mule applications a snap.
How many web sites/web services have you wished you could just interact with over the command line? Sometimes, you just want to type commands in your shell. I can name at least 3 of our products which I’ve wished I could do that with: iON, MMC, and Tcat.
There are some challenges though. Bash/BAT file scripts don’t provide facilities to interact with web services. Then, if you go with a cross platform language, you have to write cross platform scripts and provide a way to distribute it.
We thought we’d make this easier, so we wrote Mule Jockey, a tool to turn annotated groovy scripts into a cross platform distribution of shell scripts.
It’s really easy. First, write your command. For example: