Presented by Kam Shu Kai, Andy Student No.:

Slides:



Advertisements
Similar presentations
Distributed Systems Architectures
Advertisements

Welcome to Middleware Joseph Amrithraj
COM vs. CORBA.
Database Architectures and the Web
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Distributed components
Distributed Transaction on CORBA Presented by Leung Kin Wai, Andrew Student No.: Supervisor: Professor Michael R. Lyu.
Distributed Systems Architectures
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Distributed Service Architectures Yitao Duan 03/19/2002.
Client/Server Architectures
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
Distributed Systems Architectures
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
New features for CORBA 3.0 by Steve Vinoski Presented by Ajay Tandon.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #23.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 Distributed Systems Architectures l Architectural design for software that executes on more than one.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Internet and Distributed Application Services
J2EE Platform Overview (Application Architecture)
Distributed Systems Architectures
Common Object Request Broker Architecture (CORBA)
Netscape Application Server
Chapter 2 Database System Concepts and Architecture
Database System Concepts and Architecture
CORBA Alegria Baquero.
MVC and other n-tier Architectures
Distribution and components
Distributed web based systems
CSC 480 Software Engineering
Database Architectures and the Web
Introduction to J2EE Architecture
#01 Client/Server Computing
Ch > 28.4.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 27 WWW and HTTP.
CORBA Alegria Baquero.
Introduction to Databases Transparencies
Lecture 1: Multi-tier Architecture Overview
Inventory of Distributed Computing Concepts
Component--based development
Database Environment Transparencies
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Quality Assurance for Component-Based Software Development
Distributed Systems Architectures
#01 Client/Server Computing
Presentation transcript:

Booking Service on Internet to Demonstrate Distributed Transaction on CORBA Presented by Kam Shu Kai, Andy Student No.: 97082720 Supervisor : Professor Michael R. Lyu 1. Good afternoon ladies and gentlemen. 2. The topic is ... 3. Present by … 4. Supervised by Prof. Lyu 5. The presentation is divided into two parts. The first part will be a slide show and the second part will be a Question and Answer section. 7 December 2018

Content Motivation Distributed System CORBA Implementation: Integrated Transaction Service System Conclusion 1. Here is the content: 2. The motivation of this project, 3. Some basics concepts of distributed system, 4. The CORBA architecture, 5. The Implementation of a project - Integrated Transaction Service System and followed by 6. Conclusion 7 December 2018

Motivation Network technology Client/Server Distributed system VS Centralized system OMG/ORB Integrated Transaction Service System 1. In the late 1980s, most programmers were still writing standalone multi-user computer applications. However, in the early 90’s, with advanced network technology, the client/server distributed system became very popular. 2. In contrast to the traditional centralized system, it is proved to be more cost effective. 3. In 1992, the object management group defined the standard for an Object Request Broker, which handles the invocations from client to server and dealt with the network complexity. This is the fundamental idea of the Common Object Request Broker Architecture 4. In this project, the … System is built to demonstrate the distributed transaction on CORBA. 7 December 2018

Distributed System(1) Personal computers and Workstations Local Area Networks Database server WWW 1. Here are some basics on distributed system. 2. A distributed system consists of collection of autonomous computers, connected through a network and distributed operating system software, which enables computers to coordinate their activities and to share the resources of the system. 3. The availability of high-performance personal computers, workstations and database server computers enhance the distributed system. 4. The www is the greatest and the most successful one. 7 December 2018

Distributed System(2) Key Characteristics Resource Sharing Openness Concurrency Scalability fault tolerance transparency 1. Here are the six key characteristics on distributed system 2. Resource sharing is the ability to use the hardware, software and data 3. Openness concerned with extensions and improvements of distributed systems. 4. Concurrency arises naturally in distributed systems from the separate activities of users, the independence of resources and the location of server processes in separate computers. 5. Scalability concerns the ease of the increasing the scale of the system 6. Fault tolerance cares the reliability of the system and 7. Transparency hides the complexity of the distributed systems 7 December 2018

Distributed System(3) Basic Design Issues Naming Communication Workload allocation Consistency maintenance 1. Due to the distributed nature, some design issues must be resolved. 2. They are naming, communication, workload allocation and consistency maintenance. CORBA has address nearly all of them. 7 December 2018

CORBA (1) Object Management Architecture 7 December 2018 1. Here is the picture of the Object Management Architecture. 2. ) It has four main elements. (action: point to the corr.part of the OMA) 1) the Object Request Broker (ORB) defines the CORBA object bus; 2) CORBAservices define the system-level object frameworks 3) CORBAfacilities define horizontal and vertical application frameworks that are used directly by business objects; and 4) Application Objects are the business objects and applications - they are the ultimate consumers of the CORBA infrastructure. 7 December 2018

