CALIFORNIA SOFTWARE LABS
|
|
- Kerry Marsh
- 5 years ago
- Views:
Transcription
1 Wrapping Jini Services in ActiveX CALIFORNIA SOFTWARE LABS R E A L I Z E Y O U R I D E A S California Software Labs 6800 Koll Center Parkway, Suite 100 Pleasanton CA 94566, USA. Phone (925) Fax (925) info@cswl.com
2 Wrapping Jini Services in ActiveX A Technical Report Technical Expertise Level : Intermediate Requires knowledge of : Jini, Java, RMI, VB INDEX INTRODUCTION... 3 BEAN BRIDGE BASICS... 3 JINI BASICS... 4 BUILDING THE BEAN... 4 SECURITY CONSIDERATION... 5 BEAN ARCHITECTURE... 5 OPERATIONS OF THE BEAN... 6 BEAN TO ACTIVEX CONVERSION... 8 INVOKING THE SERVICE METHODS... 9 EXAMPLE USAGE FROM VISUAL BASIC... 9 CONCLUSION CSWL Inc, Pleasanton, California - 2 -
3 Introduction The introduction of JINI by Sun Microsystems has created a spur in the world of Distributed Computing and technology gurus forecast the relevance of this technology for tomorrow. The trend seems to be focus shifting from a PC centric approach to Network centric. This paper illustrates how the JINI services can be encapsulated as an ActiveX component and made to run over a Windows Platform. The basic idea approached to create the system is to create Java Bean that exposes the required Jini service APIs and this bean can be converted into an ActiveX component using the Java Bean Bridge. Bean Bridge basics The Java Bean Bridge is a component that comes along with JRE and as the name goes, it acts as bridge between an ActiveX component and the Java Bean. Initially when a Bean has to be converted into an ActiveX then an ActiveX Packager is used to create an OCX(OLE Control Extension) and its corresponding TLB (Type LiBrary)file. The ActiveX Packager also gives the developer the provision whether the ActiveX control should be registered in the local machine and also generates the.reg (Registry install) file which could be used for installing in another machine. When any component that has been developed using the bean bridge is used in an environment, the component contains the references and methods to start the JRE. During the initialization of the ActiveX component the JVM (Java Virtual Machine) is loaded along with the JRE. The bean that was packed as an OLE is also launched in the JRE memory space. Any method calls on the component made will marshaled over the Bean Bridge which and sent to the Bean that contains the binary code. The method that gets CSWL Inc, Pleasanton, California - 3 -
4 executed in the JRE memory space, the return for the function is unmarshalled by the bridge and given back to the ActiveX component. JINI basics The JINI framework makes a federation of dissimilar devices over the network to communicate and use each other through a standard protocol. The network essentially consists of service providing devices and other devices makes use of the service provided by it. The Jini Lookup Service (JLS) acts as common gateway where a federation of devices registers its services. Any client can browse over the JLS to find for any availability of a service and if any matching services are found then the client device can use the service if needed. Further down the JINI architecture also provides transaction processing. The communication established between the device runs over the RMI Subsystems. Thus JINI ensures the code mobility of the services offered. Building the Bean The initial task that is performed first is to create a Java Bean that will expose all the Jini functionality. The main methods that are exposed are the following: 1. Searching for one or more JLS in the nearby network 2. Registering a service on a JLS 3. Searching for a specified service on one or more JLS 4. Invoking the method of Service offered by a client 5. Un-register a service from a JLS Since the discovery process consists of two methods namely: unicast and multicast discovery both the method of discovery is adopted while searching for a JLS. The end of document contains the API Specification of the bean that is built for this purpose. There are other methods that are just as important when CSWL Inc, Pleasanton, California - 4 -
5 compared to the above five methods. When a client device uses a service object then it may have to execute few methods locally, thus security issues also have to considered. The next passage illustrates how RMI system influences the system s security. The error handling and support functions are also required. There is also the need to set parameters like Time to Live (ttl), if lease has to renewed etc. All these and other method are discussed in the API specification. Security Consideration The main transport protocol on which JINI operates depends extensively on RMI system. Any service object that has to be Remote object and interfaces exposed should be Serializeable. Since the Stub class runs on the client end and few operations may be required do actions locally on the device itself. The RMI introduces the RMISecurityManager that effectively manages the rights or permissions of the stub code when it is installed. The input from the client end will be a policy file that specifies the permission that the stub would have on the client. A method that allows the setting of the policy file is also included in the APIs. Bean Architecture The Bean essentially consists of a collection of independent objects that together coupled together gives the desired output. The major part of the bean contains the JINI enabling classes that are the classes that come along with JINI v1.0 binary. There are classes that load classes and invokes an object s methods etc. Introspection at the figure given below makes the architecture clear. CSWL Inc, Pleasanton, California - 5 -
6 As shown above the BeanInfo class is responsible for giving the details of the Bean namely the methods, events and properties exposed. The FunctionInvoker takes care of invoking the methods of a service object. When this bean is used at device that would be service provider then it should be capable of serving the stub classes to the client using a HTTP server. Thus a class that performs this operation is also included. The service provider may have the service class anywhere in his file system, so the provider can specify the location that contains the specified files. The ClassLoader loads the classes from the location and gives it to the main wrapper class that registers the service in the JLS. Operations of the Bean This section mentions the main aspects of operation of the bean. The scope of explanation will be limited to the discovery of JLS, registration of a service, searching for a service and unregistering a service from a JLS. Lookup Discovery The bean exposes two methods that which performs the unicast and multicast discovery of JLS in the nearby network. It can also discover the JLS that CSWL Inc, Pleasanton, California - 6 -
7 belongs to a particular group. A few considerations in multicast discovery are the maximum time allowed for the finding JLS and Time to live (ttl) value. Separate functions to set the parameters are used. Service Registration When a service provider wishes to offer a service, it then has to make that service to be registered a JLS. Moreover an HTTP server will run at the service provider s end so that its stub classes can be served to any clients which requires a service. All the basic rules of registering a service in Jini are fully complied by this bean. The bean also gives the support to avail lease by the service provider. The user is also given the opportunity to specify the attributes for the service object. Searching Services The search for service can be made in criteria depending on the multicast or unicast discovery of JLS with respect to the attributes of the search service. The search process is made to return a unique service object depending on all attributes rather than many service objects that might partly satisfy few attributes. Unregister Services Any service can be unregistered by the bean from a JLS as long as the same bean registers that service. The bean cancels the lease of the service object thus unregistering the service. CSWL Inc, Pleasanton, California - 7 -
8 Bean to ActiveX conversion The bean is implemented fully and is converted as an ActiveX component using the ActiveX Packager from Sun Microsystems. The steps for this conversion are clearly described in the Javasoft site Now another issue that arises when a cross-language packaging is made is the type conversions. Java language adheres to the latest data type specification and most types are UNICODE compliant. The character is 16 bit long and integer 32 bit and so on. The Table gives the type difference that occurs between the Java and Microsoft languages. Java Sun JavaBeans Bridge for ActiveX 1.0 Type Library Visual Basic Visual C++ Boolean VARIANT_BOOL Boolean BOOL Byte short Integer Short byte array VARIANT Array (Byte) SAFEARRAY (short) Char short Integer Short char array VARIANT Array (Integer) SAFEARRAY (short) Double Double Double Double Float Single Single Single Integer (object) Long Long Long Int Long Long Long Long (8 bytes) Long (4 bytes) Long (4 bytes) Long (4 bytes) Object (or subclass) IDispatch* Object IDispatch* Short Short Integer Short String BSTR String CString (MFC) CSWL Inc, Pleasanton, California - 8 -
9 Invoking the Service Methods The crucial role of the component comes when the client has to use any services of a client. After the search of the service is over which returns the service proxy to the client, the client can invoke any methods exposed by the service object. Since the service object may be a purely a Java object and the client may use the ActiveX component on Visual C++ or Visual Basic environment, the function calls may have to marshalled and unmarshalled accordingly. Most operations are abstracted away for the developer and all that he has to adhere to is the interface definition document that states the usage of the component. The service object s behavior (methods and function parameters) should be known already to the client that uses it. If the client wrongly tries to invoke a service, then an error code is returned. The dynamic invocation of the service object is achieved using the Reflection principles. Example usage from Visual Basic The Jini component after the registration process can be inserted into a Visual Basic project and placed on the form. The name of the component is given as jini and using the jini object variable, methods on this object can be invoked at the form s OnLoad() event as follows: Private Sub Form_Load() set security policy JiniComp.SetSecurityPolicy "E:\\policy" Register a service by discovering the JLS by unicast method JiniComp.RegisterServiceUC "PrinterService", 50, CSWL Inc, Pleasanton, California - 9 -
10 "d:\\printerservice\\", "JPrinterImpl", " ", 4160, Null Returns the status of an operation MsgBox JiniComp.GetStatusMessage() End Sub Private Sub Form_Unload() unregister the printer service JiniComp.UnregisterService "PrinterService" MsgBox JiniComp.GetStatusMessage() End Sub Another client VB application may also use the Jini component and may use the search function to find out whether any JLS has a service called PrinterService registered to it and if found a service object invoke its methods. Private Sub Search() search a service by discovering the JLS by unicast method Set ob = JiniComp.SearchServiceUC ("PrinterService", " ", 4160, Null) If ob Is Nothing Then MsgBox "No Service found" MsgBox JiniComp.GetStatusMessage() Else MsgBox JiniComp.GetStatusMessage() Invoke a print method of the service JiniComp.InvokeMethod ob, "print", Null, Null CSWL Inc, Pleasanton, California
11 End If MsgBox JiniComp.GetStatusMessage() End Sub The description for each of the bean methods is found in the last part of the paper. Conclusion The usage of the Bean bridge enables a Java code run as a Windows program and serves as a valuable tool for developers. The Bean developed exploits the Jini framework to run over a Windows Platform and also be able to maintain interaction towards the Java based Jini Federation Copyright Notice: 2002 California Software Labs. All rights Reserved. The contents on the document are not to be reproduced or duplicated in any form or kind, either in part or full, without the written permission of California Software labs. Product and company names mentioned here in are the trademarks of their respective companies. CSWL Inc, Pleasanton, California
CALIFORNIA SOFTWARE LABS
Using the JetSend SDK CALIFORNIA SOFTWARE LABS R E A L I Z E Y O U R I D E A S California Software Labs 6800 Koll Center Parkway, Suite 100 Pleasanton CA 94566, USA. Phone (925) 249 3000 Fax (925) 426
More informationCALIFORNIA SOFTWARE LABS
UPnP,Jini and Salutation - A look at some popular coordination frameworks for future networked CALIFORNIA SOFTWARE LABS R E A L I Z E Y O U R I D E A S California Software Labs 6800 Koll Center Parkway,
More informationCALIFORNIA SOFTWARE LABS
Real-time Implementation of NAT and Firewall in VxWorks CALIFORNIA SOFTWARE LABS R E A L I Z E Y O U R I D E A S California Software Labs 6800 Koll Center Parkway, Suite 100 Pleasanton CA 94566, USA. Phone
More informationComputer and Automation Research Institute Hungarian Academy of Sciences. Jini and the Grid. P. Kacsuk
Computer and Automation Research Institute Hungarian Academy of Sciences Jini and the Grid P. Kacsuk Laboratory of Parallel and Distributed Systems MTA SZTAKI Research Institute kacsuk@sztaki.hu www.lpds.sztaki.hu
More informationJini Technology Overview
Jini Technology Overview Bob Scheifler Senior Staff Engineer Sun Microsystems, Inc Talk outline very brief Jini overview Jini lookup service in some depth service types and type matching attributes and
More informationJini Architecture Specification
Jini Architecture Specification A Jini system is a Java technology-centered, distributed system designed for simplicity, flexibility, and federation. The Jini architecture provides mechanisms for machines
More informationThe Jini architecture. Johan Petrini and Henning Sundvall
The Jini architecture Johan Petrini and Henning Sundvall Distributed Systems Fall 2002 Abstract A technology has been developed that exemplifies a new approach to the architecture of computing systems.
More informationUPnP Services and Jini Clients
UPnP Services and Jini Clients Jan Newmarch School of Network Computing Monash University jan.newmarch@infotech.monash.edu.au Abstract UPnP is middleware designed for network plug and play. It is designed
More informationJini and Universal Plug and Play (UPnP) Notes
Jini and Universal Plug and Play () Notes Abstract Jini and are overlapping technologies. They both address the area of device connectivity and the ability to dynamically make use of new devices on the
More informationIBD Intergiciels et Bases de Données
IBD Intergiciels et Bases de Données RMI-based distributed systems Fabien Gaud, Fabien.Gaud@inrialpes.fr Overview of lectures and practical work Lectures Introduction to distributed systems and middleware
More informationThe Jini Architecture Bruno Souza Java Technologist, Sun Microsystems
The Jini Architecture Bruno Souza Java Technologist, Sun Microsystems J1-717, Jim Waldo 1 Why Jini Technology Network plug and work Enables a service-based architecture Spontaneous networking Erase the
More informationUbiquitous Computing Summer Supporting distributed applications. Distributed Application. Operating System. Computer Computer Computer.
Episode 11: Middleware Hannes Frey and Peter Sturm University of Trier Middleware Supporting distributed applications Distributed Application Middleware Operating System Operating System Operating System
More informationDistributed Systems/Middleware JavaSpaces
Distributed Systems/Middleware JavaSpaces Alessandro Sivieri Dipartimento di Elettronica e Informazione Politecnico, Italy sivieri@elet.polimi.it http://corsi.dei.polimi.it/distsys Slides based on previous
More informationDistributed Technologies - overview & GIPSY Communication Procedure
DEPARTMENT OF COMPUTER SCIENCE CONCORDIA UNIVERSITY Distributed Technologies - overview & GIPSY Communication Procedure by Emil Vassev June 09, 2003 Index 1. Distributed Applications 2. Distributed Component
More informationJavaSpaces technology for distributed communication and collaboration. Chih-Yao Hsieh
JavaSpaces technology for distributed communication and collaboration Chih-Yao Hsieh Computer Science and Engineering University of Texas at Arlington chsieh@cse.uta.edu Abstract This paper will give an
More informationDistributed Systems Theory 4. Remote Procedure Call. October 17, 2008
Distributed Systems Theory 4. Remote Procedure Call October 17, 2008 Client-server model vs. RPC Client-server: building everything around I/O all communication built in send/receive distributed computing
More informationCALIFORNIA SOFTWARE LABS
CALIFORNIA SOFTWARE LABS R E A L I Z E Y O U R I D E A S California Software Labs 6800 Koll Center Parkway, Suite 100 Pleasanton CA 94566, USA. Phone (925) 249 3000 Fax (925) 426 2556 info@cswl.com http://www.cswl.com
More informationpresentation DAD Distributed Applications Development Cristian Toma
Lecture 8 S4 - Core Distributed Middleware Programming in JEE presentation DAD Distributed Applications Development Cristian Toma D.I.C.E/D.E.I.C Department of Economic Informatics & Cybernetics www.dice.ase.ro
More informationTrading Services for Distributed Enterprise Communications. Dr. Jean-Claude Franchitti. Presentation Agenda
Page 1 Trading Services for Distributed Enterprise Communications Dr. Jean-Claude Franchitti Presentation Agenda Enterprise Systems Technology Classifications Naming, Directory, and Trading Services in
More informationCompaq Interview Questions And Answers
Part A: Q1. What are the difference between java and C++? Java adopts byte code whereas C++ does not C++ supports destructor whereas java does not support. Multiple inheritance possible in C++ but not
More informationPhiladelphia Area Java Users' Group December 12, 2001
Jini: What it is, how we use it, and where it's going Philadelphia Area Java Users' Group December 12, 2001 Michael Ogg CTO, Valaran Corporation http://www.valaran.com ogg@valaran.com Jini Overview v1.0
More informationA Tutorial on The Jini Technology
A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far A Tutorial on The Jini Technology Lian Chen Introduction Jini network technology provides a simple
More information1 OBJECT-ORIENTED PROGRAMMING 1
PREFACE xvii 1 OBJECT-ORIENTED PROGRAMMING 1 1.1 Object-Oriented and Procedural Programming 2 Top-Down Design and Procedural Programming, 3 Problems with Top-Down Design, 3 Classes and Objects, 4 Fields
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 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 informationDistributed Systems Recitation 3. Tamim Jabban
15-440 Distributed Systems Recitation 3 Tamim Jabban Project 1 Involves creating a Distributed File System (DFS): FileStack Stores data that does not fit on a single machine Enables clients to perform
More informationImplementing Jini Servers without Object Serialization Support
Implementing Jini Servers without Object Serialization Support Tero Hasu Helsinki University of Technology Telecommunications Software and Multimedia Laboratory tero.hasu@hut.fi Abstract Jini is a technology
More informationPage 1. Extreme Java G Session 8 - Sub-Topic 2 OMA Trading Services
Extreme Java G22.3033-007 Session 8 - Sub-Topic 2 OMA Trading Services Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Trading Services
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 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 informationWendy Lee CHAPTER 1 INTRODUCTION. Jini which is based on Java platform is a network technology from Sun
An Introduction to the Madison Framework for Connecting JINI with Mobile Devices By Wendy Lee CHAPTER 1 INTRODUCTION 1.1 Background Jini which is based on Java platform is a network technology from Sun
More informationCSC Java Programming, Fall Java Data Types and Control Constructs
CSC 243 - Java Programming, Fall 2016 Java Data Types and Control Constructs Java Types In general, a type is collection of possible values Main categories of Java types: Primitive/built-in Object/Reference
More informationOutline. EEC-681/781 Distributed Computing Systems. The OSI Network Architecture. Inter-Process Communications (IPC) Lecture 4
EEC-681/781 Distributed Computing Systems Lecture 4 Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org Outline Inter-process communications Computer networks
More informationHighlighting Intrinsyc s Technologies: Intrinsyc J-Integra Bi-Directional Pure Java-COM Bridge
WhitePaper Highlighting Intrinsyc s Technologies: Intrinsyc J-Integra Bi-Directional Pure Java-COM Bridge Intrinsyc Software, Inc. 700 West Pender Street, 10 th Floor Vancouver, British Columbia Canada
More information(9A05803) WEB SERVICES (ELECTIVE - III)
1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available
More informationDistributed Systems Middleware
Distributed Systems Middleware David Andersson, 810817-7539, (D) Rickard Sandell, 810131-1952, (D) EDA 390 - Computer Communication and Distributed Systems Chalmers University of Technology 2005-04-30
More informationChapter 4 Communication
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI
More informationA Custom Lookup Service for UPnP Services and Jini Clients
A Custom Lookup Service for UPnP Services and Jini Clients Jan Newmarch School of Network Computing Monash University jan.newmarch@infotech.monash.edu.au Abstract UPnP is middleware designed for network
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationDOWNLOAD PDF CORE JAVA APTITUDE QUESTIONS AND ANSWERS
Chapter 1 : Chapter-wise Java Multiple Choice Questions and Answers Interview MCQs Java Programming questions and answers with explanation for interview, competitive examination and entrance test. Fully
More informationThe NetRexx Interpreter
The NetRexx Interpreter http://www2.hursley.ibm.com/netrexx/ RexxLA / WarpTech -- 26 May 2000 Mike Cowlishaw IBM Fellow mfc@uk.ibm.com netrexxi Overview Introduction to NetRexx Demo. -- compiling and interpreting
More informationNothing to see here...
Nothing to see here... Work in progress. Does not reflect reality, purely the thoughts of a mad man Deployment Models Single JVM Redundant JVM Externalized System Services Fully Distributed Or some other
More informationOverview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36
Communication address calls class client communication declarations implementations interface java language littleendian machine message method multicast network object operations parameters passing procedure
More informationCALIFORNIA SOFTWARE LABS
JetSend Viewer for Windows CE CALIFORNIA SOFTWARE LABS R E A L I Z E Y O U R I D E A S California Software Labs 6800 Koll Center Parkway, Suite 100 Pleasanton CA 94566, USA. Phone (925) 249 3000 Fax (925)
More informationSNS COLLEGE OF ENGINEERING, Coimbatore
SNS COLLEGE OF ENGINEERING, Coimbatore 641 107 Accredited by NAAC UGC with A Grade Approved by AICTE and Affiliated to Anna University, Chennai IT6503 WEB PROGRAMMING UNIT 03 JDBC JDBC Overview JDBC implementation
More informationCS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University
CS 555: DISTRIBUTED SYSTEMS [RMI] Frequently asked questions from the previous class survey Shrideep Pallickara Computer Science Colorado State University L21.1 L21.2 Topics covered in this lecture RMI
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 informationJava RMI. Algorithmen und Programmierung V Netzprogrammierung. Volker Roth. Wintersemester 2009/2010. Institut für Informatik Freie Universität Berlin
Java RMI Algorithmen und Programmierung V Netzprogrammierung Volker Roth Institut für Informatik Freie Universität Berlin Wintersemester 2009/2010 Overview 1. Factory design pattern 2. Codebases 3. Remote
More informationThe UNIVERSITY of EDINBURGH. SCHOOL of INFORMATICS. CS4/MSc. Distributed Systems. Björn Franke. Room 2414
The UNIVERSITY of EDINBURGH SCHOOL of INFORMATICS CS4/MSc Distributed Systems Björn Franke bfranke@inf.ed.ac.uk Room 2414 (Lecture 3: Remote Invocation and Distributed Objects, 28th September 2006) 1 Programming
More informationZhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson
Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Introduction History, Characteristics of Java language Java Language Basics Data types, Variables, Operators and Expressions Anatomy of a Java Program
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 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc.
Chapter 2 FEATURES AND FACILITIES SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: JDeveloper features. Java in the database. Simplified database access. IDE: Integrated Development
More informationCSCI-1680 RPC and Data Representation. Rodrigo Fonseca
CSCI-1680 RPC and Data Representation Rodrigo Fonseca Today Defining Protocols RPC IDL Problem Two programs want to communicate: must define the protocol We have seen many of these, across all layers E.g.,
More informationDESIGN PATTERN - INTERVIEW QUESTIONS
DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions
More informationDistributed Objects SPL/ SPL 201 / 0 1
Distributed Objects 1 distributed objects objects which reside on different machines/ network architectures, benefits, drawbacks implementation of a remote object system 2 Why go distributed? large systems
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 informationAppendix A - Glossary(of OO software term s)
Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component
More informationBEAWebLogic Server and WebLogic Express. Programming WebLogic JNDI
BEAWebLogic Server and WebLogic Express Programming WebLogic JNDI Version 10.0 Document Revised: March 30, 2007 Contents 1. Introduction and Roadmap Document Scope and Audience.............................................
More informationJava Overview An introduction to the Java Programming Language
Java Overview An introduction to the Java Programming Language Produced by: Eamonn de Leastar (edeleastar@wit.ie) Dr. Siobhan Drohan (sdrohan@wit.ie) Department of Computing and Mathematics http://www.wit.ie/
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 Systems. Distributed Object Systems 2 Java RMI. Java RMI. Example. Applet continued. Applet. slides2.pdf Sep 9,
Distributed Object Systems 2 Java RMI Piet van Oostrum Distributed Systems What should a distributed system provide? Illusion of one system while running on multiple systems Transparancy Issues Communication,
More informationManaging Artix Solutions with JMX. Version 4.2, March 2007
Managing Artix Solutions with JMX Version 4.2, March 2007 IONA Technologies PLC and/or its subsidiaries may have patents, patent applications, trademarks, copyrights, or other intellectual property rights
More informationOrbixCOMet Desktop Programmer s Guide and Reference
OrbixCOMet Desktop Programmer s Guide and Reference IONA Technologies PLC April 1999 Orbix is a Registered Trademark of IONA Technologies PLC. OrbixCOMet (TM) is a Trademark of IONA Technologies PLC. While
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 Interaction. Object Interaction. Introduction. Object Interaction vs. RPCs (2)
Introduction Objective To support interoperability and portability of distributed OO applications by provision of enabling technology Object interaction vs RPC Java Remote Method Invocation (RMI) RMI Registry
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 informationCommunication. Distributed Systems Santa Clara University 2016
Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces
More informationA Report on RMI and RPC Submitted by Sudharshan Reddy B
A Report on RMI and RPC Submitted by Sudharshan Reddy B Abstract: This report mainly explains the RMI and RPC technologies. In the first part of the paper the RMI technology is briefly explained and in
More information15-498: Distributed Systems Project #1: Design and Implementation of a RMI Facility for Java
15-498: Distributed Systems Project #1: Design and Implementation of a RMI Facility for Java Dates of Interest Assigned: During class, Friday, January 26, 2007 Due: 11:59PM, Friday, February 13, 2007 Credits
More informationRest Client for MicroProfile. John D. Ament
Rest Client for MicroProfile John D. Ament 1.0-T9, December 05, 2017 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile Rest
More informationMONitoring Agents using a Large Integrated Services Architecture. Iosif Legrand California Institute of Technology
MONitoring Agents using a Large Integrated s Architecture California Institute of Technology Distributed Dynamic s Architecture Hierarchical structure of loosely coupled services which are independent
More informationApplication Servers in E-Commerce Applications
Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand
More informationWriting a Client Application for Genesis II Contributors: Chris Sosa Last Modified: 06/05/2007
Writing a Client Application for Genesis II Contributors: Chris Sosa (sosa@virginia.edu) Last Modified: 06/05/2007 Introduction The purpose of this White Paper is to discuss the use of the University of
More informationMiddleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004
Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication
More information(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days
Course Description This course introduces the Java programming language and how to develop Java applications using Eclipse 3.0. Students learn the syntax of the Java programming language, object-oriented
More informationQ.1. (a) [4 marks] List and briefly explain four reasons why resource sharing is beneficial.
Q.1. (a) [4 marks] List and briefly explain four reasons why resource sharing is beneficial. Reduces cost by allowing a single resource for a number of users, rather than a identical resource for each
More informationICENI: An Open Grid Service Architecture Implemented with Jini Nathalie Furmento, William Lee, Anthony Mayer, Steven Newhouse, and John Darlington
ICENI: An Open Grid Service Architecture Implemented with Jini Nathalie Furmento, William Lee, Anthony Mayer, Steven Newhouse, and John Darlington ( Presentation by Li Zao, 01-02-2005, Univercité Claude
More informationCICS and the Web: Web-enable your CICS Applications
CICS and the Web: Web-enable your CICS Applications Leigh Compton CICS Technical Support IBM Dallas Systems Center Webcast 30 July 2002 Session Agenda CICS e-business Strategy Which web-enabling option?
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 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 informationCptS 464/564 Lecture 18
CptS 464/564 Lecture 18 2nd November 2004 Checkpoint What have we covered so far? Paradigms and Models: frameworks for the discussion of DS What is the plan ahead? Next: examples of distributed systems
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 informationCS 231 Data Structures and Algorithms, Fall 2016
CS 231 Data Structures and Algorithms, Fall 2016 Dr. Bruce A. Maxwell Department of Computer Science Colby College Course Description Focuses on the common structures used to store data and the standard
More informationDynamic code downloading using Java TM (Using the java.rmi.server.codebase Property)
Pagina 1 Dynamic code downloading using Java TM RMI (Using the java.rmi.server.codebase Property) This tutorial is organized as follows: 1. Starting out 2. What is a codebase? 3. How does it work? 4. Using
More informationEnterprise Java Testing with TestPartner and VBA using Sun Microsystems Client Access Services COM Bridge. Compuware Corporation Technical Whitepaper
Enterprise Java Testing with TestPartner and VBA using Sun Microsystems Client Access Services COM Bridge Compuware Corporation Technical Whitepaper Introduction Enterprise Java Beans The Enterprise Java
More informationLearning Objective. Project Objective
Table of Contents 15-440: Project 1 Remote File Storage and Access Kit (File Stack) Using Sockets and RMI Design Report Due Date: 14 Sep 2011 Final Due Date: 3 Oct 2011 Learning Objective...1 Project Objective...1
More informationJBoss Remoting. Version alpha. November 15, 2004
JBoss Remoting Version 1.0.1 alpha November 15, 2004 What is JBoss Remoting? The purpose of JBoss Remoting is to provide a single API for most network based invocations and related service that uses pluggable
More informationPini A Jini-Like Plug&Play Technology for the KVM/CLDC
Pini A Jini-Like Plug&Play Technology for the KVM/CLDC Dipl.-Inform. Steffen Deter and Dipl.-Inform. Karsten Sohr University of Marburg Department of Mathematics and Computer Science deter,sohr@mathematik.uni-marburg.de
More informationP-NET Management with Java based Components
P-NET Management with based Components Martin Wollschlaeger Abstract The introduction of based software components is a challenge for developers and users of fieldbus products. The paper shows concepts,
More informationStatic Imports, Default Values, Number Types and More!
Static Imports, Default Values, Number Types and More! Introduction In this article from my free Java 8 course, I will explain various topics that haven t yet been covered in this series. Static Imports
More informationMTAT Enterprise System Integration. Lecture 2: Middleware & Web Services
MTAT.03.229 Enterprise System Integration Lecture 2: Middleware & Web Services Luciano García-Bañuelos Slides by Prof. M. Dumas Overall view 2 Enterprise Java 2 Entity classes (Data layer) 3 Enterprise
More informationHow to be a Good Bean
How to be a Good Bean A JavaBeans component, or simply a Bean, is a reusable software component that can be manipulated visually in a builder tool. The JavaBeans 1.0 architecture specifies how a JavaBeans
More informationService Provision in Ad Hoc Networks
Service Provision in Ad Hoc Networks Radu Handorean and Gruia-Catalin Roman Department of Computer Science Washington University Saint Louis, MO, 63130 {raduh, roman}@cs.wustl.edu Abstract. The client-server
More informationDS 2009: middleware. David Evans
DS 2009: middleware David Evans de239@cl.cam.ac.uk What is middleware? distributed applications middleware remote calls, method invocations, messages,... OS comms. interface sockets, IP,... layer between
More informationAgent-Enabling Transformation of E-Commerce Portals with Web Services
Agent-Enabling Transformation of E-Commerce Portals with Web Services Dr. David B. Ulmer CTO Sotheby s New York, NY 10021, USA Dr. Lixin Tao Professor Pace University Pleasantville, NY 10570, USA Abstract:
More informationA Load Balancing technique through Jini in Distributed Processing
International Conference of Advance Research and Innovation (-2015) A Load Balancing technique through Jini in Distributed Processing Rajeev Sharma *, Rupak Sharma Department of Computer ScienceEngineering,
More informationAdvanced Java Programming
Advanced Java Programming Length: 4 days Description: This course presents several advanced topics of the Java programming language, including Servlets, Object Serialization and Enterprise JavaBeans. In
More informationRest Client for MicroProfile. John D. Ament, Andy McCright
Rest Client for MicroProfile John D. Ament, Andy McCright 1.0, December 19, 2017 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile
More informationEECS168 Exam 3 Review
EECS168 Exam 3 Review Exam 3 Time: 2pm-2:50pm Monday Nov 5 Closed book, closed notes. Calculators or other electronic devices are not permitted or required. If you are unable to attend an exam for any
More informationHow are classes loaded into the Java Virtual Machine (JVM)? from the local file system (CLASSPATH). by an instance of ClassLoader
36 ClassLoader How are classes loaded into the Java Virtual Machine (JVM)? from the local file system (CLASSPATH). by an instance of ClassLoader... and when? - When they are needed the first time. class
More information