<<

Delivering Next Generation User Interfaces for Business Intelligence Using AJAX

A White Paper by Rado Kotorov, Ph.D. Diane Sklar Table of Contents

1 Introduction

2 AJAX – A Core Web 2.0 Technology 2 Web 2.0: Technology Evolution 3 User Experience Gap: Web Versus Desktop Applications 5 Economic Benefits: Lower Total Cost of Ownership

7 Next Generation of Business Intelligence Applications and User Interfaces 8 Why AJAX? 8 Power Painter Architecture 8 Legacy WebFOCUS Components 9 AJAX Front-End Architecture 10 AJAX Component Architecture

15 Conclusion Introduction

Information Builders has released an AJAX-based thin-client report authoring application called WebFOCUS Power Painter that allows business analysts to develop print-ready, compound, coordinated reports. The application’s robust functionality required a rich and responsive user interface (UI), similar to desktop applications. This paper explains why Information Builders chose to implement Power Painter using a component-based AJAX architecture. The first section puts AJAX in the context of the emerging Web 2.0 technologies; the trends in UI, interaction, and Web application design; and the productivity gains that drive the development and deployment of zero-footprint applications. The second section focuses on the overall AJAX architecture and how Information Builders used it to leverage the development of Power Painter.

1 Information Builders AJAX – A Core Web 2.0 Technology

Web 2.0 has been promising to deliver productivity gains by offering a second generation of Web services, which let people work, collaborate, and share information online. Web 2.0 applications, also known as Rich Internet Applications (RIA), use a variety of techniques, such as Web services, Asynchronous JavaScript and XML (AJAX), Really Simple [Web] Syndication (RSS), and others.

Of these technologies, AJAX has attracted the most attention recently because it enables many of the Web 2.0 productivity applications. What follows describes AJAX in the context of evolving Web standards.

Web 2.0: Technology Evolution Like every maturing medium, the Web is continuing to evolve. So far development has occurred in three major stages (see Figure 1): Web 1.0 – Content delivery and communication. This early stage profoundly changed the dissemination of information via two key innovations – HTML pages and e-mail. Information that was hard to reach became easy to get, and local content became as easily available as national- or international-level content. Web 1.5 – Content personalization and multilevel communication. In this phase, search and personalization made the dissemination of information more efficient, and chat rooms and expanded communication in real time. Web 2.0 – Authoring and collaboration. This current stage is not about dissemination of information, but about productivity – accomplishing work-related tasks in a virtual space with tools and applications that are available anywhere, at any time, and can be shared collaboratively. Web 2.0 is about distributed productivity tools. In addition, distributed productivity tools have become available on demand via the Web.

Evolution of Web Technologies

Web 1.0 Web 1.5 Web 2.0

Static Pages Personalized Pages HTML Dynamic HTML Static/animated images Search engines Hyperlinks XML Multimedia publishing

Content Publishing Content Publishing Authoring Rich Internet Collaboration Applications (RIA) Authoring Asynchronous JavaScript (AJAX) and XML Live Office Really Simple Syndication (RSS) Communications Communications

Chat rooms Instant messaging E-mail VOIP Live meeting Richness of Interface Productivity Low High

Figure 1. Web content publishing and communications technologies have become more dynamic and have merged with each other, giving birth to a generation of authoring tools that serve both purposes.

2 Delivering Next Generation User Interfaces for BI Using AJAX Web 2.0 is driven by a need for resource utilization and productivity gains as was the development of factories during the Industrial Revolution. The first factory was built on a river to utilize the power of the water, in a city for the labor supply, and in a single building to give workers immediate access to machine resources. The emergence of Web 2.0 technologies has been driven by the expectations of users to have immediate, consistent access to files and applications and a certain level of performance. Like the factory, Web 2.0 is driven by a need for efficient resource utilization and productivity goals but it exists in a much more complex world of distributed global enterprises.

User Experience Gap: Web Versus Desktop Applications What is the role of AJAX in Web 2.0 and why is there so much excitement about it? AJAX is an enabling technology that fills the gap between the user experience with Web and desktop applications. Web applications’ lack of responsiveness and dearth of controls offset all the advantages of thin-client tools.

