INTRODUCING CLIENT/SERVER TECHNOLOGIES
IN INFORMATION SYSTEMS CURRICULA
by
A. Chaudhury
University of Massachusetts
Boston, MA
H. Raghav Rao*
325 G Jacobs Center
SUNY-Buffalo
Buffalo, NY 14260
SOM Working paper
Summer 1996
SUNY at Buffalo
Please do not quote without permission from the authors
INTRODUCING CLIENT/SERVER TECHNOLOGIES
IN INFORMATION SYSTEMS CURRICULA
Abstract
One goal of information systems(IS) departments in business schools is to train IS professionals with necessary technical skills to support the IS function in companies. This paper suggests changes needed to most current IS curricula to meet the technical requirements of the client/server(C/S) world of technologies. It is hoped that the ideas presented here will stimulate debate and discussions as to how this transition can be brought about.
Key Words: Information Systems Education, Client/Server Systems
Section 1: Introduction
Don't stand in the doorway
Don't block the wall
For he that gets hurt
Will be he who has stalled...
For the times they are
a-changing
- Bob Dylan 1963
[Quoted by Robert Orfali, Dan Harkey, and Jeri Edwards in Essential Client/Server Survival Guide, page 21]
The late 1980s and early 1990s have seen a platform shift from mainframe-centric systems toward distributed client/server (C/S) systems. This shift has been accelerated by the fact that the client/server model makes cooperative computing practical and manageable, by supporting the division of applications into functions and services that need to be shared by many users (the server part) and those that are particular to the users (the client part). In addition, the availability of wide and local area networks and operating software that permits peer to peer distributed processing amongst low-cost heterogenous computing nodes allows easier development, distribution and modification of applications over time. Furthermore, client/server computing, in many cases, accords easy access to corporate data for end-users, the ability to respond quickly to changes in business and technology and cost-effective computer operations [Rosenberg, 1993].
There is a wealth of anecdotal evidence of a high demand for personnel with client/server training [Computer World [CW],July 11,94, page 99]. A more systematic study of 1100 IS job advertisements across the country was conducted by the Mississippi State University [Arnett and Litecky, 1994]. The following distribution of skill requirements were found (in descending order): PC\LAN 40%, Relational database 28%, Unix 22%, C 20%, COBOL 19%. The authors concluded: "Companies are recruiting less for traditional skills" [CW, July 11, 1994, page 99], [CW, November,1993, page 187]. A survey of the Fortune 1000 companies found that 70 percent of the companies are involved in implementing client/server technology at some level, and closing the client/server skills gap is among the biggest challenges facing organizations (Haber, 1994). When International Data Corp polled professional service firms on which emerging technologies would impact business, client-server was the only one mentioned by more than half the survey respondents. Forrester Research Inc predicted an annual growth rate of 72 % for client server software between 1991 and 1996 (Blackwell, 1994).
In order to meet the demand, it is necessary to revamp the skill profile of IS professionals. The overall skill profile required for IS professionals is determined by the tasks they are to work on, the organizational environment, and the technology with which they work [Leitheiser, 1992; Green, 1989]. There are several dimensions to the skill profile required of an IS professional, for example, technical skills, business communication skills, human relations and organizational skills, etc. This paper focusses only on technical training required to analyze and design applications, to program, and to enhance technical skills related to using environments and platforms such as relational databases (RDBs), operating systems, and networks. The importance of the technical aspect is supported, among others, by Luce (1989) and Richards and Pelley (1994) who found that the technical aspects of information systems are considered among the most valuable components of an information systems education
The following questions are addressed in this paper:
1. What will be the important technical training aspects required in the emerging and evolving paradigm of C/S?
2. How should the IS curricula in business schools be changed to impart such technical training?
This paper is organized as follows: the next section describes the new technical atmosphere that IS graduates would encounter in the C/S world. Section 3 outlines the changes that may be required in the typical undergraduate IS curriculum in areas such as database, data-communication, languages, and systems analysis. Section 4 describes a simple framework for strategic planning of IS curricula. Section 5 concludes the paper. The Appendix lists the major components and sub-components of C/S architecture. Considering that currently, a need is being felt in the IS community to develop a new model curriculum for undergraduate programs in Information Systems [Gorgone et. al., 1994], we hope that this paper will stimulate discussion and debate about this topic.
Section 2: Technical Environment of the Client/Server World
Though there is no universally agreed upon definition of what the term "Client/Server" means, it is now generally accepted to mean any system that splits its data-processing between two distinct parts or programs: the requester and the provider, or the client system and the server, where the client makes requests for services provided by the server [Salem 1992]. Therefore, any application that has a user-interface portion running on a local personal computer(PC) and a processing portion that runs on a server is a form of client/server computing. In this paper we adopt this as the essence of C/S computing.
(Refer to figure 1).

