zapthink white paper

THE RICH : THE NEW IIINTERFACE FOR THE NEXT GENERATION OF DISTRIBUTED COMPUTING

ZapThink, LLC ! 11 Willow Street, Suite 200 ! Waltham, MA 02453 ! [email protected] ! www.zapthink.com The New Interface for the Next Generation of Distributed Computing April 2004

THE : THE NEW IIINTERFACE FOR THE NEXT GENERATION OF DISTRIBUTED COMPUTING April 2004 Analyst: Ronald Schmelzer

Abstract Companies originally moved to adopt standards-based technologies like those underlying the Web and the Internet as a way to achieve distributed computing functionality at a very low total cost of ownership. However, these companies had to forego many of the user interface and productivity advantages that other distributed computing methods, such as traditional client/server applications, used to give them. As a result, companies continue to struggle to address the issue of how to realize the benefits of rich clients in conjunction with the benefits of distributed, low-cost applications.

While companies have long delivered application functionality to Web browsers, users are now coming to expect increasingly greater interactivity from this presentation tier. They are demanding a set of rich user experience capabilities that include visual interactivity elements and instant access to information, interaction with distributed and remote applications, and integration with local desktop applications. Businesses today want to gain the operational and cost advantages of Internet and Web Services technologies, but don't want the limitations that Web browsers impose on user interfaces.

To address these challenges, Macromedia introduces its Flex product aimed at providing rich client capabilities. Macromedia was one of the early pioneers in rich user interaction across the Internet. In 1997, they made a splash in the market with their Flash product, and as of the date of this report, over 98% of Web browsers and 500 million users are equipped with the Macromedia Flash player. Continuing this legacy, Macromedia has introduced its Flex product that leverages Flash to provide rich client capabilities over standards-based, loosely coupled distributed computing infrastructures.

All Contents Copyright © 2004 ZapThink, LLC. All rights reserved. The information contained herein has been obtained from sources believed to be reliable. ZapThink disclaims all warranties as to the accuracy, completeness or adequacy of such information. ZapThink shall have no liability for errors, omissions or inadequacies in the information contained herein or for interpretations thereof. The reader assumes sole responsibility for the selection of these materials to achieve its intended results. The opinions expressed herein are subject to change without notice. All trademarks, service marks, and trade names Copyrightare trademarked © 2004, by their ZapThink, respective LLC owners and ZapThink makes no claims to these names. 2

ZapThink, LLC ! 11 Willow Street, Suite 200 ! Waltham, MA 02453 ! [email protected] ! www.zapthink.com The New Interface for the Next Generation of Distributed Computing April 2004

I. The Evolution of the Need for Richer Interfaces At some point, all applications, whether simple or complex, must interact with a human operator – the user. In many instances, the usability of an application’s interface determines the usability of the application. Yet, achieving good usability is difficult because it consists of many parts: visual appeal, intuitiveness of control and navigation, response time, the number of steps required to accomplish a goal, and effective interaction with other applications a user might be currently using. In the traditional host-based, client/server, and n-tier architectures, companies have sought to meet these interaction requirements by implementing a separate tier of application infrastructure called the presentation layer to provide the elements of user interface functionality. While other infrastructure tiers, such as the application tier, aim to separate business logic from underlying data storage, the presentation tier separates application presentation logic and user interface logic from underlying business logic. This presentation layer has led to the development of a wealth of user interface technologies, ranging from text-based green-screen interfaces to graphic user interface-based (GUI) desktop applications to Web browser-based offerings. The advent of the Web, however, sacrificed much of the robust client functionality of the thick clients in client/server architectures for the benefits of thin clients: scalability and loose coupling between the browser and the Web server. Much of the efforts of the GUI vendor community since the establishment of the Web has focused on improving the user experience in spite of the limitations of browsers and the core Web protocols. In fact, users are coming to expect increasingly greater interactivity from the presentation layer. They are demanding a set of rich client capabilities that include visual interactivity elements and instant access to information, interaction with distributed and remote applications, and integration with local desktop applications. Businesses today want to gain the operational and cost advantages of deploying applications over the Internet, but don’t want the limitations that Web browsers impose on user interfaces. Unfortunately, there has been no practical way to provide rich client capabilities without reintroducing the scalability and manageability limitations of thick clients—that is, until now.

