You are on page 1of 12

The Feasibility of Web-Based Client/Server Information System: A Case Study

F. Soesianto and Ismail K. Ibrahim Department of Electrical Engineering Gadjah Mada University, Indonesia {fsoes, ismail}@te.ugm.ac.id

Abstract
The web-based client/server computing has become the model for a new information architecture that will take enterprise-wide computing into the 21st century. It promises many things to many people; to end-users, ease access to corporate and external data; to managers, dramatically lower costs for processing; to programmers, reduced maintenance; to developers, an infrastructure that enables business processes to be reengineered for strategic benefits. However, the subject of web-based client/server seems to be still shrouded in mystery for most people. Is the web-based client/server computing really new? What has propelled it to the information systems forefront? Should the decision to move to web-based client/server computing be made on the basis of cost or on the productivity gains as well? Is there a hidden downside? Is it a new technology or a new methodology? The purpose of this paper is to answer all these questions through introducing the concept of integrated web-based client/server architecture and to discuss a number of complex issues surrounding the implementation and management of this architecture.

1. Introduction
The advent of the Internet and the growth of commerce on the Word Wide Web are changing the client/server landscape dramatically. As the demand for information and resource sharing between remote locations continues to escalate, vendors are beginning to web-enable their desktop application solutions. A web based client/server system is typically a variation on the standard threetier client/server system architecture. It is designed to take full advantages of cooperative processing and distributed computing, using the Internet or an intracompany WAN as the network infrastructure. It is important to determine if a web-based client/server solution is the right solution for an organization. The answer to this question depends on a number of variables. However, a primary determinant for evaluating the feasibility of adopting a client/server solution has to be chosen. The focus will be on the fitness of the current information system. Is the current information system infrastructure a help or a hindrance to the business activity? Once this question is answered, the decision to

adopt a client/server solution can be evaluated in the light of issues such as implementation cost, staffing requirement, overall impact on business operations, and the potential benefits to be realized from making a change. The purpose of the paper is to provide a framework to determine the state and feasibility of adopting a web-based client/server solutions for an organization. The approach followed in this research is the proof-of-concept implementation approach to a container terminal operation information system, which is documented in Ibrahim (1998). See also Soesianto (1999) and Siong (1996), upon which the work of Ibrahim was based.

2. Background
Client/server architecture is a complex, involved, and often misunderstood subject. The amount of information related to this subject is tremendous and covers a wide range of functions, services, and other aspects of the distributed environment (Berson 1996). This research is intended to contribute to the evolution of todays client/server technology by determining and evaluating the state and feasibility of adopting a web-based client/server solution for an organization based on the theoretical foundations of the distributed co-operative processing models. It will introduce the concept of client/server systems development methodology, which provide a consistent approach in the analysis and investigation of all the issues surrounding the implementation and management of client/server systems (Orifaldi 1996). A real world case of study has been chosen to apply these concepts. The term client/server was first used in the 1980s in reference to personal computers (PCs) on a network. The actual client/server model started gaining acceptance in the late 1980s. The client/server software architecture is a versatile, message-based and modular infrastructure that is intended to improve usability, flexibility, interoperability, and scalability as compared to centralized, mainframe, and time sharing computing (for instance, see Berson 1996). There are a variety of definitions for the term client/server. For the purpose of this research the systems point of view is taken. In other words, the client/server system is defined in terms of individual pieces that work together as a whole and viewed as a system that integrates hardware, software, and networking. This integration of technology is specifically designed to share resources, in support of one or more business functions, in multiple locations simultaneously. As an example is the Internet itself is the worlds largest client/server system. This client/server system is comprised of thousands of clients and servers transferring information and supporting millions of business functions across a network that spans the globe. Every client/server systems consists of at least one of each of the following: A client that requests information; A server that supplies information; A network that transfer information between the client and the server;

