Using Rich Internet Applications in Business Intelligence
The use of Web 2.0 technologies in enterprise systems is changing the way organizations create, integrate, explore, analyze, and deliver information. Used wisely, Web 2.0 can significantly improve the productivity and effectiveness of business users. In this article, I explore new Web techniques that aid the development of richer and more flexible business intelligence (BI) applications, focusing specifically on technologies for building rich internet applications (RIA) and an associated web-oriented architecture (WOA).
Rich Internet Applications
Since the early days of the mainframe, user interfaces have gone through four generations of technologies:
1. Dumb terminals that provided a secure, easy to maintain, but basic user interface.
2. Client/server computing where most of the user-interface processing was offloaded from host servers to desktop client computers. This approach provided a richer and more interactive interface, but increased hardware costs and the complexity of securing and maintaining the user-computing environment.
3. Web 1.0 technologies where most of the user-interface processing was moved back to host servers. The use of web technology eliminated many security issues and reduced hardware and maintenance costs, but it also led to static user interfaces and new web-related security issues. .
4. Web 2.0 technologies where the user-interface processing is split between the user’s computer and the host server. Most of the user interface rendering, however, is done on the user’s computer. This approach improves the richness and interactivity of the user interface, and is ideally suited to the dynamic nature of BI applications. These technologies, however, often increase development complexity and the security issues that exist in the web environment. Applications built using Web 2.0 approaches are often called rich internet applications (RIAs).
Web 2.0 RIA technologies represent some of the best approaches developers have ever had for building and deploying highly usable, rich, and dynamic user interfaces. One key aspect of the RIA approach is that the user’s web interface does not have to be completely refreshed after each interaction. With the good design practices, this approach improves responsiveness and interactivity.
The dynamic RIA approach, however, is not required in all cases. The server-side user-interface rendering of Web 1.0 has the advantages of supporting older web browsers, being easier to develop, and being faster for static content.
Before Web 2.0, many companies (and also BI vendors) supported web-based portals that offered role-based and tailored interfaces for business users to access and interact with multiple IT applications. In a portal environment, the user’s screen consists of multiple segments where each segment, or portlet, interacts with a specific application or service. Initially, these portlet interfaces were unique to each vendor’s portal product, but there has been a trend to standardize these interfaces so that portlets can be used by multiple products.
With the advent of Web 2.0, developers have created gadgets that provide a similar capability to portlets. The different is that a portal is not required to use them (or in some cases even a web browser). Some portal vendors are now providing portal wrappers for gadgets that enable them to act as portlets.
Gadgets are very easy to add to a web page, and some vendors now offer user interface mashups that allow users to quickly add gadgets to a web page and connect them together. To demonstrate the power of this approach, BI vendors often demonstrate a mashup consisting of a gadget that retrieves information from a data warehouse and displays geographical information using a Google Earth gadget. Mashups are an ideal approach for quickly building temporary BI applications and for prototyping.
One key aspect of using Web 2.0 in the enterprise is a distributed computing environment using a services-oriented architecture (SOA). Although an SOA is often thought of as a new approach, it is not. Companies have been building distributed systems for years. In the past, however, the technologies used were often unique to each vendor (DCOM and CORBA, for example), which made interoperability in a heterogeneous environment difficult and complex. Web services technologies have helped reduce this complexity through the use of open standards.
While many companies have been successful with building an SOA, many others have not. One of the biggest issues is retrofitting existing legacy applications into an SOA. This is complex and resource intensive, and has also been difficult to do for vendors of existing BI and data integration products.
A service-based architecture is easier to implement when applications and tools are designed from the ground up with an SOA in mind. In this case, the applications and products can be built using Web 2.0 technologies and designed as components that can easily be implemented and called as services. This so-called web-oriented architecture (WOA) approach represents a subset of a full SOA environment, and is ideally suited to supporting rich internet applications.
While many of the WOA services are implemented using more traditional web services technologies such as WSDL/SOAP, there is trend towards using simpler and more flexibly technologies such as REST. This is especially the case when building light-weight and point-to-point web solutions. Development is faster and easier, and is also ideally suited to prototyping. The downside is less security, reliability, and scalability. Again one solution does not fit all – each technology has its own strengths and weaknesses.
What About Data Integration?
So far we have talked about integration at the user-interface level using an RIA, and at the application level using a WOA and SOAP/REST protocols. The remaining topic to consider is the use of these Web 2.0 technologies in data integration.
A WOA can support data-centric services in addition to application services. A data service could, for example, access information from a data warehouse, do a data lookup, validate data quality, perform a data transformation, or do some data analysis.
In data integration, as with user-interface and application integration, there is move to provide light-weight web development approaches. Several vendors, for example, support the concept of a data mashup where multiple XML data streams and files can be easily combined and transformed into an output XML data stream that in turn can be used in a gadget or user interface mashup. Examples here include IBM InfoSphere MashupHub and the Denodo Data Mashup Server.
There are a wide range of Web 2.0 technologies appearing on the market that improve the richness and interactivity of the Web user interface and support a services-based architecture. Many of these technologies support light-weight user-interface development, a web-oriented architecture, and simple data integration. All of these technologies can help improve the usability of data integration, business intelligence, and information delivery. They are also useful for prototyping and building temporary applications. A small percentage of temporary applications will become permanent, made more robust, and offered to a wider range of users.
Many BI vendors are now beginning to support the Web 2.0 technologies outlined in this article. You must evaluate how these BI offerings support your organization’s Web 2.0 and Enterprise 2.0 strategies, and whether the “new” offerings are simply lipstick on old products, or truly represent a new approach to BI development and deployment.