The Movement to StandardsStandards----based,based, Loosely Coupled Distributed Computing What is different in the distributed computing world today as compared with the mid 1990s is, of course the movement to standards-based, loosely coupled computing based on Web Services—what ZapThink calls Service-oriented (SO) computing. Where HTML and HTTP, the standards underlying the Web provided a measure of loose coupling between Web Servers and browsers, Web Services provide loose coupling between any two pieces of software that support them. By following SO computing techniques, vendors are now able to develop rich client products that remain loosely coupled from the distributed computing infrastructures that they expose. Up to this point in time, the primary uses of Web Services have been to simplify application integration and provide the underlying standards for Service-Oriented Architectures (SOAs). While Web Services provide a technological means to access distributed computing functionality, they doesn’t provide any sort of visual front-end to those applications. In fact, loose coupling is one of the fundamental tenets of Web Services-based Service-Oriented Architecture (SOA), which mandates separating the way that an application looks from its underlying

Copyright © 2004, ZapThink, LLC 3

ZapThink, LLC ! 11 Willow Street, Suite 200 ! Waltham, MA 02453 ! [email protected] ! www.zapthink.com The New Interface for the Next Generation of Distributed Computing April 2004

functionality. Nevertheless, companies still need user interfaces to that functionality. Desktop applications, Web browser interfaces, and text interfaces are insufficient to meet the needs of the evolving user. As such, several vendors are now working on building a set of new technologies that offer a rich user experience on top of Web Services, thus providing the presentation layer to Web Services. These rich clients in part rely upon SOAs to provide the optimal combination of rich user interaction and low cost of ownership through standards-based distributed computing. In addition, these new rich clients allow users to design SOAs that appropriately abstract presentation layer implementations and enable users to choose the user interfaces that are most appropriate to their business needs without having to change any underlying business logic.

II. Why Today’s Client Technologies are InsufficientInsufficient In the early days of computing, the only interfaces to application functionality were text-based terminals and printed output. As personal evolved, interfaces became more visually appealing and intuitive. Fundamentally, in these early systems, the interface was tightly coupled to the presentation logic. Simply put, an application controlled both its user interaction as well as the underlying business logic to process that interaction. Any changes to the user interface would necessitate recoding the underlying application, possibly resulting in changes to the business logic as well. This tight coupling of user presentation to business logic extended through the client/server era as companies sought to separate systems that consumed business logic from those that served up the applications. It was only the emergence of the Web that changed this paradigm by introducing the as a means of providing user interface capabilities on top of distributed computing functionality. Thick clients generally are applications that directly interact with the user in which business and presentation logic are on the client, and data access can either be resident on the client or on a remote server. A thin client only requires presentation logic to exist at the client, while both data access and business logic can reside on a remote server. One advantage of the typical thin client is the elimination of any download and installation of user interface software on the user’s system, while one advantage of a thick client is that since it is a program installed on a user’s local machine, it can be made to perform whatever logic and operations are necessary to meet functionality and interactivity requirements. The use of standards to describe a user interface, in this case HTML, combined with general-purpose clients that would consume those interfaces illustrated the power of loose coupling – namely the great amount of flexibility achieved by separating the presentation tier from the underlying business logic tier. In addition, the Web proved that distributed computing was possible at very low total cost of ownership. Web browsers enabled companies to distribute applications without needing to deploy software onto desktops or end devices. Yet, despite the advancement in architecture that the Web represented, the Web browser interface was severely limited in comparison with the relatively thicker interfaces of the client/server technologies. Users quickly realized that while exhibiting excellent economics, the Web, and in particular HTML, was not an adequate substitute for their existing tightly-coupled client/server technologies for the following reasons:

Copyright © 2004, ZapThink, LLC 4

ZapThink, LLC ! 11 Willow Street, Suite 200 ! Waltham, MA 02453 ! [email protected] ! www.zapthink.com The New Interface for the Next Generation of Distributed Computing April 2004

User interaction limitations: HTML was originally intended for publishing of static, text-heavy documents with limited user interaction. As such, the format lacks significant capabilities that even the most basic of client/server applications possess. HTML lacks the ability to provide windows for data, drag-and-drop capabilities, sortable and resizable data grids, spreadsheet capabilities, dynamic data visualization capabilities, and resizable viewing areas. The lack of these features hinders a user’s productivity. Poor performance: The Web was designed with a stateless mode of interaction in mind. As a result, users interact with Web sites using a “click-wait-reload” methodology that requires the browser to reload a new document for every user interaction. This approach requires frequent roundtrips between browser and server in order to accomplish any multi-step process, resulting in reduced user productivity, increased server strain, and unnecessary network overhead. Poor suitability for event-based or real-time interaction: As described above, the Web is based on a stateless request/response model in which the user is responsible for determining when information is to be retrieved from servers. While there exist a number of hacks and kludges around this model that basically forces the browser to reload information on a preset timeframe, the Web communication model in essence does not support two-way, real-time communications. Event- driven, asynchronous, real-time based interaction with clients are simply not possible using today’s Web browser technology.

