


Our vision requires integrating data from many different sources, expanding its accessibility, and building a secure technical foundation that is usable, reliable, extensible, portable, adaptable, and manageable. We selected an architecture that allows us to capitalize on our legacy systems and expertise in the transition to an integrated information systems environment based on world wide web technologies.
This paper describes our architectural selection process and presents issues requiring additional thought and resolution.

A key component of this vision is establishing a University Networked Information Technology Environment (UNITE). UNITE includes recommendations, guidelines and standards for the technology environment needed by the institution to implement recommendations outlined in the Information Technology report.
This paper describes the technical design of an information and analysis systems that supports planning and decision making. The result is a distributed client/server architecture consistent with UNITE standards and the University vision.

A distributed computing environment is an integrated collection of computing systems frequently referred to as servers. As such, our administrative computing environment will have presentation servers (to display and accept data), application servers (to store program logic and business rules), data servers (which store and retrieve data), print servers (that produce output), etc.
Some servers lend themselves to being implemented and supported centrally. For example, one centrally maintained security server can authenticate user access to any of the component servers in the enterprise. It is not necessary to have multiple security checks with multiple procedures and passwords for each server.
Departmental implementation and support are more appropriate for other servers, such as a database used only by a single department. The departmental database, however, may need to obtain some of its data from a central database, so the ability to interact with other servers must be maintained.

Users got excited about sharing files and sending each other electronic mail, but sharing files over a LAN wasn't much different from the old mainframe model. We needed to rethink how to use this new technology. The result was client/server computing.
Most client/server successes involve small scale pilot applications generally of a non-critical nature. As we evolve from these pilot projects to mission-critical applications, there is a corresponding increase in performance expectations and uptime requirements. The architectural strategy, therefore, becomes a critical consideration. The choice of architecture affects development time and the future flexibility and maintenance of applications. If the design is flawed, implementation could result in horrendous response times. How these issues are being addressed at The University of Arizona is the subject of this paper.


The fundamental aim of client/server processing from the user perspective is to provide a single image of the total information systems enterprise. From the technical perspective, however, there are tremendous challenges created by the interaction of multiple clients, multiple servers, security concerns, file integrity considerations, backup and recovery, network protocol complications, and combinations of heterogeneous hardware and software components.

Client-server architectures are classified by how systems are partitioned into logical components, and how the components are distributed among network computers. A system generally has one presentation component, but possibly several modular application components (programs), and several data components (e.g., files, databases). Client-server architecture presents several alternatives in distributing these components to computers best suited to each task. A framework, or consistent approach for the distribution of the components, constitutes a client-server architecture.
The architecture determines the amount of flexibility and control we have with the implementation of our applications, as well as how they are built and used. Although a virtually infinite number of possibilities exist for distributing and linking architectural components, most contemporary architectures are defined in terms of a limited subset of alternatives. The subset that seems to have gained most acceptance in implementing distributed transaction-orientated database systems are described in terms of architectural Tiers.

In either case, two-tier architectures are not appropriate for our central administrative applications. In our campus information environment the legacy applications are implemented on an IBM mainframe. In order to effectively transition our legacy applications to the new architecture, access to legacy information must be available for the new client/server applications. In a network environment, this access must include transactional integrity to preclude the possibility of data synchronization problems. As such a two tier architecture is problematic.
We estimate that in our environment, two-tier solutions will not scale well beyond approximately 100 clients. Since the campus could conceivably have 10,000 employee clients and 35,000 student clients, a two-tier architecture would not scale to meet the needs of the campus. We do recognize however, that some of our ancillary departmental processes are candidates for the simplicity of two-tier architecture. As such, we evaluate the pros and cons of fat clients and thin clients as enterprise candidates.

As a unifying client-server architecture, the fat client is limited in both run-time execution and systems administration. Processing individual SQL statements overloads the network because messages and large amounts of data must be transmitted over the network. The network rapidly becomes a bottleneck as the number of clients increases. Administratively, the fat client becomes a management nightmare. Application logic is replicated on each client, application changes need to be distributed to each client, and tools supporting an automated update capability have not been identified.

