CMU CS 15-675 Architectures for Software Systems Spring 1998

Assignment 4: Client Server Systems

Garlan & Kazman Due: Mon Apr 6, 1998

Introduction

 

ACME Financial is a fast growing company that owes part of its growth to several recent acquisitions. ACME Financial now wants to consolidate the companies’ information technology resources to eliminate redundancy and share information among the new companies. The Chief Information Officer (CIO) has oversight responsibility for the project and has hired Client/Servers R Us to develop the architecture for the new corporate information system. Joe Consultant of C/S R Us presented 3 client/server designs to the CIO and is requesting the CIO to select one. The CIO is not sure which middleware design is best for the company’s goals. The CIO has asked Chris Consultant to present the advantages and disadvantages for each of the alternatives.

Background

 

ACME Financial Incorporated (AF Inc.) is an investment banking company that provides an on-line service that allows their clients to access account and market information. ACME Financial Inc. recently acquired several small and medium sized companies throughout the country, each with their own financial and accounting systems. Almost all of the companies have developed their own application software for their analysts’ use in their daily jobs, but only a few provided on-line account service. The analytical tools rely on near-real time market data and historical market data.

The CIO wants to consolidate the financial and accounting information into a corporate information system that can support decision support applications for corporate management. Naturally, since the computer hardware is different for different companies, the CIO expects to upgrade the hardware to accommodate the new Information Technology (IT) system. The CIO will select the best analytical software as the standard software used by all company analysts. Each local site will be expected to provide an on-line service for their customers. Customers will be given the necessary application software to access their account information. Finally, ACME Financial has developed special data mining software that gives them a competitive advantage. AF Inc. offers their customers investment advice based on the information derived by the data mining software. Each account manager receives the information and then provides tailored recommendations to each customer based on their portfolio.

 

 

System Requirements

 

The following list of system requirements reflects the system’s priorities (listed roughly in order of priority):

  1. Availability: The CIO’s number one priority is high availability. AF Inc. markets their reliability and feels that most clients choose them for their dependability. The CIO wants to maximize the system’s availability. To achieve high availability, if a regional office cannot provide support then a customer must always have access to the on-line service through a different office.
  2. Data Integrity: The requirement for data integrity varies within the system. The most important data are customer’s transactions. It is essential that a customer’s transaction is never lost and the system must guarantee that each transaction is completed. In contrast, data lost from the high data rate inputs, such as Reuter’s and the NYSE, are easily recovered during the each broadcast so it is not critical if some data are lost during a broadcast.
  3. Performance: Financial markets are highly volatile; time sensitivity of data is measured in minutes. Millions can be lost if information is delayed getting to the analysts. The system must be able to support information broadcast throughout the network.
  4. Security: The CIO is concerned about the security of the data mining software and the information produced by the data mining software. The Chief Executive Officer thinks the data mining information software provides a competitive advantage for the company. If an unauthorized user had access to the information they could steal the data mining applications or steal the information produced by the data mining software. In either case, the perpetrator could make the same investment recommendations as AF Inc. account managers. Therefore, if competitors had access to the information the results could be financially devastating to the company. The CIO is concerned that a competitor could pose as a customer and hack into the highly sensitive information through his on-line service account.
  5. Growth: The CIO envisions an incremental migration process to install the new system due to the magnitude of the change. Also, he expects that AF Inc. will continue to grow and acquire more companies. The CIO wants to be able to develop more application software as new customer services are added. The CIO also wants to add more near-real time information sources to the system.
  6. Backup and Recovery: The CIO understands that the system will encounter problems from time to time. A key factor in determining the system’s success is how quickly the system can recover from a failure. Backup and recovery must be smooth and non-disruptive. One way to ensure that the system can easily recover from a system crash is to make sure the data is duplicated elsewhere on the system. The corporate database is the primary back up for each of the regional offices.

 

 

Configuration

 

The network topology is shown in Figure 1.

 

 

 

 

