Ein einfacher Server. .NET Remoting. Klassentypen

Größe: px
Ab Seite anzeigen:

Download "Ein einfacher Server. .NET Remoting. Klassentypen"

Transkript

1 Einführung - eine Klienten-Applikation kann mit einer Komponente interagieren die hinter einer Grenze liegt - Remoting ermöglicht eine Kommunikation von Komponenten Kontext-, Applikationsdomänen- (leichtgewichtiger Prozess), Prozess- und Rechnerübergreifend - eine Remote-Komponente kann in unterschiedlichen Applikationen gehostet werden - WinForm- oder Konsolenanwendung - Windows Service - über Microsoft Internet Information Services (IIS) und ASP.NET -.NET Remoting kann zustandsbehaftete Objekte verwenden im Gegensatz zu XML WebServices - Remoteaufruf einer Methode unterscheidet sich wesentlich von einem lokalen Aufruf im Hinblick auf Laufzeitverhalten A a = new A(); a.fn(); // Was passiert hier? Komponenten & Frameworks Seite 1

2 Ausgangspunkt - Gegeben: Klasse mit Methode int Quadrat(int i) Klient: Programm auf Rechner A Server: Programm auf Rechner B - Ziel: Methode int Quadrat(int i) soll auf Initiative vom Klienten auf dem Server ausgeführt werden und Klient soll das Ergebnis erhalten - Pseudocode: Eingabe int-wert Aufruf Methode auf Server und Übergabe Eingabewert (nicht statische!) Methode auf Server ausführen Ergebnis an Klienten zurückgeben Ausgabe Ergebnis Anm.: Ausführung der Methode erfordert Instanz! Klient Methodenaufruf Verbindungskanal Server Methodenausführung + Antwort Komponenten & Frameworks Seite 2

3 Anforderungen - Klient und Server müssen Verbindung aufbauen => Kanal wird beim Klienten und Server registriert Vorhandene Protokolle: Http und Tcp - Instanzen müssen als Referenzen (: MarshalByRefObject) entfernt ansprechbar sein oder als Wert ([Serializable]) über Kanal versendbar sein - Klient und Server müssen für Compilierung den Typ oder mindestens das Interface des Typs kennen - Instanz muss auf dem Server vor der Ausführung einer nicht statischen Methode erstellt werden. Verfügbare Instanztypen sind: - Singlecall - Singleton - Client activated - Instanz auf dem Server muss freigegeben werden Lösungsansatz: Liftime-Leasing Komponenten & Frameworks Seite 3

