Distributed Computing

Slides:



Advertisements
Similar presentations
What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
Advertisements

RPC Robert Grimm New York University Remote Procedure Calls.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Advanced Programming Rabie A. Ramadan Lecture 4. A Simple Use of Java Remote Method Invocation (RMI) 2.
Remote Method Invocation
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
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.
Advanced Java Class Network Programming. Network Protocols Overview Levels of Abstraction –HTTP protocol: spoken by Web Servers and Web Clients –TCP/IP:
1 HANDOUT 14 Remote Method Invocation (RMI) BY GEORGE KOUTSOGIANNAKIS THIS DOCUMENT CAN NOT BE REPRODUCED OR DISTRIBUTED WITHOUT TH E WRITTEN PERMISSION.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
Sockets  Defined as an “endpoint for communication.”  Concatenation of IP address + port.  Used for server-client communication.  Server waits for.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Middleware Technologies compiled by: Thomas M. Cosley.
Project Title: Cobra Implementation on Association Service.
Integration case study Week 8 – Lecture 1. Enrolment request (Workstation) Application server Database server Database New University Student Record System.
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.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Abhishek Bachchan Vishal Patangia
Silberschatz, Galvin, and Gagne  1999 Applied Operating System Concepts Chapter 15: Distributed Communication Sockets Remote Procedure Calls (RPCs) Remote.
Java Remote Method Invocation RMI. Idea If objects communicate with each other on one JVM why not do the same on several JVM’s? If objects communicate.
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.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
Java Programming: Advanced Topics 1 Networking Programming Chapter 11.
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.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
Additional Topics. DDM Distributed Data Management files [ Type(*File) and Attr(DDMF)] –objects that represent files that exist on a remote system. For.
UNIT III - JDBC JDBC Overview – JDBC implementation – Connection class – Statements - Catching Database Results, handling database Queries. Networking–
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Remote Method Invocation A Client Server Approach.
1 RMI Russell Johnston Communications II. 2 What is RMI? Remote Method Invocation.
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 29 Remote Method.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Remote Method Invocation Internet Computing Workshop Lecture 17.
Java Distributed Computing
Java Distributed Computing
MCA – 405 Elective –I (A) Java Programming & Technology
Remote Method Invocation
Java RMI CS-328 Internet Programming.
CORBA Alegria Baquero.
What is RMI? Remote Method Invocation
Remote Method Invocation
Knowledge Byte In this section, you will learn about:
Network and Distributed Programming in Java
CSE 451: Operating Systems Winter 2006 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Interpreter Style Examples
CORBA Alegria Baquero.
Inventory of Distributed Computing Concepts
CSE 451: Operating Systems Winter 2007 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Chapter 40 Remote Method Invocation
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
CSE 451: Operating Systems Winter 2004 Module 19 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Chapter 46 Remote Method Invocation
Chapter 46 Remote Method Invocation
COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require understanding.
15. Proxy SE2811 Software Component Design
Copyright 1999 B.Ramamurthy
CSE 451: Operating Systems Messaging and Remote Procedure Call (RPC)
Presentation transcript:

Distributed Computing In the Java Environment

Distributed Computing: Introduction Defn: Applications composed of collaborating parts that may operate in different environments. Different hosts Different operating systems Different locations Different languages

"Pure" Java methods for distributed computing Socket-based communication Remote method invocation (RMI)

Java to non-Java distributed computing Java database connectivity (JDBC) Common Object Request Broker Architecture (CORBA)

Socket-based Java Distributed Computing Two distributed components communicate via a two-way connection between "sockets" that each establishes. Kinds of sockets: Server sockets Receive requests for connections from clients. Client sockets Send and receive data.

Socket-based Java Distributed Computing Server sockets Created only with Java apps, not applets. Client sockets Client side Can be created by Java apps and applets. Server side In response to connection requests from clients.

Server Sockets Unique port number for each. S.S. must be running on server host in order for connection to a client to be established. Server socket is an instance of the ServerSocket class (589). accept() close()

Client Sockets One is created after the server socket is contacted by a client, to allow the server application to communicate with the client that made the contact. There is a client socket at both ends. Instance of the Socket class getInputStream() getOutputStream() close()

Remote Method Invocation (RMI) Interhost communications are made transparent to the programmer. Objects residing on different hosts are treated as if they are all on the same host. JVM handles connections between hosts, and data transmission.

RMI Architecture Participants Server. Service contract. Client. Stub. Automatically generated by RMI compiler. Resides on same host as client. Skeleton. Resides on same host as server.

Remote Method Invocation (RMI) A remote method invocation: Invocation of a method of a remote object. Looks same as normal method invocation. Objects accessible from a remote host (called remote objects) implement a marker interface called java.rmi.Remote.

Java Database Connectivity (JDBC) Allows Java apps to access relational databases. .Provides a Structured Query Language (SQL) interface. JDBC drivers provide communication between Java apps and databases.

Java Database Connectivity (JDBC) Structured Query Language interface. Common SQL commands: INSERT DELETE UPDATE SELECT CREATE DROP ALTER

Common Object Request Broker Architecture (CORBA) Standardized by Object Management Group (OMG) Provides interoperability between apps written in different languages. Uses Interface Definition Language (IDL).

CORBA Architecture Components Server. Service contract. Client. Stub. Skeleton.

CORBA Object Request Broker Allows object communication independent of specific platforms. Shields client from need to know server's object location, language, or operating system.