CORBA (2) CORBA ORB Static and dynamic method invocation High-level language bindings Self-describing system Local/remote transparency Built-in security and transactions 1.A CORBA ORB provides a wide variety of distributed middleware services. The ORB lets objects discover each other at run time and invoke each others’ services. 2. The Interface Definition Language allows the high-level binding. It allows developers to have their own choice of programming language. 3. CORBA provides run-time metadata for describing every server interface known to the system. 4. An ORB can broker inter-object calls within a single process, multiple processes running within the same machine, or multiple processes running across networks and operating systems. 5. It has built-in security and transaction service. 7 December 2018

CORBA (3) Client side Client IDL stubs Dynamic Invocation Interface (DII) Interface Repository APIs ORB Interface 1. On the client side, 2. the client stubs provide the static interfaces to the object services while the Dynamic Invocation Interface allows the discovery of methods to be invoked at run time. 3. The Interface Repository APIs even allow developers to obtain and modify the descriptions of all the registered component interfaces. 4. ORB Interface consists of a few APIs to local service such as conversion of an object reference to a string. 7 December 2018

CORBA (4) Server side Server IDL Skeleton Dynamic Skeleton Interface (DSI) Object Adapter Interface Repository ORB Interface 1. On the server side, 2. Server IDL Skeletons provide static interfaces to each service exported by the server while the Dynamic Skeleton Interface provides a run-time binding mechanisms for servers. (that need to handle incoming method calls for components that do not have IDL-based complied skeletons.) 3. The Object Adapter accepts request for service on behalf of the server’s objects. 4.) Interface Repository provides a run-time repository of information about the classes a server supports, the objects that are instantiated and their Ids 5) ORB Interface consists of a few APIs to local services that are identical to those provided on the client side. 7 December 2018

Demonstration (1) System Requirement (1) Transaction on Internet - Web browser Venue Booking and Service Adding Seat Reservation Multiple users Quick response time 1. Here are the requirements for our system: 2. It must support transaction on Internet through the web browser 3. It allows Venue Booking and Service Adding, Seat Reservation 4. It can have multiple users to concurrently logon with a quick response time 7 December 2018

Demonstration (2) System Requirement (2) View the updated/inserted record Delete record Notification/Error messages Friendly GUI Callback 1. The user can view the updated/inserted records or delete records 2. Display Notification/Error messages appropriately 3. A user-friendly graphical interface. 4. Callback service 7 December 2018

Demonstration (3) 7 December 2018 1. (action: point to the screen) This is the opening screen. 2 and these are the some of the notification messages. 7 December 2018

Demonstration (4) 7 December 2018 1. Here are the two more sample screens. 2. (action: point to the screen) The left one is for Venue Booking and the other one is for seat reservation. The user can easily select a seat by a click. 7 December 2018

Implementation (1) 7 December 2018 1. Before the implementation, let’s have a look of the overall architecture of the system. This is a multi-tiered system with the client, the application server and database server. 2. First, the Web browser on the client side downloads the HTML page –– the page includes reference to embedded the client Java applet. Second, Web browser retrieves Java applet and ORB classes from HTTP server –– The HTTP server delivers the applet and ORB classes into the browser in the form of Java bytecodes. Third The Web browser loads and starts applet –– The applet is first run through the Java run-time security gauntlet and then loaded into memory. Fourth The Applet invokes CORBA server objects –– The Java applet includes IDL-defined objects. Invoking methods on these objects will be directed to the server implementation through IIOP. In fact, the client does not communicate with the object server directly due to the Java sandbox model restriction. The Gatekeeper makes it possible for the client to invoke an object server on a host other the one from which the applet originated. The Gatekeeper also wraps IIOP messages into HTTP message while transmitting through Internet. CORBA server return result values again through the IIOP 7 December 2018

Implementation (2) Interface Definition Language Module : Client Interface : ClientControl InternetTran Interface : BookDispenser, Book 1. The first step is to write the Interface Definition Language. 2. We have two modules: 3. In the client module, it has only one interface, the ClientControl for the callback purpose. 4. The other module is the InternetTran. It has two interface : the BookDispenser which acts as a Transaction Processing monitor responsible for allocation of resources to the client and handle the callback. The other one is the Book. It is the actual working server object to manage all transactions. 7 December 2018

