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):
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.
Suggestions on how to proceed