Thursday, September 24, 2009

OMG! We launched OMA and EMML!


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:
  1. It should be declarative. So we made it XML-based.
  2. It should leverage existing standards. So we used XPath and XQuery.
  3. It should be domain specific to enterprise mashups. So we added features for user oriented activities.
  4. It should be friendly to popular languages. So we allow the embed of Java, JavaScript, Ruby, and Groovy scripts.
  5. It should be tooling friendly. So we made it interpretive for construction and execution on the fly. And extensible with your own meta-data.
  6. 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:

Creative Commons License

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…
  1. It offers an opportunity for our industry to converge upon an open language that aids interoperability and portability of enterprise mashups.
  2. 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.
  3. 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.
  4. By contributing EMML to OMA, we will see a lot more innovation in this space by the members of the mashup community.
  5. 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!

Read More...

Wednesday, September 9, 2009

Mashup Devolution


Last week JackBe hosted 3-day Mashup Training webcast series. We covered a lot of ground during the Training including the organizational value of mashups (more on that in another blog post), the way in which mashups fit into enterprise IT architecture, how mashups support the executive/analyst/developer, and finally, lots of examples of mashups in action.

During the Training we used our visual mashup composer, Presto Wires, to create/modify many of the mashups-in-action. Interestingly, it seemed that one of the more popular features of Wires was the capability to create 'macros'. Much like macro in Microsoft Excel, Wires Macros are user-defined mashup actions written in Presto's Enterprise Mashup Markup Language that add custom, user- or organization-specific functions that go well beyond the usual 'sum, merge, join, filter' options.

Can you imagine a mashup platform without this mundane-but-important capability? Every major programming/development language of the last 3 decades has had some form of callable asubroutine. Microsoft Excel has gone so far as put this power right into the hands of the non-techy spreadsheet-maker.

But, oddly enough, not all mashup platforms vendors seem to agree with me. Some don't allow the mashup-maker to create and/or share macros. Without Macros or some similar form of simple extensibility in a mashup solution, you are setting yourself back 30+ years. It's some odd form of software 'devolution'.

The domain-specific applications of macros are endless. One of our banking customers added a compound interest calculator as a macro. A data publishing giant added a 'linear data formatter' macro, whatever that means. You can easily imagine a cholesterol calcalutor (healthcare). A risk calculator (finance, insurance). A purchase-price calculator (any purchasing department). A delivery-time or shipping-cost estimator (shipping, airlines). Tax/interest calculator (any industry).

And Macros can cross organizational boundaries as well. JackBe's Mashup Developer Community has started a Macro Code Depot for our Mashup Developer Community (MDC) members where anyone can contribute Macros or reuse Macros created by other mashers. And we believe in Macros some much that the MDC is we're hosting a Macro fo the Month Contest. You can check out a brief video demo of a Macro in action on the MDC.

We've written a lot about the importance of reuse as a mashup best practice (here and here). And macros are a practical, rubber-hits-the-road example of reusablility. But Macros mean more. Macros turn a generic mashup solution into a mashup solution that fits the needs of your organization, your department, and your employees. This is about making a mashup platform in your mashup platform.

Macros are a must-have best practice. Got no extensibility in your mashup platform? Send us a postcard from 1965.

Read More...