Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chapter 12: Modern System Architectures Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer © Prentice Hall, 2004 12-1 System Architecture An overall blueprint of the design of a system. Global design, bird’s view. Goals of design architecture – ability to scale and evolve over time. Modern systems are distributed Chapter 12 © Prentice Hall, 2004 12-2 Distributed or Tiered Architecture - The partitioning of a system into layers such that each layer performs a specific type of functionality and communicates with the layers that adjoin it. - Single-tier (older architecture; mainframe servicing many dumb terminals) – Two-tier (Client-Server) – Three-tier (Client-Middleware-Server) – N-tier (4+ layers) Chapter 12 © Prentice Hall, 2004 12-3 Limitations of Client-Server Architectures Heavy burden placed on each client machine (exception: thin clients) Application changes need to be distributed to many clients Typically use proprietary technologies, hindering application integration Chapter 12 © Prentice Hall, 2004 12-4 Three-Tier Architectures Layers: – Presentation – front tier, providing user interface, perhaps with formatting and constraint-checking rules – Data – back tier, addressing data storage and access, with some rules regarding data integrity – Business rules – middle tier (middleware), addressing logic and decisions for the system. Chapter 12 © Prentice Hall, 2004 12-5 Middleware Software that provides one set of interfaces for connection to a client and another set of interfaces for connection to a server, thereby providing the possibility of connections between one of several clients with one of several servers. Chapter 12 © Prentice Hall, 2004 12-6 Note: presentation, business logic, and or data can be spread across multiple layers, creating N-tier architecture. Chapter 12 © Prentice Hall, 2004 12-7 Characteristics of Components – Executable code, modules with defined functionality (ex: spell checker, search engines, shopping cart); Plug-and-play – Used as elements in system design (middleware, server, client) – Collection of classes and interfaces – Speed up & reduce costs of development – Hidden implementation details – Third-party developed, tested – Reusable Chapter 12 © Prentice Hall, 2004 12-8 Component Standards – Microsoft COM+ – OMG’s CORBA – Sun Microsystems's Enterprise Java Beans (EJB) – Database Middleware Standards (ODBC, ADO, JDBC) – XML/SOAP Chapter 12 © Prentice Hall, 2004 12-9 COM+ Component Object Model (COM) from Microsoft Run-time environment for middle-tier components Supports transactions, identity, and security services, and allows components to call each other locally or remotely through a messaging service Chapter 12 © Prentice Hall, 2004 12-10 CORBA – Common Object Request Broker Architecture by Object Management Group (OMG) – Component standard for distributed and heterogeneous network – Objects written in different languages communicate through Interface Definition Language – Interface is managed by Object Request Brokers Chapter 12 © Prentice Hall, 2004 12-11 EJB Enterprise Java Beans Component-based distributed computing architecture EJB is a server-side component model for managing objects in a distributed environment EJB requires CORBA for communications Chapter 12 © Prentice Hall, 2004 12-12 Database Middleware Standards Microsoft’s ODBC – Open Database Connectivity Microsoft’s Sun’s Chapter 12 ADO – ActiveX Data Objects JDBC – Java Database Connectivity © Prentice Hall, 2004 12-13 Comparison of OMG, Microsoft, and Sun Limitations: 1. Tightly coupled 2. Binary 3. Proprietary Chapter 12 © Prentice Hall, 2004 12-14 XML and SOAP Text-based, loosely coupled, non-proprietary Internet-oriented standard for inter-layer communication eXtensible Markup Language (XML) – method for putting structured data into text format, similar to HTML Simple Object Access Protocol (SOAP) – XML-based protocol for exchanging messages between applications operating in different layers Chapter 12 © Prentice Hall, 2004 12-15 Framework A collection of components, consisting of code and interfaces written in a specific language, that solves or helps build applications. Two main competitors: • Microsoft .NET • Sun Java 2 Enterprise Edition (J2EE) Chapter 12 © Prentice Hall, 2004 12-16 Microsoft .NET Development framework that integrates software tools based on COM+ and Active Server Pages (ASP) technologies for B2C applications, with support for XML/SOAP Web services for B2B applications - ActiveX – OLE/COM based component - ADO, ADO .NET – database middleware - ASP, ASP.NET – dynamic HTML generation Chapter 12 © Prentice Hall, 2004 12-17 Sun J2EE Java 2 Enterprise Edition development framework provides a specification of architectural components designed to work together to define a complete enterprise architecture, with support for XML/SOAP and Web services - EJB – Java-based component standard - JDBC – database middleware - Java Server Pages, Servlets – dynamic HTML generation Chapter 12 © Prentice Hall, 2004 12-18 Summary Modern systems are split into tiers (or distributed) that are more loosely coupled. Tiered architecture allows higher scalability: changes in one tier do not affect directly other tiers. Components and packages are much used – reusability, software time increase, development cost Decrease. Middleware important – linking disparate clients and severs. Proprietary and open standards. Chapter 12 © Prentice Hall, 2004 12-19