The client component of the client/server system can be either hardware or software. In the hardware context, a client is the personal computer functioning as a workstation. This client workstation is capable of stand-alone information processing, which distinguishes it from its mainframe predecessor, the dumb terminal. In the software context, a client is the software that allows to interact with the information residing on the server. Web browsers are examples of software clients, as are email programs (Orifaldi 1996). The server component can also considered both hardware and software. As hardware, the server is typically a personal computer or workstation with enhanced storage capacity. Often, it resides in the same location as the business activity it is required to support. As software, servers have a variety of incarnations, depending on the operational function. For example, windows NT Server acts as a secure server, allowing users to share files and printers over a network. Web servers like Microsofts Information Server provides access to and delivery of information over the World Wide Web (Martin 1997). In a client/server system, the network is the glue that binds the various pieces of hardware and allows the sharing of data and information. Networks are generally considered hardware, as they provide a physical link between clients, servers, printers, and other shared resources. In addition, in cases where networks are required to link and facilitates interaction between varying vendor-specific resources, middleware may play a role in supporting network functionality. Middleware, as the name implies, is the piece of hardware or software placed between two different technologies to allow the two technologies to interact with each other. In the context of client/server systems, middleware has a variety of incarnations; however, the two most common are: Network Middleware, which handles message routing between different platforms; Database Middleware, which handles the translation of data request into database commands. Client/server information systems architecture must serve three purposes: Respond to the organizations need for easy information access, flexibility, smooth administration, reliability, security and proficient application development; Utilize current installations of hardware, software and networks, which often run mission-critical applications that cannot be compromised; Anticipate future demands on information systems and networks; Client/Server computing systems come under the broad category of system architectures known as Open Systems Architecture. In an open systems environment, hardware and software from different vendors are interchangeable and can be combined into an integrated working environment. Two important concepts in open systems are Interoperability and Interconnectivity. Interoperability means that open systems can exchange information meaningfully with each other even when they are from different vendors. For example, manufacturing relies on VAX/VMS, Accounting runs of the IBM 3090 mainframe, sales and marketing use OS/2 server running Netware (Network Operating System) on a Token Ring

network and top management and corporate planning need real time data from all three on their PCs and Macintoshes. Interoperability is at the software application level. Interconnectivity, refering to the ability to connect computers from possibly different vendors, is an integral part of interoperability. Interconnectivity is at the hardware level. Most client-server systems have the following distinguishing characteristics (see also Watterson 1995): 1. Service: client-server is primarily a relationship between processes running on separate machines. The server process is the provider of services. The client is a consumer of services. In essence, client-server provides a clean separation of function based on the idea of service. 2. Shared resources: a server can service many clients at the same time and regulate their access to shared resources. 3. Asymmetrical protocols: there is a one-to-one relationship between clients and servers. Clients always initiate the dialog by requesting a service. Servers are passively waiting on requests from the clients. 4. Transparency of location: the server is a process, which can reside on the same machine as the client or on different machine across the network. Client-server software usually masks the location of the server from the clients by redirecting the service calls when needed. 5. Mix and match: the ideal client-server software is independent of hardware or operating system software platform. One should be able to mix and match client and server platforms. 6. Message-based exchanges: clients and servers are loosely coupled systems which interact through message passing mechanism. The message is the delivery mechanism for the service requests and replies. 7. Encapsulation of services: the server is a specialist. A message tells a server what service is requested and it is up to the server to determine how to get the job done. Servers can be upgraded without affecting the clients as long as the puplished message interface is not changing. 8. Scalability: client-server systems can be scaled horizontally or vertically. Horizontal scaling means adding or removing client workstations with only a slight performance impact. Vertical scaling means migrating to a larger and faster server machine or multi-servers. 9. Integrity: the server code and client code is centrally maintained, which results in cheaper maintenance and the guarding of shared data integrity. At the same time, the clients remain personal and independent. Client/server systems can be configured in a variety of ways, depending on what is going to be accomplished. These different configurations are called client/server system architectures, the most common of which is the two-tier and three-tier

architectures. To better understand the difference between the two, Client/server systems should be broken up into three functional layers (Berson 1996): 1. The presentation or user interface layer Presentation is directly related to end-user I/O and include such items as screen/window management, dialog control, function key mapping, field validation, range checking, context-sensitive help, data capture and security. 2. The function or application processing layer Function includes programs responsible for business logic. It includes programmed access to user data and end-user I/O or issuing DML statements. 3. The data management layer Data management represents the functions related to executing data manipulation language (DML) e.g., disk I/O, buffer management, index maintenance, lock management. A DBMS or file management system usually performs these functions. In a two-tier architecture, the client generally handles the responsibilities of both the presentation and business logic layers, and the data access layer is managed by the server. Because the client performs the processing requirements of both the presentation and business logic in the two-tier architecture, it is also known as a fatclient architecture Martin 1997). Over time, it was found that two-tier architectures didnt scale very well. In addition, so much client processing required installing, updating, and maintaining large, platform specific applications on each client, which could be very expensive. For these reasons, there has been a move toward the three-tier architecture. With the three-tier architecture, each functional layer is isolated into three distinct (logical) components. In this architecture, clients are responsible for the presentation layer, servers for the business logic layer, and servers for the data access layer. Because clients are then only responsible for handling presentation logic, this architecture is also known as thinclient architecture. In three-tier architecture, applications reside on the server, rather than from the client, so they are platform-independent, and many clients on multiple platforms can use the same application. In the example of a corporate Intranet, applications can reside on a Web server. Thin clients, such as a PC or a network computer, can access these applications from anywhere in the Intranet. Organizations that adopt the three-tier client/server architecture can realize benefits in reduced maintenance cost and system flexibility.