Historically, desktop developers have leveraged two capabilities of Windows that make applications more intuitive and user friendly than Web counterparts:

I Richness. When a robust set of UI components are combined, they make the user interface natural, informative, and intuitive to use.

I Responsiveness. The ability of the application and the user interface to quickly adapt to user actions creates a seamless interactive experience.

From a user perspective, a rich and responsive interactive design lowers an application’s learning curve, which in turn drives faster adoption. Like the desktop interactive paradigm, the Web 2.0 interactive paradigm also allows for self-learning of advanced features via visual aids. For example, well-organized dialogs with visual aids and icons allow users to accomplish specific tasks, and also provide information about additional options. These options are presented to the user interactively while the target task is accomplished. Contrast this approach with searching for functions and options in an API manual, which requires prior knowledge of a function or a procedure. Overall, an interactive design reduces the application information burden on users and allows more to be accomplished with less effort.

The user experience gap between Windows and the Web was due to the limitations of the early Web client-server application model where the Web server was the platform for all processing logic and the browser was the client handling nothing more than data display. This model lacked responsiveness, which in turn constrained the richness of its Web applications. In the client-server architecture, users interact with HTML pages and each action triggers a request to the server. When the request is processed, a new page is generated and loaded in the browser. The reloading of the page has two consequences that severely limit the experience.

First, reloading the page causes discontinuity in the cognitive experience (see Figure 2), which is a well-known problem in early Web applications. Flipping from page to page causes disorientation,

3 Information Builders while the allocation of tasks on different page views causes loss of context. The result is the user often gets lost.

The second consequence, the reloading of the page also causes a broken and rigid interactive flow. The user cannot initiate a new interaction or change the workflow until the next page. For example, in a shopping basket or any other Web form application, the user cannot correct the quantity of an item without returning to page one. This limitation compounds as the complexity of the applications and the variations in the user interaction patterns increase, i.e., when different users have different routines and take alternative step sequences to accomplish similar tasks.

User Experience in a Client-Server Web Application

BrowserWeb Server BrowserWeb Server Browser

Page 1 Page 2 Page 3

Task1 Task 2 Task 3 Rigid WorkflowRigid Workflow

Loss of Context

User Experience With an AJAX Web Application Browser

Page 1 Web Server

Task 1 Task 2 Task 3

| Figure 2: Comparison of user experiences.

To illustrate the drawbacks of creating a more sophisticated application in Web client-server mode, imagine the user experience of writing a document in a client-server application. For each paragraph, the user must open a dialog, enter the text in an input box, and wait for the changes to be applied to the document when the page is refreshed. These steps must be repeated for every edit, format change, and copy-and-paste command. The client-server model requires rigidly structured workflows that fit in the page-action-new-page paradigm. They lack the ability to adapt to the natural workflows of diverse users. Therefore, the semi-static nature of client-server applications requires not only more clicks to accomplish a task, but also more process training.

Unlike client-server technologies, AJAX uses a combination of techniques, such as asynchronous JavaScript, the Document Object Model (DOM), XMLhttpRequest, XHTML, and CSS to make

4 Delivering Next Generation User Interfaces for BI Using AJAX

JavaScript calls to the server and update any element of the application that resides within the browser incrementally. In other words, the user never leaves the application since no action triggers the reload of a full page.

This seemingly small change has actually had a profound effect on interaction and usability. Transferring more of the interaction to the client side not only improves the workflow, it also allows more enriching UI components to be added, bringing the user experience on a par with desktop applications.

Economic Benefits: Lower Total Cost of Ownership The improved interactivity of Web 2.0 applications is driving more and more applications off the desktop and thereby lowering the total cost of ownership. These transitioning Web 2.0 applications enabled by AJAX, are productivity tools, such as word processing, spreadsheets, calendars, and e-mail applications. Examples include:

I The packages recently released by Google

I Writely, the collaborative word processor (www.writely.com)

I Google spreadsheet (www.spreadsheets.google.com)

I Competitive Web-based word processors

I Zoho Writer (www.zohowriter.com)

I Abc Writeboard (www.writeboard.com)

