Distributed Systems Java RMI Chat System Project documentation
|
|
- Elisabeth Randall
- 5 years ago
- Views:
Transcription
1 PatrickNeubauer,TenzinDakpa DistributedSystems FreeUniversityofBolzano RMIChatSystemdocumentation Distributed Systems Java RMI Chat System Project documentation Projectdocumentationcontent: Al g o r i t h m D e s i g n 2 o Descriptionofsequence/flowchart o U M L d i a g r a m o Classes Testing 6 o Bugs o Performance C o m p a r i s o n w i t h the TCP i m p l e m e n t a t i o n 7 Installationandusageguide 8 usageoftheserver usageofclient.html A p p e n d i x : o S o u r c e c o d e (/sourcepdfs) Server.java ServerInterface.java ChatObject.java ChatObjectInterface.java Client.java o JavaDocPages(/dist/javadoc/index.html) page1
2 PatrickNeubauer,TenzinDakpa DistributedSystems FreeUniversityofBolzano RMIChatSystemdocumentation Algorithmdesign Thechatsystembasicallyretainsthesamebroadoutlineofthealgorithmonwhichwehad madetheprevioustcpimplementation.however,byusingrmi,weareabletoreduce workloadontheserver,whichinthetcpversionhadtoanalyzeeachmessagefromclients andparseitintoeithercommandsorregulartextmessage. Interfaces: TheinterfacesextendsRemoteClass. Server:ServerInterface Theserverinterfacesprovidesthreefollowingmethods. 1. Jointheserver:join() 2. Sendmessagetootherusers:send() 3. Disconnectfromtheserver:disconnect() Client:ChatObjectInterface Theclientinterfaceprovidesasinglemethod,whichwrapstheoldfunctionalityofthe previoustcpversion. Itbasicallymakestheclientdisplayamessageorsignalittoquit: handle(); Class Server:Server TheclassServerextendstheUnicastRemoteObjectandimplementstheserver interface.thisistheoneandonlyexecutablefortheserver. Client:ChatObject Aswehaverealizedthemainclientapplicationasanapplet,wehadtoimplementthe UnicastRemotObjectinthisClass.Thisclasswrapsaroundtheappletclasstoprovidethe remotefunctionalitytotheclient.thechatobjectinterfaceisimplementedinthisclass. Client:Clientapplet ClientappletreusedtheoldcodesfromtheTCPimplementation.Ithasbeenslightly updatedtomeldwiththechatobjectclasstoprovideremoteimplementation. Descriptionofsequence/flowchart: Server 0. Startrmiregistry. 1. Registertheserveras RMICHAT 2. Waitforclientstocallitsconnect()RMImethod. 3. ThismethodgivestotheserveraremotestuboftheClient. 4. Onsuccessfulconnectionaddthisclientstubtothelistofconnectedclientsandsend awelcomemessagetotheclientusingthermimethodoftheclientremoteobject. ChatObject.handle( Welcome ) 5. Waitforclienttocallthenextserverrmimethodsend(Stringmessage)thismethod page2
3 PatrickNeubauer,TenzinDakpa DistributedSystems FreeUniversityofBolzano RMIChatSystemdocumentation takesthestringpassedasparameterandbroadcastittoalltheclientregisteredin theserver. 6. Waitforclienttocallthelastserverrmimethoddisconnect()whichremovesthe referenceoftheremoteclientintheserverslistofclient. 7. Whentheserveradministratororderstheservertoshutdown,closetheprogram.(as courtesy,informconnectedclientthatserverwillshutdown.notimplemented.) Client 0. Getthehostaddressoftheserverfromtheuser. 1. Lookupandgettheserverstubusingthelookup.Thisgivestheserverremote referencetotheclient. 2. CreateaChatObject.Itistheremoteobjectoftheclient. 3. Calltheserverrmimethodconnect()andsenditsownstub(ChatObject)sothatthe servercanusethemethodspresentlocallyontheclient. 4. Theserverwillsendawelcomemessagetotheclientiftheclienthasbeen succesfullyconnected. 5. Theclientcannowchatwithotherusers.Typethemessageandclickonthesend buttontocallthermimethodserver.send(stringmessage).theeffectofthis methodhasbeendescribedearlier. 6. Theclientcandisconnectfromtheserverbysendingthermimethod Server.disconnect().Ontheserversidetheclientstubisremovedfromthelistof clients,whichwillstoptheclientfromreceivinganynewmessage. 7. Asourclienthasbeenrealizedasanapplet,wesimplydisablethecontrolofthe appletandasktheusertoclosethewebpage. RMICHATSYSTEMPROGRAMSEQUENCEGRAPH: page3
4 PatrickNeubauer,TenzinDakpa DistributedSystems FreeUniversityofBolzano RMIChatSystemdocumentation UMLdiagram: UMLdiagramforserver: page4
5 PatrickNeubauer,TenzinDakpa DistributedSystems FreeUniversityofBolzano RMIChatSystemdocumentation UMLdiagramforclient: Classes: Therearetheflowingclassesbeingusedfromtheserver: Server.java ServerInterface.java Therearetheflowingclassesbeingusedfromtheclient: ChatObject.java ChatObjectInterface.java Client.java page5
6 PatrickNeubauer,TenzinDakpa DistributedSystems FreeUniversityofBolzano RMIChatSystemdocumentation Testing: Deployment TheserversuccessfullyrunsonWindowsXP,kubuntu8.04,MacOSX TheclientappletsuccessfullyworksinFirefox3andIE7andSafari. Bugs! Wehavenomajorbugs.Theprogramisfunctional,andmoderatelysafe.Wehaveusedone deprecatedmethodsbelongingtothethreadclass,whichresultsincompilerwarnings. Performancetestingidea Wewouldliketotesttheserverperformanceinthefollowingway.Wedefineastandard testmessage,astringof80chars.wethenmodifyourclientsoastobeabletosendthis testmessageandconfirmthatitreachestheserveranditisechoedbacktotheclient. Eachclienthasauniquetestmessagesothatitwillbeabletoidentifyitsecho. Theclientwillsendafixednumberoftestmessagesandcounthowmanyofthemessagesis receivedback,andcalculatethetimetakenbyeachmessage. Thetestscenario:westarttheserver. Thenweconnect1,5,10,20,30,50clients. Ateachpopulationlevel,wedothetestandplottheaverageresponsetimeandreliabilityin atable,likethefollowing: No.ofClient MessageLoss Latency Messageloss=(messagesent received)/100 Latency=sumoflatencyforeachmessage/noofmessagereceived AsnextwedothesameperformancetestfortheTCPimplementationoftheserver. Finally,wegetanideaofthewholeperformanceofbothsystems. DifferencesfromtheTCPImplementation page6
7 PatrickNeubauer,TenzinDakpa DistributedSystems FreeUniversityofBolzano RMIChatSystemdocumentation Themajordifferencesfromtheprogrammer spointofviewisthattheprogramismuch simplerandeasiertounderstand.abeginnerjavaprogrammercanstartimplementingthis kindofnetworkapplicationwithouthavingtodealwithlowlevelnetworki/olikesockets, tcpprotocolsetc. Regardingreliability:theRMIabstractionofmakingthenetworkinvisiblebetweentheclient andtheservereffectsthereliabilityofthechatserviceinseveralways. ItisdebatablewhetherthisoverheadinwrappingourserviceinRMImethodsjustifythe extracodingwhichmayintroduceadditionalbugs.itisalsonotclearhowefficientlyand safelyrmicanhandlemultiplethreads.thereforwedonotknowhowwellthisserverwill scaleuptosupportlargernumberofclientsreliably.atpresentwehavelimitedourserver toafixedmaximumlimitof50clients. Performance: Ascanbeexpected,theRMIabstractioncomesatacostofhighersystemrequirement(call marshallingandsoon)thenacomparabletcpserver.atpresent,ourrmimethodsdirectly interactwiththeserverobjectandclientobject.thisissignificantlyslowerthensending simpletextmessageaswasdoneinthetcpserver.weareawarethatabetterandmore efficientwayofimplementingtheserverwouldbetothinkoftheserverasanetwork printer.itwouldspoolorqueuethemessage,andatthesametime,asecondthreadwill takemessagefromthequeueandsendittoalltheclient.ontheclientside,therecouldbea localmessage inqueue,whichwillreceivemessagefromtheserverssecondthread.this enabletheservertoreturnquicklyfromthermimethodofsendingmessagetoclient.on theclientside,thermimethodtosendmessageotheserverwillalsoreturnquickly(asit hasonlytoenterthemessageinthequeue)andasimilarsecondthreadwoulddisplaythe messageinthequeue.theseproposalsareaimedatreducingthetimeonthermimethods, astheytakemoretimetoexecutethenlocalmethods.thiswayourperformancegap betweenthermiserverandtcpserverwouldbeminimum. InstallationandUsageGuide: page7
8 PatrickNeubauer,TenzinDakpa DistributedSystems FreeUniversityofBolzano RMIChatSystemdocumentation Forrunningtheserverpleasefollowtheseinstructions: UsageoftheServer: Usethecommandlineandbesurethatyouareinthesamefolderwhereyoufind alsothisdocumentation,theclient.htmlandthefolderfortheclientandthe server. ThenyoucanlaunchtheRMIregistrywiththefollowingcommand(afterthat nothingspecialhappensbutpleasedon tclosethisterminalwindowwhile runningtheserver): o rmiregistry Openanewterminalwindowandtypethefollowingcommandforstartingthe server: o java rmiserver.server Ifyougetapop upwindowinwhichiswritten Serverrunning,pressyestostop theserverstartedcorrectly. Youcanstoptheserverclickonthe Yes button,thentheprogramterminates. Asnextyoucanalsoterminatethermiregistrybychangingtotheterminal windowwherethermiregistrywasstartedandtype^c. Usageof client.html : Useyourwebbrowsertostarttheclient.Besurethatthe client.html fileisina folderthathasasubfolder rmiclient thatcontainsthenecessaryfilesfor launchingtheclient. Thenyoucanlaunchtheclientbyclickingon client.html orexplicitlylaunching itbyyourwebbrowser(ifnotautomaticallyopened). AsnextyouareaskedtoentertheIPoftheserverandyourusername. Thentheappletgetslaunchedandyoucanconnectfinallytotheserverwhich youhaveenteredbyclickingonthe Connect button.besurethattheserveris runningifyouraretestingitonyourlocalmachine. Nowyouareabletosendmessagesbytypingitintotheemptyfieldandclicking on Send buttonforsendingit. Forleavingthechatyoucanclickonthe Bye buttonandthenclosethebrowser window. page8
Distributed Applications Programming. Lab 4
Lebanese University Info 408 - Distributed Applications Programming Faculty of Science 2018-2019 Section I Antoun Yaacoub ChatRoom with RMI (90 minutes) Info 408 Distributed Applications Programming Lab
More informationInfo 408 Distributed Applications programming 2 nd semester of Credits: 5 Lecturer: Antoun Yaacoub Ph.D.
Lebanese University Faculty of Sciences I Master 1 degree Computer Sciences Info 408 Distributed Applications programming 2 nd semester of 2018-2019 Credits: 5 Lecturer: Antoun Yaacoub Ph.D. Info 408 Distributed
More informationRemote Method Invocation
Remote Method Invocation RMI Dr. Syed Imtiyaz Hassan Assistant Professor, Deptt. of CSE, Jamia Hamdard (Deemed to be University), New Delhi, India. s.imtiyaz@jamiahamdard.ac.in 1 Agenda Introduction Creating
More informationDistributed Applications Programming. Lab 7
Lebanese University Info 408 - Distributed Applications Programming Faculty of Sciences 2012-2013 Section I Antoun Yaacoub Info 408 Distributed Applications Programming Lab 7 Chat Server with RMI - Part
More informationECE 462 Object-Oriented Programming using C++ and Java. Multi-Player Game using Network
ECE 462 Object-Oriented Programming g using C++ and Java Multi-Player Game using Network Yung-Hsiang Lu yunglu@purdue.edu d YHL Multi-Player Game 1 Demonstration YHL Multi-Player Game 2 YHL Multi-Player
More informationReflection/RMI 4/28/2009
Reflection/RMI 4/28/2009 1 Opening Discussion Solutions to the interclass problem. Do you have any questions about the assignment? Minute Essays Why are heap operations always O(log n)? Java programs connecting
More informationINTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY
[Kumar, 2(3): March, 2013] ISSN: 2277-9655 IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY Performance Comparison of Physical Clock Synchronization Algorithms Z. Mahesh Kumar
More informationRemote Method Invocation R.M.I.
Distributed Computing Remote Method Invocation R.M.I. Gheorghe Aurel Pacurar Distributed Computing using RMI Remote Method Invocation (RMI) allows object-to-object communication between different Java
More informationAdvanced Topics in Operating Systems
Advanced Topics in Operating Systems MSc in Computer Science UNYT-UoG Dr. Marenglen Biba 8-9-10 January 2010 Lesson 10 01: Introduction 02: Architectures 03: Processes 04: Communication 05: Naming 06:
More informationMessage Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1
Message Passing vs. Distributed Objects 5/15/2009 Distributed Computing, M. L. Liu 1 Distributed Objects M. L. Liu 5/15/2009 Distributed Computing, M. L. Liu 2 Message Passing versus Distributed Objects
More informationChapter 2 Architectures. Software Architectures
Chapter 2 Architectures Software architectures of distributed systems System architectures of distributed systems 1 Software Architectures Software architecture describes how the software components are
More informationTTool Training. III. Using TTool
TTool Training III. Using TTool Ludovic Apvrille ludovic.apvrille@telecom-paris.fr Eurecom, Office 223 Ludovic Apvrille - UML - 2005. Slide #1 I. Introduction TTool: main features Installing TTool Diagramming
More information5 Distributed Objects: The Java Approach
5 Distributed Objects: The Java Approach Main Points Why distributed objects Distributed Object design points Java RMI Dynamic Code Loading 5.1 What s an Object? An Object is an autonomous entity having
More informationObject-Oriented Systems Design RMI
Object-Oriented Systems Design RMI Michael Hauser November 2001 Workshop: AW3 Module: EE5029A Tutor: Mr. Müller Course: M.Sc Distributes Systems Engineering Lecturer: Mr. Prowse CONTENTS Contents 1 Aims
More informationCS 455/655 Computer Networks Fall Programming Assignment 1: Implementing a Social Media App Due: Thursday, October 5 th, 2017 (1pm)
CS 455/655 Computer Networks Fall 2017 Programming Assignment 1: Implementing a Social Media App Due: Thursday, October 5 th, 2017 (1pm) To be completed individually. Please review Academic Honesty noted
More informationCS 126 Lecture S5: Networking
CS 126 Lecture S5: Networking Outline Introductions Connectivity Naming and addressing Abstractions and layering Example: socket programming Conclusions CS126 24-1 Randy Wang Review: Technology Advances
More informationCS 126 Lecture S5: Networking
CS 126 Lecture S5: Networking Outline Introductions Connectivity Naming and addressing Abstractions and layering Example: socket programming Conclusions CS126 24-1 Randy Wang Review: Technology Advances
More informationLecture 5: Object Interaction: RMI and RPC
06-06798 Distributed Systems Lecture 5: Object Interaction: RMI and RPC Distributed Systems 1 Recap Message passing: send, receive synchronous versus asynchronous No global Time types of failure socket
More informationDistributed Information Systems
Distributed Objects and Remote Invocation Programming Models For Distributed Applications Objectives RPC and RMI. Remote invocation semantics. Implementation of RMI. References DSCD: Chapter 5 Conventional
More informationCOMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC)
COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC) 1 2 CONVENTIONAL PROCEDURE CALL (a) (b) Parameter passing in a local procedure call: the stack before the call to read. The stack while the called procedure
More informationBSc. (Hons.) Computer Science with Network Security. Examinations for 2016 / Semester 2
BSc. (Hons.) Computer Science with Network Security Cohort: BCNS/15A/FT Examinations for 2016 / Semester 2 MODULE: Network Programming MODULE CODE: CAN 2113C Duration: 2 ½ Hours Instructions to Candidates:
More informationChapter 15: Distributed Communication. Sockets Remote Procedure Calls (RPCs) Remote Method Invocation (RMI) CORBA Object Registration
Chapter 15: Distributed Communication Sockets Remote Procedure Calls (RPCs) Remote Method Invocation (RMI) CORBA Object Registration Sockets Defined as an endpoint for communcation Concatenation of IP
More informationRemote Method Invocation Benoît Garbinato
Remote Method Invocation Benoît Garbinato 1 Fundamental idea (1) Rely on the same programming paradigm for distributed applications as for centralized applications In procedural languages, we will rely
More informationRemote Method Invocation. Benoît Garbinato
Remote Method Invocation Benoît Garbinato Fundamental idea (1) Rely on the same programming paradigm for distributed applications as for centralized applications In procedural languages, we will rely on
More informationEDT 0.8 Stakeholder Meeting SQL JNDI Data Sources
EDT 0.8 Stakeholder Meeting SQL JNDI Data Sources February 8, 2012 Project members: Stakeholder Meeting EDT 0.8 is currently under development For more on EDT 0.8 plans, see http://wiki.eclipse.org/edt:0.8.0_planning
More informationDistributed Programming with RMI. Overview CORBA DCOM. Prepared By: Shiba R. Tamrakar
Distributed Programming with RMI Overview Distributed object computing extends an object-oriented programming system by allowing objects to be distributed across a heterogeneous network, so that each of
More informationJAVA RMI. Remote Method Invocation
1 JAVA RMI Remote Method Invocation 2 Overview Java RMI is a mechanism that allows one to invoke a method on an object that exists in another address space. The other address space could be: On the same
More informationDistributed Computing Remote Procedure Call
Charitha Chanamolu CSE-660 Lab 5 Distributed Computing Remote Procedure Call Script started on Wed 03 May 2017 06:56:09 PM PDT 1. Created a File name rand.x charitha@charitha-linux:~/documents/lab5 [01;32mcharitha@charitha-linux
More informationBSc Computing CSY2026 Modern Networks. Module Tutor: Signed:
Division of Computing BSc Computing CSY2026 Modern Networks Date of Issue: 17/02/2017 Date for Submission: 28/04 2017 (23:59 by e-submission) Agreed Date for late submission: Student Name: Student ID:
More informationCORBA Java. Java. Java. . Java CORBA. Java CORBA (RMI) CORBA ORB. . CORBA. CORBA Java
CORBA Java?? OMG CORBA IDL C, C++, SmallTalk, Ada Java COBOL, ORB C Ada Java C++ CORBA Java CORBA Java (RMI) JDK12 Java CORBA ORB CORBA,, CORBA? CORBA,,, CORBA, CORBA CORBA Java (, ) Java CORBA Java :
More informationAssignment 2 Team Project: Distributed System and Application
Assignment 2 Team Project: Distributed System and Application Dr. Rajkumar Buyya and Dr. Maria Sossa Cloud Computing and Distributed Systems (CLOUDS) Laboratory School of Computing and Information Systems
More informationLab 2 : Java RMI. request sayhello() Hello interface remote object. local object. response "Hello world"
Lab 2 : Java RMI 1. Goals In this lab you will work with a high-level mechanism for distributed communication. You will discover that Java RMI provides a mechanism hiding distribution in OO programming.
More informationRMI: Design & Implementation
RMI: Design & Implementation Operating Systems RMI 1 Middleware layers Applications, services RMI and RPC request-reply protocol marshalling and external data representation Middleware layers UDP and TCP
More informationJava Assignment (BCA/BE Computer)
Java Assignment (BCA/BE Computer) Chapter 1: Fundamentals 1. Write short note on Java and its features. 2. Write a program to find largest number in four command line arguments. Use if condition and conditional
More informationPSD1B Advance Java Programming Unit : I-V. PSD1B- Advance Java Programming
PSD1B Advance Java Programming Unit : I-V PSD1B- Advance Java Programming 1 UNIT I - SYLLABUS Servlets Client Vs Server Types of Servlets Life Cycle of Servlets Architecture Session Tracking Cookies JDBC
More informationCOMP 6231: Distributed System Design
COMP 6231: Distributed System Design Remote Invocation and RMI Based on Chapters 5, 7 of the text book and the slides from Prof. M.L. Liu, California Polytechnic State University COMP 6231, Fall 2013 Remote
More informationCSE 660 Lab 2 Khoi Pham Thanh Ho April 27 th, 2015
CSE 660 Lab 2 Khoi Pham Thanh Ho April 27 th, 2015 Comment and Evaluation: This lab focuses on two ways to call a function from Client to Server: Remote Procedure Call (RPC) is basic method in C for Server
More informationDistributed Systems Architecture
Distributed Systems Architecture Lab Session 1. Introduction to ZeroC Ice Francisco Moya November 15, 2011 In this session we will learn to use basic Ice tools to develop a very
More informationPROJECT REPORT Thang Tran ( ), Sandeep Wadhwani ( ) and Vineet Kumar ( ) Introduction
PROJECT REPORT Thang Tran (264635), Sandeep Wadhwani (26476122) and Vineet Kumar (26461756) Introduction Zeromq Chat Application Our Zeromq Chat Application provides peer-to-peer instant messaging for
More informationProgramming of Interactive Systems
Programming of Interactive Systems Introduction and overview Fredrik Kilander Spring 2011 Today s lecture Participants Practical matters Overview of the course Participants Fredrik Kilander (course admin,
More informationRemote Method Invocation in Java
Remote Method Invocation in Java Ajay Khatri Senior Assistant Professor,Department IT Acropolis Institute of Technology & Research ajay.acropolis@gmail.com What is RMI RMI is an API that provides a mechanism
More informationLast Class: RPCs. Today:
Last Class: RPCs RPCs make distributed computations look like local computations Issues: Parameter passing Binding Failure handling Lecture 4, page 1 Today: Case Study: Sun RPC Lightweight RPCs Remote
More informationKTH ROYAL INSTITUTE OF TECHNOLOGY. Remote Invocation. Vladimir Vlassov and Johan Montelius
KTH ROYAL INSTITUTE OF TECHNOLOGY Remote Invocation Vladimir Vlassov and Johan Montelius Middleware Application layer Remote invocation / indirect communication Socket layer Network layer 2 Request / Reply
More information2D1954 Programutvecklingsprojekt Coordinator: Lars Kjelldahl
2D1954 Programutvecklingsprojekt Coordinator: Lars Kjelldahl System Specification Instant Messaging Client/Server Project Participants: Karin Björkman, d99-kbj@nada.kth.se Linda Doktár, d99-lid@nada.kth.se
More informationCSci Introduction to Distributed Systems. Communication: RPC In Practice
CSci 5105 Introduction to Distributed Systems Communication: RPC In Practice Linux RPC Language-neutral RPC Can use Fortran, C, C++ IDL compiler rpgen N to generate all stubs, skeletons (server stub) Example:
More informationDistributed Object Bridges and Java-based Object Mediator
Distributed Object Bridges and Java-based Object Mediator Konstantinos Raptis, Diomidis Spinellis, Sokratis Katsikas An important aspect of research on software objects, components, and component-based
More informationCmsImport Readme Release 1.0 of January, xanders GmbH
CmsImport Readme Release 1.0 of January, 2008 2008 xanders GmbH CmsImport ReadMe (version of 2008-01-09) page 1 Table of contents 1. Preface...3 2. Requirements...3 3. Installation...3 3.1. Setup of MySQL
More informationDistributed Programming in Java. Distribution (2)
Distributed Programming in Java Distribution (2) Remote Method Invocation Remote Method Invocation (RMI) Primary design goal for RMI is transparency Should be able to invoke remote objects with same syntax
More informationExam Questions
Exam Questions 600-502 NPDEV Developing with Cisco Network Programmability https://www.2passeasy.com/dumps/600-502/ 1.A stock brokerage firm requires that all trades are executed quickly with a minimal
More informationQuestions and Answers. A. RMI allows us to invoke a method of java object that executes on another machine.
Q.1) What is Remote method invocation (RMI)? A. RMI allows us to invoke a method of java object that executes on another machine. B. RMI allows us to invoke a method of java object that executes on another
More informationDeploying the rmireg.war file in BEA WebLogic for Windows
Deploying the rmireg.war file in BEA WebLogic 9.2.3 for Windows Definition of terms is used for the Maximo home. By default, the Maximo home is C:\IBM\SMP\maximo is used to indicate
More informationGeneric architecture
Java-RMI Lab Outline Let first builds a simple home-made framework This is useful to understand the main issues We see later how java-rmi works and how it solves the same issues Generic architecture object
More informationDUBLIN CITY UNIVERSITY
DUBLIN CITY UNIVERSITY REPEAT EXAMINATIONS 2009/2010 MODULE: COURSE: YEAR: EXAMINERS: TIME ALLOWED: INSTRUCTIONS: EE553 Object-oriented Programming for Engineers MTCC M.Eng. in Telecommunications Eng.
More informationProgramming with RMI Reminder
Programming with RMI Reminder (Sources: Gordon S Blair, Paul Grace) Aims After completing the following you should get a reminder of: 1. the fundamental concepts of Java Remote Method Invocation; 2. the
More informationRPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call
4.3 Remote procedure calls RPC flow Client process Server process Program i = sum (3,7); Procedure sum (j,k) int j,k; {return j+k; Client stub Program Return Call Unpack Pack result para s Invisible to
More informationLecture 5: RMI etc. Servant. Java Remote Method Invocation Invocation Semantics Distributed Events CDK: Chapter 5 TVS: Section 8.3
Lecture 5: RMI etc. Java Remote Method Invocation Invocation Semantics Distributed Events CDK: Chapter 5 TVS: Section 8.3 CDK Figure 5.7 The role of proxy and skeleton in remote method invocation client
More informationJAC444 - Lecture 11. Remote Method Invocation Segment 2 - Develop RMI Application. Jordan Anastasiade Java Programming Language Course
JAC444 - Lecture 11 Remote Method Invocation Segment 2 - Develop RMI Application 1 Remote Method Invocation In this lesson you will be learning about: Designing RMI application Developing distributed object
More informationDistributed Objects and Remote Invocation. Programming Models for Distributed Applications
Distributed Objects and Remote Invocation Programming Models for Distributed Applications Extending Conventional Techniques The remote procedure call model is an extension of the conventional procedure
More informationLecture 17 Java Remote Method Invoca/on
CMSC 433 Fall 2014 Sec/on 0101 Mike Hicks (slides due to Rance Cleaveland) Lecture 17 Java Remote Method Invoca/on 11/4/2014 2012-14 University of Maryland 0 Recall Concurrency Several opera/ons may be
More informationCreating and Analyzing Software Architecture
Creating and Analyzing Software Architecture Dr. Igor Ivkovic iivkovic@uwaterloo.ca [with material from Software Architecture: Foundations, Theory, and Practice, by Taylor, Medvidovic, and Dashofy, published
More informationSimple Mobile Agent System
Java-Based Simple Mobile Agent System Hyon S. Kim CSS499 Project Report Table of Contents 1. About UW Mobile Agent... 3 a.project Topic... 3 b.technologies used... 3 2. Background Knowledge... 4 a.serialization...
More informationCUSTOMER PORTAL. Introduction and Guide
CUSTOMER PORTAL Introduction and Guide CUSTOMER PORTAL The portal was built with you in mind - through it, you have 24/7 access to manage your account. This guide will help you get started. Using the portal,
More informationContents. Java RMI. Java RMI. Java RMI system elements. Example application processes/machines Client machine Process/Application A
Contents Java RMI G53ACC Chris Greenhalgh Java RMI overview A Java RMI example Overview Walk-through Implementation notes Argument passing File requirements RPC issues and RMI Other problems with RMI 1
More informationToMaTo. Topology Management Tool
ToMaTo Topology Management Tool Dennis Schwerdel University of Kaiserslautern, Germany Department of Computer Science Integrated Communication Systems ICSY http://www.icsy.de Introduction ToMaTo is a topology-oriented
More informationInfo 408 Distributed Applications programming 2 nd semester of Credits: 5 Lecturer: Antoun Yaacoub Ph.D.
Lebanese University Faculty of Sciences I Master 1 degree Computer Sciences Info 408 Distributed Applications programming 2 nd semester of 2018-2019 Credits: 5 Lecturer: Antoun Yaacoub Ph.D. RMI Serialization
More informationSoftware Requirement Specification
Software Requirement Specification Publish/Subscribe System Group-03 Atul Jangra 2010CS50277 Dushyant Behl 2010CS50282 Shantanu 2010CS50295 Utkarsh 2010CS50299 1 1. Introduction Table of Content 1.1 Purpose...
More informationSockets and RMI. CS151 Chris Pollett Dec. 5, 2005.
Sockets and RMI CS151 Chris Pollett Dec. 5, 2005. Outline Echo Server with Multiple Clients Client pull/server push Remote Method Invocation Proxy Pattern Echo Server with Multiple Clients public class
More informationMulti-Access Positioning System M.A.P.S
Multi-Access Positioning System M.A.P.S UCD Multi-Access Positioning System EEC173B Winter 2006 Ting (Randy) Chang Michael Hsu Alex Sung George Louie (MIA) 1 Introduction and Motivation Introduction Cartography
More informationFall CSEE W4119 Computer Networks Programming Assignment 1 - Simple Chat Application
Fall 2011 - CSEE W4119 Computer Networks Programming Assignment 1 - Simple Chat Application Prof. Gil Zussman due: 10/26/2011, 11 AM, EST 1 Introduction This programming assignment is to implement a simple
More informationMiddleware Labs: Java RMI
Middleware Labs: Java RMI Petr Tůma Vojtěch Horký Antonín Steinhauser Department of Distributed and Dependable Systems March 6, 2014 General Information Labs Every other week 5 labs total, 5 middleware
More informationDesarrollo de Aplicaciones en Red RMI. Introduction. Considerations. Considerations. RMI architecture
session Desarrollo de Aplicaciones en Red José Rafael Rojano Cáceres http://www.uv.mx/rrojano RMI Remote Method Invocation Introduction Java RMI let s work calling remote methods. Underneath it works with
More informationOutline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform
Outline Introduction to Java Introduction Java 2 Platform CS 3300 Object-Oriented Concepts Introduction to Java 2 What Is Java? History Characteristics of Java History James Gosling at Sun Microsystems
More informationLecture 15: Frameworks for Application-layer Communications
Lecture 15: Frameworks for Application-layer Communications Prof. Shervin Shirmohammadi SITE, University of Ottawa Fall 2005 CEG 4183 15-1 Background We have seen previously that: Applications need to
More informationLecture 15: Frameworks for Application-layer Communications
Lecture 15: Frameworks for Application-layer Communications Prof. Shervin Shirmohammadi SITE, University of Ottawa Fall 2005 CEG 4183 15-1 Background We have seen previously that: Applications need to
More informationIntroduction to Distributed Object Technologies: CORBA, RMI &.NET Introduction to the Design Project
The University of Western Australia School of Electrical, Electronic & Computer Engineering Real-time Distributed Computer Systems 423 Laboratory - 2003 Introduction to Distributed Object Technologies:
More informationMiddleware Labs: Java RMI
Middleware Labs: Java RMI Petr Tůma Vojtěch Horký Antonín Steinhauser Vladimír Matěna March 6, 2018 General Information Labs Web Every other week 5 labs total, 5 middleware technologies Tuesday, 17.20
More informationIntroduction to Distributed Systems. Fabienne Boyer, LIG,
Introduction to Distributed Systems Fabienne Boyer, LIG, fabienne.boyer@imag.fr What is a distributed system? Set of software components Running in separate address spaces Communicating through a network
More informationGrid Computing. Java Remote Method Invocation (RMI) RMI Application. Grid Computing Fall 2006 Paul A. Farrell 9/5/2006
Grid Computing Paradigms for Distributed Computing 2 RMI Fall 2006 Traditional paradigms for distributed computing The Grid: Core Technologies Maozhen Li, Mark Baker John Wiley & Sons; 2005, ISBN 0-470-09417-6
More informationWeb Design and Applications
Web Design and Applications JEE - Session Beans Gheorghe Aurel Pacurar JEE - Session Beans What is a session bean? A session bean is the enterprise bean that directly interact with the user and contains
More informationCC755: Distributed and Parallel Systems
CC755: Distributed and Parallel Systems Dr. Manal Helal, Spring 2016 moodle.manalhelal.com Lecture 7: Remote Method Invocation (RMI) 1 RMI Y Daniel Liang, Introduction to JAVA Programming, 9th Edition,
More informationMiddleware and Web Services Lecture 3: Application Server
Middleware and Web Services Lecture : Application Server doc. Ing. Tomáš Vitvar, Ph.D. tomas@vitvar.com @TomasVitvar http://vitvar.com Czech Technical University in Prague Faculty of Information Technologies
More informationPort Utilization in SocialMiner
Utilization in Utilization Table Columns, page 1 Utilization, page 2 Utilization Table Columns The columns in the port utilization tables in this document describe the following: A value representing the
More informationIBM IBM WebSphere Portal V5, Application Development.
IBM 000-348 IBM WebSphere Portal V5, Application Development http://killexams.com/exam-detail/000-348 QUESTION: 87 Which of the following classes can be used to encode an image URL? A. PortletRequest B.
More informationAre Sockets a Good Programming Paradigm? EDA095 Remote Method Invocation. The Remote Procedure Call Model. The Remote Procedure Call Architecture
Are Sockets a Good Programming Paradigm? EDA095 Remote Method Invocation Pierre Nugues Lund University http://www.cs.lth.se/home/pierre_nugues/ April 21, 2010 To request a service from a server, sockets
More informationOracle Fusion Middleware
Oracle Fusion Middleware What's New in Oracle WebLogic Server 11g Release 1 (10.3.5) E13852-07 April 2011 Welcome to Oracle WebLogic Server. The following sections describe new and changed functionality
More informationFundtech JRE 1.7 Update 45 Issues and Resolution
Fundtech JRE 1.7 Update 45 Issues and Resolution 10/17/2013 Summary of Issues Oracle released JRE 1.7 update 45 in the late morning of 10/15/2013. Changes in this version of the JRE created the following
More informationDistributed systems. Programming with threads
Distributed systems Programming with threads Reviews on OS concepts Each process occupies a single address space Reviews on OS concepts A thread of (execution) control has its own PC counter, stack pointer
More informationREMOTE METHOD INVOCATION INTRODUCTION TO RMI, A JAVA API FOR RPC-STYLE INVOCATION OF REMOTE OBJECT METHODS
RMI Remote Method RMI Invocation REMOTE METHOD INVOCATION INTRODUCTION TO RMI, A JAVA API FOR RPC-STYLE INVOCATION OF REMOTE OBJECT METHODS Peter R. Egli 1/19 Contents 1. What is RMI? 2. Important RMI
More informationSage 200 Online. System Requirements and Prerequisites
Sage 200 Online System Requirements and Prerequisites v2013 Copyright statement Sage (UK) Limited, 2013. All rights reserved. If this documentation includes advice or information relating to any matter
More informationLast Class: Network Overview. Today: Distributed Systems
Last Class: Network Overview =>Processes in a distributed system all communicate via a message exchange. Physical reality: packets Abstraction: messages limited size arbitrary size unordered (sometimes)
More informationRemote Invocation Vladimir Vlassov and Johan Montelius
KTH ROYAL INSTITUTE OF TECHNOLOGY Middleware Remote Invocation Vladimir Vlassov and Johan Montelius Application layer Remote invocation / indirect communication Socket layer Network layer ID2201 DISTRIBUTED
More information03 Remote invocation. Request-reply RPC. Coulouris 5 Birrel_Nelson_84.pdf RMI
03 Remote invocation Request-reply RPC Coulouris 5 Birrel_Nelson_84.pdf RMI 2/16 Remote Procedure Call Implementation client process Request server process client program client stub procedure Communication
More informationUsing the Gateway Exchange Protocol
Using the Gateway Exchange Protocol Session 2 Stephen C. Wills August 13, 2013 1 Subscribing to Measurements 2 Primary Data Flow Publication APIs Subscription APIs 3 Primary Data Flow (cont.) Publication
More informationEDA095 Remote Method Invocation
EDA095 Remote Method Invocation Pierre Nugues Lund University http://www.cs.lth.se/pierre_nugues/ March 31, 2011 Covers: Elliotte Rusty Harold, Java Network Programming, 3 rd ed., Chapter 18, pages 610
More informationLecture 06: Distributed Object
Lecture 06: Distributed Object Distributed Systems Behzad Bordbar School of Computer Science, University of Birmingham, UK Lecture 0? 1 Recap Interprocess communication Synchronous and Asynchronous communication
More informationEnterprise Chat and Upgrade Guide, Release 11.6(1)
Enterprise Chat and Email Upgrade Guide, Release 11.6(1) For Unified Contact Center Enterprise August 2017 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com
More informationThis document was written and prepared by Dale Ritchie in Cisco s Collaboration Infrastructure Business Unit (CIBU), Oslo, Norway.
Cisco TelePresence Management Suite Provisioning Extension Why upgrade to Cisco TMSPE? White Paper August 01 This document was written and prepared by Dale Ritchie in Cisco s Collaboration Infrastructure
More informationChapter 3: Naming Page 38. Clients in most cases find the Jini lookup services in their scope by IP
Discovery Services - Jini Discovery services require more than search facilities: Discovery Clients in most cases find the Jini lookup services in their scope by IP multicast/broadcast Multicast UDP for
More informationCisco Unified Web and Interaction Manager Solution Reference Network Design Guide
Cisco Unified Web and E-Mail Interaction Manager Solution Reference Network Design Guide For Unified Contact Center Enterprise Release 9.0(1) January 2013 Americas Headquarters Cisco Systems, Inc. 170
More informationCSS 533 Program 2: Distributed Java Space Servers Professor: Munehiro Fukuda Due date: see the syllabus
CSS 533 Program 2: Distributed Java Space Servers Professor: Munehiro Fukuda Due date: see the syllabus 1. Purpose This assignment implements a collection of distributed Java Space servers, which exercises
More information