The Need for the Rich Client When we talk about user interfaces, we generally talk about clients. A client, in effect, is really the application that resides on an individual’s machine that controls the interaction with business logic. In the past, when we spoke about these UI clients, we sorted the kinds of technology approaches into two relative buckets: thick clients and thin clients. Clearly, the boundary between what can be defined as a thin client versus what is thick is really a relative judgment call. Until the late 1990’s, it was easy to differentiate between thin and thick because thick clients were usually client/server applications that required installation of software on a desktop machine, while thin clients were typically Web browsers that relied on the fact that the application logic was already installed on an end-user’s desktop. Yet, this line is increasingly blurred as thin clients require proprietary plug-ins or runtime virtual machines to function properly. As such, the delineation between what is thin or thick is less than obvious. However, in the context of standards-based, loosely coupled, distributed computing, the terms “thin” and “thick” are not particularly meaningful in any case. What we really care about is whether or not the consumer of a given client can value-add the service with a rich set of user interactivity capabilities or is limited to a poor set of capabilities. In this vein, we are talking about rich clients that define an increasing set of capabilities that thin, thick, and anywhere in between can take advantage of. The set of capabilities for “rich clients” include the ability to: Provide advanced capabilities for user interaction – Users demand the versatility and low cost of thin clients but the richness of interaction that thick clients provide. These rich clients must be able to provide windowing features and data navigation controls including buttons,

Copyright © 2004, ZapThink, LLC 5

ZapThink, LLC ! 11 Willow Street, Suite 200 ! Waltham, MA 02453 ! [email protected] ! www.zapthink.com The New Interface for the Next Generation of Distributed Computing April 2004

check boxes, radio buttons, toggles, windows, palettes, dialogs, menus, hierarchical menus, popup menus, lists, outlines, tables, expand and collapse lists, sliders, scroll bars, progress bars, edit fields, tabs, and scrolling borders. These clients should also provide powerful rich-media component objects like animated sprites, multi-track sound, and movies that are rendered using the latest technologies. Integrate local and remote sources of data and business logic – In addition to rich user interaction, rich clients must be able to integrate local and remote sources of data and business logic to provide the most productive user environment. Typical thin clients are not easily able to integrate local information, and thick clients have traditionally not been able to handle disparate, heterogeneous information in the enterprise. The rich client can take advantage of standards-based, Service-oriented (SO) approaches to integrate all the content, communications, and application interfaces it can physically access. Rich clients must provide seamless integration for all data sources, messaging technologies, and types of interaction. Loosely couple presentation from application logic – One of the biggest benefits that a rich client should provide is the ability for end users to create and modify rich client presentation and user interface functionality without having to modify any server-side business logic. Similarly, developers of a server-side application shouldn’t have to make any changes to rich client functionality to make sure that the two sides can communicate. The rich client, like the standards-based Web thin client, can be truly loosely coupled and thus enable independent innovation of the business logic and the user interface to that business logic. Provide greater intelligence and efficiency in distributed computing – Rich clients aren’t tethered by specific, tightly-coupled communications protocols as are most client/server thick clients and Web-based thin clients. Rather, rich clients can communicate with a wide range of distributed computing systems using both synchronous and asynchronous communication modes as needed. As a result, rich clients can surpass the inefficient request/response paradigm of thin clients and also not be confined by proprietary protocols, so as to make use of the most cost-effective and productive means to communicate. Finally, rich clients won’t need to dynamically generate sets of information simply to transmit large data sets, and can afford to maintain client-side data storage and message queuing. Enable online and offline modes of usage – Commensurate with the ability to use a wide range of protocols is the ability to provide for distributed computing interaction whether or not the client is physically connected to the network. Users require the ability to interact with applications while they are offline on occasionally connected devices such as mobile phones, laptops, and personal digital assistants (PDAs). Similarly, users want to be able to take advantage of their network connections through two-way, event-driven, and notification-based communications. Rich clients enable online, offline, and sometimes- connected modes of interaction through client-side caching mechanisms, support for asynchronous protocols, and stateful interaction with servers. Deployment onto multiple platforms and channels – Finally, rich clients should be able to support deployment onto a wide range of platforms