I ajaxWrite (www.ajaxwrite.com)

I Num Sum spreadsheet functionality (www.numsum.com)

I 30 Boxes, a Web-based calendar (www.30boxes.com)

I Jotspot, the wiki toolkit, which can be used to build Web sites and Web applications (www.jot.com)

I Emerging Web-based desktops (www.desktoptwo.com)

All of these products have sufficient features to be considered as possible alternatives to existing desktop applications. The products appeal to individual users because of their lower cost – compare the price of Microsoft Office to free. However, many of these tools can be used only in connected mode and do not offer local storage of documents on the client machine, which is a drawback for some users.

The key benefit accompanying the transition from Windows to Web applications is the lowering of the total cost of ownership (TCO). This lower cost stems from the centralization of most software in a single location on the server with only a browser installed on desktops throughout the enterprise. The enterprise transition from thick, desktop clients to thin, Web-based clients offered the following specifc cost savings:

I Lower installation costs

I Lower maintenance costs

5 Information Builders

I Easy, incremental upgrades to existing applications

I User administration savings

I Document backup and archiving

I Compliance and security

I Instant availability to users

The cost savings of moving applications to the Web was so great that it overcame the fact that the first generation of Web applications were actually less flexible and user friendly than their Windows predecessors (see Figure 3). Now with the advent of Web 2.0 technology, usability of Web applications equals that of the level of Windows applications and also provides reach throughout the enterprise and to the Internet.

The benefits of the thin-client have driven the transition to Web-based e-mail, calendar, and contact management systems – a trend that will carry over to other applications as they become available on the Web.

Usability and Total Cost of Ownership for Windows and Web Applications

TCO Usability Usability

Usability

TCO TCO

Windows Web 1.0 Web 2.0

Figure 3. Web 2.0 technology closes the gap in usability that existed between Windows applications and Web 1.0 technology. At the same time, it drives the total cost of ownership continuously down as enterprises convert traditional desktop applications to the Web.

6 Delivering Next Generation User Interfaces for BI Using AJAX

Next Generation of Business Intelligence Applications and User Interfaces

Information Builders’ WebFOCUS Power Painter is a complex, thin-client application for authoring print-ready, compound, coordinated reports. It addresses the needs of analytical content developers, advanced business users, and ad hoc analysts.

Compound reports are reports that can contain multiple tables and graphs based on one or more data sources (see Figure 4). While most ad hoc analytic reports contain a single report and a graph, solving complex analytical business problems requires access to multiple data sources and the ability to combine charts and reports into a single document. A robust business intelligence application has to provide sufficient capabilities to perform both simple and complex analysis. The pervasiveness of Excel, which allows multiple worksheets in a single workbook showing multiple views of data, makes the necessity of compound reports apparent.

Coordinated reports partition report output into multiple sections based on the values in a data field. Commonly, coordinated reports are partitioned by country, region, brand, etc. Coordination offers two advantages:

I Distribution of reports – each section of the report can be distributed separately or burst apart from the other sections by WebFOCUS ReportCaster

I Customization and privacy of reporting content – users receive only the information that is relevant to their country, region, brand, etc.

Print-ready reports require capabilities to control the style and formatting of each element in the report. They must be rich and flexible enough to include images and other decorative elements that reflect the corporate identity and corporate style guidelines. Very often the process of styling a report is separated from the data extraction, requiring analysts to use multiple tools to accomplish related tasks in the production of analytical reports. With Power Painter, one tool does both data extraction and styling.

Figure 4. The product category field is selected as the coordinating sort field for a compound output consisting of a report and a graph. Each product category will be shown on a new page at run time.

7 Information Builders

Why AJAX? Why did Information Builders choose an AJAX framework as the front-end technology for Power Painter? There are alternatives to AJAX. Flash (formerly Macromedia, now Adobe) also provides a means to develop rich clients. DHTML allows partial upload of components of an HTML page without having to refresh the entire page.

The choice of AJAX was dictated by three core requirements: I Cross-browser compatability. AJAX allows Power Painter to work unconditionally in all standard enterprise browsers.

I Zero footprint. No software is installed on the desktop machine via downloads or plug-ins.

