Airline Reservation System Dr.Paul Schragger Distributed Systems Presented By Archana Annamaneni.

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
Remote Method Invocation (RMI) Mixing RMI and sockets
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Remote Method Invocation in Java Bennie Lewis EEL 6897.
Distributed Object & Remote Invocation Vidya Satyanarayanan.
Advanced Programming Rabie A. Ramadan Lecture 4. A Simple Use of Java Remote Method Invocation (RMI) 2.
Remote Method Invocation
Company LOGO Remote Method Invocation Georgi Cholakov, Emil Doychev, University of Plovdiv “Paisii.
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
FONG CHAN SING (143334) WONG YEW JOON (143388). JAVA RMI is a distributive system programming interface introduced in JDK 1.1. A library that allows an.
Introduction To System Analysis and Design
Comparison of the RMI and the socket APIs
Middleware Technologies compiled by: Thomas M. Cosley.
Component-Based Software Engineering Introducing the Bank Example Paul Krause.
How Does Remote Method Invocation Work? –Systems that use RMI for communication typically are divided into two categories: clients and servers. A server.
Communication in Distributed Systems –Part 2
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
Lesson 3 Remote Method Invocation (RMI) Mixing RMI and sockets Rethinking out tic-tac-toe game.
Client/Server Software Architectures Yonglei Tao.
Web Application Architecture and Communication. Displaying a Web page in a Browser
Chapter 9 Message Passing Copyright © Operating Systems, by Dhananjay Dhamdhere Copyright © Operating Systems, by Dhananjay Dhamdhere2 Introduction.
+ A Short Java RMI Tutorial Usman Saleem
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
CS425 /CSE424/ECE428 – Distributed Systems – Fall Nikita Borisov - UIUC1 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S.
LAB 1CSIS04021 Briefing on Assignment One & RMI Programming February 13, 2007.
Spring/2002 Distributed Software Engineering C:\unocourses\4350\slides\DefiningThreads 1 RMI.
RMI RMI is the java API that facilitate distributed computing by allowing remote method calls. A remote method call represents a method invocation between.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
RMI Remote Method Invocation Distributed Object-based System and RPC Together 2-Jun-16.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
 Remote Method Invocation  A true distributed computing application interface for Java, written to provide easy access to objects existing on remote.
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 43 Remote Method Invocation.
Final Project Presentation Distributed Systems (CSC 8530)
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
Remote Procedure Calls CS587x Lecture Department of Computer Science Iowa State University.
Distributed Objects & Remote Invocation
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Web Services An Introduction Copyright © Curt Hill.
Remote Method Invocation A Client Server Approach.
UMBC Distributed Computing with Objects RMI/Corba CMSC 432 Shon Vick.
Java Distributed Object Model A remote object is one whose methods can be invoked from another JVM on a different host. It implements one or more remote.
CSC 480 Software Engineering Lab 6 – RMI Nov 8, 2002.
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 29 Remote Method.
Distributed Objects. Contents I. The Roles of Client and Server II. Remote Method Calls III. The RMI Programming Model IV. Parameters and Return Values.
Java Distributed Computing
Distributed Computing
Java Distributed Computing
Remote Method Invocation
What is RMI? Remote Method Invocation
CHAPTER 3 Architectures for Distributed Systems
Remote Method Invocation
#01 Client/Server Computing
Subject Name: OPERATING SYSTEMS Subject Code: 10EC65
Network and Distributed Programming in Java
Programming Models for Distributed Application
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
CSE 451: Operating Systems Autumn 2003 Lecture 16 RPC
Chapter 40 Remote Method Invocation
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Remote method invocation (RMI)
Creating a Distributed System with Remote Procedure Calls and Web Services Ch.5 B.Ramamurthy 2/17/2019 B.Ramamurthy.
Remote Method Invocation
Chapter 46 Remote Method Invocation
Chapter 46 Remote Method Invocation
Java Remote Method Invocation
CSE 451: Operating Systems Winter 2003 Lecture 16 RPC
#01 Client/Server Computing
Presentation transcript:

Airline Reservation System Dr.Paul Schragger Distributed Systems Presented By Archana Annamaneni

INTRODUCTION The software used to drive real-world airline reservations is complex. It needs to respond to thousands of simultaneous users and interact with constantly changing flight data. The airline reservation software developed in this project, only models a small number of transactions Technology:JAVA RMI

PURPOSE The primary purpose of doing this project is to learn the concepts of distributed systems and to learn JAVA RMI technology. Transferring data is basic computational operation. Java’s message-method paradigm transfers data from a calling object to a called object within a single Java virtual machine. We can cross virtual machine boundaries using sockets, to transfer data from one host to another.If we consider both paradigms- method calls and sockets – achieves the same goal: the transfer of data. If we consider the two methods, it’s easier to invoke a method than to send a message over a socket. And RMI achieves to send data to a remote host as easily as we invoke a method.

Architecture Database

USE-CASES Actor searches for a flight Actor makes reservation Actor searches for an active reservation

Activity Diagram desired flight exists Actor leaves Actor searches for a flight Actor selects a flight Actor makes reservation Actor looks for active reservation

Implementation The following are the three transactions implemented in the project Search Flights: returns each flight details stored in the database Book Seat: It does a reservation for a specified passenger and a flight. The transaction makes several simplifying assumptions like the passenger and flight must already exist as entities; the transaction does not create new passengers or flights. It informs if the flight does not exist, and if it does not reserve a seat. Show Reservation: returns the reservation information for a specific passenger identified by passenger number. It informs if the passenger does not exist

Class Diagram

Actor Searches For A Flight

Actor makes reservation

Actor looks for an active reservation

Issues Covered Related To DS Scalability Concurrency Openness

int theReservationNo = si.lockSeat(theConnection,flight_no,passenger_no); String query = "Delete From LockedSeat Where ReservationNo ="+theReservationNo; int n = st.executeUpdate(query); int seats = flight.getSeats(); int reservations = flight.getReservations(); if(reservations >=seats)throw new FlightBookedException(); flight.setReservations(reservations+1); flight.dbWrite(db); query ="Insert Into LockedSeat"+"(ReservationN,FlightNo,PassengerNo,TimeStamp) Values ('"+theReservationNo+"','"+theFlightNo+"','" +thePassengerNo+"','" +new Timestamp(new date())+"')"; int up = st.executeUpdate(query); db.commit(); Reservation res = new Reservation(theReservationNo, flight_no,passenger_no); int reser = res.dbWrite(theConnection); Flight flight =Flight.getInstance(db,flight_no); Int reservations=flight.getReservations(); Flight.serReservations(reservations-1); Flight.dbWrite(db); db.commit();

Key Technology:RMI RMI Registry A naming service is an application that runs on a central server and functions like a phone book In RMI, the default naming service that ships with JDK is called the RMI Registry Server: serverInterface s = new serverImpl(); Naming.rebind(“rmi://localhost:1099/ARServer”,s); Client: serverInterface theServer =(serverInterface)Naming.lookup(“rmi://localhost/ARServer”)

Key Technology Continued…… theServer.searchFlights() marshal parameters send request unmarshal parameters invoke implementation return Flight[] impl receive return(or exception) marshal return(or exception) skel send reply unmarshal reply stub return value(throw exception)

Conclusion How Important Design and Analysis is? Real time problems while developing a distributed application Ways to implement Synchronization