190 likes | 313 Views
CS 775 Term Project. Jerry Garcia Yung-Chien (Jack) Chen Derek Bryan. Agenda. Requirements Overview Assumptions Architecture/Design Features Implementation Details Conclusions. General Architecture. N. …. R1. RN. …. Z1. ZN. RS1. RSN. RS1. RSN. DS. DS. DS. DS. Admin Office
E N D
CS 775 Term Project Jerry Garcia Yung-Chien (Jack) Chen Derek Bryan
Agenda • Requirements Overview • Assumptions • Architecture/Design Features • Implementation Details • Conclusions
General Architecture N … R1 RN … Z1 ZN RS1 RSN RS1 RSN DS DS DS DS
Admin Office (N, R, Z) Retail Store Admin I/F Operator System-Level Use Case Merchandise Query Merchandise Update Personnel Query Error Handling/ Replication Personnel Update Update Org Structure
Operator Merchandise Query Use Case Pass Request To Children … Error Handling Error Handling Pass Request To Children Enter Item ID Pass Result To Parent … Present Responses Return Result Pass Result To Parent
Assumptions • Sales per day/item is a running total (time is not a factor) • Employee IDs will be unique at the store level (entered by user). Employee queries on the ID may return multiple entries across multiple stores but will contain the RS ID. • Basic input consistency checks shall occur at the client (user interface) • Logical consistency checks shall occur at the servers
Architecture Features • Scalable • Input file or user can produce process architecture • Fault tolerant • Ex. – if R1 crashes, N can reach Z1 and Z2 directly • Each server is a process • Each process may be on its own processor • N, R, and Z updates must be provided to child servers
Architecture Features (cont.) • Data resides at RS only • RS must have replication • Both the primary and the backup must commit • Client is UI • Connect to N, Z, R, or RS • Restrict commands • Performance shall be enhanced through the use of timeouts
Actual Architecture N … R1 RN … Client Z1 ZN RMId RS1 Proxy RSN Proxy RS1 BRS1 RSN BRSN DS DS DS DS
Software Architecture • Programming language – JAVA • Communications mechanism • RMI • Point to point • 12 Classes
Conclusions • Requirements analysis is key • UML is a good tool for capturing requirements and design • JAVA/RMI support rapid development • Term project serves as a good foundation for understanding basic distributed systems development