I Interaction complexity. For the layout and styling of reports and graphs, Power Painter demands partial screen updates, asynchronous communication, widgets supporting direct manipulation, multiple coordinated windows, modeless and modal dialogs, menus, keyboard navigation, etc. The AJAX framework was able to supply all these varied types of interactions.

Flash does not meet the zero-footprint requirement as it requires either the Flash player to be installed on the desktop machine or the player plug-in to be installed in the browser. Furthermore, Flash components can be integrated in an AJAX-based application, but not vice versa. JavaScript components cannot be used directly in a Flash application. They have to be converted to .swf (the native Flash file format) components. While Flash can provide a rich and responsive application user interface, DHTML cannot. Its user interaction paradigm is considerably less rich.

Power Painter Architecture In designing the WebFOCUS Power Painter architecture, Information Builders leveraged its industry-leading data access and report-formatting capabilities. This logic was embedded in the cross-platform portable C code of the WebFOCUS Reporting Server. A powerful extensible engine, this server can support more than 300 adapters, which read relational or legacy data sources. The challenge was to get the procedurally oriented reporting server to communicate with the object-oriented Web 2.0 user interface (see Figure 5).

Legacy WebFOCUS Components The WebFOCUS Reporting Server is driven by fourth-generation language scripts known as FOCEXECS. The FOCEXEC language has evolved over more than 20 years and contains a rich storehouse of report layout and formatting syntax options. In addition, the FOCEXEC language has syntax to specify a report’s data source, contents, sorting, and filtering rules.

A new layer called the FOCUS Data Mediator (FDM) was developed as a bridge between the two generations of product modules, i.e., between the WebFOCUS Reporting Server on the back-end and the new AJAX-based Power Painter modules facing the user. The FDM parses

8 Delivering Next Generation User Interfaces for BI Using AJAX

and wraps the reporting options requested by the user. From the resulting objects, it then assembles a new FOCEXEC or updates an existing FOCEXEC.

In this way, the Reporting Server architecture is preserved. The Reporting Server is unaware that it is communicating with an AJAX framework on the front-end. The User Interface Request Controller serves to convert visual-screen objects to XML-based business-report logic that the FDM can manipulate.

The fact that the Reporting Server is shielded from the user-interface technology, and vice versa, makes the entire WebFOCUS design flexible and extensible. The architecture can be extended to accommodate any other Web 2.0 framework in the future.

AJAX Front-End Architecture To deliver Power Painter’s front-end, Information Builders utilized an AJAX framework and a library of user-interface components. Any advanced development environment consists of design patterns, a framework, classes, and components. The AJAX framework provides the piping and the portable browser functionality. It glues together the several techniques that comprise AJAX, and:

I Provides a wrapper around the XMLHttpRequest method to encapsulate browser-server interaction

I Provides XML manipulation and interrogation

I Performs DOM manipulation according to responses from XMLHttpRequest

I Renders the user-interface components

The AJAX application encapsulates a client-side engine consisting of JavaScript functions. These JavaScript functions render the user interface and communicate with the server in an XML format. The AJAX desktop engine is loaded in the browser when the application is initiated and it remains in the browser, eliminating the need for any plug-in or other software on the client machine. The application window of Power Painter initiates this engine in the browser. User interactions are passed to the engine, which in turn passes them to the server. This model is fully compatible with the MVC (Model-View-Controller) architecture, thus separating the presentation from the business logic of the application.

The client-side engine can handle multiple user-interface interactions while simultaneously processing server requests (see Figure 5). This feature ensures the responsiveness of the application, which in turn provides a seamless and continuous user-interaction experience. From an architectural and developmental point of view, the client-side engine also allows an increase in the number of user-interface components, providing a richer user interface.

9 Information Builders

Power Painter Architecture

View Controller Model

User Interface FOCUS Data er Request Controller Mediator erv ter Convert to a Business Logic High Framework Browser • Create metadata ain AJAX Request Component: tree XML Report Logic XML for Content • Text • Get filter Objects ing S Router statement r P • SVG Route the • Assign a field • DHTML FOCEXEC

AJAX request • Create a chart ort • XML to the proper • Update conditional XML XML • JSON style business logic High Content • GIF • Change chart type