4 Ein einfacher Server Klassentypen.NET Remoting namespace SimpleServer{ public class A : MarshalByRefObject, SimpleInterface.IA { private double status; public A(){status=0;Console.WriteLine("Instanz erstellt");} public double quadrat(double d) { Console.WriteLine(d); status = d*d+status; return status;} } class T { static void Main(string[] args) { HttpChannel AChannel = new HttpChannel(60000); ChannelServices.RegisterChannel(AChannel); Type atype = typeof(simpleserver.a); // Server activated RemotingConfiguration.RegisterWellKnownServiceType( atype,"theendpoint",wellknownobjectmode.singleton); Console.ReadLine();} } } Komponenten & Frameworks Seite 4

5 Ein einfacher Klient.NET Remoting class T { static void Main(string[] args) { HttpChannel channel = new HttpChannel(0); ChannelServices.RegisterChannel(channel); MarshalByRefObject obj = (MarshalByRefObject) RemotingServices.Connect(typeof(SimpleInterface.IA), "http://localhost:60000/theendpoint"); SimpleInterface.IA ia = obj as SimpleInterface.IA; try{console.writeline(ia.quadrat(5));} catch (Exception e){console.writeline(e.message);} Console.ReadLine();} } Verwendetes Interface (Dll) Klient und Server kennen das Interface (Verweis auf Dll) namespace SimpleInterface{ public interface IA{double quadrat(double d);} } Komponenten & Frameworks Seite 5

6 Kategorisierung von Klassen - Serialisierbare Klassen - mit dem Attribut [Serializable] deklariert - können zwischen Applikationsdomänen versendet werden - sowohl der Klient als auch der Server müssen den Typ des serialisierten Objektes (entsprechende Assembly) kennen - Serialisierung kann verwendet werden um Instanzen in einer Datei zu speichern - Deserialisierung erzeugt aus Informationsstrom (Ergebnis der Serialisierung) eine Instanz - Remote Klassen - mit dem Attribut [MarshallByRefObject] deklariert - ermöglicht einen Remoteaufruf - entfernte Referenz (verwendet Proxy) - "Normale Klassen" - können nicht ausserhalb ihrer Applikationsdomänen verwendet werden Komponenten & Frameworks Seite 6

7 "Normaler Klasse" Remote-Fähigkeit hinzufügen 1. Typ remote-fähig machen - MarshalByRefObject d. h. entfernte Referenz oder - [Serializable] d. h. Instanz über Leitung versendbar 2. Eine Host-Applikations-Domäne wählen - Konsolenanwendung, WinForm, Windows Service, IIS/ASP 3. Aktivierungsmodell wählen (siehe: unten) - Server-, Client-aktiviert 4. Channel und Port wählen - HttpCHannel, TcpChannel 5. Festlegen wie Klienten die Metadaten vom Server erhalten - erforderlich für Kompilierung und Proxyerstellung - z. B. über Interface 6. Server für.net-remoting konfigurieren - Channel/Port und WellKnownType registrieren Komponenten & Frameworks Seite 7

8 Aktivierungsmodi - Klient stellt Anfrage an eine Instanz auf dem Server - Server wartet auf Anfragen eines Klienten und hat die Aufgabe der Instanzerstellung - Wann wird Instanz erstellt und welche Varianten gibt es? - SingleCall - Singleton - Client-activated Lebensdauer von Instanzen - Lösung in DCOM: keep-alive-pinging (belastet Netzwerk) - Lösung in.net: lifetime leasing scheme - Instanz existiert nur eine fest vorgegebene Zeit - falls man möchte, dass eine Instanz länger als dies Zeit existiert muss man die Lebenszeit verlängern (geeignete Methoden verfügbar) - ist Lebenszeit abgelaufen kann Instanz vom Garbagekollektor freigegeben werden Komponenten & Frameworks Seite 8

9 Instanztypen - SingleCall (Server-aktiviert) - zustandsloses Objekt, wird beim Methodenaufruf automatisch erstellt und anschliessend freigegeben - Klient kann immer dieselbe Referenz verwenden, aber jeder Aufruf hat das Erstellen einer neuen Instanz zur Folge - parameterloser Konstruktor erforderlich - Singleton (Server-aktiviert) - es gibt genau eine Instanz für alle Klienten - Problem: konkurierende Aufrufe - parameterloser Konstruktor erforderlich - Client-activated - ist zustandsbehaftet - jeder Klient erhält eine eigene Instanz - wird beim Klientenaufruf erstellt - kann Konstruktor mit Parameterwertübergabe verwenden Komponenten & Frameworks Seite 9

10 Verwendung von Singleton und SingleCall Instanzen //Server RemotingConfiguration.RegisterWellKnownServiceType(typeof (SimpleServer.A),"theEndPoint",WellKnownObjectMode.Singleton); // oder WellKnownObjectMode.SingleCall // Client Alternative 1 MarshalByRefObject obj = (MarshalByRefObject) RemotingServices.Connect(typeof(SimpleInterface.IA), "http://localhost:60000/theendpoint"); // Transparent Proxy // Client Alternative 2 object obj = Activator.GetObject(typeof(SimpleInterface.IA), "http://localhost:60000/theendpoint"); // Transparent Proxy // Methodenaufruf SimpleInterface.IA ia = obj as SimpleInterface.IA; ia.quadrat(5); // erst hier Instanz erstellt Komponenten & Frameworks Seite 10

11 Client aktivierte Instanz // Server Type atype = typeof(simpleserver.a); System.Runtime.Remoting.ActivatedServiceTypeEntry act = new ActivatedServiceTypeEntry(aType); RemotingConfiguration.RegisterActivatedServiceType(aType); // Client Type atype = typeof(simpleserver.a); ActivatedClientTypeEntry act = new ActivatedClientTypeEntry( atype,"tcp://localhost:60000"); RemotingConfiguration.RegisterActivatedClientType(act); SimpleServer.A ia = new SimpleServer.A(); Komponenten & Frameworks Seite 11

12 Die Remoting Infrastruktur // Aufruf // Methode fn() //von Instanz a a.fn(); Transparent Proxy Real Proxy Remoting Infrastruktur (ClientSinks) G R E N Z E // tatsächlicher // Aufruf der // Methode fn() // von Instanz a Remoting Infrastruktur (ServerSinks) Anm: bedeutet versenden Message Objekt(siehe: Sink) Komponenten & Frameworks Seite 12

13 Transparent Proxy - wird bei der Remote- Instanziierung mit - new oder - Activator.CreateInstance automatisch auf Clientseite erstellt - der Erstellungsprozess erfolgt mit Reflection (der Metadaten)des entfernten Typs (=> Typinformationen muessen für Client verfügbar sein) - Transparent Proxy spiegelt die Schnittstelle des entfernten Typs wieder - Transparent Proxy wird vom Clienten wie der entfernte Typ verwendet - Transparent Proxy nimmt Methodenaufrufe des Clienten auf und leitet diese an Real Proxy weiter - erzeugt eine MessageData Struktur - MessageData Struktur wird an die Methode Invoke der Real Proxy weitergeleitet - Transparent Proxy kann nicht geändert (erweitert) werden Komponenten & Frameworks Seite 13

14 Real Proxy - ist eine abstrakte Klasse - erzeugt aus der MessageData Struktur der Transparent Proxy die RemoteMessage - RemoteMessage wird durch Message Sink Kette gegebenenfalls an Remote Objekt weitergeleitet - davon abgeleitet wird konkrete Klasse Remoting Proxy (ist eine nicht dokumentierte interne Klasse) - Remoting Proxy kann durch eigene von Real Proxy abgeleitete Klasse ersetzt werden (Customizing) - auf Serverseite existiert keine vergleichbare Proxyklasse - Alternativen zum Real Proxyeinsatz: Sinks - stellen Senken dar - stehen sowohl auf der Client- als auch auf der Serverseite zur Verfügung - können in die Aufrufkette eingehakt werden Komponenten & Frameworks Seite 14

15 Erstellen einer eigenen Real Proxy - eigene RealProxy Klasse definieren und override dessen Invoke Methode (wird vom Transparent Proxy aufgerufen) public class SimpleInterceptionProxy : RealProxy {public override System.Runtime.Remoting.Messaging.IMessage Invoke(System.Runtime.Remoting.Messaging.IMessage msg) {...}...} - eigene ProxyAttribute Klasse def. (fügt Real Proxy hinzu) public class SProxyAttribute : ProxyAttribute { public override System.MarshalByRefObject CreateInstance(System.Type servertype)...} - ein ContextBoundObject mit dem ProxyAttribut markieren [SProxyAttribute()] public class CBRemoteObject : ContextBoundObject {...} Anm.: ContextBoundObject ist von MarshalByRefObject abg. Komponenten & Frameworks Seite 15

16 Sink - Nachrichten werden auf symmetrischen Sink-Ketten (auf Client und Server) weitergeleitet Quelle: Microsoft Komponenten & Frameworks Seite 16

17 Sink Klassifizierung.NET Remoting - Formatter Sink - serialisiert die Channel Sink Message - können systemdefinierte Formatter (BinaryFormatter und SoapFormatter) verwenden - eigene Formatter können definiert werden - Eigene IClientChannelSinks / IServerChannelSinks - von IDynamicMessageSink Interface abgeleitete Klasse - ermöglicht Customizing (Beispiel: Verschlüsselung, Logging, Kompression) - werden in die Sink-Kette eingehakt - TransportSink - sind für den Transport vom Clienten zum Server und zurück verantwortlich - es können keine eigenen TransportSinks definiert werden Komponenten & Frameworks Seite 17

E.1 Objekt-Serialisierung

E.1 Objekt-Serialisierung E Überblick über die 13. Übung E Überblick über die 13. Übung E.1 Serialisierung (2) Objekt-Serialisierung Wie soll ein Objekt serialisiert werden? serveraktivierte Objekte IFormatter Schnittstelle stellt

Mehr

8.1.6.NET Remoting. C# ( Csharp, Cis ) : Referenzsprache für.net,

8.1.6.NET Remoting. C# ( Csharp, Cis ) : Referenzsprache für.net, 8.1.6.NET Remoting.Net ( dotnet ) : von Microsoft eingeführte Plattform für verteilte Anwendungen, virtuelle Maschine für die verteilte Ausführung von Programmen in unterschiedlichen Sprachen C# ( Csharp,

Mehr

.NET Remoting. Softwareentwicklung mit MS.NET und C# Lokaler Proxy. Proxy. Remoting. .NET Remoting

.NET Remoting. Softwareentwicklung mit MS.NET und C# Lokaler Proxy. Proxy. Remoting. .NET Remoting Softwareentwicklung mit MS.NET und C# Lokaler Transparent Real.NET Remoting IMessage Ingo Rammer http://www.dotnetremoting.cc rammer@sycom.at Stack Builder Objekt Remoting Remoting ist der Zugriff auf

Mehr

unterschiedlichen Sprachen

unterschiedlichen Sprachen 8.1.6.NET Remoting.Net ( dotnet ) : von Microsoft eingeführte Plattform für verteilte Anwendungen, virtuelle Maschine für die verteilte Ausführung von Programmen in unterschiedlichen Sprachen C# ( Csharp

Mehr

.NET-Networking 2 Windows Communication Foundation

.NET-Networking 2 Windows Communication Foundation .NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering Agenda Grundproblem Bestandteile

Mehr

Netzprogrammierung: Microsoft.NET Remoting

Netzprogrammierung: Microsoft.NET Remoting Netzprogrammierung: Microsoft.NET Remoting Robert Tolksdorf und Peter Löhr Überblick 1. Fernaufrufbare Objekte 2. Parameterübergabe 3. Konfigurationsdateien http://msdn.microsoft.com/en-us/library/72x4h507(vs.85).aspx

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

Prof. W. Henrich Seite 1

Prof. W. Henrich Seite 1 Attribute Überblick - Attribute ermöglichen das Hinzufügen von benutzerdefinerbaren Informationen zur Klasse - analog der Sprache, Bsp.: ein schönes Auto - können zur Laufzeit abgefragt und ausgewertet

Mehr

Konzepte von Betriebssystem-Komponenten Middleware:.NET Remoting

Konzepte von Betriebssystem-Komponenten Middleware:.NET Remoting Konzepte von Betriebssystem-Komponenten Middleware:.NET Remoting André Frimberger 16.11.2004 1 Was ist.net Remoting?.NET Remoting ist ein Framework aus.net, welches die Interprozesskommunikation zwischen

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem

Mehr

Erstellen sicherer ASP.NET- Anwendungen

Erstellen sicherer ASP.NET- Anwendungen Erstellen sicherer ASP.NET- Anwendungen Authentifizierung, Autorisierung und sichere Kommunikation Auf der Orientierungsseite finden Sie einen Ausgangspunkt und eine vollständige Übersicht zum Erstellen

Mehr

.NET Framework. 3. Das.NET Framework

.NET Framework. 3. Das.NET Framework 3. Das.NET Framework.NET Framework 3.1 Übersicht - 2002 von Microsoft bereitgestellt - Ziel: Entwicklung von Anwendungen (Windows, Web, Embedded,..) bequemer und sicherer zu machen und bestehenden Code

Mehr

Gliederung Einleitung Die Interprozess Kommunikation Zusammenfassung Fragen. .NET Remoting. André Frimberger

Gliederung Einleitung Die Interprozess Kommunikation Zusammenfassung Fragen. .NET Remoting. André Frimberger .NET Remoting André Frimberger 30.11.2004 André Frimberger.NET Remoting 1 Gliederung 1 Einleitung Was ist.net Remoting? 2 Die Interprozess Kommunikation Grundkonzept der Datenkanal Parameterübergabe Instanziierung

Mehr

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

Mehr

Einführung in COM. 04.04.2006 Seite 1

Einführung in COM. 04.04.2006 Seite 1 Einführung in COM 04.04.2006 Seite 1 Ziele Sie kennen die Funktion der Registry für COM Sie können die Struktur eines COM-Objekts erklären Sie können erklären, wie ein remote-server gestartet wird 04.04.2006

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

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

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 1 Java 1.1 e B Java RMI orientierte Sprache e beschrieben in Klassendefinitionen und andere Datentypen: int, float, boolean, etc. referenzen Verweise auf e keine Zeiger, Adressen o.ä. B.1 B.2 1.1 e (2)

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

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

Programmieren II. Remote Method Invocation (RMI) Heusch -- Ratz.  Institut für Angewandte Informatik Programmieren II Remote Method Invocation (RMI) Heusch -- Ratz KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Remote Method

Mehr

Mircosoft DotNot. Verteilte Anwendungen the microsoft (cc) way. Verteilte Anwendungen (04/05) T.S. (JD)

Mircosoft DotNot. Verteilte Anwendungen the microsoft (cc) way. Verteilte Anwendungen (04/05) T.S. (JD) Mircosoft DotNot Verteilte Anwendungen the microsoft (cc) way 1 Die DotNet-Plattform Microsofts zukünftige Plattform für die Erstellung (verteilter) Anwendungen Zusammenfassung bestehender und zukünftiger

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Aufgabe 1 Bitte schreiben Sie ein RMI Objekt, das eine Person repräsentiert. Es soll die folgende Schnittstelle implementieren: public interface Person

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

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

9. Remote Method Invocation Grundlagen der Programmierung II (Java) 9. Remote Method Invocation Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Vererbung. Was versteht man unter dem Begriff Vererbung?

Vererbung. Was versteht man unter dem Begriff Vererbung? Was versteht man unter dem Begriff Vererbung? Elternkonstrukt - Datenelemente - Methoden o Deklaration o Definition Kindkonstrukt... Main... Elternkonstrukt b = new Kindkonstrukt() b.fn() Komponenten &

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Java-Programmierung. Remote Method Invocation - RMI

Java-Programmierung. Remote Method Invocation - RMI Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig

Mehr

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Asynchrone Webservices mit Axis 1.x in Java

Asynchrone Webservices mit Axis 1.x in Java Asynchrone Webservices mit Axis 1.x in Java 1. Übersicht Architektur Da Webservices nach relativ kurzen Timeouts Anfragen abgearbeitet haben müsse, sind komplexe Anfragen wie sie in der Bioinformatik üblich

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

Statische und Nichtstatische Methoden Properties/ Eigenschaften

Statische und Nichtstatische Methoden Properties/ Eigenschaften Statische und Nichtstatische Methoden Properties/ Eigenschaften Statische Methoden Definition und Merkmale von Properties Modifizierer Beispiele Nebeneffekte Dr. Beatrice Amrhein Statische / Nichtstatische

Mehr

7.1.1 Grundzüge der Fernaufruf-Implementierung

7.1.1 Grundzüge der Fernaufruf-Implementierung 7.1.1 Grundzüge der Fernaufruf-Implementierung = Aufrufbeziehung Aufrufer Vertreter (proxy, client stub) Fernaufrufdienst A d a p t e r Treiber (skeleton, server stub) Fernaufrufdienst Aufgerufener (Modul,

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste

Mehr

3.1 COM (2) 3.2 DCOM

3.1 COM (2) 3.2 DCOM 3 COM und DCOM 3.1 COM (2) 3.1 COM Component Object Model (Microsoft, 1992) Grundlage für allerlei Dienste: COM+, DCOM, OLE, OCX, ActiveX objektbasiertes Programmiermodell dynamisches Verbinden von Objekten

Mehr

Java Remote Method Invocation (RMI)

Java Remote Method Invocation (RMI) Java Remote Method Invocation (RMI) Alexander Petry 13. Mai 2003 engl.: Entfernter Methodenaufruf 1 Übersicht 1. Einleitung 2. RMI Interfaces und Klassen 3. Parameterübergabe 4. Dynamisches Nachladen von

Mehr

TwinCAT HMI Application

TwinCAT HMI Application New Automation Technology TwinCAT HMI Application 08.05.2010 1 Überblick Einleitung Übersicht Möglichkeiten der Applikation Struktur und Komponenten Komponenten für das Microsoft Visual Studio Anleger

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

Praktikum aus Softwareentwicklung 2, Stunde 8

Praktikum aus Softwareentwicklung 2, Stunde 8 Praktikum aus Softwareentwicklung 2, Stunde 8 Lehrziele/Inhalt 1. Remoting Remoting Über Remoting können Objekte über JavaVMs hinweg miteinander kommunizieren. Das ist auch mit Socket-Programmierung möglich.

Mehr

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007 Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung

Mehr

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests. Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

F.1 Überblick. 1 RPC-System in Aufgabe 3. Kommunikationsschicht: tauscht Daten zwischen zwei Rechnern aus

F.1 Überblick. 1 RPC-System in Aufgabe 3. Kommunikationsschicht: tauscht Daten zwischen zwei Rechnern aus F 5. Übung F 5. Übung F.1 Überblick Aufgabe 3 RPC-System im Überblick Marshalling primitiver Datentypen Byteorder Fließkommawerte s und s F.1 Kommunikationsschicht: tauscht Daten zwischen zwei Rechnern

Mehr

Konzeption und Realisierung einer dynamischen Verbindungsoptimierung für.net Remoting. Michael Theisinger. Konstanz, 26. März 2003 DIPLOMARBEIT

Konzeption und Realisierung einer dynamischen Verbindungsoptimierung für.net Remoting. Michael Theisinger. Konstanz, 26. März 2003 DIPLOMARBEIT Fachhochschule Konstanz Fachbereich Informatik Konzeption und Realisierung einer dynamischen Verbindungsoptimierung für.net Remoting Michael Theisinger Konstanz, 26. März 2003 DIPLOMARBEIT Diplomarbeit

Mehr

Distributed Programming in.net

Distributed Programming in.net Distributed Programming in.net Master Seminar Advanced Software Engineering Topics Prof. Jacques Pasquier-Rocha University of Fribourg, Switzerland Department of Informatics Software Engineering Group

Mehr

J..NET. J.1 Überblick. Common Language Runtime Einheitliche Klassenbibliothek Visua l Studio.NET

J..NET. J.1 Überblick. Common Language Runtime Einheitliche Klassenbibliothek Visua l Studio.NET J..NET J.1 Überblick J.1.1.NET Plattform: Framework & Tools Common Language Runtime Einheitliche Klassenbibliothek Visua l Studio.NET Building Block Services Ständig verfügbare Internet-Dienste (Code-Updates,

Mehr

ASP.NET Grundlagen. Was ist ASP.NET

ASP.NET Grundlagen. Was ist ASP.NET ASP.NET Grundlagen ASP.NET Grundlagen...1 Was ist ASP.NET...1 Webseiten mit ASP.NET...3 Ereignisse...4 Zustandsverwaltung...5 Die Eigenschaften Request und Response....6 Was ist ASP.NET ASP steht für Active

Mehr

Praktikum Verteilte Anwendungen

Praktikum Verteilte Anwendungen Technische Informatik (Info II) -Sommersemester 2006 - Folie 1 / 27 0 Gliederung 1.) Kurze Wiederholung/ Einleitung 2.) RPC/ RMI 3.) Praktisches Beispiel 4.) Aufgabenblatt Folie 2 / 27 Wiederholung/ Einleitung

Mehr

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen

Mehr

1 Polymorphie (Vielgestaltigkeit)

1 Polymorphie (Vielgestaltigkeit) 1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

7 Remote Method Invocation (RMI)

7 Remote Method Invocation (RMI) 7 Remote Method Invocation (RMI) Verteilte Java Anwendungen; Client/Server Architektur Vorläufige Version 188 c 2005 Peter Thiemann Server: Aufgaben erstellt remote objects Objekte, deren Methoden von

Mehr

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen

Mehr

Apache AXIS Architektur

Apache AXIS Architektur In diesem Kapitel Um was geht s? Axis Architektur Eine Übersicht Subsysteme Message Flow Handlers und Chains (Handler Ketten) Message Contexts Adminstratives Subsystem SOAP Message Modell Subsystem Message

Mehr

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2010/2011 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Java Remote Method Invocation (RMI) Realisierung

Mehr

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

D.1.NET-Anwendungen bauen und binden

D.1.NET-Anwendungen bauen und binden D Überblick über die 13. Übung D Überblick über die 13. Übung 1 Assemblies.NET Anwendungen bauen und binden Assemblies Anwendungskonfigurationsdatei Signieren, Versionierung Binden Advanced.NET Remoting

Mehr

SRH Hochschule Heidelberg

SRH Hochschule Heidelberg SRH Hochschule Heidelberg Fachbereich Informatik Vertriebssysteme / CRM Johannes Dipl. Inf. (FH) Hoppe Johannes Hoppe MSP WCF Vorlesung 25.03.2009 90 Minuten, 8 Teilnehmer Dipl. Inf. (FH) Johannes Hoppe

Mehr

How-to: HTTP Proxy mit Radius Authentifizierung an einem Windows 2003 Server. Securepoint Security System Version 2007nx

How-to: HTTP Proxy mit Radius Authentifizierung an einem Windows 2003 Server. Securepoint Security System Version 2007nx Securepoint Security System Version 2007nx Inhaltsverzeichnis HTTP Proxy mit Radius Authentifizierung an einem Windows 2003 Server... 3 1 Konfiguration der Radius Authentifizierung auf einem Windows 2003

Mehr

Web-Services Implementierung mit Java

Web-Services Implementierung mit Java Web-Services Implementierung mit Java J. Heinzelreiter WS 2004/05 Java-APIs für Web-Services (1) Anwendungs-Code JAXR JAXM JAX-RPC SAAJ SOAP/SwA JWSDL WSDL XML/XML-Schema Web-Services/Java - 2 Java-APIs

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7 Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck

Mehr

Prof. W. Henrich Seite 1

Prof. W. Henrich Seite 1 Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse

Mehr

7 Assemblies. Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files

7 Assemblies. Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files 7 Assemblies 8 Virtual Execution System VES Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files Teil der CLR Class Loader Metadaten (Manifest) zur Selbstbeschreibung

Mehr

Szenario 3: Service mit erweiterter Schnittstelle

Szenario 3: Service mit erweiterter Schnittstelle 2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich

Mehr

Java RMI, CORBA und Firewalls

Java RMI, CORBA und Firewalls Java RMI, CORBA und s Lehrstuhl für Datenverarbeitung falk@ei.tum.de Verteilte Objekte s Probleme Lösungsmöglichkeiten Konkrete Lösungen Verteilte Objekte Client mehrere Objekte Methoden-Aufruf Antwort

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Der lokale und verteilte Fall

Der lokale und verteilte Fall Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1 Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen

Mehr

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Web Services vertraut. Der Web Service

Mehr

E.1 Object Request Brokers

E.1 Object Request Brokers E Überblick über die 4. Übung E Überblick über die 4. Übung 1 Komponenten eines ORBs Lösungsskizze Aufgabe 2 RPC und ORB Aufrufsemantiken Hinweise Aufgabe 3 Kommunikationsschicht: tauscht Daten zwischen

Mehr

Enterprise Application Integration Erfahrungen aus der Praxis

Enterprise Application Integration Erfahrungen aus der Praxis Enterprise Application Integration Erfahrungen aus der Praxis Teil 4: EAI und.net, EAI und J2EE Tutorial NODs 2002, Wolfgang Keller and Generali 2001, 2002, all rights reserved 1 Überblick EAI und....net

Mehr

Klassen in Java. Klassen

Klassen in Java. Klassen Klassen in Java Klassen Klassen beschreiben Objekte, die abstakte oder konkrete Sachverhalte modellieren. Objekte sind durch einen Status gekennzeichnet (State). Der Status eines Objektes ergibt sich aus

Mehr

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

Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert Partly based on material by Victor García Barrios and Paul Krzyzanowski

Mehr

Programmieren 2 Selbststudium Semesterwoche 6

Programmieren 2 Selbststudium Semesterwoche 6 Programmieren 2 Selbststudium Semesterwoche 6 1. Datenströme (Basis: Handout PRG2_SW6_OOP) 1. Gehen Sie nochmals die Kontrollfragen A durch. A.1. Ein JavaProgramm liest Daten aus einem???strom. InputStream

Mehr

Übungsaufgabe Transaktion als Middleware

Übungsaufgabe Transaktion als Middleware Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung

Mehr

14.3 WebServices mit.net

14.3 WebServices mit.net Die Ausführungen zu ASP.NET können an dieser Stelle nicht vertieft werden, da dieses Thema derartig komplex ist, dass es den Rahmen dieses Buches sprengen würde. Statt dessen sei auf das sehr eindrucksvolle

Mehr

Arbeitsblatt: Aufgaben zur Vorbereitung

Arbeitsblatt: Aufgaben zur Vorbereitung Arbeitsblatt: Aufgaben zur Vorbereitung Dieses Arbeitsblatt enthält Aufgaben, die der Vorbereitung auf das Praktikum dienen. Die Aufgaben müssen bis zum 09.03.2011 bearbeitet werden. Die Ergebnisse werden

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

5.6 Vererbung. Vererbung

5.6 Vererbung. Vererbung 5.6 Vererbung Klassen können zueinander in einer "ist ein"- Beziehung stehen Beispiel: Jeder PKW ist ein Kraftfahrzeug, jedes Kraftfahrzeug ist ein Transportmittel aber: auch jeder LKW ist ein Kraftfahrzeug

Mehr

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

Stack stack = new Stack(); stack.push ("Würstchen"); string s = (string) stack.pop(); Console.WriteLine (s);

Stack stack = new Stack(); stack.push (Würstchen); string s = (string) stack.pop(); Console.WriteLine (s); D3kjd3Di38lk323nnm Der Typ object object (System.Object) ist die Ausgangsbasisklasse für alle Typen. Jeder Typ kann per Upcast in ein object umgewandelt werden. Um zu zeigen, wie das nützlich sein kann,

Mehr

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]

Mehr

Vererbung. Martin Wirsing. Ziele. Vererbung

Vererbung. Martin Wirsing. Ziele. Vererbung 2 Ziele Martin Wirsing en Begriff der einfachen verstehen und Redefinition von Oberklassenmethoden verstehen spolymorphie verstehen ie Klasse Object kennenlernen in Zusammenarbeit mit Michael Barth, Philipp

Mehr

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter Remote- und Server-Programmierung Dr. Wolfgang Süß Thorsten Schlachter Remote Method Invocation (RMI) Servlets WebServices 2 Remote Method Invocation (RMI) Das Remote Method Invocation (RMI)-Framework

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

Programmieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik

Programmieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik Programmieren II Remote-Programmierung KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Remote-Programmierung Remote Method Invocation

Mehr

Innere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen.

Innere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Innere Klassen Innere Klassen Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Literatur: Java Tutorial & Arnold, K., Gosling, J. und Holmes,D... Page 1 Innere Klassen Der erste

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

Grundzüge der Programmierung. Wiederverwendung VERERBUNG Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse

Mehr

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es

Mehr