H.1 FORMI: An RMI Extension for Adaptive Applications H.1 FORMI: An RMI Extension for Adaptive Applications

Ähnliche Dokumente
1 Motivation. 1 Motivation. Standard Middleware für objektorientierte Anwendungen. Motivation. Fragmentierte Objektmodel. Java RMI

GridMate The Grid Matlab Extension

39 Object Request Brokers. 40 Components of an ORB Stubs and Skeletons Stub

39 Object Request Brokers

39 Object Request Brokers

36.2 Example ClassLoader Example Appletviewer

Einführung: Verteilte Systeme - Remote Method Invocation -

BVM-Tutorial 2010: BlueBerry A modular, cross-platform, C++ application framework

Remote Method Invocation

Remote Method Invocation

Exploring the knowledge in Semi Structured Data Sets with Rich Queries

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Karlsruhe Institute of Technology Die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH)

Webbasierte Exploration von großen 3D-Stadtmodellen mit dem 3DCityDB Webclient

Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert

Komponententechnologien Winter 2016/17. Komponenten. 2. Die Anfänge. Peter Sturm, Universität Trier 1

on Software Development Design

Konzepte von Betriebssystem-Komponenten Middleware RMI

C Java RMI C.2 C.4. 1 Java. 1 Java (2) 1 Java (3) Objektorientierte Sprache. Objektorientierte Sprache (fortges.) Objektorientierte Sprache (fortges.

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation Teil 3 RMI over IIOP

Methodik. zur prozessübergreifenden Integration. der Digitalen Fabrik. der Rechts- und Wirtschaftswissenschaftlichen Fakultät

Praktikum Verteilte Anwendungen

Group and Session Management for Collaborative Applications

9. Remote Method Invocation Grundlagen der Programmierung II (Java)

Frontend Migration from JSP to Eclipse Scout

FPGA-Based Architecture for Pattern Recognition

7.1.5 Java RMI Remote Method Invocation ( (

Wireless Sensor Netzwerke für den industriellen Einsatz

Algorithmen und Datenstrukturen

Verteilte Systeme Übung

B Java RMI B.1 B.2. 1 Java. 1.1 Objekte. Objektorientierte Sprache

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Client/Server-Systeme

Context-adaptation based on Ontologies and Spreading Activation

Java Remote Method Invocation (RMI)

D.1 Organisatorisches

Architekturen für verteilte Internetdienste

Server Architecture for Network Independent Multimedia Service Control. Wolfgang Kellerer

Remote Method Invocation

The core problem implementing BPEL based systems: Engineering Gap between Business- and Technical --Implementation!

H Mcast Future Internet made in Hamburg?

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker

Überblick. Class-Objekte. Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen

Überblick. Beispiel: get()-methodenaufruf am VSBoard aus Übungsaufgabe 1. Analyse einer Methode: java.lang.reflect.method

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion

Customer-specific software for autonomous driving and driver assistance (ADAS)

Upgrading Your Supporting Skills to Windows Server 2016

CaRD BOM Handover. Patrick Müller. Patrick Müller, Thomas Wamsiedl 1

Projektseminar Mobilkommunikation Projektseminar MIKS

Oracle Integration Cloud Service

Web Services. Web Services in the News. Vision: Web of Services. Learning for Results. DECUS Symposium 2002, Vortrag 1K07,

Verteilte Systeme. Verteilte Objektorientierte Systeme I. Prof. Dr. Oliver Haase

Data Structures and Algorithm Design

Unternehmensweite IT Architekturen

JPlus Platform Independent Learning with Environmental Information in School

Klausur Verteilte Systeme

Geschäftsprozesse und Regeln

Integration of D-Grid Sites in NGI-DE Monitoring

Indigo vs. Juno. Was ist neu für Eclipse 4.x RCP Entwickler? Hauptseminar 2012

A parameterised 3D-Structure-Model for the state of Bremen (Germany)

Integrated result data management in the development process of vehicle systems based on the ASAM ODS standard

Kommunikation in verteilten Anwendungen

Dynamic Hybrid Simulation

Programmieren II. Remote Method Invocation (RMI) Heusch -- Ratz. Institut für Angewandte Informatik

Remote Methode Invocation (RMI) ETIS SS05

Internetanwendungstechnik (Übung)

DATA ANALYSIS AND REPRESENTATION FOR SOFTWARE SYSTEMS

Überblick. Stubs & Skeletons Java Reflection API Dynamische Proxies als Stubs Generische Skeletons Aufgabe 2. VS-Übung (SS17) Stubs & Skeletons 2 1

Infrastructure as a Service (IaaS) Solutions for Online Game Service Provision

A central repository for gridded data in the MeteoSwiss Data Warehouse

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010

Anlage zur Akkreditierungsurkunde D-PL nach DIN EN ISO/IEC 17025:2005

Referenzmodelle und CIM - oder der IEC TC57 Baukasten. Dr. Heiko Englert Frankfurt,

Mobile und Verteilte Datenbanken

Vorbereitungen Download. AVO-Übung 6. Beispiel. Slice. Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation ICE-Binaries (inkl.

Java-Programmierung. Remote Method Invocation - RMI

Wie agil kann Business Analyse sein?

Visual Goal Management - visuelle Zielerreichung und Projektmanagement TOGAF. Requirements. Management generated by Dieter Langjahr 2014

Andreas Mösching Senior IT Architekt Hewlett-Packard (Schweiz) GmbH HP Banking Service Center Bern

Efficient Monte Carlo Simulation of Tunnel Currents in MOS Structures

Überblick. Verteilte Systeme Übung. VS-Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs. Tobias Distler, Michael Gernoth

Karlsruhe Institute of Technology Die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH)

Vasco Tonack Network and Communication, ZEDAT. Cisco UC Licensing. Und die Nachteile von Extension Mobility

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation RMI Beispiel

Java RMI Remote Method Invocation

Theorie zu Übung 8 Implementierung in Java

Architekturen für verteilte Objekte

E.9 Portable Object Adaptor

Algorithm Theory 3 Fast Fourier Transformation Christian Schindelhauer

Data Analysis and Simulation of Auto-ID enabled Food Supply Chains based on EPCIS Standard

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

Aspektorientierte Middleware Florian Wagner

+++ Bitte nutzen Sie die integrierte Audio-Funktion von WebEx (Menü Audio -> Integrated Voice Conference -> Start auswählen), um uns zu hören!!!.

Architektur & Design. Martin Jud Software-Engineering Construction Architecture 1. Architecture

Online Learning in Management

Überblick. Java Reflection API. Class-Objekte

Transkript:

Motivation The ed-object Approach Java RMI ed Objects in Java RMI Conclusions Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.1 1 Motivation Distributed object-oriented applications supported by middleware CORBA,.NET-Remoting Java Remote Method Invocation (RMI) Rising number of applications require non-functional requirements Soft real-time conditions Fault-tolerance High availability Streaming Service Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.2

1 Motivation Java RMI framework provides extension points New call semantics, transport protocols Used to introduce the object group paradigm No general adaption of the interaction patterns and the internal structure Solution: fragmented-object approach [Shapiro94] Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.3 2 ed-object Approach Extension of the traditional concept of stub-based distributed objects Object with unique identity distributed among different nodes (fragments) Distribution of state and functionality and arbitrary internal communication s offer the whole FO s interface (distribution transparency) Support for adaptive applications (e.g. state migration, replicas, etc.) Implicit binding (passing reference s object-specific fragment) Node 1 ed Object Node 2 Node 3 -Internal Communication Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.4

2 ed-object Approach Extension of the traditional concept of stub-based distributed objects Object with unique identity distributed among different nodes (fragments) Distribution of state and functionality and arbitrary internal communication s offer the whole FO s interface (distribution transparency) Support for adaptive applications (e.g. state migration, replicas, etc.) Implicit binding (passing reference s object-specific fragment) Node 1 ed Object Node 2 Node 3 -Internal Communication Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.5 2 ed-object Approach Extension of the traditional concept of stub-based distributed objects Object with unique identity distributed among different nodes (fragments) Distribution of state and functionality and arbitrary internal communication s offer the whole FO s interface (distribution transparency) Support for adaptive applications (e.g. state migration, replicas, etc.) Implicit binding (passing reference s object-specific fragment) Node 1 ed Object Node 2 Node 3 -Internal Communication Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.6

3 Java RMI Remote Method Invocation in Java Maintaining semantics of the Java object model in a distributed environment Semantics for object-passing Primitive values, Java objects, not exported RMI-objects: call-by-value Exported RMI-objects: call-by-reference Architecture Stub Remote Reference Layer Transport Layer Skeleton Remote Reference Layer Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.7 3 Java RMI Remote invocation in Java RMI Stub Node A Node B Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.8

3 Java RMI Remote invocation in Java RMI Stub invoke Node A Node B Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.9 3 Java RMI Remote invocation in Java RMI Stub invoke Node A Node B Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.10

4 ed Objects in Java RMI Goal: transparent integration of fragmented objects into Java RMI Naive approach: Extending the Remote Reference Layer Well-known approach to integrate own call semantics (e.g., JGroup system) forwards invocations to the local fragment Problem: Local calls treated like remote ones (marshalling uses Java serialization and reflection) Stub Node A invoke Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 - Internal Communication H.11 4 ed Objects in Java RMI FORMI approach FORMI stub: merge of reference layer and stub layer Marshalling of stubs possible Calls processed faster FORMI-Stub Node A - Internal Communication Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.12

4 ed Objects in Java RMI Manager Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.13 4 ed Objects in Java RMI Manager Used as reference to local fragment, inherits RemoteStub Forwards calls to implementation Dynamic, transparent exchange of implementation at runtime Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.14

4 ed Objects in Java RMI Manager Used for creation of new fragments Responsible to select the class of the local fragment implementation Serialized during marshalling Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.15 4 ed Objects in Java RMI Manager Exchange of for QoS requirements Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.16

4 ed Objects in Java RMI Manager Creates the view Detects locally existent fragments in conjunction with the view Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.17 4 ed Objects in Java RMI Manager Creates new FORMI objects Returns reference Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.18

5 Conclusion Novel approach of integrating the concept of fragmented objects into Java RMI Support for adaptive applications Dynamic distribution of state and functionality Arbitrary internal communication Compatibility with standard RMI clients Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.19 H.2 Aufgabe #5 H.2 Aufgabe #5 ed IM java.rmi.remote org.aspectix.formi.formi extends implements extends Impl Class Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.20

1 Aufgabe #5 H.2 Aufgabe #5 Implementierung public interface extends Remote {} public class FragImpl extends Formi implements {} Initialisierung und Erzeugung remote Referenz Erzeugen einer eindeutigen Objekt ID GUID guid = new GUID(); Erzeugen einer remote Referenz frag = () edobject.object (FragImpl.class, DefaultFragImpl.class, guid, null, null); Veroeffentlichen der Referenz an einem Namensdienst (z.b. RMIRegistry) Naming.rebind("rmi://localhost/frag", frag); Referenz auf fragmentiertes Objekt frag = () Naming.lookup("rmi://localhost/frag"); Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.21 2 Aufgabe #5 H.2 Aufgabe #5 Questions? Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.22