Powe • JPEG Returned • Update report Rep to Client property • Set line property

High

Existing New Technology Technology

| Figure 5. Power Painter’s AJAX-enabled MVC architecture.

AJAX Component Architecture The AJAX-based architecture of Power Painter leveraged reusable components both for development and usability benefits. In this context, a component is a single object that encapsulates methods and properties, inherited from a class library or specific to itself, and enables a set of UI functions. A component can be as simple as a text or a drop-down box, or as complex as a data grid or a drawing canvas. Components can be nested within one another. For example in Figure 6 below, a drop-down box (component 1 below) populated with font choices can be nested in a text formatting dialog (component 2).

Figure 6. The font dialog component contains nested combo box components for font, style, size, and justification.

Component 1

Component 2

10 Delivering Next Generation User Interfaces for BI Using AJAX

Components can also be bound to one another so that they simultaneously update on a single user interaction. For instance in the screenshot on the previous page, changing the font, style, and size in component 1 causes the look of the sample text to change in component 2.

The properties described above enable rapid development, extensibility, and customization of the user interface.

Rapid Development Functionally distinct object components can be quickly integrated into an application because they are ready to use. Thus, the application is assembled, rather than built from scratch. Using the component-based architecture allowed Information Builders to create a thin-client front-end for Power Painter that leveraged the existing WebFOCUS architecture. For example, Power Painter uses the preexisting WebFOCUS PDF layout syntax in the WebFOCUS Reporting Server to create coordinated compound reports.

Extensibility The component-based architecture allows for new classes and components to be created and quickly added to accommodate diverse user needs.

In the current release of Power Painter, we added additional classes to create dockable and pinnable panels. Panels are used to group various user functions such as setting chart or report properties. They are much like the dialogs of a desktop application. See Figure 7 below.

E C B D

A

Figure 7. The selection criteria panel (A) is docked at the bottom of the work space; the query panel (B) floats within the work space; the toolbox (C) and data sources (D) panels are stacked and docked on the right side of the work space. The properties panel (E) is pinned and will appear when the cursor hovers over it.

11 Information Builders

Furthermore, extensibility guarantees that the application functionality can be upgraded incrementally without major redesign. Information Builders plans to integrate future releases of Power Painter with visualization technology and other features offered in its desktop product, WebFOCUS Developer Studio. These incremental upgrades all respond quickly to emerging customer needs and are nondisruptive to the existing architecture.

User-Interface Customization User-interface customization has four key benefits: responsiveness to user actions, user- interface persistence, role-based customization, and painting with real data.

I Responsiveness to User Actions. Binding components to one another allows allocation of tasks in a logical and efficient way among components and makes the application very responsive to user actions. For example in Figure 8 below, based on whether the user selects a report or a graph, the properties-panel component updates itself and displays the set of properties associated with either a report or a graph object. This functionality is not limited to the component level. It also applies to elements of the component for which properties are settable. For example, each measure, dimension, and sort field in a report has its own set of properties, as do many of the elements of a chart.

I The interactive update of component contents allows components to be reused, maximizing the utilization of screen real estate. One component is used to display the properties of all other types of objects thus minimizing the overall number of modal or modeless dialogs. For example, the properties component is used to display the characteristics of tabular reports, graphs, or the canvas on which these are placed, depending on the context.

Figure 8. When the tabular report is selected during development, the properties panel sets all properties related to a table. When the chart is selected, the properties panel sets all properties related to the specific graph type, including the template which defines the graph style (shown expanded). Note that the report and graph show sample data from the actual data source selected.

12 Delivering Next Generation User Interfaces for BI Using AJAX

I User-Interface Persistence. A robust application has many functions and routines that are accessible through different menus, toolbars, and modal and modeless dialogs. They cannot all be displayed on the limited screen real estate simultaneously but can be invoked by users on an as-needed basis. Since a robust application can be used in many ways by different users, with different routines and different preferences, there is no ideal fixed arrangement of panels, toolbars, and dialogs that maximizes the usability of the application. Desktop applications like Word and Excel have for a long time allowed users to customize the buttons on their toolbars. Therefore, it was decided to allow Power Painter users to arrange their workspace according to their needs.