3. Web-based Client/Server Architecture


A web based client/server system is typically a variation on the standard threetier client/server system architecture. It is designed to take full advantages of cooperative processing and distributed computing, using the Internet or an intracompany WAN as the network infrastructure.

The presentation logic in a Web-based client/server system consists of a Web browser as the primary application interface. Generally, some of the processing logic is built into the Web-browser to interpret HTML pages with embedded scripting languages like JavaScript or VBScript, because Web-based applications are constructed by embedding component objects developed using Java or ActiveX technology into the HTML, the business logic layer of a Web-based client/server system generally resides on a remote Web server. And as usual, the supporting data would reside on a database server, which, under the Web-based paradigm, is also remote. Functionally, web-based applications support many of the same business processes as their desktop counterparts. In fact, many vendors are Internet-enabling their popular desktop applications to conform to the web-based client/server paradigm. For example, a popular client/server based financial system, built for a two tier architecture, is now offered as a web-based solution. Under the new web-based configuration, the product is offered for a three-tier architecture. Consequently, the standard GUI, traditionally resident on the client PC, has given way to Netscape or Internet Explorer. the application, which would typically reside on a LAN server, can now be hosted on a WAN server in a separate geographic location, as can the database used to support the system. It is important to determine if a client/server solution is the right solution for an organization. The answer to this question depends on a number of variables. However, a primary determinant for evaluating the feasibility of adopting a client/server solution had to be chosen. The focus will be on the fitness of the current information system. Is the current information system infrastructure is a help or a hindrance to the business activity? Once this question is answered, the decision to adopt a client/server solution can be evaluated in light of issues such as implementation cost, staffing requirement, overall impact on business operations, and the potential benefits to be realized from making such a change, and that is what expected to be the main benefits of such a research.

4. Client/Server Systems Methodology


Microcomputers have been termed power tools or mind-tools for an information age, where the key to success is in acquiring and using knowledge. In the client/server systems, the end-user should be involved in the design of the system, and should help the systems people design the new requirements expected from the system. End users should also help with testing, as they will be using the new system. In order to develop an effective client/server system, the system development life cycle should be viewed from the client/server business model point of view and a clearly defined cycle of phases had to be designed.

The client/server systems development methodology is an ongoing process, since all client/server systems are constantly in development and revision. The development of a client/server systems never really stops. The system development life cycle using a client/server business model is a fivestep process that is constantly in effect on any given information system. The five steps should be followed carefully to ensure an effective system and to reduce the chance of failure. Figure 1 details these five stages and the different activities involved in them

Stage

Goal
Determine whether a business problem or opportunity exits Determine whether a new or improved C/S is a feasible solution

Activities
Gather data Identify current situation Describe existing system Define requirements Analyze applications and data architectures Analyze technology platforms Prepare implementation plan

Deliverables
Information Technology Profile on the Feasibility of a Web based Client/Server solution

System Investigation

System Analysis

Analyze the information needs of end users, the organizational environment, and presently used systems Develop the functional requirements of a system that meet the needs.

Gather data Expand the requirements to the next level of detail Define information system requirements Prepare external system design

Functional requirements Organizational analysis Present system analysis Functional requirement analysis

System Design

Develop specifications for H/W, S/W, people and data resources and the information products that will satisfy the functional requirements of the proposed system

Determine possible improvement goals Architecture definition Identify systems development environment. Perform preliminary design Perform detailed design Design system test Acquire H/W & S/W Test the system Train people Convert to the new system

System specifications User interface Database Software Hardware Personnel Operational system implementation Direct Parallel Phased Pilot Post Implementation Review

System Implementation

Implement the IS solution

System Evaluation & Maintenance

Monitor, evaluate, modify the system as needed

Support H/W, S/W, and communication configuration

Figure 1 Stages and Activities of Client/Server Development

5. Client/Server Business Model