Copyright © 2004, ZapThink, LLC 6

ZapThink, LLC ! 11 Willow Street, Suite 200 ! Waltham, MA 02453 ! [email protected] ! www.zapthink.com The New Interface for the Next Generation of Distributed Computing April 2004

and devices. Truly loosely coupled, standards-based rich clients can likewise abstract their underlying runtime platform, enabling users to specify their presentation layer preferences without having to decide on a particular runtime environment. Rich clients also should support a wide range of user interaction channels including telephone, email, voice interaction, as well as traditional network-based computing technologies.

As can be seen from the above set of requirements, the new breed of rich client offers more than either the thick or thin client approaches of the past ever have.

Why the Portal is Not Enough For many companies the portal represents the current state of the art with regards to presentation layer interfaces to disparate, heterogeneous assets in the enterprise As companies sought to leverage Web-based interfaces for access to enterprise data and applications, the portal began to emerge as the accepted corporate interface to data and software functionality dispersed throughout the organization. When portals first emerged, they were a way of consolidating separate corporate Web sites and Web interfaces to corporate applications into an aggregated view that users could personalize, along the lines of “My Yahoo!” Rather than working with separate interfaces to multiple different applications, the portal ties together the various user interfaces. Such portals provided a personalized, role-based view of many of the information systems and resources used within an organization. The main reason why enterprises implemented these portals was to lower content and application delivery costs and to extend the reach of back-end applications. In addition, portals provided role-based administration, access to semi-structured and unstructured content, and knowledge management and collaboration capabilities. However, while providing an integrated view of information from multiple systems, these early portals didn’t integrate applications at the user interface level. Instead, these portals provided separate views into separate applications. . A portal’s greatest benefit comes not from creating a single view of multiple resources, but from linking these resources directly to business processes, even when those processes involve multiple resources. Companies quickly realized that having multiple, separate portlet views into different application silos is not particularly helpful. Rather, what they need is a cohesive integration of the various pieces of information presented to the user, and a logical flow that connects applications and human workflow tasks. Simply put, a portal must provide a user interface to a process, not to a single application. In order to mitigate the costs and risks of integrating siloed applications in the portal, as well as provided the primary SOA benefit of business agility, portals must supply interfaces to loosely coupled, coarse-grained Services that in turn provide access to business logic without requiring integration within the user interface. Rather than simply providing access to information, the latest breed of portals is beginning to provide interfaces to the processes people need to do their jobs. Indeed, companies don’t implement portals because they aggregate user interfaces; they implement them because they provide a window on the business processes that are important to an organization. Rather than simply connecting directly to the back-end systems and providing visual islands of information, portals should provide a process-driven approach to assembling logical flows of information from disparate data and information sources and provide a role-based, personalized presentation layer on top of those flows.

Copyright © 2004, ZapThink, LLC 7

ZapThink, LLC ! 11 Willow Street, Suite 200 ! Waltham, MA 02453 ! [email protected] ! www.zapthink.com The New Interface for the Next Generation of Distributed Computing April 2004

However, as the portal is put to increasingly more important use in providing interfaces to processes and enterprise applications, users will increasingly demand that these portals provide rich client capabilities – despite the fact that they are based on the limitations of today’s Web technologies. Namely, the most effective portal will need to handle rich user interactivity, offline and online modes of interaction, integration with local as well as remote data, advanced connectivity and messaging capabilities, and deployment onto a wide range of systems and devices. Simply put, today’s corporate portals can no longer be based on Web-based thin client technologies. Rather, companies must evolve beyond the simplistic Web-based portals and use Web Services-based, Service- Oriented rich clients that leverage new technologies, protocols, and user interface approaches.

