OO-Middleware. Computer Networking 2 DVGC02 Stefan Alfredsson. (slides inspired by Annika Wennström, Sören Torstensson)
|
|
- Sheryl Floyd
- 6 years ago
- Views:
Transcription
1 OO-Middleware Computer Networking 2 DVGC02 Stefan Alfredsson (slides inspired by Annika Wennström, Sören Torstensson)
2 Object oriented middleware Extendend mechanism for objects Objects consist of data (state) and methods Methods accessible via interface Methods can be remotely invoked (RMI, remote method invocation) Distributed objects: object and interface on different machines Examples: Corba, DCOM, Java RMI,... 2
3 Some central concepts Object vs component Object reference IDL Static and dynamic invocation 3
4 Component vs object Component is a frequently occuring term, but has no formal defintion Some characteristic properties do exist It is larger than an object It is autonomous and can do certain tasks on its own It can have a graphical interface, may be distributed (compare to Java Beans) May contain application or business logic, but may also be of more technical nature A component is a binary, and independent of programming language 4
5 Remote object 5
6 Object reference Created when object is created/instantiated Identified/represents object Identifies where (address:port) the object is instantiated Clients get object reference from e.g. naming service Client does not know the content of the object reference ( opaque ) Local and remote objects are handled differently because of efficiency 6
7 Object reference example IOR: c3a48656c6c 6f576f726c642f48656c6c6f3a312e f e31302e e b afabcb a4b a
8 Interface Definition Language (IDL) Declarative language Defines the object interface (not logic) Client and server may be implemented in different languages Proxy and skeleton is generated by IDL compiler Not used by all oo-middleware, for example Java RMI IDL only support Java 8
9 Invocation style Static invocation Proxy and skeleton must be known at compile time A change in interface requires recompile Dynamic invocation Generic stubs are provided by the underlying system Proxy and skeleton are not needed at compile time Interface need not be known at compile time 9
10 Example products Java RMI Jini Corba 10
11 Java RMI RMI Remote Method Invocation Client/Server based Server creates object, returns reference Client use reference, calls object method via a local proxy object Client can send their own objects as arguments Thanks to serialization, where instantiated java objects can be exported to byte stream, complete with state and logic 11
12 12
13 RMI implementation Server object use interface java.rmi.remote, and declares java.rmi.remoteexception as exception Generate server and client stubs (rmic) Start rmiregistry, server, client 13
14 Server example - registration... String name = "//host/compute"; try { Compute engine = new ComputeEngine(); Naming.rebind(name, engine); System.out.println("ComputeEngine bound"); } catch (Exception e) { 14
15 Client example, service call... try { String name = "//host/compute"; Compute comp = (Compute) Naming.lookup(name); Pi task = new Pi(Integer.parseInt(args[1])); BigDecimal pi = (BigDecimal)(comp.executeTask(task)); System.out.println(pi); } catch (Exception e) {... 15
16 Jini Developed by Sun Microsystems 1999 Network architecture optimized for scalability and independency Builds upon Java RMI 16
17 17
18 The purpose of the Jini architecture is to federate groups of devices and soft-ware components into a single, dynamic distributed system. The resulting federation provides the simplicity of access, ease of administration, and support for sharing that are provided by a large monolithic system while retaining the flexibility, uniform response, and control provided by a personal computer or workstation. The architecture of a single Jini system is targeted to the workgroup. Members of the federation are assumed to agree on basic notions of trust, administration, identification, and policy. It is possible to federate Jini systems themselves for larger organizations. (Från The Jini Architecture Specification ) 18
19 Jinimotivation Cooperating framework Simple, seamless, scalable interoperability Network plug and play with little administration Network connected soft and hardware provide services All units can find and use available services Examples Find all color-duplex printers nearby Start brewing coffee five minutes before the morning alarm clock sounds Let the cellphone use the car speakers 19
20 Another example A digital camera is plugged into the network It finds out the lookup-service (discovery phase) It registers its interface in the lookup-service (join) Basically says I m a camera, anyone want pictures? Later: A laptop is plugged into the network, and calls Camera.Snapshot() The camera detects that the light is too dark, and use Light.increase() until the light is OK Laptop asks camera to print photo Camera finds nearest printer via lookup-service, and calls its printing method 20
21 Bzzz, bzzz Instant On When a jini-enabled device is plugged into the network, it works right away with no fuss Its services and resources are immediately available Impromptu Community Devices working together, creating a personal network or community Connect home appliances and control them centrally Connect to services on the road Resilient Adapts very quickly to changes The community lives on, as users comes and goes Special delivery Services are available on demand, whenever needed 21
22 Key technologies Services Name resolution (lookup service) Java Remote Method Invocation (RMI) Leasing Transactions Events 22
23 Jini promises... Desktop PC Lookup service Printer Service Coffee Maker Network Alarm Clock Service Cell Phone Stereo Speaker Service 23
24 Impressive factors Drivers are provided by the service Only need to know interface Work load can be shared between client and server Leasing model handles network/client/server failures (a lease is renewd only as long as service is used) Distibuted transactions (two phase commit) Flexible search for properties ( printing service, play sound ) 24
25 Some problems Need to know the interface in advance, and agree on provided functions Printer.Print(), Coffee.Brew(), Coffee.Print() <- oops Standardized at jini.org Needs a Java VM everywhere Can use a surrogate function to connect equipment incapable of running a JVM Sensor networks 25
26 Future outlook Great potential, but has not become a wide success Competition: UPnP (MS), Rendevouz (Apple) Demands well defined interfaces for standard srevices (Printer, etc) 26
27 Overview CORBA - Common Object Request Broker Architecture Developed by OMG (Object Management Group). An architecture for distributed objects. The Object Request Broker (ORB) is the middleware that establishes the client-server relationships between objects. CORBA 3.0 Commercial release at end of
28 OMG - Object Management Group Founded in May 1989 by 3Com, American Airlines, Canon, Data General, HP, Philips, Sun, Unisys. Now over 800 members. Vendor independent non-profit operations. Based in Framingham, Massachusetts, USA, but has regular meetings all over the world OMG produces specifications for standardized object software in order to create a component-based software marketplace. 28
29 Object Orientation Basics Objects and Classes (object types) Object members: Methods (CORBA: operations) Fields (CORBA: attributes) Inheritance Interface ( abstract class ) 29
30 OMG Reference Model User Interface Management, Information Management, The result of the System Management, programmers sweat! Task Management Finance, Health Care, Telecom, Manufacturing, etc. Application Objects CORBA Facilities CORBA Domains Object Request Broker (ORB) CORBA Services Naming, Event, Transaction, Persistence, Lifecycle, Security, Trader, Concurrency, Externalization, Query, Collection, Relationship, Time, Licensing, Properties 30
31 Services in CORBA Application Objects CORBAdomains CORBA Manufacturing, CORBA Med(icine), CORBA Finance, CORBA Telecoms CORBAfacilities: Common services User Interface Management, Information Management, Systems Management, Task Management CORBAservices: OS level object services Naming, Event, Transaction, Persistence, Lifecycle, Security, Trader, Concurrency, Externalization, Query, Collection, Relationship, Time, Licensing, Properties 31
32 CORBA Services (1) System level services. Interfaces to services defined by IDL. Several services overlap functions that are available in operating systems and programming languages. May be bundled with ORB products or sold separately. 32
33 CORBA Services (2) Life Cycle - create, copy, move, delete objects Persistence - permanent storage of objects to file / database Naming - binding of objects to names Event - event handling and event subscription Concurrency - lock services for threads and transactions Transaction - two-phase commit Relationship - dynamically created associations Externalization - convert objects to a binary stream Query - query service 33
34 CORBA Services (3) Licensing - registration of usage of objects Properties - dynamic information about objects Time - common time service Trader - announce and find services based on service characteristics Collection - handle collections of objects Security - protect objects against unauthorized usage 34
35 CORBAfacilities User Interface Management displaying, printing, compound documents, help information, Information Management modeling, storage, retrieval, compound documents, interchange of information, encoding, translation,... Systems Management management tools, monitor and control of system resources,... Task Management workflow automation, rule based objects, intelligent agents,... 35
36 CORBA ORB Architecture 36
37 Client Stub The client stub has the same interface as the server object that it represents. The client stub acts as a proxy for the server object. The client stub receives calls from the client to the server object performs marshalling of parameters receives results from the server object and forwards them to the client 37
38 Interface Repository The Interface Repository is a run-time database that contains information about all available IDL interfaces that the ORB recognizes. It can be called to read or write descriptions of registered objects (interfaces) perform type control of method calls The interfaces must be loaded into the Interface Repository when the server object is activated 38
39 Dynamic Invocation Dynamic Invocation Interface (DII) is an interface for exploring objects during execution. Meta-data about objects can be read from Interface Repository. A dynamic call from a client program does not need a client stub, the client generates the call itself. Dynamic Invocation is not used very much (yet). 39
40 Object Adapter The Object Adapter sits on top of the communication system and manages object registration, creates object-id:s, handles calls to objects, activates objects, etc. There are different types of Object Adapters: Basic Object Adapter (BOA) is required by the standard (but it tends to be implemented in a proprietary way) Portable Object Adapter (POA) shall be more strictly standardized 40
41 IDL - Interface Definition Language The language used to specify interfaces to CORBA objects It is a declarative language (i.e. no programming language) IDL has become an ISO-standard and is used in other contexts than with CORBA IDL-syntax is similar to C++ syntax (but only declarative parts) the same lexical rules as C++ but some new keywords are added C++ syntax for declaration of constants, types and operations C++ preprocessing features are supported future changes to ANSI standard for C++ will be adopted by IDL 41
42 An IDL Example interface grid1 { long get(in short n, in short m); void set(in short n, in short m, in long value); }; interface grid2 { void reset(in long value); }; interface grid: grid1, grid2 { }; 42
43 IDL compilation (Java example) IDL-file (xxx.idl) Interface Repository Compilation Client stub (_st_xxx) xxxhelper xxxholder Server Skeleton (_xxximplbase) Interface (xxx) Example (_example_xxx) (inherits) Implementation of Client Implementation of Server Implementation of Main 43
44 IDL language mappings There are mappings from IDL to the following programming languages: C/C++ Smalltalk Cobol Ada Java Nonstd: TCL, PL/1, LISP, Python, Perl,... These languages can be used to implement clients and server objects for CORBA. 44
45 Different ways to invoke a request A request can be invoked in three ways : Synchronous Request the client stops and waits for the result Deferred Synchronous Request (only dynamic invocation) the client continue to execute and must poll for the result later One-way Request (only dynamic invocation) the client ignores the result 45
46 Protocols for CORBA: GIOP GIOP - General Inter-Orb Protocol is used between ORB:s in order to get interoperability The GIOP specification consists of The Common Data Representation (CDR) definition. This is a transfer syntax mapping OMG IDL data types into a low-level representation to be used on the wire The GIOP Message Formats. Messages are for object requests, object location and management of communication channels. GIOP Transport Assumptions. This is general assumptions regarding the transport layer. 46
47 Protocols for CORBA: IIOP IIOP - Internet Inter-Orb Protocol is a mapping of GIOP to be carried over TCP/IP. The IIOP specification consists of The GIOP specification. Internet IOP Message Transport. This part describes how TCP/IP connections are opened and used for GIOP messages. IIOP is the protocol that makes it possible to interconnect ORB:s from different vendors, as well as using CORBA over Internet. Interoperable Object References (IOR) are globally unique names that has to be used between different ORB:s. 47
48 CORBA Products Inprise VisiBroker (Borland+Visigenic) (world leader) IONA Orbix (biggest in Sweden) OOC ORBacus (formerly OmniBroker) GNOME ORBit Included in J2SE 1.4 The Free CORBA page gives a lot of information about CORBA products (both commercial and free): 48
OO-Middleware. Computer Networking 2 DVGC02 Stefan Alfredsson. (slides inspired by Annika Wennström, Sören Torstensson)
OO-Middleware Computer Networking 2 DVGC02 Stefan Alfredsson (slides inspired by Annika Wennström, Sören Torstensson) Object oriented middleware Extendend mechanism for objects Objects consist of data
More informationCORBA (Common Object Request Broker Architecture)
CORBA (Common Object Request Broker Architecture) René de Vries (rgv@cs.ru.nl) Based on slides by M.L. Liu 1 Overview Introduction / context Genealogical of CORBA CORBA architecture Implementations Corba
More informationDistributed Objects. Object-Oriented Application Development
Distributed s -Oriented Application Development Procedural (non-object oriented) development Data: variables Behavior: procedures, subroutines, functions Languages: C, COBOL, Pascal Structured Programming
More informationToday: Distributed Objects. Distributed Objects
Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.
More informationWhat is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform.
CORBA What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform. It includes: an object-oriented Remote Procedure Call (RPC) mechanism object
More informationDistributed Environments. CORBA, JavaRMI and DCOM
Distributed Environments CORBA, JavaRMI and DCOM Introduction to CORBA Distributed objects A mechanism allowing programs to invoke methods on remote objects Common Object Request Broker middleware - works
More informationAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Distributed and Agent Systems Prof. Agostino Poggi What is CORBA? CORBA (Common Object Request
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 informationChapter 16. Layering a computing infrastructure
: Chapter 16 by David G. Messerschmitt Layering a computing infrastructure Applications Application components Middleware Operating system Network 2 1 Spanning layer Application Distributed object management
More informationMohsin Qasim Syed Abbas Ali
2005-5-18 Final version Table of Content 1 -Introduction to CORBA...3 1.1 Overview...3 1.2 Why is CORBA important in a networked environment?... 4 1.3 HOW DOES CORBA WORKS?...4 1.4 CORBA Architecture...
More information1.264 Lecture 16. Legacy Middleware
1.264 Lecture 16 Legacy Middleware What is legacy middleware? Client (user interface, local application) Client (user interface, local application) How do we connect clients and servers? Middleware Network
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 informationDistributed Object-based Systems CORBA
CprE 450/550x Distributed Systems and Middleware Distributed Object-based Systems CORBA Yong Guan 3216 Coover Tel: (515) 294-8378 Email: guan@ee.iastate.edu March 30, 2004 2 Readings for Today s Lecture!
More informationAdvanced Lectures on knowledge Engineering
TI-25 Advanced Lectures on knowledge Engineering Client-Server & Distributed Objects Platform Department of Information & Computer Sciences, Saitama University B.H. Far (far@cit.ics.saitama-u.ac.jp) http://www.cit.ics.saitama-u.ac.jp/~far/lectures/ke2/ke2-06/
More informationSoftware Paradigms (Lesson 10) Selected Topics in Software Architecture
Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1
More informationRIKA: Component Architectures
RIKA: Component Architectures Dr. Detlef Kreuz Telematik kreuz@tuhh.de TUHH - TELEMATIK Agenda Introduction What you should learn from this talk N-Tier applications Designing with components What is a
More informationIIOP: Internet Inter-ORB Protocol Make your code accessible even in future, with the next universal protocol
IIOP: Internet Inter-ORB Protocol Make your code accessible even in future, with the next universal protocol My Articles: Home Networking Wearable Computing IIOP Meet My Friend Intelligent Agents We are
More informationDistributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.
Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan Reading List Remote Object Invocation -- Tanenbaum Chapter 2.3 CORBA
More informationToday: Distributed Middleware. Middleware
Today: Distributed Middleware Middleware concepts Case study: CORBA Lecture 24, page 1 Middleware Software layer between application and the OS Provides useful services to the application Abstracts out
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 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 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 informationANSAwise - Introduction to CORBA and OMG
Poseidon House Castle Park Cambridge CB3 0RD United Kingdom TELEPHONE: Cambridge (01223) 515010 INTERNATIONAL: +44 1223 515010 FAX: +44 1223 359779 E-MAIL: apm@ansa.co.uk Training ANSAwise - Introduction
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 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 informationInterconnection of Distributed Components: An Overview of Current Middleware Solutions *
Interconnection of Distributed Components: An Overview of Current Middleware Solutions * Susan D. Urban, Suzanne W. Dietrich, Akash Saxena, and Amy Sundermier Arizona State University Department of Computer
More informationANSAwise - CORBA Interoperability
Poseidon House Castle Park Cambridge CB3 0RD United Kingdom TELEPHONE: Cambridge (01223) 515010 INTERNATIONAL: +44 1223 515010 FAX: +44 1223 359779 E-MAIL: apm@ansa.co.uk Training ANSAwise - CORBA Interoperability
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 informationCORBA vs. DCOM. Master s Thesis in Computer Science
Master s Thesis in Computer Science Preliminary version December 21, 2000 CORBA vs. DCOM Fredrik Janson and Margareta Zetterquist The Royal Institute of Technology Kungliga Tekniska Högskolan Examiner:
More informationNetwork Computing (EE906) Part 4: Distributed Object Technology
Network Computing (EE906) Part 4: Distributed Object Technology EE906-DOT Objectives Learn and Understand about Basic principles of socket and its programming Java RMI and its programming CORBA architecture
More informationApplication Servers G Session 5 - Main Theme Object Management Architectures. Dr. Jean-Claude Franchitti
Application Servers G22.3033-011 Session 5 - Main Theme Object Management Architectures Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences
More informationRPC and RMI. 2501ICT Nathan
RPC and RMI 2501ICT Nathan Contents Client/Server revisited RPC Architecture XDR RMI Principles and Operation Case Studies Copyright 2002- René Hexel. 2 Client/Server Revisited Server Accepts commands
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 Middleware. Distributed Objects
Distributed Middleware Distributed objects DCOM CORBA EJBs Jini Lecture 25, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy. Lecture 25, page 2 Distributed
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 informationUNIT 4 CORBA 4/2/2013 Middleware 59
UNIT 4 CORBA 4/2/2013 Middleware 59 CORBA AN OBJECT ORIENTED RPC MECHANISM HELPS TO DEVELOP DISTRIBUTED SYTEMS IN DIFF. PLATFORMS OBJECTS WRITTEN IN DIFF., LANG, CAN BE CALLED BY OBJECTS WRITTEN IN ANOTHER
More informationGEM Security Adaption Karin Almstedt The Royal Institute of Technology Kungliga Tekniska Högskolan
Master's Thesis in Computer Science Preliminary version August th29, 2001 GEM Security Adaption Karin Almstedt The Royal Institute of Technology Kungliga Tekniska Högskolan Examiner: Prof. Seif Haridi
More informationAQUILA. Project Defense. Sandeep Misra. (IST ) Development of C++ Client for a Java QoS API based on CORBA
AQUILA (IST-1999-10077) Adaptive Resource Control for QoS Using an IP-based Layered Architecture Project Defense Development of C++ Client for a Java QoS API based on CORBA http://www-st st.inf..inf.tu-dresden.de/aquila/
More informationDISTRIBUTED SYSTEMS [COMP9243] Lecture 7: Middleware MIDDLEWARE. Distributed Object based: Slide 1. Slide 3. Message-oriented: Slide 4
KINDS OF MIDDLEWARE DISTRIBUTED SYSTEMS [COMP9243] Lecture 7: Middleware Distributed Object based: Objects invoke each other s methods Server Slide 1 ➀ Introduction ➁ Distributed Object Middleware Remote
More informationPlug-and-Play Network Service Configuration Using CORBA
Plug-and-Play Network Service Configuration Using CORBA Syed Kamran Raza, Bernard Pagurek, Tony White Dept. of Systems and Computer Engineering, Carleton University 1125 Colonel By Drive Ottawa, ON. Canada
More informationDistributed Systems Principles and Paradigms
Distributed Systems Principles and Paradigms Chapter 09 (version 27th November 2001) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.
More informationPart 6: Distributed Objects and EJB. 2003, Karl Aberer, EPFL-SSC, Laboratoire de systèmes d'informations rèpartis Part 5-1
C o n c e p t i o n o f I n f o r m a t i o n S y s t e m s Part 6: Distributed Objects and EJB 2003, Karl Aberer, EPFL-SSC, Laboratoire de systèmes d'informations rèpartis Part 5-1 PART VI - Distributed
More informationAN EMPIRICAL STUDY OF EFFICIENCY IN DISTRIBUTED PARALLEL PROCESSING
AN EMPIRICAL STUDY OF EFFICIENCY IN DISTRIBUTED PARALLEL PROCESSING DR. ROGER EGGEN Department of Computer and Information Sciences University of North Florida Jacksonville, Florida 32224 USA ree@unf.edu
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 information55:182/22C:182. Distributed Application Frameworks Java RMI, CORBA, Web Services (SOAP)
55:182/22C:182 Distributed Application Frameworks Java RMI, CORBA, Web Services (SOAP) Broker Architecture Example Java Remote Method Invocation (RMI) Invoking a method which lies in a different address
More informationChallenges in component based programming. Lena Buffoni
Challenges in component based programming Lena Buffoni Challenge: Size & complexity Software is everywhere and increasingly complex (embedded systems, internet of things ) Single products have become product
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 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 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 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 informationProblems with the specification lead to new specifications, forcing vendors to
CORBA Distributed object-based system Common Object Request Broker Architecture (CORBA) CORBA is a specification of a distributed system. There are no suggestions made about the implementation of the middleware
More informationDistributed Objects. Chapter Distributing Objects Overview
Middleware Architecture with Patterns and Frameworks c 2003-2009, Sacha Krakowiak (version of February 27, 2009-12:58) Creative Commons license (http://creativecommons.org/licenses/by-nc-nd/3.0/) Chapter
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 informationElectronic Payment Systems (1) E-cash
Electronic Payment Systems (1) Payment systems based on direct payment between customer and merchant. a) Paying in cash. b) Using a check. c) Using a credit card. Lecture 24, page 1 E-cash The principle
More informationKINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK
KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR 2011 2012(ODD SEMESTER) QUESTION BANK SUBJECT CODE / NAME: IT1402-MIDDLEWARE TECHNOLOGIES YEAR/SEM : IV / VII UNIT
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 informationOracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010
Oracle Tuxedo CORBA Technical Articles 11g Release 1 (11.1.1.1.0) March 2010 Oracle Tuxedo CORBA Technical Articles, 11g Release 1 (11.1.1.1.0) Copyright 1996, 2010, Oracle and/or its affiliates. All rights
More informationOverview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host
Distributed Software Architecture Using Middleware Mitul Patel 1 Overview Distributed Systems Middleware What is it? Why do we need it? Types of Middleware Example Summary 2 Distributed Systems Components
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 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 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 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 informationA Strategic Comparison of Component Standards
A Strategic Comparison of Component Standards Prof. Dr. Wolfgang Pree Department of Computer Science cs.uni-salzburg.at Copyright Wolfgang Pree, All Rights Reserved Contents What is a component? COM ::
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 informationIrbid National University, Irbid, Jordan. 1. The concept of distributed corporate systems
Developing Enterprise Systems with CORBA and Java Integrated Technologies Safwan Al Salaimeh, Amer Abu Zaher Irbid National University, Irbid, Jordan ABSTRACT: The questions of corporate systems development
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 informationModule 1 - Distributed System Architectures & Models
Module 1 - Distributed System Architectures & Models System Architecture Defines the structure of the system components identified functions of each component defined interrelationships and interactions
More informationAn Architectural View of Distributed Objects and Components
An Architectural View of Distributed Objects and Components in CORBA, Java RMI, and COM/DCOM František Plášil 1, Michael Stal 2 1 Charles University Faculty of Mathematics and Physics, Department of Software
More informationThe Common Object Request Broker Architecture (CORBA)
The Common Object Request Broker Architecture (CORBA) CORBA CORBA is a standard architecture for distributed objects systems CORBA is designed to allow distributed objects to interoperate in a heterogenous
More informationChapter 3 Introduction to Distributed Objects
Chapter 3 Introduction to Distributed Objects Distributed object support all of the properties of an object created in compiled object oriented language, namely,data and code encapsulation, polymorphism
More informationBasic Web Applications. Extreme Java G Web Server. Enterprise Data. Client Browser
Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences
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 informationSystem types. Distributed systems
System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors
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 informationRemote Method Invocation
Remote Method Invocation A true distributed computing application interface for Java, written to provide easy access to objects existing on remote virtual machines Provide access to objects existing on
More informationLecture 6. Architectural Patterns: Broker
Lecture 6 Architectural Patterns: Broker Broker Pattern The Broker pattern can be used to structure distributed software systems with decoupled components that interact by remote service invocations. A
More informationCORBA Object Transaction Service
CORBA Object Transaction Service Telcordia Contact: Paolo Missier paolo@research.telcordia.com +1 (973) 829 4644 March 29th, 1999 An SAIC Company Telcordia Technologies Proprietary Internal Use Only This
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 informationISO/IEC INTERNATIONAL STANDARD
INTERNATIONAL STANDARD ISO/IEC 19500-2 This is a preview of "ISO/IEC 19500-2:2012". Click here to purchase the full version from the ANSI store. Second edition 2012-04-15 Information technology Object
More informationCommunication. Overview
Communication Chapter 2 1 Overview Layered protocols Remote procedure call Remote object invocation Message-oriented communication Stream-oriented communication 2 Layered protocols Low-level layers Transport
More informationDISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: Lecture 7: Middleware. Slide 1. Slide 3. Message-oriented: MIDDLEWARE
DISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: KINDS OF MIDDLEWARE Lecture 7: Middleware Objects invoke each other s methods Slide 1 ➀ Introduction ➁ Publish/Subscribe Middleware ➂ Map-Reduce
More informationArchitecture of So-ware Systems RMI and Distributed Components. Mar<n Rehák
Architecture of So-ware Systems RMI and Distributed Components Mar
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 informationOutline. Chapter 5 Application Server Middleware. Types of application server middleware. TP monitors CORBA Server-side components and EJB Summary
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 5 Application Server Middleware Outline Types of application server
More informationDistributed Object-Based. Systems. Chapter 9
Distributed Object-Based Systems Chapter 9 Overview of CORBA The global architecture of CORBA. Object Model The general organization of a CORBA system. Service Collection Query Concurrency Transaction
More informationPerformance Evaluation of Java And C++ Distributed Applications In A CORBA Environment
Performance Evaluation of Java And C++ Distributed Applications In A CORBA Environment Sanjay P. Ahuja Roger Eggen Cheryl Daucher Department of Computer and Information Sciences University of North Florida
More informationDistributed Computing
Distributed Computing 1 Why distributed systems: Benefits & Challenges The Sydney Olympic game system: see text page 29-30 Divide-and-conquer Interacting autonomous systems Concurrencies Transactions 2
More informationVerteilte Systeme (Distributed Systems)
Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 3: Communication (Part 2) Remote Procedure
More informationCORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University
CORBA and COM TIP Two practical techniques for object composition X LIU, School of Computing, Napier University CORBA Introduction Common Object Request Broker Architecture (CORBA) is an industry-standard
More informationIntroduction and Overview Socket Programming Higher-level interfaces Final thoughts. Network Programming. Samuli Sorvakko/Nixu Oy
Network Programming Samuli Sorvakko/Nixu Oy Telecommunications software and Multimedia Laboratory T-110.4100 Computer Networks October 16, 2008 Agenda 1 Introduction and Overview Introduction 2 Socket
More informationpresentation DAD Distributed Applications Development Cristian Toma
Lecture 9 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 informationUsing CORBA Middleware in Finite Element Software
Using CORBA Middleware in Finite Element Software J. Lindemann, O. Dahlblom and G. Sandberg Division of Structural Mechanics, Lund University strucmech@byggmek.lth.se Abstract. Distributed middleware technologies,
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 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 Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1
Distributed Systems Architectures Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1 Objectives To explain the advantages and disadvantages of different distributed systems architectures
More informationJava and Distributed Systems
Java and Distributed Systems Dr. Stephan Fischer GMD-IPSI Dolivostr. 15 D-64293 Darmstadt sfischer@darmstadt.gmd.de Contents Remote Method Invocation Java and CORBA Jini Discussion Java RMI (1) RMI applications:
More informationCourse Snapshot. The Next Few Classes. Parallel versus Distributed Systems. Distributed Systems. We have covered all the fundamental OS components:
Course Snapshot The Next Few Classes We have covered all the fundamental OS components: Architecture and OS interactions Processes and threads Synchronization and deadlock Process scheduling Memory management
More informationSession plan. sessionx. Desarrollo de Aplicaciones en Red. What s Corba? RPC vs. Corba. Middleware. Middleware task
sessionx Desarrollo de Aplicaciones en Red José Rafael Rojano Cáceres http://www.uv.mx/rrojano General vision Middleware OMA Corba IDL ORB IIOP Examples Session plan What s Corba? Middleware for Programming
More informationDistributed Systems Principles and Paradigms. Distributed Object-Based Systems. Remote distributed objects. Remote distributed objects
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science steen@cs.vu.nl Chapter 10: Version: December 10, 2012 1 / 22 10.1 Architecture 10.1 Architecture Remote
More informationCourse Snapshot. The Next Few Classes
Course Snapshot We have covered all the fundamental OS components: Architecture and OS interactions Processes and threads Synchronization and deadlock Process scheduling Memory management File systems
More information