Arun Viswanathan is a Technology Lead with the Java Centre of Excellence in SETLabs, Infosys Technologies, Bangalore. He works on Java and Java EE technologies. He can be reached at [email protected]
Mashups are an architectural style that combines data and/or content from different data sources or sites. Mashups are normally differentiated based on the use, architecture style, and data. While consumer mashups have been in use for a while, we're now see them moving into the enterprise. In a general sense, what differentiates a consumer mashup from an enterprise mashup scene is that enterprise mashups are built following standard guidelines such those promoted by the Open Mashup Alliance (OMA), a standard model proposed by mashup vendors.
The OMA is a federation of some of the top vendors in mashup space. The alliance has been set up with the aim to have a standardized, consistent, and interoperable way of developing and deploying the mashups. The principles of the organization are open and the specification and runtime implementation are made available to anyone to use through the Creative Commons License.
The OMA defines an Enterprise Mashup Markup Language (EMML) which is used to define mashups in a standardized manner. The mashup defined thus can be deployed in any of the mashup runtimes which is implemented as per the specifications provided by the OMA.
In this article, I examine at the importance of OMA, the mashup architecture proposed by OMA, and the ease with which developers can create, deploy, and test a mashup developed as per the EMML specification.
The Need for Standard Mashup Development
There are several reasons why I think a standard mashup development platform is a necessity:
- The mashup space is fragmented with lots of vendors. Currently there is no single dominant mashup platform.
- All applications do not provide a web API which is the one of the main inputs for a mashup.
- There is also splintering of widget models developed by large enterprises.
- Access to accurate data sources within the network is required in a consistent manner.
The mashup marketplace is still developing. Since there was no dominant platform there was a need to provide a standard way of developing mashups to accelerate their use. A unified mashup model:
- Can increase the software quality
- Lower cost of IT since they wouldn't need to develop their own ways of mashing
- Bring about a standardization and consistency of approach
- Help drive innovation
- Improves the portabilit of mashup designs and allows interoperability of mashup solutions, thus reducing the risk and cost to organizations that are adopting enterprise mashups.
- Provide an easy way to create mashups from different sources
The Enterprise Mashup Markup Language (EMML)
OMA defines an XML markup language -- EMML -- for creating enterprise mashups. EMML is declarative mashup domain-specific language which eliminates complex and procedural programming requirement to create mashups. It is an open specification and the language is free to use. EMML will thus remove any vendor lock-in and allows portability of the mashup solution. OMA has released the EMML specification, EMML schema, and an open source reference implementation where EMML scripts can be deployed and tested. Figure 1 illustrates the EMML architecture.