Will Applications DeliverDeliver their own UI in the future? In the future, companies won’t be purchasing monolithic enterprise applications that each contain their own, separate user interface. Rather, enterprises will buy application functionality exposed as Services that they can deploy in an SOA that uses the portal as its primary user interface. Such Services must be stitched together into Service-oriented processes that users interact with via enterprise portals. Services will become the norm by which enterprises interact with enterprise applications. Companies should not only demand standard interfaces via Web Services-based APIs, but also demand SO solutions that expose Service- oriented business processes that enterprise portals can consume. In fact, many major business application vendors are thinking about providing their application functionality as Services without any UI, or at least very much loosely coupled from the UI that they provide as a key component of their application. The movement to UI-less business applications is a positive step for companies looking to adopt SOAs in that many firms spend much of their time and budget trying to work around the interfaces that these vendors have put into place. As application vendors move to process-driven Services that are decoupled from UI, they will find that their Services deliver greater value in that they can be embedded within the critical business functions companies depend on, rather than being segregated as an island of information on the network.

Understanding the PresentationPresentation Layer Requirements of SOAs While technologies like Web Services provide a technological means to access distributed computing functionality, they don’t inherently provide a visual front- end to those applications. In fact, one of the fundamental tenets of Web Services-based Service-Oriented Architectures (SOA) is loose coupling, which mandates separating the way that an application appears from its underlying functionality. This is the systems view of SOA that is discussed in much of ZapThink’s research on the topic (see the SOA Tools and Best Practices Report [ZTR-WS107] for more detail). In essence, the systems view of SOA is different from other forms of IT architecture. As the below diagram implies, an SOA mandates loose coupling, not only between the Services and their underlying implementation, but also their visualization and representation to users.

Copyright © 2004, ZapThink, LLC 8

ZapThink, LLC ! 11 Willow Street, Suite 200 ! Waltham, MA 02453 ! [email protected] ! www.zapthink.com The New Interface for the Next Generation of Distributed Computing April 2004

Figure IIII----111:: Simplified Systems View of SOA

User Interaction Services Execution

Portal Linux

"Process" Service

Web Rich Client Windows "Atomic" Service

"Process" Desktop Rich Service Mainframe Client

"Atomic" Service Mobile Device Portable Device

"Process" Service

Voice Unix Security and Interaction Context

Copyright (C) 2004, ZapThink, LLC Proprietary Email System

According to this figure, SOA systems architects should create both Services that users can interact with through any means they deem necessary, including Web- based modes of interaction, telephone, email, or not directly interact with the Service at all. The systems view of SOA doesn’t even mandate that a user must interact with a Service, since any process can be initiated automatically by another system, an event, or some non-user trigger mechanism. It is this loose coupling of user interface that differentiates SOA, among many other critical and major ways, from n-tier, client/server and other IT architectures.

III. Introducing Macromedia Flex: Advanced Rich Client Functionality Macromedia was one of the early pioneers in rich user interaction across the Internet. In 1997, they made a splash in the market with their Flash product, and as of the date of this report, over 98% of Web browsers and 500 million users are equipped with the Macromedia Flash player. Continuing their Flash legacy, Macromedia has introduced its Flex product (previously code-named Royale) that leverages Flash to provide four key areas of rich client capabilities: The ability to develop multi-step, complex user interaction scenarios, such as configuration, multi-page electronic forms, and elements that require context, flow, transitions, and visual effects. The need for client-side business logic processing that end-users require for business logic validation, calculations, data verification, formatting, filtering, sorting, and other aspects of user feedback. The need to directly and visually interact with data through metaphors such as drag-and-drop, data grids, list boxes, checkboxes, calendars, and other rich user interactions.

Copyright © 2004, ZapThink, LLC 9

ZapThink, LLC ! 11 Willow Street, Suite 200 ! Waltham, MA 02453 ! [email protected] ! www.zapthink.com The New Interface for the Next Generation of Distributed Computing April 2004

The ability to represent data and complex, aggregate information from multiple sources in a visually intuitive manner to enable data visualization, data integration, graphing, charting, data drill-down, and other intelligence requirements.

Macromedia Flex-based applications run and execute within Macromedia’s client-side Flash environment. So, in essence, Flex is a standards-based, distributed programming model for the Flash client. In addition, Flex requires a server-side component, currently based on Java, to allow users to author and compile Flex applications for delivery at runtime to Flash clients. Users create Flex applications by writing in an XML-based declarative language for application development and UI called MXML. The language defines how users interact as well as provides a class library for components like data grids, date choosers, and other interactive elements. MXML applications can consume Web Services, and the language provides the requisite decoupling of presentation logic from business logic. Finally, users can develop in any text- based editor they choose, although Macromedia is planning on releasing their own Flex IDE soon. Since Flex is a native Java application, deploying a Flex server on the J2EE platform is straightforward. Flex applications are handled with Java Web archive (WAR) files. Through the use of XML and file-based application development, developers can incorporate Flex applications into the administration and application lifecycle tools already in use in the enterprise. While executing in the Flash Player, the Flex application can interact with server-side functionality, such as databases, SOAP-based Web Services, and other server-side application components.

