Driving Enterprise Agility

Date:   Friday , February 29, 2008

Even as an army of technology innovators led by the likes of Google, Yahoo!, Netflix and MySpace continue to raise the bar for consumer experience with highly interactive services — most makers of enterprise applications are struggling to keep pace with the rate of innovation shown by their Web based cousins. In contrast to the flexibility shown by the Web innovators in pulling and personalizing information at will from a variety of sources, achieving the same in the world of enterprise applications has proven to be a herculean task.

Organizations have tried to solve this problem by Web enabling applications, which involves processing user requests at the server and serving HTML pages accessed through the Web browser. However, while this method is low in cost, it offers limited functionality. The other option is to deploy thick client applications that are rich in functionality, but are expensive due to huge costs of management, installation, deployment and end user support. What is the way out?
The answer lies in AJAX (Asynchronous JavaScript in XML), a class of technologies that allows the Web browser to get data without having to refresh the page. Using AJAX, organizations can build Rich Internet Applications (RIAs). A post in Wikipedia defines RIAs as “a cross between Web applications and desktop applications, transferring some of the processing at the client end.” AJAX, along with complementary technologies such as SOA and BPM promise to unleash a breath of fresh air in the stoic world of enterprise computing. This combination has the potential to bring in desired features such as interactivity and usability that is found lacking in many Web enabled enterprise applications. Let us see how these three technologies are leading the march of enterprise software applications on the ladder of productivity.

The Power of Three

With SOA, rigid architectures have given way to loosely coupled architectures where integration between enterprise applications is flexible and cost effective. Similarly, with BPM (Business Process Management) tools, business processes can be modeled and existing business processes can be tweaked to quickly align IT with business needs.

The combination of BPM with SOA has given organizations the foundation to build composite applications. Composite applications are applications, which can be created by combining functionality drawn from multiple systems (legacy and new applications) within service-oriented architecture. This gives organizations the power to leverage and extend existing applications, with the ability to modify processes or applications as the business demands. Now with AJAX, the missing piece in the enterprise jigsaw is complete. What SOA was to the backend, AJAX is to the front-end. AJAX extends the benefits of SOA by giving organizations the ability to quickly access reusable information business processes exposed as services using the ubiquitous Web browser. This approach allows organizations to cost effectively deliver browser-based applications that perform like desktop applications.

To understand how AJAX is different, let us look at how a HTML page is rendered in a traditional server based architecture. Once a user clicks a link or submits a request, the data is fetched according to the query fired and served to the user as a HTML page. The HTML stream typically contains about 80 percent presentation instructions and 20 percent data. In contrast to this approach, AJAX enables the presentation to be done on the client side, reserving the bandwidth for data. As opposed to the traditional click-refresh-load approach, this approach enhances application scalability and decreases system latency.

Instead of a single interaction per page, each element in a page is interactive allowing users to interact and seek information in a much faster way. For example, when a user at Netflix moves his mouse over the title of a film, the site responds with the information about the story line and the cast. Compare this to the traditional approach, where a click refreshes the whole page. By using AJAX, users can quickly and flexibly play around with the page elements, as only part of a page is updated, instead of reloading. With AJAX, the browser pulls in relevant information from the server in small incremental steps and stores it locally - only drawing upon it when necessary. This approach prevents repeated downloads, making AJAX applications run faster after the initial download.

Enhanced agility

The single biggest advantage of AJAX over Flash and Java for making a Web application more interactive is the fact that no plug-ins, Java applets, Active-X controls or installed client or server frameworks are required. As AJAX uses DHTML techniques, download sizes of DHTML pages are typically much smaller than average Flash SWF files or Java applets. Most AJAX applications load in a couple of seconds, whereas standard Java applets take longer to load due to their usage of larger libraries which means they have to load over all again to get started in case of a change. This capability of AJAX allows the creation of a multitude of interactive mini-applications that can be run by just using a Web browser. This brings a new level of interactivity and flexibility to the world of enterprise applications that was previously confined to the world of consumer oriented sites such as Netflix and Google Earth.

The benefits of using such an approach are tremendous as it puts more power in the hands of the end-user. Other attractive benefits are lower development and maintenance costs. Using visual authoring tools, components can be reused to quickly create configurable applications. As development of the application’s front-end and back-end is independent, it allows separate developer teams to work in parallel - significantly cutting down the time required to rollout a product.

As the client handles the presentation process, it reduces the number of server resources required to process high number of user requests. Similarly, less bandwidth is required as only data and not presentation structures are frequently sent to the client via the browser. This capability makes AJAX fit for performing a variety of tasks such as updating records and validating inputs in forms without the need of hitting the refresh button whenever a change is made.

Look before you leap

While AJAX has taken the consumer world by storm, enterprise users should evaluate vendors by looking at their experience and expertise in AJAX, besides product offerings in BPM and support for an SOA. Desired features are drag-and-drop visual authoring tools for standard XML messages and support for reusable components, which saves time of developers in writing scripts. The toolkit provided by the vendor must allow enterprise users to rapidly build user application interfaces, build connections to XML data sources and Web services, besides managing the client-side data cache. Also look out for debugging utilities, which enable inspection of outgoing and incoming messages and headers.

Endless possibilities

BPM offers a unique opportunity to use Ajax to enhance user experience and deliver greater flexibility at significantly lower costs. Using AJAX in combination with BPM allows developers to build enhanced user interface capabilities for their composite applications. By using AJAX toolkits from established vendors, organizations can create desktop-based functionality and interactivity for enterprise applications and accessed using a Web browser interface. For example, a user interface built with an Ajax toolkit helps a business user in quickly modeling or modifying a business process using simple drag-and-drop techniques. Errors, if any, are shown instantly. A change in the business rules automatically changes the code, giving business users the power to tweak their business processes the way they want it. Ajax is the key
to empower business users and maximize performance
in BPM.

Similarly, in the case of a call center, customer queries can be quickly answered by enabling the staff to quickly pull and interpret information from different sources instantly. As there is no latency in serving of information, AJAX complements the vision of Business Activity Monitoring (BAM) as it allows business managers to look at self updating dashboards, scorecards or monitoring models to facilitate quick decision making. This enables high business agility as business managers can quickly monitor and modify processes to suit business strategy.
While AJAX has been more of a consumer driven trend, it is gaining momentum in the enterprise with the support of leading vendors. For enterprise users, who have often struggled to get used to the type of interaction imposed by the enterprise application, the coming together of SOA, BPM and AJAX represents a massive opportunity for bringing the much needed enterprise personalization and interactivity that has been missing in enterprise applications.