Efficient resource utilization is another key issue. In transaction processing applications, database throughput becomes a performance bottleneck. When the number of clients increases, database resources are drained as the database allocates memory for each client process. With stored procedures, the database assumes additional application processing tasks that erodes its primary function of fast and efficient data access.

The placement of business logic on the application server provides scalability and isolation of the business logic in order to handle any rapidly changing business needs. Another advantage of this approach is the ability it provides to off-load processor intensive tasks from the client workstation, thus allowing us to utilize thin clients (with lesser amounts of memory and processor power). This advantage in scalability must be weighed against the greater cost and complexity of creating a three thier solution.
One of our critical requirements was to accommodate applications that use data stored in heterogeneous databases. The integration of application and database server integrity is facilitated by an application management environment, know as a Transaction Processing (TP) Monitor. After researching the pros and cons of two and three tier issues, a three-tier client/server architecture was chosen to best suit the needs of our mission-critical applications. As stated above, however, this architecture doesn't preclude the concurrent use of the two-tier model.


Another area that can benefit from web-based technologies is data reporting. Report distribution via web-based technologies will decrease costs associated with paper or fiche archiving. In addition, warehouse data can be made available for direct download into client spreadsheet applications without the need for client knowledge of complex SQL syntax. It is possible to deliver decision support data to large numbers of clients without a substantial increase in training on data extraction methods.
The biggest advantage the web technologies offer is lower support costs. Since the application presentation logic is downloaded on request to the browser, the resources and infrastructure needed to support software version control, software distribution, and software configuration are greatly reduced. Institutions can begin to offer web-based applications with current technology and evolve them to take advantage of newer browser and web server technologies as they become available without substantial changes to the client environment.
Use of the SSL security standard for web browsers, makes end-to-end encryption of sensitive data such as credit card transactions achievable. SSL also help organizations achieve the goal of a single identification for user authentication when used in combination with gateway servers.



A critical issue is the need for an integrated way to retrieve our data and to maintain its integrity. TP monitors provide us the guarantee that all databases get updated or that they all get rolled back in the case of failures. This includes network transactional integrity between legacy applications on our mainframe and distributed, relational, database systems as long as the database vendor supports the X/Open XA interface standard for resource managers.
TP monitors also provide a distributed transaction system layered on the services of DCE. Failed servers are automatically detected and rerouting requests to other available servers occur while recovering and restarting the failed services. The application logic can be coded in either COBOL, C, or C++. By utilizing COBOL, our existing COBOL application programmer experience can be utilized without an initial training investment in C.

Any one of the chain of application server(s) could initiate a rollback which would cascade to all of the application server(s) involved. This capability allows a delegated approach to how business rules are implemented. As the business processes are identified and appropriate business logic is implemented on the application server(s), these services could then be institutionally advertised. This allows end-users to develop their own presentation interfaces to the business logic, but force them to abide by the business logic residing on the application server(s).



Gallaugher, John and Ramanathan, Suresh. (1996). Comparing Coding, Testing, and Migration Costs for Two and Three Tier Client/Server Architectures, http://web.syr.edu/~jmgallau/ais_paper.html, Syracuse University.
SIS2000 Project Team. (1995). Student Information Systems 2000 Homepage, http://www.arizona.edu/SIS2000/SIS2000.html, The University of Arizona.
Tristram, Claire. (1996). Middleware Makes C/S Apps Really Work, http://www.datamation.com/PlugIn/issues/1996/aug/08soft2.html , Datamation, August 8, 1996.
UA Information Planning Team. (1994). Information Technology At The University Of Arizona. Strategic Directions For The Year 2000, http://daps.arizona.edu/daps/pubrec/reports/splan/infoplan.html, The University of Arizona, 1994.
UNITE Project Team. (1994). U.N.I.T.E. - University Networked Information Technology Environment, http://w3.arizona.edu/~unite/unite/unite.html , The University of Arizona.