Copyright © 2004, ZapThink, LLC 10

ZapThink, LLC ! 11 Willow Street, Suite 200 ! Waltham, MA 02453 ! [email protected] ! www.zapthink.com The New Interface for the Next Generation of Distributed Computing April 2004

Macromedia Flex Product Details

Macromedia Flex Availability: Now Overview: Leveraging Macromedia Flash technology, Macromedia Flex is the provides a presentation-layer, server-side solution for deploying rich client applications to a wide set of client interfaces.

Details: The Macromedia Flex presentation server is a server-side product that enables companies to build rich client applications. The Flex presentation server sits in an organization’s presentation tier, and leverages client-side Flash technology to augment existing Web Services, HTML, and server-side scripting with executable code that runs on the client.

Key Differentiators: Time-tested client-side plug-in – Macromedia Flash plug-in has been on the market since the mid-1990’s and has been tested across many different Web, Web Services, and other distributed computing approaches. Large developer base – Macromedia boasts one of the largest contingents of client-side developers, and can thus leverage this base for rich client application development. XML-based development language – Macromedia Flex’s use of the XML-based MXML language enables developers to accelerate their development of rich client applications through simplified coding.

Value Proposition: Key Macromedia Flex benefits include: Faster time-to-market with applications through simplified development of rich client code that accesses Web Services. Improved transactional Web-based apps by providing rich client interface on top of existing business logic. Higher end-user productivity by providing applications that look, behave and perform the same, regardless of their access means and connection.

As companies desire richer interaction with their Web Services-based applications, they will increasingly move away from static Web browser-based applications and towards rich client solutions such as those from Macromedia. As a result, the market for rich client solutions is in its infancy, and we can expect significant growth over the next six years (See ZapThink’s Rich and Smart Clients for SOAs report [ZTR-WS111] for more detail).

ZapThink’s Take on Macromedia Flex What makes Macromedia’s approach unique is that its Flex-based applications run and execute within Flash. So in essence, the server-side Flex solution provides the Web Services rich client application development interface for the

Copyright © 2004, ZapThink, LLC 11

ZapThink, LLC ! 11 Willow Street, Suite 200 ! Waltham, MA 02453 ! [email protected] ! www.zapthink.com The New Interface for the Next Generation of Distributed Computing April 2004

Flash client. While the Flex presentation server runs on Java now, Macromedia plans call for it to run on the Microsoft .NET platform later in 2004. The company also seeks to differentiate itself from the emerging class of rich client focused startup vendors in the following ways: Macromedia believes that since 98% of all web browsers already have the Flash plug-in installed, they have an existing captive audience of potential rich client users. The ubiquity of the Flash Player means the the plug-in is not a barrier for entry, as it would be for competing plug-in based solutions. Macromedia Flex leverages not only the deep UI capabilities of Flash, but also the thousands of developers inthe rich user community that is already building thousands of Flash applications. Since Macromedia has already ported their Flash client-side application to a wide variety of desktop operating systems, the rich client solution is not tied to limitations around deployment to specific platforms, such as Macintosh or Linux operating systems. In addition, there is no need for cross-browser testing due to the plug-in nature of their approach.

Finally, the company is targeting developers that are familiar with declarative tag- based language. So, while the Flex solution is not meant for the casual user, they are seeking to capitalize on those thousands of developers familiar with XMLand other tag-based development, as well as those who are currently working with JSP and ASP. As a result, the company is well poised to help transition the corporate developer into a powerful rich client application developer.

IV. ConConclusionsclusions As companies desire richer interaction between their Web Services-based applications and the users of those applications, rich client solutions such as those provided by the new class of Web Services-enabled rich client vendors will increasingly gain prominence in the enterprise. Users will increasingly demand the ability to present very large data sets to a dispersed audience without sacrificing the economics that either Web applications or the rich user experience that traditional client/server applications provide. Current Web technologies are simply not sufficient to meet the requirements of the rich user interface. The Web protocols – HTTP and HTML – were not meant for enabling sometimes connected clients, rich user interaction, or stateful connections between clients and distributed computing applications. As a result, the clients and presentation layers we have built to date, especially those built with portal technology, only leverage Web-based technology that has limited user interactivity capabilities. While Macromedia Flex is new to the market, there is no question about the impact of Macromedia Flash on the world of visual interfaces as it relates to Web development. Evolving standards and innovations in rich client functionality and Service-oriented computing offer companies a combination of low cost of ownership and high user productivity. Flex offers such companies a way to leverage the benefits of SOAs without making the sacrifices they have come to expect with purely Web-based solutions.

