A Primer on Mashups in the Enterprise Introduction to Mashup Solutions
November 2006 Kapow Technologies http://www.kapowtech.com
Copyright 2006 Kapow Technologies http://www.kapowtech.com All rights reserved.
A Primer on Mashups in the Enterprise
Contents
Introduction..................................................................................................................................................................................................3
The Challenges of Integration.............................................................................................................................................3
Types of Integration............................................................................................................................................................... 4
Types of Mashups....................................................................................................................................................................5
Benefits of Mashups in the Enterprise............................................................................................................................. 6
The Mashup Server From Kapow Technologies. .....................................................................................................................7
Presentation-Level Mashups............................................................................................................................................... 8
Logic-Based Mashups.......................................................................................................................................................... 10
Data/Content-Based Mashups.......................................................................................................................................... 12
Conclusion.................................................................................................................................................................................................... 13 More Information....................................................................................................................................................................................14
A Primer on Mashups in the Enterprise
3
Introduction With the Web 2.0 craze in full swing, enterprises are sorting through the headline hype to determine what’s in these new trends for established businesses. One emerging phenomenon is the “mashup for the enterprise” defined as an enterprise-class application or service that uses content from more than one source to create a completely new service. The mashup’s easy integration of content and services promise a whole new class of enterprise applications, and more importantly, the ability to innovate quickly and remain competitive across the globe. Today, the web browser is becoming the most dominant way to access content, applications and systems. It is now common for companies to let their employees, partners and customers access all kinds of information and services via the web. However, with the number of web systems exploding both inside and outside the firewall, it is not always easy to get them to work together in an integrated fashion as they are often built by different departments and organizations using a variety of technologies. Therefore, new technologies and methods are required to integrate these web systems in order to remain agile, and not spend excessive IT resources on reprogramming and post-deployment integration. A new and promising class of mashup technologies will offer great assistance to today’s enterprises. By leveraging the common aspects of web systems – HTTP and HTML syntax – a special type of integration APIs can be leveraged quickly and cost-effectively. Typical mashup solutions built by enterprises include 1) portlets created from existing web applications, 2) collection and integration of data and content, and 3) composite application integration and web service-enablement of existing web applications. This document outlines the challenges of traditional integration methods and introduces mashups for the enterprise as a new solution to contemporary problems. In addition, the document provides an overview to the capabilities of the Kapow Mashup Server and explains the advantages it provides over existing approaches.
The Challenges of Traditional Integration Today’s enterprises are challenged with increasingly critical IT integration tasks. Despite efforts to consolidate, IT departments are faced with integrating numerous applications that are not designed to interact with each other. Companies also frequently need connections to applications outside of the enterprise, particularly in cases where they interact with customers, suppliers, distributors or government agencies. Traditional application integration, as well as web services, has been applied to solve these problems, but IT organizations face the following issues with these approaches:
Too costly The traditional application integration approach relies on having control over the applications and modifying them, adding, for example, a web-service interface that exposes the desired functionality and data. This approach results in expensive, long-running development projects involving highly skilled programmers, with high risk and high architectural impact. This tightly coupled approach to integration also results in very brittle application interfaces which break when any changes are made in the underlying applications.
Time consuming At the same time, as enterprise IT organizations are pressed on budgets with fixed or reduced resources, today’s environment requires them to get integration projects up and running at an ever-increasing pace. Defining APIs and communication paths is a time consuming process. The industry efforts around web services - which promise to deliver a standard for programmatic interfaces to applications - may help once web services have been created. However, there is still the problem of implementation. Modifying an existing application to expose its functionality and data in a programmatic interface is still a considerable task, and is only possible when there is full control over the application source code.
Low responsiveness For applications outside of the company’s realm, the modifications required by traditional integration methods will most often not even be possible. For the enterprise, the consequences include reduced productivity, increased operational costs, missed business opportunities and reduced business agility.
A Primer on Mashups in the Enterprise
4
Types of Integration Figure 1 is a generalized illustration of possible integration points into a given application at the 1) Presentation layer, 2) Business Logic layer, or 3) The Data/Content layer.
Figure 1: Application Integration Points The presentation layer is the human user interface, which is either web-based or a platform-specific GUI or terminal interface. While conducting application integration via the presentation layer is now possible, it is a relatively new concept in software technology. The business logic layer is the traditional place for programmatic access to an application, via an API or through web services. This will provide direct access to most of the business logic of an application. And in cases where these integration points do not exist, they must be created by changing the application code. Data layer integration will typically be conducted with connections to one or more databases. While this is an effective way to access data, it does not provide access to the business logic and will often compromise data integrity if the business rules from the functional layer are not followed.
A Primer on Mashups in the Enterprise
5
Types of Mashups in the Enterprise A mashup is a service or application on the web that uses content from more than one source to create a completely new service. They are easy to create, and involve purely web-based assets that can be deployed faster and cheaper than traditional enterprise applications and integration technologies such as EAI. While mashups will never replace “heavyweight back-end” IT assets in the enterprise, there is a world of opportunity for companies to create new possibilities for internal and customer-facing services made from all the broadly-available information on the Internet and corporate intranets. There is an ongoing discussion among industry experts as to how many kinds of mashups there are. Through numerous client engagements, Kapow Technologies has simplified mashups in the enterprise to three fundamental types:
Presentation-level mashups Presentation-level mashups give the ability to extract and assemble various parts of applications and web sites, and other assets available via HTTP to create internal portals, wikis, and customer-facing sites. For example, one of our banking clients was able to create a portal for high-net-worth brokerage clients. In about six weeks’ time, this major financial institution was able to integrate information from seven different internal enterprise systems to provide a seamless, secure single web page that gave customers everything they needed to know. Without enterprise mashup technology, this project would have cost millions of dollars more, not to mention the extra time required by consultants and IT workers.
Logic-based mashups This class of mashups combines browsable logic with REST and SOAP services into a new logic component. A good example is Momondo (www.momondo.com), which aggregates the airfares of low-cost carriers into a single web site that is easier for customers to use than hopping around to each travel site individually.
Data/content-based mashups Data/content-based mashups join content from two or more sources (of which some or all are web based) and either combine them into a new data repository or transfer the data to a new place or application. A good example of this is the music meta-search site Simfy (www.simfy.de). The goal of any mashup is to save time and money by exploiting the broadly-available HTML-based web interface that can give access to application functionality and data – and even the logic included in the presentation layer. Although this web interface is intended for human users, mashups can turn the web interface into a well-defined programmatic interface that exposes the full functionality and data of the application. In addition, other applications can access the full functionality and data of the application, as if the application itself had been changed to provide that interface. This can be applied in powerful solutions, such as: • Enterprise portals --Content from existing web-enabled applications can be used in an enterprise portal. • Web services -- Any web-enabled application can be turned into a web service. • Content migration -- Content from various sources in the enterprise can be restructured and migrated into a new context, such as a content management system. • Composite applications -- Aggregate functionality from a number of existing applications to form a new application that automates higher-level business processes. • Data collection -- Services characterized by a number of source web sites, such as price-comparison sites, can be implemented efficiently by collecting and restructuring data from web-based sources. • Market intelligence -- Information from competitors, media providers, government databases (and others) can be collected regularly for market intelligence purposes. • Automation -- In general, mashups are very suitable for replacing human tasks involving an information flow between a range of web-enabled applications.
A Primer on Mashups in the Enterprise
6
Benefits of Mashups for the Enterprise Enterprise can dervive a number of important benefits when using mashups compared to traditional integration approaches:
Lower cost Using mashups, the effort required becomes much less expensive compared to traditional integration for many reasons, including the need for fewer specialized programmers and no fundamental change in existing applications, security and firewall setup.
Non-intrusive integration Mashups are created without modifying the application to be integrated, thereby lowering the risk and impact of the integration project through eliminating the need for architectural changes, re-factoring and avoiding the politics of cross-enterprise projects. Also, the mashup approach enables the integration of applications across the enterprise where there is no other alternative other than to integrate through a web front end.
Lower risk Mashups allow for very short and cost-effective implementation cycles. The first integration can often be up and running in a matter of days, and further integration can be incremental and iterative, as rollouts and ROIs from the first integrations are realized. This allows enterprises to try out new approaches to building enterprise applications at a much lower risk than using traditional methods.
Time-to-market Even complicated mashup projects that span multiple business units and geographies can be completed in weeks rather than months or years. Enterprises can gain competitive advantages by leveraging their existing enterprise applications much faster than competitors and thus increasing their business agility.
A faster and more accurate design phase Since the web interface is intuitive and well understood by both the business person and the programmer, the application design process becomes a lot easier and less prone to errors.
Lower skill requirements A traditional integration project requires highly skilled and specialized developers with extensive knowledge of the individual applications and EAI technologies. With mashups, the work that involves connecting to web-enabled applications only requires developers with basic programming experience and HTML knowledge. This will reduce -- or even eliminate -- the need for highly skilled developers in an integration project.
A Primer on Mashups in the Enterprise
7
The Kapow Mashup Server The Kapow Mashup Server is the first commercially available solution of its kind, enabling fast and powerful integration of web-based content and applications into portals, content management and knowledge management systems. Anywhere in the enterprise, mashups can access web resources and automate web interactions to extract and reuse online content, data or business functionality, regardless of origin and underlying technology. The server includes an intuitive visual design environment, as well as comprehensive mashup lifecycle tools, that simplify integration and speed project delivery so that users can achieve faster and better results than with traditional integration approaches. New integrations are created in an easy-to-use visual development environment, without changing a single line of code in the web interface or application. Mashups can access the full functionality and data of the existing applications, as if the application itself had been changed to provide that interface. Furthermore, mashups are independent, and have no impact on the existing enterprise IT infrastructure. Because of its serverbased architecture and support for web programming interfaces, mashups with enterprise scale can be created from any application almost regardless of platform and infrastructure, without requiring any architectural or infrastructure changes. This section describes the three most common uses of the Kapow Mashup Server: • Presentation-level mashups -- Reusing the web interface of existing web-enabled applications in your portal. • Logic-based mashups -- Integrating functionality and data of any web-enabled application into your application. • Data/content-based mashups -- Collecting data from any web-enabled data source.
Figure 2: Types of Mashups
A Primer on Mashups in the Enterprise
8
Creating Presentation-Level Mashups Presentation-level mashups reuse selected parts of an existing web interface in another web interface, or portal. This is done by clipping the HTML of the existing web interface and modifying the HTML for use in the new web interface. Portal integration is typically used for enhancing enterprise portals in a cost-effective way. A typical portal consists of “portlets” with real-time information and functionality from a variety of sources. This type of development often involves significant integration tasks, because the portal requires integration to the functionality and data of other applications, some of which may not even be inside the enterprise perimeter. However, with the Kapow Mashup Server, the web interfaces of existing web-enabled applications can easily be turned into portlets inside the portal, by clipping the required segments of those web interfaces and reusing them in the portlets, adapting them to match the visual style of the portal, if needed. No changes to the underlying applications/databases or traditional integration work is required, and no new portlet-based user interfaces are needed for the applications. Figure 3 shows a portal connected to two applications using the Kapow Mashup Server. The portlet content is generated dynamically by clipping the relevant content and functionality from the existing applications. This could be a customer snapshot from an existing customer service application, or selected functionality from a company’s webenabled ERP system.
Figure 3: Presentation-level Mashup
A Primer on Mashups in the Enterprise
9
A unique feature of the Kapow Mashup Server is continuous clipping. This means that clipping continues automatically after the user interacts with a clip in a portlet. For example, let’s assume that a search form is clipped and shown in a portlet. With continuous clipping, if the user fills in the form and submits it, the search result page can be clipped as well, and shown in the portlet. Without continuous clipping, the search result page would open up in a new browser window, causing the user to leave the portal. But with continuous clipping, the user can stay inside the portal while interacting with clipped content. Using the Kapow Mashup Server for clipping has a number of advantages when creating portlets: • No programming -- Existing applications and content can be made available in the portal without any programming, and without any modification to those applications, using Kapow Technologies’ visual development environment. • No UI redesign -- The portal developer does not need to design a new user interface. If the portal has a different visual style than the existing applications, the clipped segments can be modified to match that style. • Improved reach -- The Kapow Mashup Server can be used to integrate external functionality and content where the IT department has no control over the source applications. • Lower cost and shorter development time -- It takes fewer resources and less time to create portlets with Kapow, resulting in much quicker rollout of new functionality to business users.
A Primer on Mashups in the Enterprise
10
Creating Logic-Based Mashups Logic-based mashups connect disparate applications, their data and functionality. With a traditional application integration approach, an application connects with another application through an adapter, which is a component that translates the functions and data models between the two applications. Adapters may be written to connect two specific applications, or they may translate one application’s functions and data to an industry standard API, or to an API understood by an integration middleware component. The solution will then work as either a uni- or bi-directional adapter between any web-enabled applications. Figure 4 shows a web application, Web Service, Database, or REST service that are exposed as a number of services using The Kapow Mashup Server. Mashups can act as an adapter that connect to any web-enabled application via a web interface, exposing the functionality and data of that application as a REST or SOAP-based web service.
Figure 4: Logic-based mashup
A Primer on Mashups in the Enterprise
11
A Logic-based mashup is the most advanced form of mashups. It allows the developer full access to the functionality and data of any web-enabled application. The definitions of how to interface to a web-enabled application are stored in the Kapow Mashup Server’s visual development environment, and programmatic access to applications is handled through these APIs. The programming interfaces of the Kapow Mashup Server support REST, Java, .NET, and JSP tag libraries. Interfaces for specific application frameworks are also available, including BEA WebLogic Workshop and IBM WebSphere. This also enables easy creation of web service wrappers for web-enabled applications. Additional interfaces will become available, or can be developed on request. Examples of logic-based mashups include: • Integration to enterprise applications -- CRM, ERP and various legacy systems. • Integration to customer systems, suppliers or partners -- Order entry, or shipment tracking systems. • Account aggregation -- Building a uniform enterprise portal interface to multiple external web sites, e.g. e-procurement sites. • Making existing web-enabled applications or portals available as portlets -- Re-engineered user interfaces, as opposed to just reusing the existing web interface by means of web clipping. Creating logic-based mashups have a number of benefits: • Lower cost -- Existing applications and external content can be integrated without any programming, using The Kapow Platform’s visual development environment. The non-intrusive nature of enterprise mashup alleviates the need to change existing systems thus reducing the cost significantly compared to traditional methods. • Reduced time -- The lack of programming and the iterative approach offered by the Kapow Platform significantly reduces the “time to value” for any integration project. • Improved reach -- In cases where political barriers or security restrictions prevent the IT department from opening up a backend API, it is possible to access systems though an existing web interface. • Lower risk -- Logic based mashups allow for very short and cost-effective implementation cycles. The first integration can often be up and running in a matter of days, and further integration can be done iteratively, as experiences and ROI from the first integrations are analyzed. This allows enterprises to try out new business opportunities at a much lower risk than using traditional methods.
A Primer on Mashups in the Enterprise
12
Creating Data/Content-Based Mashups Data and content based-mashups involve extracting and collecting data from a number of different web enabled data sources. The development effort may involve data transformation and validation, because the source data models may not match the desired output data model. This process is also called “content integration.” There are several scenarios where content integration can be used, including: • Data migration — Implementing a content management system and feeding it with data from legacy web sites. • Competitor tracking — Gathering competitive product information, press releases, patent information, etc., from competitor web sites. • Marketplaces — Collecting product information from a large number of websites, and implementing a price comparison function, or similar mashup. Content integration can be done on a one-off basis or on a continual basis. The Kapow Mashup Server handles all the integration issues including data sources being temporarily inaccessible, data sources that change their web interface over time, data validation, data transformation. The result of the content integration can be made available in a number of formats, as shown in Figure . Typically, the data would be stored in a database, written in XML format to a file, or submitted to a content management system.
Figur 5: Data/Content-based Mashups
A Primer on Mashups in the Enterprise
13
The Kapow Mashup Server includes advanced support for data transformation and validation, as well as functionality that optimizes the content integration process when it is done regularly. Using The Kapow Mashup Server for content integration has a number of benefits: • Lower cost -- Programming of adapters or connectors is not required, and Kapow’s non-intrusive nature eliminates the need to change existing systems in order to prepare them for collection. • Reduced time -- The code-free iterative approach offered by The Kapow Mashup Server significantly reduces the time to value for any content integration project. In addition to that, it makes it possible to run the old and the new data entry tools concurrently, allowing for a phased approach to system implementation. • Improved data quality -- The Kapow Mashup Server can remove bad and redundant data, greatly increasing the overall value of a content integration project.
Conclusion As we have seen through many examples throughout this paper, mashups are growing in popularity among a broad variety of organizations ranging from startups to large enterprises, efficiently and cost-effectively delivering data and business logic from disparate systems into portals and composite applications. Regardless of the size or complexity of the business, the reasons why they choose to utilize mashups instead of traditional IT integration technologies come down to two main factors – increased deployment speed and decreased cost. While Kapow Technologies does not advocate mashup technologies for every IT integration challenge – especially in the case of mission-critical transactional systems – the company has discovered a seemingly infinite number of possibilities, having completed more than 100 enterprise scale mashup initiatives for many of the world’s leading companies over the past three years. If you would like to find out more about mashups for the enterprise, and determine if one of your upcoming IT integration projects can benefit from the Kapow Mashup Server, please contact us for an assessment.
A Primer on Mashups in the Enterprise
More Information Kapow Technologies web site: http://www.kapowtech.com Kapow Developer Connection web site: http://kdc.kapowtech.com Patent applications: PCT/DK00/00163, PCT/DK00/00429, PCT/DK00/00700
14
A Primer on Mashups in the Enterprise
Kapow Technologies A/S - Headquarter EMEA Dr. Neergaards Vej 5A DK - 2970 Hørsholm Denmark Phone +45 7033 1000 Fax +45 7033 1001 / +45 4516 2470
Kapow Technologies - Headquarter US 260 Sheridan Ave, Suite 420, Palo Alto, CA 94306 United States Phone +1 800 805 0828
About Kapow Technologies Kapow Technologies (www.kapowtech.com) provides integration software that enables companies to deploy portals and content-intensive applications such as enterprise mashups at a fraction of the time and cost compared to traditional enterprise software methods. Because of its patented, unique integration approach, Kapow Technologies is one of the fastest-growing software firms in the world, with more than 200 Global 2000 customers including AT&T, Bank of America, Wells Fargo, CSFB, Intel, Vodafone, U.S. Army, Audi and Deutsche Post (DHL). Partners such as BEA Systems, IBM and Oracle make Kapow Technologies their top choice for projects including data collection, content migration, as well as the enablement of mobile applications and service oriented architectures.