Presentation is loading. Please wait.

Presentation is loading. Please wait.

Presented by Kam Shu Kai, Andy Student No.:

Similar presentations


Presentation on theme: "Presented by Kam Shu Kai, Andy Student No.:"— Presentation transcript:

1 Booking Service on Internet to Demonstrate Distributed Transaction on CORBA
Presented by Kam Shu Kai, Andy Student No.: 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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 Implementation (3) Database Programming tools
Relational database : Oracle8 Server, Release 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 Q & A You are welcome! 7 December 2018


Download ppt "Presented by Kam Shu Kai, Andy Student No.:"

Similar presentations


Ads by Google