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

Slides:



Advertisements
Similar presentations
J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Bridging the Technological Gap between Academia and Industry: Towards a Successful e-Commerce Graduate Program Yeong-Tae Song, Goran Trajkovski, Sungchul.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Some of these slides were excerpted from: Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
Distributed Systems Architectures
BICS546 Client/Server Database Application Development.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Technologies For use on different layers. Technologies Client tier Client tier to middle tier protocols Middle tier technologies Middle tier to data tier.
The 21th Century Repairman Agenda Introduction J2EE - Interface Subcontractor Manager Subcontractor Demonstration.
Ch 12 Distributed Systems Architectures
The Architecture of Transaction Processing Systems
JMS Java Message Service Instructor Professor: Charles Tappert By Student: Amr Fouda.
J2EE vs..NET Nigam Patel. Topics Background –Web Services, J2EE and.NET Similarities Differences Conclusion –Pros and Con (J2EE and.NET)
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support Shipping.
E-business Architecture.NET vs J2EE Judith Molka-Danielsen Feb.27, 2004.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Client/Server Architecture
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
Web-based Software Development - An introduction.
Client/Server Architectures
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
J2EE /.NET Liz Farricker Whitney Mayoras Patrick Bailey.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Chapter 4: Core Web Technologies
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Application Layer CHAPTER 2. Announcements and Outline  Administrative Items  Questions? Recap 1.Introduction to Networks 1.Network Type 2.N etwork.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Introduction to J2EE Architecture Portions by Kunal Mehta.
Fundamentals of Database Chapter 7 Database Technologies.
第十四章 J2EE 入门 Introduction What is J2EE ?
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Slide 1 Physical Architecture Layer Design Chapter 13.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Unit 7 Patterns and Frameworks. Key Concepts Design classes Components Design architectures EAD Patterns Packages Frameworks.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
Enterprise Integration Patterns CS3300 Fall 2015.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
What is J2EE Platform The Java 2 Platform Enterprise Edition (J2EE) defines the standard for developing multitier enterprise applications.
10-1 © Prentice Hall, 2007 Topic 10: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Chapter 6: Using Middleware Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt October 20, 2008.
1 Distributed System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
Database application development 1. Chapter 8 © 2013 Pearson Education, Inc. Publishing as Prentice Hall OBJECTIVES  Define terms  Explain three components.
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Web-based Software Development - An introduction
CSC 480 Software Engineering
Topic 10: Design Elements
Introduction to J2EE Architecture
Inventory of Distributed Computing Concepts and Web services
Web-Services-based Systems Architecture, Design and Implementation
Inventory of Distributed Computing Concepts
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Component-based Applications
Presentation transcript:

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

Vendor Architectures l 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 l Historical vendor architectures: IBM SAA, OSF DCE, OMG OMA, MS DNA l Vendors middleware architectures: the 2 most popular ones: –Microsoft.NET Distributed Architecture –SunSoft J2EE: Java 2 Enterprise Edition

J2EE Presentation Tier Web Container JNDIJDBC Java Servlet Business Logic Tier EJB containerEJB conn- ector Web browser + Applets HTML DHTML XML JNDI RMI- IIOP JMS Java GUI application Mainframe Data Tier Data JDBC JSP Java mail JMS RMI- IIOP JNDIJDBC Java mail JMS RMI- IIOP

J2EE Components l The client tier: either browser, with Java Applets, or an Java program l The Web tier: a Web server running Java Server Page (JSP) and Java Servlet l The Enterprise Java Beans Tier: an EJB container l The Enterprise Information System tier: a database or a mainframe application l The common building blocks are Java components

.NET Framework VBC#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 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 MSMQ ADO & OLE DB DCOM Rich Client (GUI appn) Mainframe Data Tier & Messaging DirectorySQL Database File System

.NET Distributed Architecture Components l Presentation services: includes HTML, DHTML, scripting, ActiveX,.NET components l Application services: includes Internet Information Server (IIS), COM+, MSMQ l Data services: Universal data access includes ADO and OLE DB l System services: includes directory, security, management and network l Common building blocks are.NET components

Distributed Architecture l Distributed processing technology –Transaction technology –Information retrieval technology, e.g. MIS reports –Collaborative technology, e.g. –Internal distributed services, e.g. software distribution, remote systems operation l Distributed architecture patterns: –Middleware bus architecture –Hub architecture –Loosely coupled architecture

Middleware Bus Architecture (1) Web Server Voice Server Workstation Server B2B Server Order Entry DeliveryWarehouseBillingAccountsMarketing Middleware

Middleware Bus Architecture (2) l Used in early days distributed systems implementation: middleware software is implemented by the organization l Aim to separate the presentation channels from the business services: middleware provides access to the core services l Either using real-time messages or deferred messages l 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 l Problem: maintenance of the middleware l 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 Hub Access Channels Hub Transaction and DB Services Send & Forget (Deferrable) Request- Response

Hub Architecture (2) l Hub is a server that routes messages from the sender to the destination l 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 l 2 types of hub –Hub that handles request-response interaction –Hub that routes deferrable messages l Possible usages: load balancing, bridging network technologies l Disadvantage: additional component implies additional complexity

Web Services Architecture (1) Loosely coupled web services integration

Web Services Architecture (2) l 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 l Disadvantage: –Slow: all messages are in XML format –Message integrity and web services security must be handled in the web services design

Coupling l Coupling is the degree to which one party to the communication must make assumptions about the other party l The more complex the assumptions, the more tightly coupled the link l Tightly coupled means changes to the interfaces are likely to have effects in the other party CouplingPerformance Middleware bus architecture Tightly coupledBest performance Hub architecture Web services architecture Loosely coupledWorst performance