The Design of System Architecture System Architecture System architecture translates the logical design of an information system onto a physical structure includes hardware, software, network support, processing methods, and security. Deployment Environment Deployment environment definition bridges analysis and design Hardware System software Networking Common deployment environments in which system will operate Related design patterns and architectures for application software Single-Computer and Multitier Architecture Single-computer architecture Mainframe-based Limited by single machine capacity Clustered and multi-computer architecture Group of computers to provide processing and data storage capacity Cluster acts as a single system Multicomputer hardware/OS can be less similar than clustered Single-, Clustered, and Multicomputer Architectures Centralized and Distributed Architecture Distributes system across several computers and locations Relies on communication networks for geographic connectivity Client/server architecture dominant model for distributed computing Application Architecture Complex hardware/networks require more complex software architectures There are commonly used approaches (patterns) for application architecture Client/server architecture Three-layer client/server architecture Web services architecture Internet and Web-based application architecture Client/Server Computing Information processing is distributed among several workstations and servers on a network, with each function being assigned to the environment that is best suited to perform it. The client initiates the requests and the server responds. Consolidate the virtues of traditional timeshared mainframe and mini-computer paradigms with the advantages of personal computers, workstations, and local area networks Components of Client/Server Computing Three interrelated components Client - the front-end Server - the back-end Network - the middle ware Many to many relationship between clients and servers. Client/Server Architecture Client/server divides programs into two types Server – manages information system resources or provides well-defined services for client Client – communicates with server to request resources or services Advantage – deployment flexibility Location, scalability, maintainability Disadvantage – complexity Performance, security, and reliability Interaction Among Multiple Clients and a Single Server Client/Server Architectural Process Decompose application into client and server programs, modules, or objects Identify resources or services that can be centrally managed by independent software units Determine which clients and servers will execute on which computer systems Describe communication protocols and networks that connect clients and servers Three-Layer Client/Server Architecture Layers can reside on one processor or be distributed to multiple processors View layer – accepts user input and formats and displays processing results Business logic layer – implements rules and procedures of business processing Data layer – manages access to stored data in databases Three-Layer Architecture Client/Server Tiers and Middleware Two-tier design: client - server Three-tier design: client – application server – data server Middleware Special utility software that enables the tiers to communicate and pass data back and forth. A transparent interface that enables system designers to integrate dissimilar software and hardware. Three-tier Client/Server System Client/Server Advantages Provide scalability, portability, and interoperability through standard-based openness Respond to the organization’s need for easy information access, flexibility, smooth administration, reliability, security and proficient application development Mix, match, and combine diverse data elements located in different, often incompatible systems Client/Server Disadvantages Acceleration of complexity High hidden costs Technical support cost End-user operations cost Administration cost Web Services Architecture A client/server architecture Packages software functionality into server processes (“services”) Makes services available to applications via Web protocols Web services are available to internal and external applications Developers can assemble an application using existing Web services Web Services Architecture WSDL: Web Service Description Language UDDI: Universal Description, Discovery and Integration SOAP: 'Simple Object Access Protocol XML: Extensible Markup Language Internet and Web-Based Application Architecture Web is complex example of client/server architecture Can use Web protocols and browsers as application interfaces Benefits Accessibility Low-cost communication Widely implemented standards Multi-tiered Web Service System Negative Aspects of Internet Application Delivery Breaches of security Fluctuating reliability of network throughput Throughput can be limited Volatile, changing standards The Design of Communication Networks Networks Network - A set of interconnected devices that share a directory and can thus access each other The directory provides an address for each component of the network If the device is not included in the directory, it is not part of the network Components of a Network Terminals and workstations Transmission links Transmission methods Nodes and switches Network architecture and standards The layered protocol system concept send a letter mail sorting mail packaging Application Application logical link Network Data link Physical physical link transportation receive a letter Network mail sorting Data link mail unpacking and checking Physical Layered Architecture Clear division of functionality gives modular approach to development and ease of standardization. Application independence - software assumes that services are available - no need to know about implementation details. Facilitates maintenance - can replace/omit or nominally implement a layer Classification of Networks By technology used: cable, wireless, … By topology: ring, bus, star By geographic scope: LAN, WAN, MAN By type of ownership: Public, Private, VPN Computer Network Set of transmission lines, specialized hardware, and communication protocols Enables communication among different users and computer systems Local area network (LAN) less than one kilometer long – connects computers within single building Wide area network (WAN) over one kilometer long – implies much greater, global, distances Router – directs information within network A Possible Network Configuration for RMO McMaster Campus Networks The Internet, Intranets, and Extranets Internet – global collection of networks that use TCP/IP networking protocols Intranets Private networks using same TCP/IP protocols as the Internet Limited to internal users Extranets Intranets that have been extended outside the organization Identify the business criteria for the telecommunications platform Translate business to technology along three dimensions of business functionality Reach: the locations/people/organizations to which we must link Range: the variety of information and transactions we must be able to share Responsiveness: the level of service we guarantees, in terms of speed, reliability, and security Reach Levels of Reach Within a single location Across a firm’s domestic locations Across international locations To customers and supplies with the same technology base as the firm’s To all customers and suppliers To anyone, anywhere Connection is not communication Range Range involves the information and transactions that must be shared across business functions and processes Levels of Range Simple messages Access to separate data stores Independent transactions Cooperative transactions Object-oriented thinking Responsiveness Refers to the level of service we must guarantee, in terms of speed, reliability, and security Levels of responsiveness Non-immediate response - need not be on-line Immediate response - on-line during office hours - airline On-demand service - 24 hours a day - police Perfect service - always work with high security defense Network Design Integrate network needs of new system into existing network infrastructure Describe processing activity and network connectivity at each system location Describe communications protocols and middleware that connects layers Ensure that network capacity is sufficient Data size per access type and average Peak number of access per minute or hour Network Diagram for RMO Customer Support System