CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

Overview Environment for Internet database connectivity
Categories of I/O Devices
Web Service Architecture
Intesar G Ali IT DepartmentPalestinian Land Authority Web services Prepared by: Intesar Ali IT Department PLA August 2010.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
1 Understanding Web Services Presented By: Woodas Lai.
RPC Robert Grimm New York University Remote Procedure Calls.
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
What is.NET?. The Clients of.NET a) A new generation of connected application b) Microsoft.NET Framework managed execution c) Allows PCs and other smart.
Tutorials 2 A programmer can use two approaches when designing a distributed application. Describe what are they? Communication-Oriented Design Begin with.
Middleware Technologies compiled by: Thomas M. Cosley.
2006 IEEE International Conference on Web Services ICWS 2006 Overview.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared.
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
1 Web Services Distributed Systems. 2 Service Oriented Architecture Service-Oriented Architecture (SOA) expresses a software architectural concept that.
1 Introduction CSIE, Da-Yeh University. 2 History of Software Development Traditional Programming Paradigm  Behind schedule, costly, and unreliable.
What are Webservices?. Web Services  What are Web Services?  Examine important Web Services acronyms (UDDI, SOAP, XML and WSDL)  What are the benefits.
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.
Chapter 6 Introduction to Web Services. Objectives By study of the chapter, you will be able to: Describe what is Web services Describe what are differences.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 23 How Web Host Servers Work.
HOW WEB SERVER WORKS? By- PUSHPENDU MONDAL RAJAT CHAUHAN RAHUL YADAV RANJIT MEENA RAHUL TYAGI.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 25 How.NET and Web Services Work How.NET and Web Services Work.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
CSC8530 Distributed Systems XML Web Services David Vaglia.
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
Lecture 15 Introduction to Web Services Web Service Applications.
Web Services (SOAP, WSDL, UDDI) SNU OOPSLA Lab. October 2005.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
Introduction to Server-Side Web Development Introduction to Server-Side Web Development using JSP and Web Services JSP and Web Services 18 th March 2005.
Chapter 10 Intro to SOAP and WSDL. Objectives By study in the chapter, you will be able to: Describe what is SOAP Exam the rules for creating a SOAP document.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved RPC Tanenbaum.
Copyright © 2013 Curt Hill SOAP Protocol for exchanging data and Enabling Web Services.
1 Web Services Web and Database Management System.
XML and Web Services (II/2546)
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
1 Engineering Web Based Legacy Systems By Kanchana Eramudugoda Distributed Computing – CS843.
Kemal Baykal Rasim Ismayilov
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
CSCE 315 – Programming Studio Spring Goal: Reuse and Sharing Many times we would like to reuse the same process or data for different purpose Want.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
Chapter 14 Advanced Architectural Styles. Objectives Describe the characteristics of a distributed system Explain how middleware supports distributed.
Web Services An Introduction Copyright © Curt Hill.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
.NET Mobile Application Development XML Web Services.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
EGEE is a project funded by the European Union under contract IST Introduction to Web Services 3 – 4 June
Web Services Blake Schernekau March 27 th, Learning Objectives Understand Web Services Understand Web Services Figure out SOAP and what it is used.
By Jeremy Burdette & Daniel Gottlieb. It is an architecture It is not a technology May not fit all businesses “Service” doesn’t mean Web Service It is.
HTML 2.0HTML 3.2 HTML 4.0 HTML 4.01 XHTML malformed, non-standard markup.
Application Sharing Bhavesh Amin Casey Miller Casey Miller Ajay Patel Ajay Patel Bhavesh Thakker Bhavesh Thakker.
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Distributed web based systems
#01 Client/Server Computing
Chapter 3: Windows7 Part 4.
Inventory of Distributed Computing Concepts and Web services
#01 Client/Server Computing
Presentation transcript:

CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer

CSIT 220 (Blum)2 Procedure A procedure (a.k.a. a method, a subroutine or a function) is a part of a program that performs a well-defined task. Procedures are used to break a complex problem down into more manageable pieces (divide and conquer). Also a well-chosen procedure may be used repeatedly (re-use).

