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
CSIS0402 System Architecture K.P. Chow University of Hong Kong Vendor Architectures Purpose: – Products positioning: help to look at the forest not the trees – Skeleton for clients: tell clients how to develop using their products – Marketing: help market their products Historical vendor architectures: IBM SAA, OSF DCE, OMG OMA, MS DNA Vendors middleware architectures: the 2 most popular ones: – Microsoft .NET Distributed Architecture – SunSoft J2EE: Java 2 Enterprise Edition Java GUI application Web browser + Applets J2EE JDBC HTML DHTML XML Presentation Tier Java Servlet Web Container JDBC Business Logic Tier Data Tier JMS Mainframe JDBC JNDI JSP RMIIIOP Java mail JNDI EJB container connector RMIIIOP JMS EJB JMS RMIIIOP JNDI Data Java mail J2EE Components The client tier: either browser, with Java Applets, or an Java program The Web tier: a Web server running Java Server Page (JSP) and Java Servlet The Enterprise Java Beans Tier: an EJB container The Enterprise Information System tier: a database or a mainframe application The common building blocks are Java components .NET Framework VB C# C++ J# Common Language Specification ASP.NET (Web Forms, Web Services, Mobile Internet Toolkit) Windows Forms ADO.NET and XML Base Class Library Common Language Runtime Operating System … .NET Distributed Architecture Presentation Tier HTML DHTML XML Data Tier DCOM Mainframe MSMQ ADO & OLE DB MSMQ .NET component COM+ container COMTI ADO & OLE DB ASP IIS Web Server DCOM Business Logic Tier Rich Client (GUI appn) Thin Client (Web browser) DCOM E-mail & Messaging ADO & OLE DB MSMQ Directory SQL Database File System .NET Distributed Architecture Components Presentation services: includes HTML, DHTML, scripting, ActiveX, .NET components Application services: includes Internet Information Server (IIS), COM+, MSMQ Data services: Universal data access includes ADO and OLE DB System services: includes directory, security, management and network Common building blocks are .NET components Distributed Architecture Distributed processing technology – – – – Transaction technology Information retrieval technology, e.g. MIS reports Collaborative technology, e.g. e-mail Internal distributed services, e.g. software distribution, remote systems operation Distributed architecture patterns: – Middleware bus architecture – Hub architecture – Loosely coupled architecture Middleware Bus Architecture (1) Web Server Voice Server Workstation Server B2B Server Middleware Order Entry Delivery Warehouse Billing Accounts Marketing Middleware Bus Architecture (2) Used in early days distributed systems implementation: middleware software is implemented by the organization Aim to separate the presentation channels from the business services: middleware provides access to the core services Either using real-time messages or deferred messages Advantages: – – – – Fast: hardware and software are tailored for the production workload Secure: installed within an enterprise, usually well protected Flexible: new channel can be added easily Support customized requirements, e.g. resiliency Problem: maintenance of the middleware Tightly coupled architecture: both the sender and receiver must use the same technology, follow the same protocol, and understand a common format for the messages Hub Architecture (1) Access Channels Hub Transaction and DB Services Access Channels RequestResponse Hub Hub Send & Forget (Deferrable) Transaction and DB Services Hub Architecture (2) Hub is a server that routes messages from the sender to the destination Possible actions of the hub: – Route the message using message type, message origin, data values in the message, … – Reformat the message, add information to the message, split the message to different destinations – Multicast or broadcast the message – Security checking – Monitor the message flow 2 types of hub – Hub that handles request-response interaction – Hub that routes deferrable messages Possible usages: load balancing, bridging network technologies Disadvantage: additional component implies additional complexity Web Services Architecture (1) Loosely coupled web services integration Web Services Architecture (2) A cheap form of integration of existing technologies, such as file transfer, COM+, RMI – Suitable for small organizations that have no standardized solutions – Does not require specialized skills of the middleware products – Implemented in large organizations that have islands of integration Disadvantage: – Slow: all messages are in XML format – Message integrity and web services security must be handled in the web services design Coupling Coupling is the degree to which one party to the communication must make assumptions about the other party The more complex the assumptions, the more tightly coupled the link Tightly coupled means changes to the interfaces are likely to have effects in the other party Coupling Middleware bus architecture Performance Tightly coupled Best performance Loosely coupled Worst performance Hub architecture Web services architecture