Lecture 7: Java RMI. CS178: Programming Parallel and Distributed Systems. February 14, 2001 Steven P. Reiss
|
|
|
- Anne Lang
- 9 years ago
- Views:
Transcription
1 Lecture 7: Java RMI CS178: Programming Parallel and Distributed Systems February 14, 2001 Steven P. Reiss I. Overview A. Last time we started looking at multiple process programming 1. How to do interprocess communications B. We looked first at sockets as a basic mechanism 1. Sockets provide the tools to communication 2. Two-way communications links C. But sockets aren t a logical approach 1. Want to deal with messages rather than raw data 2. Message mechanisms can be built on sockets D. What type of messages to consider 1. Informative messages -- process A informing process B that something happened 2. Data messages -- process A providing data to process B 3. Command messages -- process A asking process B to do something; process B sending the result of that request back to process A E. Central Message Server Architecture 1. Tools describe the messages they want to receive a) Either the commands they accept b) Or the information they want to know about 2. Tools send messages to the server a) Messages rebroadcast to interested tools 3. Tools can reply to messages (especially commands) a) Replies sent back to original sender CS178 Programming Parallel and Distributed Systems 1 Lecture 7
2 II. Remote Procedure Calls A. If we are sending commands across sockets 1. Why not think of these as procedure calls a) They are issued in one process b) And executed in a second process 2. This is the notion of remote procedure calls B. RPC availability 1. RPC has been around for quite a while a) Execution model b) Execution model with multiple threads 2. RPC tools a) Automatic generation of STUBS and SKELETONS from C declarations b) Libraries to do all the data encoding and decoding c) Libraries to handle authentication, finding servers,... III.Remote objects A. Motivation 1. As we move from procedural to OO programming 2. These should be method calls on remote objects 3. This is the basic idea in modern distributed message passing systems B. What are the issues that arise here 1. Identifying the object to be called 2. Passing arguments to the routine/method a) All the previous problems b) But objects are generally pointers, how to deal c) Also, how to deal with passing remote objects 3. Synchronous vs. asynchronous calls 4. Handling failure C. Lets start with what remote objects would look like to a client and server program 1. Diagram of object in server CS178 Programming Parallel and Distributed Systems 2 Lecture 7
3 2. What exists in the client a) Client needs an object for the programming language to work b) If I call a method on this object what should happen c) This yields a STUB 3. What exists in the server a) First the object must exist (we have that already) b) Second, someone has to take the message describing the call and decode it, make the call, encode the result, and send a message back c) This is a all class dependent d) Managed by a SKELETON for that class D. Representing remote objects in a language 1. The object needs to be the same in the client and the server a) But you have a stub in the client and a real object in the server b) But the two have different functionality c) What language construct provides for this 2. Remote objects are typically represented as interfaces a) This lets code ignore whether object is local/remote b) Allows for arbitrary implementation of the remote object c) This is done for CORBA, COM, and RMI in slightly different ways (1) COBRA, COM -- invent their own interfaces outside the language (2) Java RMI -- uses Java interfaces inside the language IV. Java RMI A. Representing Remote Objects 1. A RMI remote object is described by an interface a) That inherits from java.rmi.remote 2. Lets look at an example CS178 Programming Parallel and Distributed Systems 3 Lecture 7
4 a) Suppose we want to implement a calculator that operates remotely b) We define a calculator interface extending Remote B. Handling Errors 1. If we deal with multiple processes connected by a network, we lose control of lots of things a) Either process could be terminated or die b) The network might go down c) The processes might not agree on things (e.g. data formats) d) The code being executed can throw an exception 2. We want to ensure that the program deals with these cases in a reasonable way a) And make sure the programmer is aware that things can go wrong b) Thus all remote methods must be declared to throw java.rmi.remoteexception c) Or one of its supertypes (Exception, IOException) 3. Thus we have to change our example interface C. Implementing the remote class 1. We next have to define the class that exists in the server a) This will implement the remote interface b) But it has to do more (1) Slightly odd semantics for garbage collection, equals, hashcode (2) Handle creating an object to export (3) Server has to be registered so people can find the object 2. Thus the server has to inherit from RemoteServer a) java.rmi.server.unicastremoteobject b) Other choices (1) Designed so you can implement replicated objects CS178 Programming Parallel and Distributed Systems 4 Lecture 7
5 (2) Designed so you can create objects that automatically start a server 3. But method implementations are straightforward a) Throw remote exception, but otherwise as would be expected b) Continue with our example V. RMI Overall Architecture A. In order to use RMI, the client must be able to find the objects in order to call them 1. This is done by a separate process, the RMI Registry 2. Servers register remote objects with the registry 3. Clients lookup and get handles to these objects B. Starting the registry 1. rmiregistry command starts a registry 2. This should be run as a background process 3. Started once on the machine is enough 4. Runs at port 1099 by default C. Then there are calls to register/lookup names 1. Names are URL-like qualified items a) //host/dir/dir/item b) Use your own scheme to ensure uniqueness 2. Getting the registery a) You can access a registry explicitly b) Or use the default registry (easier) via java.rmi.naming 3. Binding calls a) Naming.bind(String url,remote obj) throws Already- BoundException, MalformedURLException, Remote- Exception b) Naming.rebind(String url,remote obj) throws MalformedURLException, RemoteException 4. Lookup calls a) Remote Naming.lookup(String url) throws NotBoundException, MalformedURLException, RemoteException CS178 Programming Parallel and Distributed Systems 5 Lecture 7
6 b) String [] list(string url) throws provides a list of names bound at the given registry D. Implementing the server itself 1. The server has to do a couple of things a) Install a security manager if you are going to be working with applets, etc. if (System.getSecurityManager() == null) { System.setSecurityManager(new RMISecurityManager()) } b) Create the server object c) Register that object using Naming.(re)bind 2. Put this into our example as main() in server a) Note that adding a remote object creates background threads that will keep running even after main exits b) These threads wait for the objects E. Implementing a client 1. The client needs to do a couple of things as well a) Install a security manager for applets, etc. b) Lookup the object to work with c) Invoke it. 2. Find the remote object a) Naming.lookup(url) 3. Invoke the remote object as you would normally a) Handling RemoteException at all points 4. Add this to our example as a test class VI.Next Time A. What is happening behind the scenes 1. Skeletons and stubs 2. Generating skeletons and stubs B. How arguments are passed 1. Object serialization and class loading 2. Passing remote objects 3. Receiving remote objects CS178 Programming Parallel and Distributed Systems 6 Lecture 7
7 C. Server complexities 1. Finding the proper server 2. Handling multiple servers 3. Creating a new server where appropriate D. Other remote object models 1. CORBA 2. DCOM CS178 Programming Parallel and Distributed Systems 7 Lecture 7
Remote Method Invocation in JAVA
Remote Method Invocation in JAVA Philippe Laroque [email protected] $Id: rmi.lyx,v 1.2 2003/10/23 07:10:46 root Exp $ Abstract This small document describes the mechanisms involved
Remote Method Invocation
Remote Method Invocation The network is the computer Consider the following program organization: method call SomeClass AnotherClass returned object computer 1 computer 2 If the network is the computer,
When the transport layer tries to establish a connection with the server, it is blocked by the firewall. When this happens, the RMI transport layer
Firewall Issues Firewalls are inevitably encountered by any networked enterprise application that has to operate beyond the sheltering confines of an Intranet Typically, firewalls block all network traffic,
Remote Method Invocation (RMI)
Remote Method Invocation (RMI) Remote Method Invocation (RMI) allows us to get a reference to an object on a remote host and use it as if it were on our virtual machine. We can invoke methods on the remote
! "# $%&'( ) * ).) "%&' 1* ( %&' ! "%&'2 (! ""$ 1! ""3($
! "# $%&'( ) * +,'-( ).) /"0'" 1 %&' 1* ( %&' "%&'! "%&'2 (! ""$ 1! ""3($ 2 ', '%&' 2 , 3, 4( 4 %&'( 2(! ""$ -5%&'* -2%&'(* ) * %&' 2! ""$ -*! " 4 , - %&' 3( #5! " 5, '56! "* * 4(%&'(! ""$ 3(#! " 42/7'89.:&!
H2O A Lightweight Approach to Grid Computing
H2O A Lightweight Approach to Grid Computing Roberto Podesta [email protected] References Emory University (Atlanta, GA, USA) Distributed Computing Laboratory Director: Prof. Vaidy Sunderam Project
Middleware Lou Somers
Middleware Lou Somers April 18, 2002 1 Contents Overview Definition, goals, requirements Four categories of middleware Transactional, message oriented, procedural, object Middleware examples XML-RPC, SOAP,
Programmation RMI Sécurisée
Programmation RMI Sécurisée 5 janvier 2012 D après http ://blogs.oracle.com/lmalventosa/entry/using_the_ssl_tls_based. A Code RMI de Base A.1 Les fichiers Hello.java public i n t e r f a c e Hello extends
Network Communication
Network Communication Outline Sockets Datagrams TCP/IP Client-Server model OSI Model Sockets Endpoint for bidirectional communication between two machines. To connect with each other, each of the client
Report of the case study in Sistemi Distribuiti A simple Java RMI application
Report of the case study in Sistemi Distribuiti A simple Java RMI application Academic year 2012/13 Vessio Gennaro Marzulli Giovanni Abstract In the ambit of distributed systems a key-role is played by
Introduction CORBA Distributed COM. Sections 9.1 & 9.2. Corba & DCOM. John P. Daigle. Department of Computer Science Georgia State University
Sections 9.1 & 9.2 Corba & DCOM John P. Daigle Department of Computer Science Georgia State University 05.16.06 Outline 1 Introduction 2 CORBA Overview Communication Processes Naming Other Design Concerns
Introduction to Web Services
Department of Computer Science Imperial College London CERN School of Computing (icsc), 2005 Geneva, Switzerland 1 Fundamental Concepts Architectures & escience example 2 Distributed Computing Technologies
A Distributed Object Model for the Java System
The following paper was originally published in the Proceedings of the USENIX 1996 Conference on Object-Oriented Technologies Toronto, Ontario, Canada, June 1996. A Distributed Object Model for the Java
Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Middleware. Chapter 8: Middleware
Middleware 1 Middleware Lehrstuhl für Informatik 4 Middleware: Realisation of distributed accesses by suitable software infrastructure Hiding the complexity of the distributed system from the programmer
Infrastructure that supports (distributed) componentbased application development
Middleware Technologies 1 What is Middleware? Infrastructure that supports (distributed) componentbased application development a.k.a. distributed component platforms mechanisms to enable component communication
Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.
Interprocess communication (Part 2) For an application to send something out as a message, it must arrange its OS to receive its input. The OS is then sends it out either as a UDP datagram on the transport
A Java-based system support for distributed applications on the Internet
A Java-based system support for distributed applications on the Internet D. Hagimont 1, D. Louvegnies 2 SIRAC Project INRIA, 655 av. de l Europe, 38330 Montbonnot Saint-Martin, France Abstract: We have
Invocación remota (based on M. L. Liu Distributed Computing -- Concepts and Application http://www.csc.calpoly.edu/~mliu/book/index.
Departament d Arquitectura de Computadors Invocación remota (based on M. L. Liu Distributed Computing -- Concepts and Application http://www.csc.calpoly.edu/~mliu/book/index.html) Local Objects vs. Distributed
Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures
Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable
Elements of Advanced Java Programming
Appendix A Elements of Advanced Java Programming Objectives At the end of this appendix, you should be able to: Understand two-tier and three-tier architectures for distributed computing Understand the
Overview of CORBA 11.1 I NTRODUCTION TO CORBA. 11.4 Object services 11.5 New features in CORBA 3.0 11.6 Summary
C H A P T E R 1 1 Overview of CORBA 11.1 Introduction to CORBA 11.2 CORBA architecture 11.3 Client and object implementations 11.4 Object services 11.5 New features in CORBA 3.0 11.6 Summary In previous
Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications
Chapter 6. CORBA-based Architecture 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications 1 Chapter 6. CORBA-based Architecture Part 6.1 Introduction to
Java Remote Method Invocation Specification
Java Remote Method Invocation Specification Java Remote Method Invocation (RMI) is a distributed object model for the Java programming language that retains the semantics of the Java platform s object
SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems
SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE
COMMMUNICATING COOPERATING PROCESSES
COMMMUNICATING COOPERATING PROCESSES The producer-consumer paradigm A buffer of items can be filled by the producer and emptied by the consumer. The producer and the consumer must be synchronized: the
Web Services. Copyright 2011 Srdjan Komazec
Web Services Middleware Copyright 2011 Srdjan Komazec 1 Where are we? # Title 1 Distributed Information Systems 2 Middleware 3 Web Technologies 4 Web Services 5 Basic Web Service Technologies 6 Web 2.0
Interface Definition Language
Interface Definition Language A. David McKinnon Washington State University An Interface Definition Language (IDL) is a language that is used to define the interface between a client and server process
It is the thinnest layer in the OSI model. At the time the model was formulated, it was not clear that a session layer was needed.
Session Layer The session layer resides above the transport layer, and provides value added services to the underlying transport layer services. The session layer (along with the presentation layer) add
The Java Series Introduction to Java RMI and CORBA. The Java Series. Java RMI and CORBA Raul RAMOS / CERN-IT User Support Slide 1
The Java Series Introduction to Java RMI and CORBA Raul RAMOS / CERN-IT User Support Slide 1 What are RMI and CORBA for? Usually, in your application, once you instantiate objects, you can invoke methods
XII. Distributed Systems and Middleware. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini
XII. Distributed Systems and Middleware Laurea Triennale in Informatica Corso di Outline Distributed Systems Basics Middleware generalities Middleware for Distributed Objects Distributed Computing Models
Lesson 4 Web Service Interface Definition (Part I)
Lesson 4 Web Service Interface Definition (Part I) Service Oriented Architectures Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Interface Definition Languages (1) IDLs
Applets, RMI, JDBC Exam Review
Applets, RMI, JDBC Exam Review Sara Sprenkle Announcements Quiz today Project 2 due tomorrow Exam on Thursday Web programming CPM and servlets vs JSPs Sara Sprenkle - CISC370 2 1 Division of Labor Java
Virtual machine interface. Operating system. Physical machine interface
Software Concepts User applications Operating system Hardware Virtual machine interface Physical machine interface Operating system: Interface between users and hardware Implements a virtual machine that
Division of Informatics, University of Edinburgh
CS1Bh Lecture Note 20 Client/server computing A modern computing environment consists of not just one computer, but several. When designing such an arrangement of computers it might at first seem that
How To Write A Network Operating System For A Network (Networking) System (Netware)
Otwarte Studium Doktoranckie 1 Adaptable Service Oriented Architectures Krzysztof Zieliński Department of Computer Science AGH-UST Krakow Poland Otwarte Studium Doktoranckie 2 Agenda DCS SOA WS MDA OCL
Java Network. Slides prepared by : Farzana Rahman
Java Network Programming 1 Important Java Packages java.net java.io java.rmi java.security java.lang TCP/IP networking I/O streams & utilities Remote Method Invocation Security policies Threading classes
Communication. Layered Protocols. Topics to be covered. PART 1 Layered Protocols Remote Procedure Call (RPC) Remote Method Invocation (RMI)
Distributed Systems, Spring 2004 1 Introduction Inter-process communication is at the heart of all distributed systems Communication Based on low-level message passing offered by the underlying network
SCALABILITY AND AVAILABILITY
SCALABILITY AND AVAILABILITY Real Systems must be Scalable fast enough to handle the expected load and grow easily when the load grows Available available enough of the time Scalable Scale-up increase
Grid Computing. Web Services. Explanation (2) Explanation. Grid Computing Fall 2006 Paul A. Farrell 9/12/2006
Grid Computing Web s Fall 2006 The Grid: Core Technologies Maozhen Li, Mark Baker John Wiley & Sons; 2005, ISBN 0-470-09417-6 Web s Based on Oriented Architecture (SOA) Clients : requestors Servers : s
Module 17. Client-Server Software Development. Version 2 CSE IIT, Kharagpur
Module 17 Client-Server Software Development Lesson 42 CORBA and COM/DCOM Specific Instructional Objectives At the end of this lesson the student would be able to: Explain what Common Object Request Broker
Load balancing using Remote Method Invocation (JAVA RMI)
Load balancing using Remote Method Invocation (JAVA RMI) Ms. N. D. Rahatgaonkar 1, Prof. Mr. P. A. Tijare 2 1 Department of Computer Science & Engg and Information Technology Sipna s College of Engg &
How To Write A Mapreduce Program In Java.Io 4.4.4 (Orchestra)
MapReduce framework - Operates exclusively on pairs, - that is, the framework views the input to the job as a set of pairs and produces a set of pairs as the output
Chapter 2: Remote Procedure Call (RPC)
Chapter 2: Remote Procedure Call (RPC) Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) [email protected] http://www.iks.inf.ethz.ch/ Contents - Chapter 2 - RPC
Service Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence [email protected] Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
SMTP-32 Library. Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows. Version 5.2
SMTP-32 Library Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows Version 5.2 Copyright 1994-2003 by Distinct Corporation All rights reserved Table of Contents 1 Overview... 5 1.1
Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents
Agent Languages Requirements Overview Java Tcl/Tk Telescript Evaluation Franz J. Kurfess, Cal Poly SLO 211 Requirements for agent Languages distributed programming large-scale (tens of thousands of computers)
Tuple spaces and Object spaces. Distributed Object Systems 12. Tuple spaces and Object spaces. Communication. Tuple space. Mechanisms 2.
Distributed Object Systems 12 Tuple spaces and Object spaces Tuple spaces and Object spaces Tuple spaces Shared memory as a mechanism for exchanging data in a distributed setting (i.e. separate from processes)
Service-Oriented Architecture and Software Engineering
-Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based
Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies
Szolgáltatásorientált rendszerintegráció Comparison of component technologies Simon Balázs, BME IIT Outline Definitions Component technologies RPC, RMI, CORBA, COM+,.NET, Java, OSGi, EJB, SOAP web services,
PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE
PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE TIGRAN HAKOBYAN SUJAL PATEL VANDANA MURALI INTRODUCTION Common Object Request
RMI Client Application Programming Interface
RMI Client Application Programming Interface Java Card 2.2 Java 2 Platform, Micro Edition Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 U.S.A. 650-960-1300 June, 2002 Copyright 2002 Sun
The Microsoft Way: COM, OLE/ActiveX, COM+ and.net CLR. Chapter 15
The Microsoft Way: COM, OLE/ActiveX, COM+ and.net CLR Chapter 15 Microsoft is continually reengineering its existing application and platform base. Started with VBX, continued with OLE, ODBC, ActiveX,
25 May 11.30 Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy
UK CMG Presentation 25 May 11.30 Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy Is Performance a Problem? Not using appropriate performance tools will cause
Architecture of the CORBA Component Model CORBA 3.0
Architecture of the CORBA Component Model CORBA 3.0 What is CORBA CORBA (Common Request Broker Architecture) is a distributed object-oriented client server platform. It provides: An object oriented remote
B) Using Processor-Cache Affinity Information in Shared Memory Multiprocessor Scheduling
A) Recovery Management in Quicksilver 1) What role does the Transaction manager play in the recovery management? It manages commit coordination by communicating with servers at its own node and with transaction
Introduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture
Introduction to CORBA 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture 1. Introduction CORBA is defined by the OMG The OMG: -Founded in 1989 by eight companies as a non-profit
Design Patterns in C++
Design Patterns in C++ Concurrency Patterns Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa May 4, 2011 G. Lipari (Scuola Superiore Sant Anna) Concurrency Patterns May 4,
Transparent Redirection of Network Sockets 1
Transparent Redirection of Network Sockets Timothy S. Mitrovich, Kenneth M. Ford, and Niranjan Suri Institute for Human & Machine Cognition University of West Florida {tmitrovi,kford,[email protected].
USING THE SOFTWARE ADAPTER TO CONNECT LEGACY SIMULATION MODEL TO THE RTI
USING THE SOFTWARE ADAPTER TO CONNECT LEGACY SIMULATION MODEL TO THE RTI By Deepak Kumar R Rachapalli B.Tech, JNTU University, July 2001 A thesis submitted in partial fulfillment of the requirements for
Distributed Internet Applications - DIA. Principles of Object-Oriented Middleware
Distributed Internet Applications - DIA Principles of Object-Oriented Middleware 1 Why Middleware? Distributed system construction directly on top of a transport layer is rather difficult. The communication
Getting Started with the Internet Communications Engine
Getting Started with the Internet Communications Engine David Vriezen April 7, 2014 Contents 1 Introduction 2 2 About Ice 2 2.1 Proxies................................. 2 3 Setting Up ICE 2 4 Slices 2
Transport layer protocols. Message destination: Socket +Port. Asynchronous vs. Synchronous. Operations of Request-Reply. Sockets
Transport layer protocols Interprocess communication Synchronous and asynchronous comm. Message destination Reliability Ordering Client Server Lecture 15: Operating Systems and Networks Behzad Bordbar
CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun
CS550 Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun Email: [email protected], Phone: (312) 567-5260 Office hours: 2:10pm-3:10pm Tuesday, 3:30pm-4:30pm Thursday at SB229C,
Transparent Redirection of Network Sockets 1
Transparent Redirection of Network Sockets 1 Timothy S. Mitrovich, Kenneth M. Ford, and Niranjan Suri Institute for Human & Machine Cognition University of West Florida {tmitrovi,kford,nsuri}@ai.uwf.edu
Implementing Java Distributed Objects with JDBC
Implementing Java Distributed Objects with JDBC Pritisha 1, Aashima Arya 2 1,2 Department of Computer Science Bhagwan Mahaveer institute of engineering & technology (BMIET), Deenbandhu Chhotu Ram University
e-gov Architecture Service Interface Guidelines
1 Introduction... 4 2 Mandatory Standards... 5 2.1 WSDL... 5 2.1.1 Service Definition Layer... 5 2.1.2 Binding Layer... 6 2.2 SOAP... 7 2.3 UDDI... 8 2.3.1 Different types of UDDI registries... 8 2.3.2
COM 440 Distributed Systems Project List Summary
COM 440 Distributed Systems Project List Summary This list represents a fairly close approximation of the projects that we will be working on. However, these projects are subject to change as the course
Internet and Intranet Protocols and Applications
Internet and Intranet Protocols and Applications Lecture 9x: Grading the SMTP Assignment March 26, 2003 Arthur Goldberg Computer Science Department New York University [email protected] Basic Functionality
Going Interactive: Combining Ad-Hoc and Regression Testing
Going Interactive: Combining Ad-Hoc and Regression Testing Michael Kölling 1, Andrew Patterson 2 1 Mærsk Mc-Kinney Møller Institute, University of Southern Denmark, Denmark [email protected] 2 Deakin University,
Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday
Lecture 17: Mobile Computing Platforms: Android Mythili Vutukuru CS 653 Spring 2014 March 24, Monday Mobile applications vs. traditional applications Traditional model of computing: an OS (Linux / Windows),
Tier Architectures. Kathleen Durant CS 3200
Tier Architectures Kathleen Durant CS 3200 1 Supporting Architectures for DBMS Over the years there have been many different hardware configurations to support database systems Some are outdated others
CORBA, DCOP and DBUS. A performance comparison.
CORBA, DCOP and DBUS. A performance comparison. Abstract For quite a while now I have been under the impression that the CORBA IPC/RPC mechanism used by the GNOME desktop environment was bloated and slow.
7 Why Use Perl for CGI?
7 Why Use Perl for CGI? Perl is the de facto standard for CGI programming for a number of reasons, but perhaps the most important are: Socket Support: Perl makes it easy to create programs that interface
www.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 www.virtualians.pk
CS506 Web Design and Development Solved Online Quiz No. 01 Which of the following is a general purpose container? JFrame Dialog JPanel JApplet Which of the following package needs to be import while handling
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
Introduction into Web Services (WS)
(WS) Adomas Svirskas Agenda Background and the need for WS SOAP the first Internet-ready RPC Basic Web Services Advanced Web Services Case Studies The ebxml framework How do I use/develop Web Services?
Mutual Exclusion using Monitors
Mutual Exclusion using Monitors Some programming languages, such as Concurrent Pascal, Modula-2 and Java provide mutual exclusion facilities called monitors. They are similar to modules in languages that
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles Jørgen Thelin Chief Scientist Cape Clear Software Inc. Abstract The three common software architecture styles
A Short Introduction to Android
A Short Introduction to Android Notes taken from Google s Android SDK and Google s Android Application Fundamentals 1 Plan For Today Lecture on Core Android Three U-Tube Videos: - Architecture Overview
Network/Socket Programming in Java. Rajkumar Buyya
Network/Socket Programming in Java Rajkumar Buyya Elements of C-S Computing a client, a server, and network Client Request Result Network Server Client machine Server machine java.net Used to manage: URL
EJB & J2EE. Component Technology with thanks to Jim Dowling. Components. Problems with Previous Paradigms. What EJB Accomplishes
University of Dublin Trinity College EJB & J2EE Component Technology with thanks to Jim Dowling The Need for Component-Based Technologies The following distributed computing development paradigms have
NETWORKING FEATURES OF THE JAVA PROGRAMMING LANGUAGE
50-20-44 DATA COMMUNICATIONS MANAGEMENT NETWORKING FEATURES OF THE JAVA PROGRAMMING LANGUAGE John P. Slone INSIDE Java s Target Environment, Networking Basics, Java Networking Primitives, Connection-Oriented
Mail User Agent Project
Mail User Agent Project Tom Kelliher, CS 325 100 points, due May 4, 2011 Introduction (From Kurose & Ross, 4th ed.) In this project you will implement a mail user agent (MUA) that sends mail to other users.
Distributed Objects and Components
Distributed Objects and Components Introduction This essay will identify the differences between objects and components and what it means for a component to be distributed. It will also examine the Java
Java and Distributed Object Models: An Analysis
Abstract Java and Distributed Object Models: An Analysis Marjan Hericko *, Matjaz B. Juric *, Ales Zivkovic *, Ivan Rozman *, Tomaz Domajnko *, Marjan Krisper ** * University of Maribor, Faculty of Electrical
CSE 544 Principles of Database Management Systems. Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture
CSE 544 Principles of Database Management Systems Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture References Anatomy of a database system. J. Hellerstein and M. Stonebraker. In Red Book (4th
Lecture 17. Process Management. Process Management. Process Management. Inter-Process Communication. Inter-Process Communication
Process Management Lecture 17 Review February 25, 2005 Program? Process? Thread? Disadvantages, advantages of threads? How do you identify processes? How do you fork a child process, the child process
Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c 2004 2011
Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions
Chapter 2: Enterprise Applications from a Middleware Perspective
Chapter 2: Enterprise Applications from a Middleware Perspective In this chapter, we give an introduction to enterprise applications from a middleware perspective. Some aspects have already been outlined