Implementation (3) Database Programming tools Relational database : Oracle8 Server, Release 8.0.5.0.0 Tables : USERS, VENUE, ZONE SERVICE, SESSIONS, FEE, TRANSACTIONS Programming tools VisiBroker for Java 3.4 1. The Oracle 8 server is for persistence data storage. 2. The first three are the basic tables. USERS for users’ information, VENUE for venue details, ZONE for zone details, 3. When you add a new service, records will be inserted to the SERVICE table , the SESSIONS table and the FEE table. 4. When you have seat reservation, records will be inserted.to TRANSACTION table. 5. Table locks and row locks are employed to ensure consistency. 6. The programming tools is …Visbroker for Java, version 3.4 7 December 2018

Implementation (4) Communication osagent IIOP Gatekeeper 1. For the communication, The VisiBroker ORB Smart Agent (osagent) is an ORB-specific utility program provided by VisiBroker. It provides some ORB-specific functions such as ORB domains, object implementation, fault tolerance and object migration from one host to another. It is necessary to start the osagent before using any VisiBroker functions. 2. The IIOP is the communication protocol. 3. Because of the sandbox security model imposed by Java applet, we need an IIOP proxy server on the Web server host. The IIOP proxy server provides IIOP tunneling over a HTTP connection and routes the messages to and from other hosts on the server side network as requested by the client. Because there is only HTTP communications between the client program and the IIOP proxy, the client applet is able to run within a firewall protected network. 7 December 2018

Objects Interaction 7 December 2018 1. The diagram shows how the objects interact with one another. 2. The Server creates a dispenser object 3. The BookDispenser prestarts a pool of server objects Book. 4. The server object creates its JDBC helper BookDB which connects to the database. 5. On the other side, the client connects to the BookDispenser. 6. If successful login , a server object will be allocated for each client. At the same time, the client will creates the ClientControl thread for callback. 7. The client invokes the operations provided by the server object. 8. After the user exit, the server object will be released for the other clients. 7 December 2018

Testing Accuracy Performance Test strategy functions response time Server on Solar Client on Windows NT and Unix Workstation 12 concurrent users 1. The testing is concentrated on the accuracy of functions and the performance 2. A server is run on solar Workstation and the client are on both Windows NT and Unix Workstation with a total of 12 concurrent users. 7 December 2018

Results Concurrent update High throughput Enforce Business rules Response time: initial loading of Opening Screen display of Seat Reservation Screen others The concurrent update is success. The throughput is high The data integrity is maintained The response time for initial loading of Opening Screen is 30s and display of Seat Reservation Screen 3-4 for Windows NT and almost 10 seconds for Unix Workstation. These are due to the starting of the Java Applet and the creation of seat objects. The display of other screens are all within 1 to 2 seconds. 7 December 2018

Discussion (1) Accuracy and Performance number of concurrent users ? 12 efficiency : No attribute in Interfaces transfer in single a operation 1. Although 12 users may be small, this is sufficiently large to support real situation. In real case, there may be hundreds of users simultaneously logon the system and invoke the functions on the server. However, in most of times they are browsing the information rather than inserting/updating the same records. The no. of conflict is expected small. 2. In the IDL design, there are no attribute in all the interfaces. The transfer of data is done in a single operation rather a group of get and set operations. 7 December 2018

Discussion (2) Design Strategy prestart server objects multi-server on different machines load balancing flexibility and reliability thin client UI portability 1. In our design strategy, the server objects are prestarted first to minimized the database connection time. 2. We may have multiple server on different machines to share the workload. It also provides flexibility and reliability. 3. We have maintained a ‘thin client’. It only handles the necessary user interface and hence the portability increases. 7 December 2018

Discussion (3) Enhancement multiple databases on different servers replication fault tolerance Object-Oriented Database object oriented design approach reduce the locking granularity 1. Here are enhancement of the system. 2. The first is to use multiple databases on different servers for replication and fault tolerance 3. The other one is to use the Object-Oriented Database instead of Relational Database to adhere with the object oriented approach. Also it can reduce the locking granularity. 7 December 2018

Discussion (4) Reusability Scalability Maintainability Interoperability Ease of use 1. Besides, the use of CORBA also facilitates the other aspects, including the Reusability and Scalability of the system, the ease of maintenance, the interoperability with other system, the ease of use of the architecture. 7 December 2018

Conclusion The best middleware: Drawbacks: independence of hardware platform free choice of operation system neutrality in programming language openness and industrial standard Drawbacks: complexity lack of visual development tools 1Through the implementation of the system, it shows that CORBA is the best middleware. Its independence of hardware platform, allowance of free choice of operation system, neutrality in programming language and its openness and follow the industrial standard has made it a powerful architecture. 2. However, its still has some drawbacks 3. It is rather complex. It dose take times even for experienced programmer to understand and implement. 4. Besides, the lack of visual development tools also obstacle the development time. 5. To summarize, CORBA can enhance the development of distributed system. 7 December 2018

Q & A You are welcome! 7 December 2018