The process of development of Web-based business applications in companies follows usually the typical process of software development involving first assessment of user requirements followed by a long process of development and testing by IT experts. The functionality of the resulting application is actually a compromise of user requirements, as not all user requirements can be considered. As a result, there is a long tail – a term first coined and popularized by Chris Anderson – of many specific and heterogeneous user requirements or dynamically changing user requirements that are not covered by the IT department. A possible solution for this problem could be a new development paradigm which integrates the users from the business units characterized by no or limited programming skills in the software consumption and development process.
In this context, a new trend for software development and reuse paradigm known as Enterprise Mashups, has been gaining momentum. At the core of the Mashup paradigm are two aspects: first, empowerment of the end user to cover ad hoc and long tail needs by reuse and combination of existing software resources; and second, broad involvement of users and developers based on the peer-to-peer production concept. According to Yochai Benkler, who coined the term peer-to-peer production, “it refers to production systems that depend on individual action that is self-selected and decentralized rather than hierarchically assigned”. Thereby, the creative energy of large number of people is used to react flexible on continuous dynamic changes of the business environment. Instead of long-winded software development processes, existing and new applications are enhanced with interfaces and provided as user friendly building blocks.
Driven by the consumer market, upcoming tools and forecasts of market research institutes like Gartner, Forrester, or management consulting firms like McKinsey show the practical relevance of the Enterprise Mashups paradigm. In particular, Forrester predicts that Enterprise Mashups will be coming to a USD 700 million market by 2013.
Enterprise Mashups – A Definition
An Enterprise Mashup is a Web-based resource that combines existing resources, be it content, data or application functionality, from more than one resource in enterprise environments by empowering the actual end users to create and adapt individual information centric and situational applications. By simplifying concepts of Service-Oriented Architectures (SOA) and by enhancing them with the Web 2.0 philosophy of peer production, Enterprise Mashups focus generally on software integration on the user interface level instead of traditional application or data integration approaches. In contrast to SOA that is characterized by high technical complexity of the relevant standards (SOAP, WSDL, UDDI, BPEL, etc.) and requiring specialists’ technical knowledge, the simpliefied Enterprise Mashups enable the integration of the end users with no or limited programming skills in the development process.
The relevant components of the Enterprise Mashop paradigm are resources, widgets, and Mashups and can be structured in an Enterprise Mashup Stack comprising three layers.
Resources represent actual contents, data or application functionality that are the core building blocks of Mashups. They are encapsulated via well-defined public interfaces (Application Programming Interfaces; i.e., WSDL, RSS, Atom, XML, etc.) allowing the loosely coupling of existing resources – a major quality stemming from the SOA paradigm. These resources are provided by enterprise systems or by external Web providers (i.e., Amazon, Google, etc.) and are created by traditional developers who are familiar with the technical development concepts.
The layer above contains widgets which are responsible for providing graphical and simple user interaction mechanism abstracting from the complexity of the underlying resources. For example a widget “Customer Data” might provide results for a predefined query requesting the data for all customers of a sales manager. The creation of these widgets can be done by consultants or key users in the business units who understand the business requirements and know basic development concepts. However, coding is not required to create a widget.
Finally, end users from the business units are able to combine and configure such visual widgets according to their individual needs, which results in a Mashup. For example, the sales manager (end user) wires the “Customer Data” widget with a map widget to show the location of the customers on an interactive map as depicted in the figure above.
Key drivers of the Enterprise Mashup paradigm are the lightweight composition style by reusing existing building blocks in new ways – getting value out of prior investments and the mass collaboration principle from the Web 2.0 wave. The Enterprise Mashups paradigm separates between the wiring and piping composition. The piping composition integrates heterogeneous resources defining composed processing data chains/ graphs concatenating successive resources. Aggregation, transformation, filter, or sort operations adapt, mix, and manipulate the content of the underlying resources. The visual composition of input and output parameters of widgets on the Mashup layer is called wiring (i.e. the output parameter address of the customer widget is connected to the input parameter of the map widget).
In addition to this lightweight composition style, the mass collaboration principle is also an important characteristic. The willingness of users to offer feedback to the Mashup creator, who may be unaware of problems or alternative uses, directly contributes to the adoption of the Mashup and can foster its ongoing improvement. Another important contribution of users is the inclusion of their Mashups in the available pool of components. The willingness of users to provide their Mashups for further reuse increases the number of available widgets.
Hoyer, V., Stanoevska-Slabeva, K., Janner, T., and Schroth, C. (2008). Enterprise Mashups: Design Principles towards the Long Tail of User Needs. IEEE International Conference on Service Computing (SCC’08). Volume 2, 601-602.
Hoyer, V. and Fischer, M. (2008). Market Overview of Enterprise Mashup Tools. Proceedings of the 6th International Conference on Service Computing (ICSOC08), Springer, 708 – 721.