CSIS0402 System Architecture K.P. Chow University of Hong Kong.

15
CSIS0402 System CSIS0402 System Architecture Architecture K.P. Chow University of Hong Kong

Transcript of CSIS0402 System Architecture K.P. Chow University of Hong Kong.

Page 1: CSIS0402 System Architecture K.P. Chow University of Hong Kong.

CSIS0402 System ArchitectureCSIS0402 System Architecture

K.P. Chow

University of Hong Kong

Page 2: CSIS0402 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

Page 3: CSIS0402 System Architecture K.P. Chow University of Hong Kong.

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

Page 4: CSIS0402 System Architecture K.P. Chow University of Hong Kong.

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

Page 5: CSIS0402 System Architecture K.P. Chow University of Hong Kong.

.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

Page 6: CSIS0402 System Architecture K.P. Chow University of Hong Kong.

.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

Page 7: CSIS0402 System Architecture K.P. Chow University of Hong Kong.

.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

Page 8: CSIS0402 System Architecture K.P. Chow University of Hong Kong.

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

Page 9: CSIS0402 System Architecture K.P. Chow University of Hong Kong.

Middleware Bus Architecture (1)Middleware Bus Architecture (1)

Web Server

Voice Server

Workstation Server

B2B Server

Order Entry

Delivery Warehouse Billing Accounts Marketing

Middleware

Page 10: CSIS0402 System Architecture K.P. Chow University of Hong Kong.

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

Page 11: CSIS0402 System Architecture K.P. Chow University of Hong Kong.

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

Page 12: CSIS0402 System Architecture K.P. Chow University of Hong Kong.

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

Page 13: CSIS0402 System Architecture K.P. Chow University of Hong Kong.

Web Services Architecture (1)Web Services Architecture (1)

Loosely coupled web services integration

Page 14: CSIS0402 System Architecture K.P. Chow University of Hong Kong.

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

Page 15: CSIS0402 System Architecture K.P. Chow University of Hong Kong.

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