I Power Painter’s persistency takes this one step further. The application allows user settings to be preserved for each document. This feature is especially beneficial for users who work with different types of reports. Since ad hoc reports, for example, may require frequent changes of filter conditions, it is good to display the filter dialog. Other reports may require frequent formatting changes, so it is best to display the properties pane. Thus Power Painter’s user interface will change based on which report is open, minimizing the analysts’ efforts to access functions as they switch between reports.

I Role-Based Customization. Another important benefit of the component-based architecture is that the application components can be made available to end users based on their roles. That level of customization allows personalization of the application based on user preferences and skill sets. For example, the data-source component adapts based on the user role. Advanced, sophisticated users can work with multiple data sources while restricted users are enabled to work with reporting-object templates based on a single predetermined data source (see Figures 9a and 9b).

I Painting With Real Data. The user interface also allows users to develop reports while viewing actual data, i.e., to see the report results as the report is developed and modified, instead of developing it in an abstract form and not seeing the results until runtime. This dynamic viewing of report contents and layout simultaneously is possible because of the use of AJAX. The actual report or chart output is handled like any other AJAX component, and can be dynamically modified and inserted into the current page, without resubmitting the entire HTML page.

13 Information Builders

Figure 9a. On entry to the Power Painter environment, the administrator role allows the user to select a data source.

Figure 9b. Restricted users enter the Power Painter environment with a data source and a report template already designated for them.

14 Delivering Next Generation User Interfaces for BI Using AJAX

Conclusion

Web-based applications have evolved past static HTML pages, e-mail, search engines, and instant messaging. The Web 2.0 stage of Web-based applications are distributed, collaborative tools available on-demand from any browser anywhere. These tools must possess a set of user-interface components that are as compelling and responsive as a desktop-based environment. No discontinuity in user interaction can be tolerated.

AJAX enables applications that provide a continuous user experience similar to those found in desktop applications. It eliminates the discontinuity that resulted from constant reloading of entire pages in Web 1.0 architecture.

WebFOCUS Power Painter represents this state-of-the-art Web technology. To take the necessary leap in generational technology, Information Builders utilized a component-based AJAX architecture with a library of user-interface components. This enabled Information Builders to deliver the Power Painter quickly and to ensure that it can be rapidly extended in the future.

The Power Painter is a potent application for business analysts. It allows them to author print-ready output consisting of one or more graphs and reports, which are coordinated for sorting and distribution purposes. The rich user interface of Power Painter exactly emulates a full-client environment so that the user experience is smooth and natural. Power Painter also lowers the total cost of ownership of a business intelligence solution. It drives down ownership costs like installation, maintenance, document backup, and upgrade by being a thin, centrally managed tool.

15 Information Builders

Sales and Consulting Offices

North America Europe I Italy Selesta G C Applications S.P.A. United States I Belgium Information Builders Belgium Genova 39-010-64201-224 I Atlanta,* GA (770) 395-9913 Brussels 32-2-7430240 Milan 39-02-2515181

I Baltimore, MD Consulting: (703) 247-5565 I France Information Builders France S.A. Torino 39-011-5513-211

I Boston,* MA (781) 224-7660 Paris 33-14-507-6600 I Japan K.K. Ashisuto

I Channels (800) 969-4636 I Germany Information Builders (Deutschland) Osaka 81-6-6373-7113

I Charlotte,* NC Consulting: (704) 494-2680 Dusseldorf 49-211-522877-0 Tokyo 81-3-5276-5863

I Chicago,* IL (630) 971-6700 Eschborn 49-6196-77576-0 I Malaysia Elite Software Technology Sdn Bhd

I Cincinnati,* OH (513) 891-2338 Munich 49-89-35489-0 Kuala Lumpur 60-3-21165682

I Cleveland,* OH (216) 520-1333 Stuttgart 49-711-7287288-0 I Norway InfoBuild Norway

I Dallas,* TX (972) 490-1300 I Netherlands Information Builders Oslo 47-23-10-02-80

I Denver,* CO (303) 770-4440 (Netherlands) B.V. I Philippines

