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