Chapter 14 Designing Distributed and Internet Systems © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 1 Learning Objectives 2. Compare different methods to distribute information systems and data. Describe the key terms: client/server architecture, local area network, middleware, and application program interface. Illustrate the choices between file server and other client/server architectures for an application, based on the relative advantages of each. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 2 Learning Objectives Distinguish between file server and client/server environments and contrast how each is used in a local area network. Discuss the different approaches to designing client/server architectures. Illustrate alternative designs for distributed systems and their tradeoffs. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 3 Learning Objectives Review Internet design fundamentals, including standards that drive the Internet, separating content and display, and the future evolution of Internet standards. Discuss the importance of site consistency and related site consistency issues. Discuss issues related to site management. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 4 Learning Objectives Compare and contrast two-level and three-level data warehouse architectures. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 5 © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 6 The Process of Designing Distributed and Internet Systems • It is similar to designing single-location systems. • Due to multi-location deployment, numerous design issues must be considered. • There is more opportunity for failure due to number of components. • The main issues involve ensuring reliability, availability, survivability, performance. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 7 Deliverables and Outcome • is a document that consolidates system design information that provides the following information: Description of each site Description of data usage for each site Description of business process for each site Contrasts of alternative IS architectures for site, data and processing needs of each site © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 8 Designing Systems for Local Area Networks (LAN) • LAN: The cabling, hardware, and software used to connect workstations, computers, and file servers located in a confined geographical area. • Main LAN configuration options: File Server architecture Client/Server architecture © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 9 File Server Architectures • A device that manages file operations and is shared by each client PC attached to a LAN. • DBMS use in a file server: One copy of the DBMS is on the file server and concurrently running copies are on client PCs. All data manipulation is performed on the client PC. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 10 © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 11 Limitations of File Servers • Excessive data movement • Need for powerful client workstations • Entire data tables must be transferred instead of individual records. Each client workstation must devote memory to a full DBMS. Decentralized data control Complicates record concurrency control, recovery, and security. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 12 Cleint/Server Architectures • Application processing is divided between client and server. • Client manages the user interface. • Database server is responsible for data storage and query processing. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 13 Client: front-end software provides user interface and data manipulation functions Database engine: back-end DBMS software runs on the server to provide database processing and shared access for clients. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 14 Application Program Interface (API) • They are software building blocks that ensure standardization of modules for data exchange between clients and servers. • Common API interface can be used for communication between client and any kind of DBMS (DB2, SQL Server, MySQL, Oracle). © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 15 Client/Server Advantages and Cautions • Advantages Leverages benefits of microcomputer technology Processing performed close to data source • Improves response time • Reduces network traffic Facilitates use of GUIs Encourages acceptance of open systems • Cautions Difficult migration from file server to client/server Compatibility issues Limited system design and performance monitoring tools © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 16 File Server vs. Client/Server © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 17 Advanced Forms of Client/Server Architecture • Three-tiered client/server Three logical and distinct applications: • Data management • Presentation • Analysis Middleware • Combination of hardware, software, and communication technologies that bring together three distinct applications into one environment Application Server • Server where data analysis functions are performed © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 18 Advantages of Three-tiered Architectures • Applications can be partitioned in a way that best fits the organizational computing need. • Easier customization: application code resides on application server, so change done only in one place. • Easier maintenance: data analysis is separate from user interface, so changing one can be done independently of the other. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 19 Approaches to Designing Client/Server Architectures • • • • • • Distributed Presentation Remote Presentation Remote Data Management Distributed Function Distributed Database Distributed Processing © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 20 Distributed Presentation A distributed presentation, freshen up delivery of existing server-based applications, typically running on legacy mainframe computers, to distributed clients using screen scrapper technology. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 21 Remote Presentation In a remote presentation, all data presentation functions are on the client, providing greater flexibility of presentation than the distributed presentation option. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 22 Remote Data Management In a remote data management all software except data management is on client, this is closest to the traditional client/server mode. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 23 Distributed Function In a Distributed Function, the analysis functions are split between client and server, with all presentation on client and all data management on server. Requires coordination between analysis function on client and server, making it difficult to develop and maintain. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 24 Distributed Database In a distributed database, client has all functionality, except that data storage and management is shared between client and server. A distributed database is unstable, and it is very difficult to ensure compatibility and communication between client and server. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 25 Distributed Processing A distributed processing combines distributed function and distributed database, maximizing flexibility of analysis and data management. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 26 Designing Internet Systems • Most new system development focuses on Internetbase applications (for internal processing, businessto-business, and business-to-consumer). • Main design issues: Standards Separating content from display Future evolution Site consistency Site management Online data management © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 27 Standards for Internet Design • Internet design is simpler than client/server due to proliferation of standards. • Types of Standards: Domain naming (BIND): a method for translating domain names into Internet Protocol (IP) addresses Hypertext Transfer Protocol (HTTP): a communication protocol for exchanging information on the Internet Hypertext Markup Language (HTML): the standard language for representing content on the Web via command tags © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 28 Separating Content from Display • HTML has limitations due to format orientation of tags. • eXtensible Markup Language (XML) has been developed to separate content from display. • XML: an Internet authoring language that allows designers to create customized tags that represent data transmitted between applications. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 29 Future Evolution • Move from desktop PCs to thin clients Most processing and data storage occurs on the server • Use of wireless mobile devices Wireless Access Protocol (WAP): a wireless version of HTTP Wireless Markup Language (WML): a wireless version of HTML © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 30 Site Consistency • Professionalism requires a consistent look-and-feel across all pages of a Web site. • Aids to consistency: Cascading Style Sheets • A set of style rules that tells a Web browser how to present a document Extensible Style Language (XSL) • Specification for separating style from content when generating HTML documents © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 31 © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 32 Site Management Issues • Customer Loyalty and Trustworthiness Conveyed by: • • • • • • • Design quality Up-front disclosure Comprehensive, correct and current content Connected to the rest of the Web Data security Personalization Customization © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 33 Site Management Issues (cont.) • Longevity of Web Pages Customer Bookmarks Links from Other Sites Search Engine Referrals Old Content Adds Value • System Security vs. ease of use “Remember my password” Use of cookies © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 34 Online Data Management • Context development Method of understanding how a system fits within the existing business activities and data • Integration depth Measurement of how far a system penetrates into the existing technology infrastructure • Organizational breadth Measurement that tracks the core business functions affected by a system © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 35 Context, Breadth and Depth © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 36 Online Transaction Processing (OLTP) • Refers to immediate automated responses to the requests of users. • Designed to handle multiple concurrent transactions. • Plays a large role in electronic commerce applications. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 37 Online Analytical Processing (OLAP) • Refers to graphical software tools that provide complex analysis of data stored in a database. • OLAP server is the chief component. • Good for time series and trend analysis. • Enables user to “drill-down” into the data. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 38 Merging Transaction and Analytical Processing • Requires combining operational and informational components © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 39 Data Warehousing • Is a collection of data for decision support. • Key features: Subject-oriented: organized around key subjects Integrated: data are collected from many operational systems and made to conform to standards Time-variant: data contains a time dimension Nonvolatile: data cannot be updated by users © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 40 Steps in Building and Using a Data Warehouse • Extract data from various source system files and databases. • Transform, integrate, and load the data. • Data warehouse is a read-only environment • Users access via query languages and analytical tools. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 41 Data Warehouse Architectures • Two-level Data warehouse and decision support environment • Three-level Operational systems Enterprise data warehouse • Centralized, integrated data warehouse • Control point and single source of all data made available to end users Data marts • A data warehouse that is limited in scope based upon aggregation and selection © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 42 © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 43 © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 44 Summary • In this chapter you learned how to: 2. Compare different methods to distribute information systems and data. Describe the key terms: client/server architecture, local area network, middleware, and application program interface. Illustrate the choices between file server and other client/server architectures for an application, based on the relative advantages of each. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 45 Summary Distinguish between file server and client/server environments and contrast how each is used in a local area network. Discuss the different approaches to designing client/server architectures. Illustrate alternative designs for distributed systems and their tradeoffs. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 46 Summary Review Internet design fundamentals, including standards that drive the Internet, separating content and display, and the future evolution of Internet standards. Discuss the importance of site consistency and related site consistency issues. Discuss issues related to site management. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 47 Summary Compare and contrast two-level and three-level data warehouse architectures. © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit2 Slide 48