by Albert Yau
submitted on 30th May 1995

Software Trends in relation with the Client-Server Architecture
Classification of Distributed Computing

Introduction
Software Trends in relation with the Client-Server Architecture
1. Propel the then little known Microsoft, Oracle, Lotus Development, and other small, undercapitalized, companies into the market mainstream and ,as a consequence,
2. Shift the emphasis from mainframes to desktops.
The PC shift made corporations to reset their IT organizations in a number of ways. We are currently in the Client-Server phase of the software development and will eventually move towards the truly distributed computing environment. In IT manager's point of view: distributed computing can be used as a tool for business process reengineering, corporate right-sizing, and customer responsiveness. The new software developments can be characterized as follows:
- Distributed: The main operating force in the software industry is the drive toward distributed computing, currently in its Client-Server phase.
- Multiphased transition: Client-Server is merely an intermediate step toward distribution. The ultimate goal is collaborative computing based on peer-to-peer networks.
- Enabling technologies: Prominent supporting technologies are object-oriented components, document-centric software architectures, data warehouse technology, standards, and the end-user programming trend.
On the other hand all the above software developments cannot afford to become set in its ways and without taking considerations or meeting the business needs as follows:
- Isolated desktop software solutions are no longer sufficient. The software industry must respond to consumer demand for portable, interoperable, distributed software solutions or else becomes extinct like their mainframe-only predecessors.
- Open Systems for Computing: the pressure on software vendors to establish interoperable, distributed, easy-for-end-user-programmers-to-use tools and standards upon which enterprise-wide architectures can be built.
-Business process reengineering increased consumer expectation, and networked distributed hardware, as well as numerous second-order complications are driving software complexity through the roof.
The software industry will, out of necessity, respond to the above pressures by forming forums, consortia, and back-room alliances in order to establish market-leading architectural infrastructure standards, interfaces, and middleware for the express purpose of shifting the balance of power in favour

Classification of Distributed Computing Within DSS, it can subdivide into several categories: The simplest of these is called database front end. Typically implemented through some kind of front-end GUI designer tool such as Visual Basic, or SQLWindows, these applications query the database for simple requests such as lookups and updates. No massive database joins here. The next step in sophistication is workflow software and groupware. They provide automatic routing of documents among desktops, file format conversions, and event-driven agents that wake up and notify the user when work needs to be done. Workflow documents are usually stored on a server and dished out to users at appropriate times. Groupware is typically more decentralized, using a peer-to-peer model. Finally, remote access/control is an additional step up in complexity because the client software is typically run from a mobile computer and therefore must handle disconnect-connect phases.
On the OLTP side, we have 2 choices: dumb terminals or terminal emulation, such as FTP Software's VT100 emulator, and TP monitor software that does much more than simply connect a client to a server. They handle load balancing and query optimizations necessary to keep overhead low.

Document-Centric Middleware
1. End-User Application Development- An end-user programming tool, such as Microsoft Access and Visual Basic, or simple C/C++ application generator, is employed at the desktop.
2. Reusable Components- reusable components from third-party parts vendors are added to the dynamic link library (DLL) to provide low-level Client-Server connectivity in addition to GUI and processing functionality.
3. Standards- Off -the-shelf components are assembled at client and server ends of the system until it all works together, and the application solves the business process problem.
4. Document-Centric Design- The document-centric approach also lowers complexity because the application is no longer a large monolithic maintenance nightmare. Instead, components are strung together to form a much more complex system than monolithic programming allows.

The Role of Object Technology
References
Orfali, Robert, et. al.
Essential Client/Server Survival Guide
New York : Van Nostrand Reinhold
Berson, Alex
Client-server architecture / Alex Berson.
New York : McGraw-Hill, c1992.
Smith, Patrick.
Client/server computing
Carmel, Ind. : SAMS, c1992.
Computing Archive, Department of Applied Science, Johns
Hopkins University
Byte Magazine , Issue 6 1993 & Issue 4 1995
INSPEC - CD ROMS titles by IEE
IEEE Computer Society Magazine April, May p.49-55
Albert Yau on 30th May, 1995