System Architecture Design Chapter 10 Key Definitions The system architecture design consists of plans for the hardware, software, communications, security , and global support for the new application The designers must decide if processing will occur in the server (server-based), at the personal computer (client-based), or in some combination of these (clientserver based). Key Definitions The network model shows major components of the system, where they are located and how they will be connected to one another. The hardware and software specifications describe these components in detail and aid those responsible for purchase and acquisition of these products. COMPUTING ARCHITECTURES Functions of the Application System Data storage Data access logic Application logic Presentation logic Architectures Server based Client based Client-server based Alternative Servers In server based architectures, the servers do the work and present the results Mainframe Minicomputer Microcomputer (personal computer) Server-Based Computing Alternative Clients In client based architectures, clients do most of the work (except data storage) and present the results Terminals Microcomputer (personal computer) Special purpose terminals (ATMs, kiosks, Palm Pilots, and many others) Client-Based Computing Client-Server-Based Computing (2 Tiers) Client-Server Attributes Typical Pros Compatible with web-based system design Scaleable Work with multiple vendors/products No central point of failure Typical Cons/Limits Complexity New programming languages and techniques (stress for personnel) More complex to update Client-Server -- Three Tiers Client-Server -- Four Tiers N-Tiered Client-Server Attributes Typical Pros Separates processing to better balance load More scaleable Typical Cons/Limits Greater load on the network More difficult to program and test Distributed Objects Computing Middleware between clients and servers Update middleware when changing client code May reduce efficiency of the application CORBA DCOM Realities of Infrastructure Design Most often the infrastructure will be in place Coordination of infrastructure components is very complex The application developer will need to coordinate with infrastructure specialists Selecting a Computing Architecture Server-Based Client-based Client-server Cost of infrastructure Very high Medium Low Cost of development Medium Low High Ease of development Low High Low-medium Interface capabilities Low High High Control and security High Low Medium Scalability Low Medium High INFRASTUCTURE DESIGN The Network Model No standard format Conveys complexity of the system and how components fit together Components are Clients Equipment Connection to external systems or networks Top-Level Network Model Hardware and Software Specification Used if new hardware or software must be purchased Actual acquisition of hardware and software usually left to a purchasing department -especially in larger firms Steps in Hardware and Software Specification Note hardware in low-level network model to create list of needed hardware Describe equipment in as much detail as possible Consider whether increased processing and traffic will absorb unused hardware capacity Note all software running on each hardware component GLOBAL ISSUES Global Requirements Multilingual requirements Concurrent multilingual systems Discrete multilingual systems Local versus centralized control Unstated norms (e.g. dates, currency) 24-7 Support Communications infrastructure SECURITY Identifying Threats to the System A threat is any potential adverse occurrence that can do harm to the application or its data Threats come from internal as well as external sources Categories of threats Disruptions, destruction and disaster Unauthorized access Most Common Threats Assessing the Risk of Each Threat Creating Controls A control is something that mitigates or stops a threat Controls include redundancy fault tolerant servers disaster recovery plans anti-virus software Additional Controls Include A security policy Passwords and encryption Firewalls Summary The three fundamental computing architectures are server-based, client-based, and client-server based. The network model shows technical components of the system and their geographic location throughout the organization. Hardware and software must be specified for acquisition in the project The systems analyst needs to also account for global issues and security measures.