The atmosphere for an IS professional has been undergoing a dramatic change with the incorporation of open systems from multiple vendors based on C/S architecture. While the mainframe world is technically no less complex, once a particular vendor has been chosen, one can at least depend on the single vendor supplying all hardware, software and networking elements. When the system does not function there is a single point of responsibility. These proprietary systems are expensive but close support of the vendor is built into pricing. Open systems have brought in multiple vendors and commoditization of pricing. The user companies are on their own when they assemble, maintain and run these complex heterogenous systems [Hurwitz, CW-Client/Server Journal, May 1994, page 104].
In the technically mature environment of mainframes, communication consists of sending data from say, a mainframe to a 3270 terminal where the network function handles the communication responsibility. In a C/S world developing the communication function between the client and the server involves low-level communication coding based on protocols (eg. TCP/IP) as well as familiarity with a wide variety of platforms. For a programmer in the C/S world, while knowledge of old procedural languages is still a must, it is not enough. To write applications in a multi-functional architecture, where Windows' clients access relational data from UNIX servers on a LAN and also interface to a corporate database on a mainframe running a transaction monitor, requires knowledge of multiple platforms and operating systems involved [Baum, CW, November 29, 1993, page 122].
More job titles are being created and applied in client server computing environments. The technical areas of expertise that are taking off are especially in the areas of object oriented programming, relational database management, local area network administration (Burger, 1995). In fact, companies like the Associated Group are looking to transform Cobol programmers into Smalltalk programmers (Fryer, 1994).
Object oriented programming is a development method that focuses on getting the most out of many individual reusable components. Because objects can be logically connected regardless of whether they are physically close or separate, object oriented programming is the most natural development methodology for the client server paradigm especially when the possibility exists that an application may have to spread across one or more heterogeneous platforms (Dawson, 1994).
In the world of database design there has been a comparable change in technical skill requirements; " the database administrator's role is changing with an emphasis on UNIX literacy, TCP/IP networking and parallel database technology"- [CW, May 23, 1994, page 150]. Most of the client server oriented computing database tools have been developed for the Oracle and Sybase environments (Hamilton, 1994). In moving from the mainframe world to that of C/S, a knowledge of UNIX, networking and systems-level programming knowhow is found to be indispensable. Even the traditional programming skills in procedural languages are not enough to develop GUI based systems on client-PCs. There is a requirement for those who are experienced in developmental tools such as Powerbuilder and Gupta's SQL Windows tool set. (Fryer, 1995).
According to Datamation magazines' 1994 salary survey, people with experience in the client server technologies, GUI front end development, and relational databases are in high demand (Appleton, 1994).
The new environment in the world of client/server technologies, can be classified into four areas: application development, systems development, data-management, and systems environment. (See Table 1)
Table 1: Mainframe-centric vs Client/server Focus
|
|
Mainframe-Centric Focus |
Client/Server Focus |
|
1. Application Development |
Languages are mainstream procedural compiled languages such as COBOL and FORTRAN. Proficiency in COBOL is often enough to develop industrial strength applications |
All applications have a GUI based front-end that runs on the PC-client. These applications are "event-driven"-a different paradigm from sequential procedural programs. Visual Basic, Access Basic, Visual C++ provide tools for building graphical applications quickly. Tools like PowerBuilder and ObjectView bring along their own environments for building GUI frontends. They allow rapid and easy development of client- based applications. However, programming in more complex heterogenous environments is not easy.
The procedural language of choice is C. It is used for accessing elements of the surrounding world of operating systems, windowing environment and networks. |
|
2. Systems Development |
Uses enterprise modeling and structured development methodologies. These methodologies are mostly data and function centered and a wide array of CASE tools are available to manage the development process. |
For designing C/S systems a big shift in system development methodology is expected [Vaskevitch 1993]. Prototyping and rapid application development techniques made possible with tools like PowerBuilder or Visual Basic have made complex and time consuming CASE tools inappropriate for most applications currently being developed in the C/S world.
However, CASE tools will continue to be useful for large scale applications. CASE vendors are selling modified versions of their current products for the C/S environment [Kara 1993]. Their usefulness for this environment is yet to be established. |
|
3. Data Management |
Flat-file, hierarchical and relational databases are popular. |
SQL relational databases is the dominant model for creating client/server databases. Oracle and Sybase are the two most popular vendors. These DBMSs support the development of built-in procedural extensions: stored procedures, triggers and rules. They use their own proprietary procedural languages such as PL/SQL. Quick and easy development of client-end forms and reports are important elements of the environment [Salemi 1993]. |
|
4. Environment |
Knowledge of environmental elements such as networking protocols being used, NOS characteristics, and the underlying server or client is needed by programmer/system analysts or database designers. |
1. Understanding of environmental elements such as NOS or operating systems such as Windows for client and Unix for servers is critical for a programmer/system analyst or a database designer. Ability to work with the middleware is the responsibility of the system developer.
2. Ability to develop integrated desk-top applications through facilities such as OLE (object linking and embedding environment). Ability to access heterogenous databases through open data base connectivity, for example, Microsoft's ODBC. 3. Increasing importance of the object paradigm. This paradigm is reflected in languages such as Smalltalk or C++ or in object-oriented databases or in object-oriented operating systems such as OS/2 or Tailgent. Development of objects based systems is expected to make development and management of large-scale mission-critical applications feasible in C/S world. |
The coming wave of client/server technology will require a big shift in the systems development methodologies and procedures used to develop high quality information systems. The past systems development focus was on the monolithic business-logic layer. The trend towards large scale transactions in the client/server world has necessitated a 3-tier model that consists of: 1. user services, 2. business services and 3. data services (Sarna and Febish, 1995). The three tier architecture in which the GUI (the presentation and the user interaction part) runs on the client, the business rules and logic and application algorithms are maintained in an intermediate server and the business data is stored on back-end servers (Greenfeld, 1995), allows the slimming down of client applications, puts more processing on the server and reduces the amount of messaging and data moving around the network (Semich, 1995). Each of the three tiers can be encapsulated into three layers of business objects. The three layers of objects can independently have their own environments, and change independently. These business objects can also request services from each other (Winter, 1994) and be distributed across multiple computers on a network. The three-tier model also fosters business-driven development because it facilitates a company's efforts to redesign processes and jobs with business process reengineering (Atre, 1995).
Section 3: An Outline of Revised Information Systems Curricula
IS Departments are being challenged to produce graduates with training and knowledge that are in demand as above. Often the task in front of the IS teaching community is exacerbated by the following:
1. The belief in some quarters that C/S technologies may be a fad. C/S technology is far from being easily implementable and "horror" stories abound in the trade journals [CW-CS Journal, May 1994, page 42].
2. The frenetic pace of change in the technology [CW, Sept. 1993, page 36] makes it difficult to decide contents of IS curricula.
3. All elements of thh C/S architecture are yet to come into existence. Also, no single vendor has the whole answer to integrating diverse databases and applications in a C/S architecture [CW-CS Journal, May 1994, page 104] and the consequence is that the problem of heterogeneity becomes significant.
In this section, we outline the changes that may be required in a typical undergraduate IS curriculum to account for many of the concerns that have been articulated above.
We believe that while many of the fundamentals covered in typical current IS curricula will continue to be relevant much needs to be changed to reflect the evolving needs of the C/S world. Assuming that six courses are required at the undergraduate level for the IS concentration we propose an outline of revised curricula for six courses that reflect the points made in Section 2. We also suggest a seventh course that would focus specifically on distributed computing and client server systems concepts.
These six courses are designed so that the first three courses are covered in an earlier semester than the last set of three courses. It should be understood that the revised contents will only expose students to the fundamentals required to work in the C/S world. Class-room coverage is insufficient to develop any form of industrial strength expertise. With the exposure provided in these courses, it is hoped that the students' learning cycle when they are employed in industry will be expedited. The emphasis on fundamentals is intentionally important especially since the specific technical environment is rapidly changing.
The course content indicated below (See Table 2) has been influenced by the C/S related courses offered by computer career centers at Boston University and Clark University, industrial trainers such as American Institute and Digital Learning Services, and software vendors such as Microsoft, Sybase and Lotus. The revisions are cognizant of the fact that there is an ongoing change in IS architecture from the mainframe environment to the client server environment.
(Note: The above is in addition to an introductory MIS course (Course 0 in Figure 2) that is part of the core requirement for all students whether they are MIS majors or not. The introductory level course deals with the ACM requirement for familiarity with PC productivity tools, that students often take in the Computer services department).
Table 2: Revision in IS Curricula
|
No. |
Subject |
Revised Contents |
|
1 |
GUI Based Programming |
This is likely to be a new (most likely "hands-on") course for most schools. A popular and feasible choice is Visual Basic. The software is inexpensive and the PCs may not require upgrading. PowerBuilder, SQL-Windows and ObjectView are the most popular application building development tools for Windows. These products make heavy demand on PC specification. |
|
2 |
Data Communication and Middleware Management |
An existing course in many schools which is more or less descriptive. The curricula needs to be strengthened in elements relating to the middleware. More focus on network operating system, client/server operating systems and various transport protocols is required. |
|
3 |
Procedural Programming |
A course on C. This course could be a substitute for the existing course on COBOL. It may be useful to spend a few weeks and integrate UNIX into the course. If students are required to cover the GUI course as a pre-requisite much of C can be covered leaving some time for discussion of UNIX. |
|
4 |
System Analysis & Design & Administration |
An existing and important course in many schools. The course will be largely unchanged as we need to wait for more appropriate methodologies and tools to develop for the C/S world. More focus may be placed on the object-oriented paradigm and some emphasis on project management concepts. |
|
5 |
Database |
Usually an existing course. Much more emphasis needs to be placed on the relational model, SQL, and entity-relationship modelling. Exposure to design tools such as Erwin or Infomodeller. Helpful if students are exposed to environments such as Oracle or Sybase, SQL server, their procedural languages for development of stored procedures, and tools for rapid introduction of forms and reports. It should be noted that not only are such software very expensive but that they run on RISC-workstations which are expensive. |
|
6 |
Object-Oriented Systems |
Will be a new course in most schools. Helpful for focussing on the Object-oriented paradigm as it applies to languages such as C++ and Smalltalk, to object-oriented system development methodologies, and operating systems. Introduction to C++ or Smalltalk could comprise much of the course. |
In addition to the above six courses, it is probably important to have a separate course on distributed systems concepts. This would deal with the business justifications for client-server, client/server platforms and architecture, interprocess communications methodologies that would include learning about stored procedures, triggers, APIs and named pipes. It would also focus on open network computing and the distributed computing environment, and introduce the students to the client/server application development environment (Umar, 1993).
The revised curriculum would help the students gain experience in the following technical aspects: (1) GUI expertise, (2) C/S Application Development, (3) Middleware Management and trouble shooting, (4) Systems Analysis / Design and Project Management, (5) System and Network Administration.
It is important to point out here that the number of courses recommended here, in this case seven, are constrained by the fact that AACSB requires half of all the credits (20 semester courses) in the general education area, outside the Business School. It also has strong requirements about the core of business school courses, which should not be greater than about ten to twelve courses. With free electives to be allowed to students as per University rules, major courses are usually limited to six or so. In Figure 3, we compare the suggested Client/Server focused curriculum with the recent 1995 ACM/DPMA Curriculum (Couger et. al., 1995).