Each local office (Northeast, Northwest, Southeast, Southwest) has accesses a regional information hub. Local offices use client software to access the local application server. These application servers access the local databases for almost all of the information needed on a daily basis. For access to information needed less frequently the application software should access the central database at corporate headquarters. Each regional database has only the subset of information that is relevant for its area, whereas the corporate headquarters maintains all of the information from each region as well as data that is unique to corporate applications, such as additional accounting and company financial information. The corporate office is also responsible for the data mining software and information. Each of the regional databases is connected with high capacity links to the corporate database. Finally, the corporate office receives information from Reuter’s, NYSE, NASDAQ, and other financial markets. The information flow fluctuates daily from 30 – 40 KBps to 4 – 5 MBps. Twenty-five percent of the information is immediately broadcast to the regional offices to support the on-line account service. All the information is filtered and stored in the database.

Architectural Alternatives

Alternative I: The Database Management System This alternative takes advantage of the extended functionality provided by the popular relational database management companies, such as Oracle and Sybase. All information is delivered into the system where it is immediately stored into one of the databases. The relational database management software is responsible for the distribution of information throughout the system. Clients communicate with the databases through Standard Query Language (SQL). Corporate and regional databases are kept synchronized using features supplied by the RDBMS software. Transactions are guaranteed by using special Transaction Processing Software. The vendor-supplied RDBMS software is responsible for back-up and recovery of all the databases. Data security is handled at the row level within each database. This means that clients can only receive records for which their user has permission. Existing application software may have to be modified to use SQL.

Alternative II: Common Object Request Broker Architecture (CORBA) This solution depends on CORBA to tie together the clients and databases. CORBA is responsible for distributing data across the system. The RDBMS software is still responsible for the back-up and recovery, but the databases are kept synchronized using CORBA as the primary transport mechanism for the data. Clients, application servers, and databases communicate to each other through CORBA’s transport mechanism. Existing application software would be wrapped in IDL to communicate with other applications. Special near-real time handling application software would send the information to each of the regional offices where it would be directed to clients that subscribe to the information.

Alternative III: Message and Queuing (M&Q) The message and queuing design uses commercial M & Q software combined with a transaction processing product to ensure customer’s transactions are completed. Dec Message Queue and MQ Series are some of the leading products for messaging and queuing software. Clients communicate to other entities using messages. Messages are deposited in queues and the message and queuing middleware is responsible for message distribution to the appropriate clients. The software applications will be modified to send and receive messages from queues.

 

 

Questions to Answer (Total 80 points)

As with previous assignments, you should discuss the designs and these questions with your teammates, but your final write-up should be yours alone. Doing research on specific products for the assignment should certainly be a team activity. The total length of the write-up should probably not exceed 5 pages.

  1. Describe in more detail the architecture of each architectural alternative. To do this you will need to flesh out the specifics of the various parts. This will require some research on the products indicated (or other comparable products that you locate). Note that some services are automatically provided when a particular product is purchased, while others must be developed to satisfy the system requirements. You should describe what services are automatically provided by the products, which services would need to be developed, and how services should be distributed across the network. (30 points)
  2. Evaluate each of the alternatives against the system requirements, discussing the advantages and disadvantages of each. (You may assume that the hardware will support all solutions.) In your analysis you might consider issues such as which alternative gives the system developers the most flexibility, which alternative provides easiest maintenance, and which alternative requires the least modification to the current system. Other hints for system comparison are listed below. (30 points)
  3. Prioritize each alternative or suggest a different solution if you think it superior to the presented alternatives. (20 points)

Suggestions on how to proceed

  1. There is not enough information to make an informed decision about each of the alternatives. As a team, allot a percentage of your time to discover which products offer what type of services. You do not have enough time to do a complete market survey so be selective.
  2. If you depend only on marketing information you may find that the alternatives are equivalent. So you might want to go beyond the market literature in doing your research for this assignment.
  3. As you do your analysis, pay particular attention to some of the following kinds of issues:

  1. How well does the architecture support the basic system functionality requirements?
  2. How much run time performance overhead does the architecture impose?
  3. How well will specific products handle the high volume of data?
  4. How will each architecture handle occasional peak loads?
  5. How easy is it to customize the system to new requirements?

  1. In your analysis, when you are considering costs, you do not need to consider the actual product cost. (It may be impossible to get actual product costs anyway.) Instead, evaluate cost with respect to the amount of customized software that will be necessary to implement each alternative, and how this might affect long-term maintenance costs, time to implement, flexibility, etc.
  2. If you don’t understand something, or think something is important that hasn’t been mentioned, ask about it. My e-mail is shawnb@cs.cmu.edu. I will post clarifications on the class bulletin board.