OMG! We launched OMA and EMML!
[Crossposted from my JackBe blog]
Today is an exciting day for us at JackBe. It is particularly exciting for our engineering team. Why? Walk down the memory lane with me for a minute…
About 3 years ago, we embarked on a mission to create a new kind of software which today we call an ‘enterprise mashup platform’. And as we started designing JackBe’s enterprise mashup platform (which we ultimately named ‘Presto‘), we knew the basic problem we needed to address was how to make data securely and easily accessible to enterprise users.
That’s not an easy problem, of course. ‘Easy’ and ’secure’ aren’t often associated with each other. And enterprises are typically heterogeneous collections of data sources, data security solutions, data destinations; web services, portals, databases, spreadsheets, and much, much more. And as we considered the many different options we had to tackle this complex problem, we always came back to one fundamental concept that has proven its worth time and again:
A language is the best tool one can have.
So began our journey towards an ‘Enterprise Mashup Markup Language’ (EMML), a language specifically designed to address the needs of creating and sharing mashups within the enterprise. In conceiving, designing and implementing the language, Raj (our chief architect) and I set out defining the key wants and desires and came up with the following criteria as a basis for EMML:
- It should be declarative. So we made it XML-based.
- It should leverage existing standards. So we used XPath and XQuery.
- It should be domain specific to enterprise mashups. So we added features for user oriented activities.
- It should be friendly to popular languages. So we allow the embed of Java, JavaScript, Ruby, and Groovy scripts.
- It should be tooling friendly. So we made it interpretive for construction and execution on the fly. And extensible with your own meta-data.
- It should be data neutral. So we made it work with all kinds of data from different sources.
While I will refrain from describing the complete language in this blog (instead refer you to the excellent documentation on EMML on the Open Mashup Alliance website), I would like to point out a few key features of EMML here using the following diagram:
As you can see, from each feature, and from the collection of all the features EMML offers, it a robust and powerful language for mashups. And over the last few years, EMML has become an important differentiator for Presto, our award winning Enterprise Mashup Platform. As part of Presto, since its debut, EMML has been thoroughly field-tested and proven. It is time to take EMML to the next level.So now let’s return to the present and let me tell you why it is so exciting for all of us here at JackBe.
Today we launched the Open Mashup Alliance (OMA) to promote and foster interoperability and portability through an open mashup language. As a founding member of OMA, JackBe has contributed EMML to the Alliance and, indirectly, to the entire mashup community. Joining us (see this, this and this)are other industry leaders such as Adobe, Bank of America, Capgemini, Hinchcliffe & Co., HP, Intel, Kapow Technologies, Programmable Web, Synteractive, and Xignite.
So why I am so excited about giving away our vision and our hard work? Why would we want to give away one of our crown jewels? Because…
- It offers an opportunity for our industry to converge upon an open language that aids interoperability and portability of enterprise mashups.
- I believe that OMA offers a huge potential in enabling enterprise mashup adoption in the enterprise by promoting standard approaches and reducing risk and cost.
- As a practitioner, I strongly believe in open and standards based approaches for new and emerging technologies and for enterprise mashups, OMA and EMML are it.
- By contributing EMML to OMA, we will see a lot more innovation in this space by the members of the mashup community.
- I look forward to working with other industry leaders who want to collaborate to ensure portability and interoperability for enterprise mashups.
Why should you care? I hope many of the above reasons are also the relevant reasons for you. As a vendor or a practitioner, I hope you share the excitement and passion for openness and collaboration in any technology. Check out what several industry leaders are saying about OMA and EMML and you will get a sense of why I am so thrilled.
As the enterprise mashup market evolves further, OMA will provide a platform to bring together different efforts around enterprise mashups into a collaborative alliance. If you are a mashup developer, programmer, IT developer, IT Manager, software vendor, or someone simply interested in enterprise mashups, join the OMA Support Group, check out OMA website and download EMML reference implementation and start participating now.
This is just the start of things to come.
Mash On!
Mashables > Mashups > Shareables
[Cross posted from Mashup Developer Community]
How exactly does the mashup process work? What does Presto really do? These are a couple of common newbie questions. I have had different explanations for this, but of late, I have narrowed down on the following elevator pitch (trust me, this textual explanation looks long, but I can explain really fast in person) that I have used successfully with other developers recently. So I thought I will share this with the community in case it helps others to understand the process and artifacts around enterprise mashups.

I found it easier to explain the whole mashup workflow using three terms: Mashables, Mashups and Shareables (OK, I confess, these may not be in the English Dictionary yet
).
As a mashup developer or user, we need to start somewhere. To me that starting point is what I call Mashables. These are things that one can use, invoke to get data and send data. Things like services such as WSDL based web services, REST based web services, RSS or Atom services, proprietary XML/RPC services, or even the conventional RDBMS tables, view and stored procedures. I would also include other items such as spreadsheets, XML documents and unstructured information on internal and external websites. These are the raw material for mashups. These need to be made Mashable! And this is exactly what happens when you ‘publish’ one of these things to Presto. It becomes a Mashable artifact that can be normalized, secured and managed.
And then comes the second thing called Mashups. I don’t want to go into a philosophical discussion about what a mashup is or isn’t. However, I think mashup is a user-driven, user-focused thing that encapsulates the kind of data processing and manipulation actions a user would normally do to turn any data into real information. Such actions include joining, merging, sorting, filtering, constructing, transforming, clipping, and so forth. And in Presto, a mashup is represented by an small file written using EMML (EMML is Enterprise Mashup Markup Language). EMML is an XML-based dynamic declarative domain specific mashup language. Again, a Mashup becomes this artifact which can be secured and managed just like the Mashables.
The third and final thing is the Shareables. Once you have Mashables, and Mashups, you want to be able to share them with co-workers, partners, friends, whoever. Shareables can be exposed as a service interface so others can use it as a REST or RSS or Atom or WSDL service. Another popular type of Shareable is what we call Mashlets, which are enterprise widgets that offer a rich interface to the Mashups. Mashlets are not full blown applicaitons, but can be small micro-applications that encapsulate a very specific functionality. Mashlets can be shared by publishing them on Wiki pages, blogs, websites, portal servers. You can even email a mashlet or call it directly from a smart phone like iPhone. Other types of shareables include mashups and services shared as REST urls, RSS feeds, data feeds, spreadsheets, email and so on.
There you have it. Now I can just describe Presto simply as a platform to securely create, publish, consume and collaborate with Mashables, Mashups, and Shareables !
Let me know what you think.
Presto Mashup Platform – Developer Edition
A few days ago, we released the complete Presto Enterprise Mashup Platform for all mashup developers to use free: Click here for more details and to download it. Enjoy!


