Over the last decade or so, the Internet's reach has grown along with its number of users. The basic technologies have also matured and become more reliable. We've learned how to build effective applications and business models that exploit the strengths of the Internet while controlling the risks inherent in using such an open medium. Millions of people worldwide now use killer applications, such as blogs and product reviews, to share their opinions and experiences. Online commerce, banking, and social networking are changing the way we shop, manage our lives, and meet and communicate with each other.
This series presents the following information:
- Part 1 examines the business and technical drivers behind Web 2.0, the challenges and opportunities Web 2.0 presents to enterprises, and the relationship between Web 2.0 and SOA.
- Part 2 covers the major solution types emerging through which enterprises can exploit Web 2.0.
- Part 3 presents a collection of industry and business scenarios in which those solutions can be deployed, and explains the value that can be realised by doing so.
- Part 4 is a more technical article focusing on the options for exposing the content and functions of core information and transaction systems such as IBM® CICS®, IBM Information Management System (IMS)™, and IBM DB2® in Web 2.0 solutions.
Enterprise Web 2.0 solution patterns
The exploitation of Web 2.0 by enterprises—commercial or public sector organisations—falls into five basic patterns of technology usage. Several of these can be considered as ways to expand the reach and consumability of Service-Oriented Architecture (SOA). The five patterns are:
- Syndication: The provision of syndicated access to applications, information and services, extending the reach of SOA services through third-party channels.
- Enterprise mashups: The rapid creation, sharing, and evaluation of applications to access and manipulate content and services, augmenting the value of SOA services through composition.
- Marketing as a conversation: Engagement with end users and customers through social computing, transforming marketing from broad-brush communication to thousands of individual conversations.
- Community exploitation: The seeding and exploitation of community interaction in a value-net, leveraging the collapsing cost of reaching individuals and identifying common interests.
- Rich interfaces: Improvements in real-world metaphors and visualisation of complex data through rich-media UIs, improving the consumability of SOA services through improved user experience.
The following sections of this article examine each of these patterns along with some of the technologies used to implement them.
Expand the market reach of information, services, and products by syndicating access to their interfaces.
The intent of the syndication pattern is to expose commercial functions, content, and information as services, letting other organisations or individuals build interfaces through which they can be accessed. Such an approach increases the reach of those products and services by increasing the ways they can be accessed and by enabling niche market experts to incorporate your services in their applications or Web sites, promoting them to the markets they know, but which you can't reach directly.
Figure 1. Pattern 1: Syndication
The core services and data in this scenario can be held in a variety of applications and legacy systems, running, for example, within IBM WebSphere® Application Server, CICS, IMS, or DB2. The WebSphere Application Server Web 2.0 Feature Pack contains features to enable such applications and data to be exposed as RESTful services (REST stands for Representational State Transfer), as does the IBM WebSphere MQ HTTP Bridge. Alternatively, an appliance like IBM WebSphere DataPower® SOA Appliances can be used to transform between Web services, native XML feeds, and RESTful protocols.
An interesting variant on the syndication pattern—and one that is quintessentially part of Web 2.0 rather than simply an application of SOA—is that of the widget provider. A widget is a reusable UI component constructed from HTML, JavaScript, or some other technology. It's used to provide a specific UI to a service, an interface that can contain graphics, branding, or particular controls. It's of particular interest to organisations that want to provide syndicated access to their information or services, but also to maintain their visibility as the service provider and to control presentation of their content to users.
Additionally, many organisations use widgets to directly commercialise syndicated services; you can set up a widget to require a license key before it functions. That key might be provided free for trial or personal use, and it can be associated with layered subscription pricing models for commercial use or to access advanced content and functionality.
The WebSphere Application Server Web 2.0 Feature Pack contains runtime support for the JavaScript Object Notation (JSON) protocol and the Dojo toolkit to facilitate the implementation of widgets. It also contains a plug-in for IBM Rational Application Developer or IBM Rational Software Architect to provide a development environment.
Figure 2. Pattern 1 variation: widget provider
Leverage feeds, widgets, and services to provide rapidly assembled composite applications consisting of content from multiple sources.
Mashups are a new approach to rapidly assembling information- and content-based applications by combining feeds, services, widgets, and other content made available in reusable forms both inside and outside the organisation. Mashup platforms enable nontechnical domain experts to wire applications together from reusable components to meet new or short-lived requirements. They provide a lightweight event infrastructure that lets widgets within a mashup exchange information dynamically without requiring server-based page refreshes.
Mashups can incorporate and combine a variety of information including:
- Maps and geospatial data.
- Information from operational databases and applications.
- Digital content like photographs and videos.
- News feeds.
- Any other content applicable to the task at hand.
By incorporating editable tables or annotatable maps, mashups can provide a canvas for the manipulation and combination of business data in a way that echoes the usefulness of spreadsheets for rapidly creating new applications for knowledge workers.
Scenarios in which mashup applications are useful include providing knowledge workers and decision makers with more complete and flexible access to information, and prototyping proposed new applications or products with minimal development investment or time. Mashups leverage investment in SOAs to provide rapidly assembled composite applications from underlying services. The next article in this series provides further examples of applications for mashups in a variety of commercial and public-sector situations. (See Resources for more information about enterprise mashups.)
Figure 3. Pattern 2: enterprise mashups
As with the syndication pattern, the first stage in enabling a mashup environment is to expose core information and services from environments such as CICS and WebSphere Application Server through suitable feeds and services. These can be Web services or other typical elements of an SOA, or Web 2.0 protocols, such as Atom or other RESTful services. In the latter cases, where the native systems don't provide direct support for Web 2.0 formats, the WebSphere Application Server Web 2.0 Feature Pack, WebSphere MQ HTTP Bridge, or WebSphere DataPower SOA Appliances can be used to perform transformations.
For the mashup environment itself, IBM provides both the QEDWiki mashup tool for creating and using mashups and the Mashup Hub server for cataloging and locating widgets, feeds, and services that you can combine in mashups. (You can download the IBM Mashup Starter Kit from IBM alphaWorks.)
Variations: Collaborative mashups and mobile devices
In addition to providing a means by which a user can rapidly create new composite applications, you can combine this pattern with Pattern 4: community exploitation to realise wider benefits. Mashups can be shared by networks of colleagues so that all can benefit from the innovations created by individuals. This might happen organically (for example, a team of intellectual property analysts sharing a tool to discover examples of prior art) or directly as part of the overall solution design (for example, an emergency service centrally creating a mashup to aggregate information sources relevant to an emergent situation and then distributing that tool to the portable devices of responding agents in the field).
That's just one example of a situation in which it's useful to access a mashup using a pervasive device. There are many others, for instance, accessing new combinations of content and function specific to certain places through a mobile telephone with location awareness.
IBM Lotus® Connections and IBM WebSphere Portal provide collaboration features that can be integrated in Web 2.0 solutions, while IBM's pervasive software (see Resources) provides a variety of ways to exploit these capabilities on mobile devices. Finally, the IBM Innovation Factory (see Resources) offering provides a prepackaged suite of mashup and collaboration facilities.
Pattern 3: Marketing as a conversation
Combat declines in the efficacy of advertising through traditional broadcast media, and exploit social networking technology to converse in detail with individual consumers.
The marketing-as-a-conversation pattern involves using Web 2.0 concepts and technologies to interact with consumers in a highly individualised way. This might involve encouraging them to submit their own content and opinions—in the form of product or service reviews and feedback, for example—on your Web site. Conversely, it might simply represent marketing professionals' use of existing social computing sites and media in reaching out to your customers or other stakeholders, such as by publicising product information or events on social networking sites or posting product videos to video-sharing Web sites. In this way, this pattern represents not so much a deployment of new technology as the exploitation of technology and applications that already exist.
Finally, this pattern can also be fulfilled by applying the syndication pattern to create marketing feeds and widgets that can be incorporated in third-party social sites or applications, providing a new communication channel to push content—perhaps in a highly customisable form—towards new audiences and communities.
However it's implemented, the intention of this pattern is for organisations to discuss their products and services directly with their end users and customers through the media they use to communicate with each other. By using the capabilities of social computing to cheaply reach and communicate with many individual customers—and eventually, as the reach and accessibility of the Internet improves, perhaps all of them—it becomes possible to understand their individual preferences in great detail rather than relying on broad categorisations and approximations. When combined with the easily created and distributed digital content or with the increasingly cheap capability to produce mass-customised goods described in the first article in this series, this makes the idea of reaching and servicing huge numbers of niche markets with niche products and services—the goal of The Long Tail economics—a real possibility.
Figure 4. Pattern 3: Marketing as a conversation
In technical terms, this pattern can be exploited either by using existing social networking sites for sales, marketing, and related activities, or by deploying social computing software integrated with the primary Internet presence and encouraging users to submit and create their own content.
Lotus Connections and WebSphere Portal both provide features that can be used to enable user participation in a Web site, while IBM WebSphere Commerce provides additional capabilities specific to enabling user interaction in a Web commerce site. (For implementation options for feeds and widgets, see the syndication pattern section.)
Pattern 4: Community enablement
Stimulate and exploit collective value.
This is probably the most broadly applicable solution pattern, as it simply represents the exploitation of the widespread human connectivity enabled by the maturing Internet to identify and interact with new communities of individuals. In fact, this pattern is often combined with all the other patterns to gain the most value from exploiting the new capabilities of Web 2.0.
Community enablement can take many forms. Often it's used to enable organic innovation in communities of employees, partners, and customers, generating or exploring new ideas by creating connections between individuals or organisations with related interests. Those ideas can usually be explored further by using the enterprise mashups pattern to create rapidly assembled prototype interfaces to products or services. Correspondingly, such communities can be used to share enterprise mashups and collectively assess their value.
Commercially, communities can be directly exploited in several ways. The creation of communities to share experience and interest in brands or products can lead to increased retention or upsell to related products and services. Alternatively, social computing can be used to facilitate introductions and transactions between parties in a value net, and those can be monetised through subscriptions or tariffs.
Figure 5. Pattern 4: Community enablement
IBM Lotus Connections and IBM WebSphere Portal both provide features that you can use to enable community formation in a Web site. The IBM Innovation Factory offering provides a prepackaged suite enabling the collaborative generation and exploitation of enterprise mashups, while IBM WebSphere Commerce provides capabilities specific to the enablement of communities in a commerce environment.
Reduce barriers to interacting with, or transacting through, computers by making their interfaces more familiar and intuitive.
As the Internet has matured, so have the technologies available in a browser environment to create UIs. Approaches like Asynchronous JavaScript + XML (Ajax) and supporting technologies, such as the Dojo framework, have made possible a new style of richly featured, responsive browser application that aren't tied to a pattern of requesting whole Web pages from a server.
These applications use desktop-like UI features, such as drag-and-drop, behind-the-scenes server communication to retrieve data asynchronously from the server while the user is free to work elsewhere within the page, and advanced graphical techniques to present information in a more visually appealing or dynamic form.
Such techniques can provide better visualisations of complex data and better tools for its manipulation in a browser. Alternatively, advanced graphical capabilities in the browser—or in complimentary technologies, such as virtual worlds—can provide improved metaphors for real-world objects and qualities. An example might include cheaply creating rich models of new products in a virtual world without going to the expense of manufacturing prototypes.
Figure 6. Pattern 5: Rich interfaces
As in previous patterns, the core information and services exposed through this pattern are the typical service and information providers in SOA: CICS, IMS, and Java™ 2 Platform, Enterprise Edition (J2EE) applications running in WebSphere Application Server. By exposing information and services through Web 2.0 protocols, such as RESTful services and JSON, highly interactive interfaces can be formed, with browser function implemented in Ajax. The WebSphere Application Server Web 2.0 Feature Pack, WebSphere MQ HTTP Bridge, and WebSphere DataPower SOA Appliances all provide support for Web 2.0 protocols. In addition, the WebSphere Application Server Web 2.0 Feature Pack provides development support in Rational Software Architect and Rational Application Developer for implementing Ajax UIs using the Dojo framework.
A specific variation on this pattern is to apply rich interface technologies to e-commerce sites. Rather than presenting the user with a catalog of product descriptions and photographs, advanced techniques can be used to provide a better impression of a product's appearance and qualities, for example, by providing a graphical model manipulable in three dimensions or by making the product catalog searchable by colour or shape. WebSphere Commerce supports the use of Ajax for this purpose (see "Using Ajax with WebSphere Commerce" [developerWorks, Jul 2006] for more information).
In this article, you reviewed five basic capabilities, or solution patterns, enabled by Web 2.0 concepts and technologies. These patterns encapsulate both deployed technologies and organisational behaviours. They by no means provide a comprehensive description to Web 2.0, but do highlight some of the most common capabilities that commercial and public-sector organisations are seeking to exploit.
In the next article, you learn about some of the industry and business scenarios in which these capabilities have been explored, some of the benefits they can bring, and some of the challenges you can expect to encounter on the way.
Learn
- Learn more about
IBM
WebSphere® Application Server Feature Pack for Web 2.0
and the
IBM WebSphere MQ Bridge for HTTP.
- Read "Patterns
for REST services with WebSphere DataPower SOA Appliances" (developerWorks, Aug 2007).
- Read "Mashups:
The Evolution of SOA Part 1: Web 2.0 and foundational concepts" (developerWorks, Oct
2007) and
"Mashups: The Evolution of SOA Part 2: Situational
applications and the mashup ecosystem" (developerWorks, Nov 2007).
- Download the
IBM Mashup Starter Kit.
- Access
IBM mashup technology
at alphaWorks.
- Learn more about Lotus Connections.
- Learn about
IBM
pervasive software.
- Find out more about the
IBM Innovation Factory.
- Get more information about
IBM WebSphere Commerce.
- Read
"Using
Ajax with WebSphere Commerce" (developerWorks, Jul 2006).
- Check out the
IBM Web 2.0 home page.
- The SOA and Web services zone on IBM developerWorks hosts hundreds of informative articles and introductory, intermediate, and advanced tutorials on how to develop Web services
applications.
- Play in the IBM SOA Sandbox! Increase your SOA skills through practical, hands-on experience with the IBM SOA entry points.
- The IBM SOA Web site offers an overview of SOA and how IBM can help you get there.
- Stay current with developerWorks technical events and webcasts.
- Browse for books on these and other technical topics at the
Safari bookstore.
- Check out a quick Web services on demand demo.
- Get an RSS feed for this series. (Find out more about RSS.)
Get products and technologies
- Download a trial version
of IBM WebSphere Portal.
- Innovate your next development project with
IBM trial software, available for download or on DVD.
Discuss
- Get involved in the developerWorks community
by participating in developerWorks blogs.

Rick Robinson is an IT architect in IBM's Emerging Technologies team where he works with customers and with IBM's product development teams to help them understand and exploit the evolving business and technological impact of Web 2.0. Prior to this appointment, Rick led the SOA and BPM Architecture Practise for IBM Software Services in Europe. Rick is recognised worldwide in IBM as an expert in SOA and Web 2.0, and his work has involved technology strategy, business development, solution architecture, organisational change, engagement management, and technical sales.
Comments (Undergoing maintenance)





