Saturday, July 31, 2010

Architecture Evolution: From Web-based to Service-oriented Architecture

Pre-Internet client/server technology relied on healthy communications between the machines involved, and local area networks (LANs) and wide area networks (WANs) became an expense and a management headache for most companies. Moreover, updating software versions, particularly on the numerous distributed personal computers (PCs), became an almost unsolvable problem. Many information technology (IT) departments have thus moved toward Internet- or intranet-based technology as a solution. In this approach, communications utilities provide the wide area communications backbone, and PCs merely communicate the uniform resource locators (URLs) to reach the servers they need help from. Software nuggets coded in the Java (or any other web-friendly) language that runs on the PC clients gets downloaded when needed, ensuring that it is always the latest version. With an Internet-only enterprise system in place, client-side software upgrades become unnecessary, while web browser-based applications significantly simplify the training. Tying together far-flung locations of an enterprise becomes simpler too.

Part Two of the series Architecture Evolution: From Mainframes to Service-oriented Architecture.

In fact, owing to the Internet phenomenon, terms such as web-based and web-enabled have lately replaced the 1990s client/server buzzword, with client/server now insinuating a reference to the old pre-Web way of doing things. However, most client/server systems have meanwhile been modified to include web access, and the web-based application or architecture is naturally a true client/server architecture. Namely, on the server side, the Web uses a multi-tier architecture with interlinked web servers, application servers, database servers, and caching servers, while on the client side, user machines commonly execute scripts embedded in countless web pages. They also execute Java applets, larger Java programs, rich client applications, and so on, all of which means that both client and server are cooperating in tandem.

The advantage of an Internet-based architecture is that any computer with secure access to the Internet can access the product, given that by simply typing in a URL address, one has access to the system. There are potential savings in terms of deployment, maintenance, support, and upgrades, since the changes on the server side are instantly available to all users.

Still, while this approach might have value from an IT perspective, initially it did not necessarily improve the user experience of the application. In fact, many users even complained about the decreased usability and performance of the early applications in pure Internet mode. Users reported a serious decline in application performance due to the numerous hypertext markup language (HTML) roundtrips, cumbersome hyperlink navigation, and slower networks. Even after upgrading the network, bolstering server farms (as larger server hardware and web server software is required), and redesigning the interface to streamline navigation (via short key combinations, for instance), many users were still yearning for the "rich" client/server interface metaphor.

SOURCE:
http://www.technologyevaluation.com/research/articles/architecture-evolution-from-web-based-to-service-oriented-architecture-18723/

No comments:

Post a Comment