The client/server business model is an approach that helps define environmental attributes that might be enhanced by client/server implementation. This approach not only provides a basis for the business case that supports such a recommendation, it also lays a foundation for performing Business Process Reengineering. Business Process Reengineering is the process of analyzing the functional and operational procedures in an organization for efficiency. This analysis is directed at identifying processes that may be redundant across organizations, or obsolete in their application. The ultimate intent is to define the optimum flow of work for an organization, and then determine how the optimized process might be enhanced through the implementation of automated solutions. The focus of this research is to determine whether a web-based client/server solution is the right solution for an organization. The answer to this question depends on a number of variables. However, a primary determinant for evaluating the feasibility of adopting such a solution had to be chosen. The focus will be on the fitness of the current information system. Is the current information system infrastructure is a help or a hindrance to the business activity? Once this question is answered, the decision to adopt a client/server solution can be evaluated in light of issues such as implementation cost, staffing requirement, overall impact on business operations, and the potential benefits to be realized from making a change. The web-based client/server business model, developed for the purposes of this research can be used to identify general areas about the business activities of the case study considering a client/server solution which include the following: 1. Needs: A clear statement of the case of studys information processing needs to be enabled by sharing information among all of its business units in a fast, cost effective manner. 2. End user roles and responsibilities: A perspective on the case of study roles and responsibilities of end users to determine the resource sharing requirements among business units. 3. Information flow: An understanding of how information flows throughout the organization, in other words, what information goes into the organization and what comes out. 4. Standards and procedures: Insight into the existing information management standards, policies, and/or procedures of the case of study. This insight helps understand what governs the way that information is handled in the organization. 5. Education and training: An understanding of case of studys education and training processes related to the system. 6. System configuration: An inventory of the existing information processing system configuration.

7. Risk: Managements budget and risk tolerance thresholds. This information establishes limits for how much an organization willing to spend in relation to the capabilities received. 8. Problems and issues: A perspective on known problems and/or issues with the organizations existing information processing infrastructure. 9. Metrics: A perspective on measurements that might be collected to objectively evaluate proposed capability enhancements. 6. Results After developing the client/server business model, the research began to make assessments related to the feasibility and potential benefits of a client/server solution for one of the Indonesian port container terminal operations which resulted in the decision to downsize the existing mainframe system to an integrated web based client/server system. The study conducted to determine the state and feasibility of a client/server solution was called the information technology profile on the feasibility of a web-based client/server solution. The objective of this study is to describe the: 1. Existing business environment 2. Approach taken regarding assessments of client/server solution feasibility including organizational, economic, technical and operational considerations 3. Conclusions and recommendations regarding the feasibility of a client/server solution. The implementation method applied is the proof-ofthe-concept implementation which is an experimental approach to determine the state and feasibility of adopting a client/server solution that can be developed to be any one of the other implementation methods. The potential benefits associated with such a decision include, but are not limited to, the following list: 1. Improved Graphical User Interface. 2. Easy data access. 3. Access to application development tools. 4. Multi platform integration. 5. Improved business operations. 6. Distributed application processing. 7. Lower system-operating costs. 7. Conclusion The client/server business model makes the enterprise available at the desk. It provides access to data that the previous architectures did not. Standards have been defined for client/server computing. If these standards are understood and used in

developing web-based applications, organizations can reasonably expect to buy solutions today that can grow with their business needs without the constant need to revise the solutions. Architectures based on open systems standards can be implemented throughout the world, as global systems become the norm for large organizations. While a supportable common platform on a global scale is far from standardized, it certainly is becoming much easier to accomplish. From the desktop, enterprise-wide applications are indistinguishable from workgroup and personal applications. Powerful enabling technologies with built-in conformance to open systems standards are evolving rapidly. Examples include object-oriented development, relational and object-oriented databases, multimedia, imaging, expert systems, geographic information systems (GIS), voice recognition and voice response, and text management. These technologies provide the opportunity to integrate their generic capabilitieswith the particular requirements of an organizationto create a costeffective and customized business solution. The web-based client/server model provides the ideal platform with which to integrate these enabling technologies. Welldefined interface standards enable integration of products from several vendors to provide the right application solution.

REFERENCES
Berson, A. (1996): Client/Server Architecture, McGraw-Hill, New York. Ibrahim, Ismail Khalil (1998), Developing a Web-based Management Information System, MSc Thesis, Gadjah Mada University. Martin, Richard J. and Weadock (1997): Bulletproofing Client/Server System Computing, McGraw-Hill, New York. OBrien, James A (1996): Management Information Systems: Managing Information Technology in the Networked Enterprise, 3rd Edition, IRWIN, New York. Orifali, Robert et al (1996): The Essential Client/server Survival Guide, John Wiley & Sons, New York. Siong, N.B (1996): Exploiting Information Technology for Business Competitiveness, Addison Wesley, Singapore. Soesianto, F (1999): "Rencana Induk Pengembangan SIM: Realisasi Atas Misi Untuk Sebuah Visi", Jurnal Teknologi Industri, vol 3 no 3, pp 197- 208 (July 1999).

Watterson, Karen (1995): Client/Server for Managers, Addison-Wesley, New York.

You might also like