![]()
Another point to note is that most schools cannot follow the ACM recommendations because ACM/DPMA recommends ten courses for the major. Also there is a growing tendency among business schools to introduce courses such as Visual Basic or related to middleware to reflect the needs of the market (Maglitta, 1996) which would probably affect the number of alternate courses offered.
Section 4: A Framework for Planning IS Curricula Changes
The introduction of curricula changes for the C/S world involves expensive resources in both hardware and software and also re-training of instructors. Many IS instructors are not exposed to C/S technologies. Though there is a market for training personnel in C/S aspects [CW-CS Journal, May 1994, page 32], these are often very expensive and few IS departments in business schools have budgeted for this expense. Consequently, IS instructors can neither keep up with the advances in technologies nor disseminate the latest technical knowledge to students.
Every educational institution planning to introduce such changes has to craft a detailed plan. For such a major change, IS departments will have to adapt a lengthy, rigorous, and a structured process for planning and implementation. Current curricula need to be analyzed in the light of local demands as well. This could be done, in addition to tracking job skill needs in the practical and trade journal literature, through focused group meetings with advisory council members from local industry, major recruiters of MIS students, and regular yearly questionnaires sent out to MIS alumni. This calls for yearly meetings that would include specific questions designed to capture the changing nature of information systems in the marketplace.
We use McGee and Prusak's [1993] framework for strategic management of information systems to outline such a process. According to McGee and Prusak there are three elements in the strategy design process. They are: positioning and scope; core competence; and governance. An additional element, that we feel is equally important to the process of educational dissemination, is operational planning [Steele, 1989].
Below, we outline a four step process.
Step 1: Identify position and scope
Positioning and scope is concerned with articulating product and services. It means identifying the customers of the IS program and their needs. Different schools focus on different market segments. It is important to know if one is preparing IS graduates for local, regional or the national market. One should have answers to questions such as: What kind of skill profile do the employers demand from our IS graduates? To what degree are our entering students scholastically prepared for a rigorous program? A survey of the IS faculty, alumni, students and employers may provide reliable answers to these questions.
Step 2. Determine Core Competence
Core competencies are the most significant value creating skills within the organization. The skills can often be extended to products and services beyond those in which they were originally developed [Prahalad and Hamel, 1990]. In terms of the IS department, this step involves ascertaining the collective learning among the faculty, the organization of work by the different faculty members, and establishing the involvement and commitment of faculty to working across narrow area boundaries. Here we consider the strengths and weaknesses of the IS faculty. In light of the requirements determined in step 1 this step will identify areas where the faculty and its resources are strong and areas where it needs reinforcements and where faculty expertise can be developed.
Step 3. Ascertain the Governance Structure and Promote the Client/Server Vision
This step seeks to answer the question: Who is in-charge? It means determining the individuals and the process by which the funding decisions will be made. With the major expenses involved in moving towards C/S appropriate curricula, this may be the most crucial step in the planning process.
An important part of an IS faculty's job is to be an articulate advocate of the role of IS in the management process, and the role of IS in the delivery of management education. IS faculties are expected to help the school to see the benefits of incorporating appropriate IS technology in management curricula and to see the risks of under-spending in this area. The school often expects the technical component of the its vision to come from the IS faculty.
IS faculties may use these expectations to appraise the college of the paradigmatic revolution sweeping the IS field and the necessity of embracing it. Formal surveys of alumni and past and potential employers help legitimize the claims for resources made by the IS faculty. Comparison with peer schools who are investing in C/S environments may be an important prod in selling one's point of view.
Step 4: Operational Planning
While the three steps just described, seek to identify overall goals and get commitment from the funding authority to those goals, operational planning focuses on implementing the strategies to attain goals [Steele, 1989]. The overall strategy that the funding/approval authority has accepted becomes the input to the operational planning process. The output is a planning document that seeks to answer a news-reporter's six W's: Why, What, (w)How, Whom, When and Where. The plan must identify the resources and alternatives in the areas of hardware, software and instructor re-training. It must assign responsibilities for selection, negotiation, procurement and installation of hardware and software.
A crucial element of the operational planning process is relating resource requirements to resources made available. The transition to a C/S oriented curricula may take place over several semesters. A detailed time-table should be drawn up. We advocate a cautious and considered "building block" approach to making this transition. There are several reasons: The technology is still developing. Not all the elements of the technology exist or work with one another. The technology requires expert maintenance. Finally, a cautious and considered approach may help one get a finished product that is easier to use and maintain [King 1994].
Some elements or building blocks of the C/S world, for instance, GUI based application tools that are typically used at the client end, are mature and are ripe for implementation. Software such as Visual Basic is neither expensive nor does it demand much prior programming skill. It may be good step towards eventual incorporation of tools like Powerbuilder or SQL-Windows which are expensive, complex and require heavy-duty PCs.
Server-based RDBMs are mature tools too. However, they are expensive and require expensive hardware. More importantly one has to select, install and run a network configuration that is compatible with server and client software and hardware and the RDBMs. System development tools for the C/S environment are in the process of development and may continue to be closely related to their mainframe versions. Groupware platforms such as Lotus Notes, are not very expensive and provide to the students an insight into this very interesting class of products. There is a considerable demand in the employment market for Notes developers and administrators.
Section 5: Conclusion
An article in Business Week [Sager and Hoff, 1994] reports that in a recent survey, only 6% of mainframe shops polled reported that they were developing applications for mainframes, while 88% reported that applications were planned for local area networks/workstations. It is clearly unlikely that IS students graduating in the immediate future will be spending much of their careers in the mainframe environment. While these legacy systems will last for decades, the demand for new IS professionals experienced in mainframe related technologies will only reduce over time. A new paradigm for computing, Client/Server computing, is taking its place. The technical skills requirements for the client/server world share many basics with the mainframe world but there are also important differences. A purpose of this paper has been to identify these differences. Current requirements for positions/jobs led to an outline of what an IS curricula may look like for graduates preparing for client/server technologies (section 4).
Implementation of such a curricula requires investment in hardware, software, and instructor re-training. Such a transition will last over several semesters and will also necessitate continuing education for instructors to remain current with changing technology . A rigorous and detailed plan for implementation will be helpful. An important part of the planning process is to get the funding authorities to buy into the client/server vision. One possibility for overcoming the technical and financial constraints for most academic institutions is to consider academy-technology vendor participation.
The client/server technology is still undergoing development with the IS professional expected to handle much of its complexities. With the limited budgets that many schools have for procurement and maintenance, a cautious and considered approach to introducing client/server elements in IS curricula may be in order.
References
Appleton, E., "Staffing up? Here's what you'll pay", Datamation, Vol 40, Iss 20, Oct 15, 1994, pg 53-56.
Arnett, K. P. and C. R. Litecky, "Career Path Development for the Most Wanted Skills in the MIS Job Market, " Journal of Systems Management, February 1994, pp 6-10.
Atre, S., "Business-driven sense", Computerworld, Vol 29, Num 11, March 13, 1995, pg 96.
Blackwell, G., "Its captured the imagination of MIS and business people but mission critical take-off is slow", Computing Canada, March 1994, pg 2-3.
Burger, K., "Preventive maintenence," Insurance and Technology, Vol 20, No 1, Jan 1995, pg 32-36.
Couger, J. D., Davis, G., Dologite, D., Feinstein, D. L., Gorgone, J. T., Jenkings, A. M., Kasper, G. M., Little, J. C., Longenecker, H. E., and Valacich, J. S., "IS '95: Guidelines for Undergraduate IS curriculum", MIS Quarterly, Vol 19, No 3, pg 341-360, 1995.
Dawson, M., "Object-oreinted programming and the AS/400", Systems Management, Vol 22, no 7, Jul 1994, pg 40-47.
Fryer, B., " Send em to Boot Camp", Information Week, Iss 501, Nov 14, 1994, pg 90-102.
Fryer, B., "The job title shuffle, Computerworld, Vol 29, No 19, May 8, 1995, pg 102.
Gorgone, J. T., J. D. Couger, G. Davis, D. Feinstein, G. Kasper and H. E. Longenecker Jr, "Information Systems '95 Curriculum Model - A Collaborative Effort", Database, Vol 25, No. 4, November 1994, pp 5-8.
Green, G.I., "Perceived importance of systems analysts' job skills, roles, and non-salary incentives," MIS Quarterly, 13, 2 (1989), pp. 115-133.
Greenfeld, N., "Freedom from design limits", Computerworld, Vol 29, no 21, May 22, 1995, pg 94.
Haber, L., "The first step to success", Computer Reseller News, Iss 576, May 2, 1994.
Hackathorn, R. D. and Schlak, M., "How to Pick Client/Server Middleware", Datamation, July 15, 1994.
Hamilton, D., "Give your database administrators more leverage", Vol 40, No 23, Dec 1, 1994, pg 51-53.
Hurwitz, J., "Back to the future?" ComputerWorld Client/Server Journal, May 1994.
Kara, D., "The Enterprise Desktop Development Tools: One Architecture, Many Solutions," Industry Report by Hewlett Packard, 1993.
King, W.R., "Creating a Client/Sever Strategy," Information Systems Management, Summer, 1994.
Leitheiser, R.L., "MIS Skills for the 1990s: A Survey of MIS Managers' Perceptions," JMIS, 9, 1(1992), pp. 69-91.
Luce, T., "Are MIS/CIS Graduates getting the Technical Training they need?", Interface Fall 1989, Vol 11, No 3, pp 50-55.
Maglitta, J., "IS Schools: Need Improvement", Computerworld, February 19, 1996, pg 78-83.
McGee, J. and L. Prusak, "Managing Information Strategically," John Wiley & Sons, New York, 1993.
Orfali, R., D. Harkey and J. Edwards, "Essential Client/Server Survival Guide," Van Nostrand Reinhold, New York, 1993.
Prahalad C. K. and G. Hamel, "The Core Competence of the Corporation", in Strategy, eds C.A. Montgomery and M.E. Porter, Harvard Business School Publishing, Boston, MA, 1991.
Richards, M. and L. Pelley, "The ten most valuable components of an information systems education", Information and Management, Vol 27, 1994, pp 59-68.
Rosenberg, D., "Using the Object Modeling Technique with Objectory for Client/Server development", Object Magazine, November-December 1993.
Sager, I. and R. D. Hoff, "Return of the Dinosaurs", Business Week, Aug 1, 1994, pg 70.
Salemi, J., "Guide to Client/Server Databases," Ziff-Davis Press, 1993.
Sarna, D. E., Febish, G. J., "The Client and server diet", Datamation, Vol 41, No 6, April 1, 1995, pg 27-28.
Semich, J, "Client/server unchained: Finally hardware independance", Datamation, Vol 41, no 11, June 15, 1995, pg 40-45.
Steele, L.W., "Managing Technology: The Strategic View," McGraw-Hill Book Co., New York, 1989.
Umar, A. , Distributed Computing and Client Server Systems, Prentice Hall, New Jersey, 1993.
Vaskevitch, D., "Client/Server Strategies," IDG Books, Boston, 1993.
Winter, M., "Black box method works", Computing Canada, Vol 20, no 13, June 22, 1994, pg 48.
Appendix: Client/Server Architecture
Client-Server applications have three basic parts: the presentation or display, the functional logic part which defines what the application does and the data management part. These elements can reside anywhere on a network of computers but the application must still behave as a logical unit. The user sees no difference between running on a single machine or multiple machines [Rosenberg, 1993].
While a common form of C/S computing includes a relational database running on a high-end PC or a workstation, non-database oriented applications are becoming common too. Such examples would be Lotus Notes or Digital's Interlink [Client/Server Today, July 1994, page 45] and a variety of electronic mail (e-mail) based applications. Orfali, et al, [1994] have proposed that C/S systems have the following two distinguishing characteristics: (a) C/S is a combination of processes that run on separate machines that are loosely coupled and communicate over a network by exchange of messages; and (b) A server is in a many-to-one relationship with users. It has to serve many clients and also regulate access to shared resources. A client can also be in a many-to-one relationship with servers when it can access multiple servers on the network.
Components of Client/Server Architecture
There are three building blocks of a C/S configuration: the server, the clients and the middleware.
1. The server is a computer that provides services dealing with: application, file, database, print, communications, etc., to multiple users. The server typically stores the data and procedures required to support end-user interaction, and is almost always responsible for all data management services. The server application runs on the server operating system and typically uses graphical user interfaces. Types of server applications popular in the C/S world include: SQL database servers, transaction processing monitors, and groupware servers. The server application interfaces with the middleware through its operating system.
2. The Client: It is primarily a consumer of services provided by the server. The client provides the user access to these services through a graphical-user-interface(GUI) and is almost always responsible for all presentation services [Smith, 1992]. The layers of software on the client side usually include a GUI, a client operating system as well as packaged office productivity software and business specific applications. A client has to host a local operating system and the interface for the network operating system. A popular, perhaps the most popular local operating system for Intel-based PCs is the Windows/DOS combination.
3. The middleware: It is the glue that binds the client to the server. It integrates otherwise incompatible elements of a system. Middleware translates information from one application and then transfers it to another. Thus to share data, two software applications do not need to communicate with each other, as long as they can communicate through a middleware module. The middleware allows the server to exchange messages with the clients. The middleware building block runs on both the client and server sides of the application.
Two philosopies are broadly followed:
1. Remote procedure call--similar to a subroutine call that a main program makes to a subroutine, the main program suspends, the subroutine executes, and the results reach the main program at which point it starts executing again.
2. Message based systems: The main program sends out a message and keeps on executing. The messages are queued up at server and processed and replies sent back to the client.
The above two models assume that the client knows who the appropriate server is and what format the query must be sent.
In more complex cases where the above cannot be assumed the Object request Broker (ORB) mediates between the clients and the servers. The ORB encapsulates intelligence about how to connect requests to the appropriate server in the appropriate format.
An important element of middleware is the network over which messages between clients and their servers travel [Hackathorn and Schlak, 1994]. (Refer to figure 3).