Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014 Outline Single computer architecture Client-Server architecture N-Tier Client-Server architecture Middleware Centralized & Distributed architecture Computer networks The Internet, Intranets, and Extranets Internet-based architectures Services Oriented Architecture Cloud computing and system architectures 3510 Systems Analysis & Design * Bob Travica 2 of 13 Single-computer architecture Architecture (of system, network) = overall design, blue print, “look”, “big picture” Single system attached to peripheral devices (e.g., mainframe-based) Advantages: easier to design, build, operate, maintain Disadvantages: limits in terms of capacity, and software/hardware standards 3510 Systems Analysis & Design * Bob Travica 3 of 13 Client-Server architecture Some processing; User interface (Fat client) Some processing; User interface (Fat client) User interface (Thin client) Data storage; Some processing Client: requestor of resources or services from a server Server: responder to Client’s requests Architectural issues—who manages: Data Processing (functionality) User interface Software only, or software+hardware (dedicated computer) 3510 Systems Analysis & Design * Bob Travica 4 of 13 Client-Server architecture (cont.) Client and server communicate via welldefined protocols over a physical channel Client/server architecture advantages: Location flexibility, scalability, maintenance Client/server architecture disadvantages Additional complexity, potential reliability issue, security issues 3510 Systems Analysis & Design * Bob Travica 5 of 13 N-Tier architecture Partitions system into less tightly coupled segments 3-tiers (layers) frequent, placing each of 3 services on a different hardware: Function request The data layer The business logic layer (functionality) The view/presentation layer (user interface) 3510 Systems Analysis & Design * Bob Travica 6 of 13 Middleware Middleware The middle layer in 3-tier architecture can also contain drivers for back-end DBs (system interface) Can be object-based while other layers are not (legacy systems, relational databases) 3510 Systems Analysis & Design * Bob Travica 7 of 13 Computer networks Support distributed system architecture (clientserver) LAN vs. WAN Computer data transfer capabilities: Enable data transfer (e.g., remote database access, remote login) Provide infrastructure for human communication systems 3510 Systems Analysis & Design * Bob Travica 8 of 13 Network architecture issues Issues: Communication protocols (net software, Ethernet, TCP/IP…) Network configuration (bus, star, wheel, mesh) Ensuring sufficient network capacity Security Mesh Domain of Network Administrator (a highly demanded IS position) 3510 Systems Analysis & Design * Bob Travica 9 of 13 The Internet, Intranets, & Extranets Internet: LANs, WANs, and individual devices connected via TCP/IP software The Web: Collection of resources accessed over the Internet; specific addressing scheme Intranet: private net accessible to internal users Extranet: intranet extended to include some external users Virtual private network: uses public network as if it is private Internet-based architectures Web is uses client/server architecture Characteristics: Web resources are managed by server Clients get services from servers Web protocols define valid resource formats and communication standards Object-based software SOA (next slides) 3510 Systems Analysis & Design * Bob Travica 11 of 13 Services Oriented Architecture (SOA) SOA is a set of methods designing and developing application software in the form of interoperable services (apps). Services are functions that are built as software components pieces of code or data structures. Services can be used for different purposes, in different apps (Example: Web services, as a foreign language spell checker for a word processor system; mashups as in Google maps). SOA draws on component software, object oriented approach, modular programming, distributed computing, cross-platform computing, cloud computing (SaaS). SOA aims to allow users to assemble entire large programs (also ad hoc in character). 3510 Systems Analysis & Design * Bob Travica 12 of 13 SOA (more) SOA components are put together by a process of orchestration using a list of SOA components needed. Components are called based on their interface (an instance of system interface) which advertises a component's functionality and protocols. Protocol describes messages to a component (e.g., what data can be inputted to trigger the function the component represents) – metadata.* SOA principles (see note) ** 3510 Systems Analysis & Design * Bob Travica 13 of 13 SOA Benefits & Costs SOA Benefits: cost savings in system development more flexible software to meet changing business needs (ad hos apps) more complex software possible without complexity & cost demanded by the final functionality reached (e.g., mashups) SOA Costs: integration of components (the interface issues) components' quality (testing, assurances) development continuity 3510 Systems Analysis & Design * Bob Travica 14 of 13 Internet-based architectures Advantages of Web/Internet: (cont.) Flexibility, accessibility, low cost communication, widely used standards Disadvantages of Web/Internet: Security, reliability, throughput, quality, volatile standards 3510 Systems Analysis & Design * Bob Travica 15 of 13 Cloud computing Cloud computing (Cloud) is a technical and business model that complements or substitutes organizational information systems. Some aspects of Cloud resemble client-server architecture, but there is much more to it. CLOUD CLIENT (USER) host whole systems host databases, development resources CLOUD VENDOR host hardware, storage, virtual machines… 3510 Systems Analysis & Design * Bob Travica 16 of 13 Cloud services Cloud computing services Cloud Client Web browser, desktops computers, mobile devices Internet Private network Software as a Service accounting, customer relationship management, human resource management… Platform as a Service software development resources, databases, servers Infrastructure as a Service computers, virtual machines, data storage, virtual local area networks, firewalls See Note below* 3510 Systems Analysis & Design * Bob Travica 17 of 13 Cloud effects Cloud builds on component software, OO methods, computer networks. Cloud may enable new forms of organizing, as virtual organization (VO).* 3510 Systems Analysis & Design * Bob Travica 18 of 13