I Detroit,* MI (248) 743-3030 Amsterdam 31-20-4563333 Beacon Frontline Solutions, Inc.

I Federal Systems,* DC (703) 276-9006 I Portugal Information Builders Portugal 63-2-750-1972

I Hartford, CT (860) 249-7229 Lisbon 351-217-230-720 I Saudi Arabia Nesma Advanced Technology Co.

I Houston,* TX (713) 952-4800 I Spain Information Builders Iberica S.A. Riyadh 996-1-4656767

I Los Angeles,* CA (310) 615-0735 Barcelona 34-93-344-32-70 I Singapore

I Metropolitan,* NY Sales: (212) 736-7928 Bilbao 34-94-425-72-24 Automatic Identification Technology Ltd. Consulting: (212) 736-4433, ext. 4443 Madrid 34-91-710-22-75 65-6286-2922

I Minneapolis,* MN (651) 602-9100 I Switzerland Information Builders I South Africa Fujitsu Services (Pty.) Ltd.

I New Jersey* (973) 593-0022 Switzerland AG Johannesburg 27-11-2335911

I Orlando,* FL (407) 804-8000 Dietlikon 41-44-839-49-49 I South Korea Unitech Infocom Co. Ltd.

I Philadelphia,* PA (610) 940-0790 I United Kingdom Information Builders Seoul 82-2-2026-3100

I Pittsburgh, PA (412) 494-9699 (UK) Ltd. I Sweden Cybernetics Business Solutions AB

I St. Louis,* MO (636) 519-1411 London 44-845-658-8484 Solna 46-7539900

I San Jose,* CA (408) 453-7600 I Taiwan Galaxy Software Services I Seattle,* WA (206) 624-9055 Representatives Taipei 886-2-2586-7890 I Washington,* DC Sales: (703) 276-9006 I Thailand Datapro Computer Systems Co. Ltd. I Austria Raiffeisen Informatik Consulting GmbH Consulting: (703) 247-5565 Vienna 43-12-1136-3870 Bangkok 662-679-1927, ext. 200 I Turkey Istanbul Canada I Brazil InfoBuild Brazil Ltda. Veripark 90-212-283-9123** Information Builders (Canada) Inc. São Paulo 55-11-3285-1050 I Venezuela InfoServices Consulting I Calgary (403) 538-5415 I China InfoBuild China, Inc. Caracas 58-212-763-1653 I Ottawa (613) 233-0865 Shanghai 86-21-50805432

I Montreal* (514) 334-0404 I Finland InfoBuild Oy

I Toronto* (416) 364-2760 Espoo 358-207-580-843 Toll-Free Numbers I I Sales and Information I Vancouver* (604) 688-2499 Greece Applied Science Athens 30-210-699-8225 (800) 969-INFO Mexico I Guatemala IDS de Centroamerica I ISV, VAR, and SI Partner Information Information Builders Mexico Guatemala City 502-2361-0506 (800) 969-4636 I Mexico City 52-55-5062-0660 I Gulf States Nesma Advanced Technologies **Training facilities are located at these branches; I Bahrain I Kuwait I Oman additional locations are available. Australia I Qatar I Yemen I United Arab Emirates **Authorized to sell iWay Software only. Information Builders Pty. Ltd. Riyadh 96-1-465-6767

I Melbourne 61-3-9631-7900 I India Divas Offshore Software I Sydney 61-2-8223-0600 Technologies Private Limited Gurgaon 91-124-501-8801

I Israel NESS A.T. Ltd. Tel Aviv 972-3-5483638

Corporate Headquarters Two Penn Plaza, New York, NY 10121-2898 (212) 736-4433 Fax (212) 967-6406 DN4601447.0806 www.informationbuilders.com [email protected] Canadian Headquarters 150 York St., Suite 1000, Toronto, ON M5H 3S5 (416) 364-2760 Fax (416) 364-6552 For International Inquiries +1(212) 736-4433 Copyright © 2006 by Information Builders, Inc. All rights reserved. [51] All products and product names mentioned in this publication are trademarks or registered trademarks of their respective companies. Printed in the U.S.A. on recycled paper