Copyright © 2004, ZapThink, LLC 12

ZapThink, LLC ! 11 Willow Street, Suite 200 ! Waltham, MA 02453 ! [email protected] ! www.zapthink.com The New Interface for the Next Generation of Distributed Computing April 2004

Copyright, Trademark Notice, and Statement of Opinion

All Contents Copyright © 2004 ZapThink, LLC. All rights reserved. The information contained herein has been obtained from sources believed to be reliable. ZapThink disclaims all warranties as to the accuracy, completeness or adequacy of such information. ZapThink shall have no liability for errors, omissions or inadequacies in the information contained herein or for interpretations thereof. The reader assumes sole responsibility for the selection of these materials to achieve its intended results. The opinions expressed herein are subject to change without notice. All trademarks, service marks, and trade names are trademarked by their respective owners and ZapThink makes no claims to these names.

About ZapThink, LLC

ZapThink is an IT market intelligence firm that provides trusted advice and critical insight into XML, Web Services, and Service Orientation. We provide our target audience of IT vendors, service providers and end-users a clear roadmap for standards-based, loosely coupled distributed computing – a vision of IT meeting the needs of the agile business.

ZapThink’s role is to help companies understand these IT products and services in the context of SOAs and the vision of Service Orientation. ZapThink provides market intelligence to IT vendors who offer XML and Web Services-based products to help them understand their competitive landscape and how to communicate their value proposition to their customers within the context of Service Orientation, and lay out their product roadmaps for the coming wave of Service Orientation. ZapThink also provides implementation intelligence to IT users who are seeking guidance and clarity into how to assemble the available products and services into a coherent roadmap to Service Orientation. Finally, ZapThink provides demand intelligence to IT vendors and service providers who must understand the needs of IT users as they follow the roadmap to Service Orientation. ZapThink’s senior analysts are widely regarded as the “go to analysts” for XML, Web Services, and SOAs by vendors, end-users, and the press. They are in great demand as speakers, and have TAKE CREDIT FOR READINGREADING ZAPTHINK RESEARCH!!! presented at conferences and industry events around the world. They are among the most quoted industry analysts in the IT Thank you for reading ZapThink research! ZapThink industry. is an IT market intelligence firm that provides trusted advice and critical insight into XML, Web Services, ZapThink was founded in October 2000 and is headquartered in and Service Orientation. We provide our target Waltham, Massachusetts. Its customers include Global 1000 firms, audience of IT vendors, service providers and end- public sector organizations around the world, and many emerging users a clear roadmap for standards-based, loosely businesses. ZapThink Analysts have years of experience in IT as coupled distributed computing – a vision of IT well as research and analysis. Its analysts have previously been meeting the needs of the agile business. with such firms as IDC and ChannelWave, and have sat on the working group committees for standards bodies such as Earn rewards for reading ZapThink research! Visit RosettaNet, UDDI, CPExchange, ebXML, EIDX, and CompTIA. www.zapthink.com/credit and enter the code Call, email, or visit the ZapThink Web site to learn more about how MACRRICH. We’ll reward you with ZapCredits that ZapThink can help you to better understand how XML and Web you can use to obtain free research, ZapGear, and Services impact your business or organization. more! For more information about ZapThink products and services, please call us at +1-781-207- ZAPTHINK CONTACT: 0203, or drop us an email at [email protected]. ZapThink, LLC 11 Willow Street, Suite 200 Waltham, MA 02453 Phone: +1 (781) 207 0203 Fax: +1 (786) 524 3186 [email protected]

Copyright © 2004, ZapThink, LLC 13

ZapThink, LLC ! 11 Willow Street, Suite 200 ! Waltham, MA 02453 ! [email protected] ! www.zapthink.com

ZapThink, LLC ! 11 Willow Street, Suite 200 ! Waltham, MA 02453 ! [email protected] ! www.zapthink.com