Paul M Y Chow, Chief Executive Hong Kong Exchanges and Clearing Limited
CSIS0402 System Architecture K.P. Chow University of Hong Kong.
-
Upload
noah-thomas -
Category
Documents
-
view
212 -
download
0
Transcript of CSIS0402 System Architecture K.P. Chow University of Hong Kong.
CSIS0402 System ArchitectureCSIS0402 System Architecture
K.P. Chow
University of Hong Kong
Vendor ArchitecturesVendor 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
J2EEJ2EE
Presentation Tier
Web Container
JNDIJDBC
Java Servlet
Business Logic Tier
EJB container EJB
conn-ector
Web browser + Applets
HTML DHTML XML JNDIRMI-IIOPJMS
Java GUI application
MainframeData Tier Data
JDBC
JSP
Java mailJMS
RMI-IIOP
JNDIJDBCJava mailJMS
RMI-IIOP
J2EE ComponentsJ2EE 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 .NET FrameworkFramework
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 .NET Distributed Distributed
ArchitectureArchitecture
Presentation Tier
IIS Web Server
MSMQADO & OLE DBDCOM
ASP
Business Logic Tier
COM+ container
MSMQADO & OLE DBDCOM
.NET component
COMTI
Thin Client (Web browser)
HTML DHTML XML MSMQADO & OLE DB
DCOM
Rich Client (GUI appn)
MainframeData Tier E-mail & Messaging
Directory SQL Database
File System
.NET Distributed Architecture Components.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 ArchitectureDistributed 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)Middleware Bus Architecture (1)
Web Server
Voice Server
Workstation Server
B2B Server
Order Entry
Delivery Warehouse Billing Accounts Marketing
Middleware
Middleware Bus Architecture (2)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)Hub Architecture (1)
Access Channels
Hub
Transaction and DB Services
Hub
Access Channels
Hub
Transaction and DB Services
Send & Forget (Deferrable)
Request-Response
Hub Architecture (2)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)Web Services Architecture (1)
Loosely coupled web services integration
Web Services Architecture (2)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
CouplingCoupling
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 Performance
Middleware bus architecture
Tightly coupled Best performance
Hub architecture
Web services architecture
Loosely coupled Worst performance