CSIT 220 (Blum)3 Procedural Control Flow When the action defined by a procedure is required, it is called. The “control” of the program is passed to the procedure. Typically, while the procedure is performing its task, the program waits. When the procedure is done, control is passed back to whatever portion of the program called it.

CSIT 220 (Blum)4 Procedural call tree (Fig. 38.1)

CSIT 220 (Blum)5 Remote Procedural Call The idea of a remote procedural call (RPC) is that 1.If an application is “distributed” then the procedure called may be executed on another machine. 2.To whatever extent possible, the details of connecting to the other machine should be “hidden” from the programmer.

CSIT 220 (Blum)6 Distributed procedural call tree (Fig. 38.2)

CSIT 220 (Blum)7 Synchronous When the procedure is local, control is passed to it. When the procedure is remote something similar must happen. The calling of the remote procedure starts a communication session. The response (return value) is returned in the same session. The interaction between the two programs is said to be synchronous when the calling routine is suspended or blocked until it receives an answer. If the calling procedure does not have to wait, it’s called asynchronous.

CSIT 220 (Blum)8 RPC By using RPC, an application programmer could avoid the tedious programming details required to make a connection between the calling program (client) and the remotely executed subroutine (server) and could focus on the application almost as if it were executed entirely locally.

CSIT 220 (Blum)9 Stub The connection in a RPC is facilitated by using stubs. Suppose one had a purely local version of the program, one replaces the local procedure with a stub, which serves as its substitute. When the stub receives the control, it turns control over to another program (client runtime program) that takes responsibility for connecting to the remote procedure. When completed, any return values and control are passed back to the stub and ultimately the program that called the stub.

CSIT 220 (Blum)10 Stubs (Fig 38.3)

CSIT 220 (Blum)11 Server Stubs and Communication Proxy The remote procedure also has a stub that stands in for the calling program. Like the client, the server has a runtime program that manages its side of the stub-to-stub interaction. The calls to handle the pass and the response are developed by using a communication proxy. –A proxy is the set of instructions needed to handle the communication requirements.

CSIT 220 (Blum)12 Middleware Middleware is the code that allows two applications to communicate. It can be used to extend an application to a distributed system. Middleware programming has shifted from the procedural paradigm to the object-oriented paradigm. The design uses objects and the set of operations which are performed on the objects (called the methods).

CSIT 220 (Blum)13.NET The latest Microsoft platform The ambition of.NET is to seamlessly mesh applications and the internet –“The network is the computer”.NET depends on four Internet standards: –HTTP –XML –SOAP –UDDI

CSIT 220 (Blum)14.NET There are four main principles of.NET from the perspective of the user: –It erases the boundaries between applications and the Internet. –Software will be rented as a hosted service over the Internet instead of purchased on a store shelf. –Users will have access to their information on the Internet from any device, anytime, anywhere. –There will be new ways to interact with application data, such as speech and handwriting recognition.

CSIT 220 (Blum)15 SOAP Simple Object Access Protocol (SOAP) is a way for a program running in one kind of operating system (such as Windows 2000) to communicate with a program in the same or another kind of an operating system (such as Linux) by using the World Wide Web's Hypertext Transfer Protocol (HTTP) and its Extensible Markup Language (XML) as the mechanisms for information exchange.

CSIT 220 (Blum)16 SOAP SOAP specifies how to encode an HTTP header and an XML file so that a program in one computer can call a program in another computer and pass it information. It also specifies how the called program can respond. An advantage of SOAP is that program calls are much more likely to get through firewall servers that screen out requests other than those for known applications (through the designated port mechanism). –HTTP requests are usually allowed through firewalls.

CSIT 220 (Blum)17 UDDI Universal Description, Discovery, and Integration is an XML-based registry for businesses worldwide to list themselves on the Internet. Its ultimate goal is to make for efficient online transactions by enabling companies to find one another on the Web and make their systems interoperable for e-commerce. UDDI is often compared to a telephone book's white, yellow, and green pages. –A resource for brokers

CSIT 220 (Blum)18 UDDI Listings White pages are for when you know the name of what you want. Yellow pages are for when you know the type of service you want but don’t know the name. Green pages provide details about code: its purpose, its interface, its cost, etc.

CSIT 220 (Blum)19 Other References