Zusammenfassung Netzprogrammierung (Folien und Bücher)
|
|
- Ina Zimmermann
- vor 8 Jahren
- Abrufe
Transkript
1 Zusammenfassung Netzprogrammierung (Folien und Bücher) 1. Einleitung a. Verteilte Systeme Definition: Ein verteiltes System ist eine Menge voneinander unabhängiger Computer, die dem Benutzer wie ein einzelnes, kohärentes System erscheinen. Anschein: autonome Maschinen, einziges System moderne verteilte System bestehen aus Tausenden Prozessen, die über ein unzuverlässiges Netzwerk verteilt sind (Internet) Arten: o Server-Zentrierung: Dumme Terminals nutzen einen Server mit Datenbank, Programme auf dem Server laufen nebenläufig, Terminals sind nur Anzeigegeräte, Netzwerk ist lediglich Draht zur Zeichenübermittlung o Client-Server: durch Middleware verbundene Server bilden einen Server, schlaue Klienten nutzen diese durch Middleware, Netzwerk ist ein WAN oder LAN o Föderation: durch Middleware verbundene Server bleiben autonom und arbeiten zusammen, schlaue Klienten nutzen diese durch Middleware (ist etwas symmetrischer) o Peer-to-Peer: jeder arbeitet mit jedem zusammen, jeder ist gleichberechtigt, Middleware ist erheblich komplexer Gründe: o Technisch: schlecht und unvorhersagbare Reaktionszeit zentralisierter Systeme, insbesondere in Interaktion mit Nutzer, gute Verfügarkeit von Vernetzung, geringe Kosten der Vernetzung o Organisatorisch: größere Integration von Organisationen, virtuelle Organisationen mit natürlicher Verteiltheit von Anwendungen, Ad-hoc Zusammenarbeit erlaubt keine zentralisierten Strukturen Eigenschaften: Systeme sind immer aus verschiedenen, oft unabhängigen Komponenten zusammengesetzt, Komponenten: o sind räumlich verteilt (bedingt Vernetzung, Kommunikation) o sind einzeln von Fehlern betroffen (Fehler und Auswirkungen für andere sichtbar) o müssen integriert sein, so dass sie möglichst homogen erscheinen (bedingt zusätzliche Software = Middleware) o Komponentenheterogenität teilweise transparent (vereinfacht Systemgestaltung) o als autonome Partner in Interaktionen (bedingt Nebenläufigkeit) Vorteile: o bessere Leistung (kostengünstige einfache Komponenten und Vernetzungsund Kommunikationskosten, bessere Antwortzeiten durch Lastverteilung) o bessere Organisation (gemeinsame Nutzung von Ressourcen, Kommunikation im System erlaubt Kommunikation zwischen Usern) o bessere Zuverlässigkeit (durch verteilten Fehlerauftritt und mehrfach vorhandene Ressourcen und Kopien von Daten, unwahrscheinlicher Gesamtausfall, inkrementeller Ausbau möglich, einfachere Wartung) Nachteile: o Leistung abhängig von Netzwerkverfügbarkeit und dessen Qualität (Latenz, Bandbreite) o Organisation: höhere Komplexität der Software und Planung der Kommunikation und Koordination nötig, zusätzlicher Aufwand beim Testen durch nichtdeterministisches Netzverhalten o Zuverlässigkeit: erheblich mehr logische und physische Angriffspunkte
2 b. Middleware Definition: zusätzliche Softwareschicht zwischen Applikationen und Netzwerkbetriebssystemen (ist in Netzwerkbetriebssystemen für die Verbergung der Heterogenität der vielen verschiedenen Plattformen zuständig ist), höhere Abstraktionsebene möglich Middleware stellt Technologien, Abstraktionen, Schnittstellen bereit, mit der netzbasierte Systeme realisiert werden können Positionierung: Kleber zur Verbindung von Anwendungen (für Anwendungen erscheint verteiltes System homogener, als es tatsächlich ist, sitzt zwischen Anwendung und Betriebssystem Verteilungstransparenzen: Transparenz = Tatsache verbergen, dass Prozesse und Ressourcen (Heterogenität der Software/Hardware, Ort und Bewegung der Komponenten, Mechanismen zur Fehlerbehandlung) physisch über mehrere Computer verteilt sind und so tun, als ob es sich um ein einziges System handelt o Zugriff: verbirgt Unterschiede in der Datendarstellung und wie der Zugriff auf eine Ressource erfolgt (maskiert unterschiedliche Datenrepräsentationen, Aufrufmechanismen, genutzte Programmiersprachen) am notwendigsten! o Position: verbirgt, wo sich eine Ressource befindet (maskiert die Nutzung von Ortinformationen beim Auffinden anderer Objekte, ermöglicht rein logische Sicht auf Namen im System, keine Ortinformationen zur Nutzung von Namen nötig) o Migration: verbirgt, dass eine Ressource an eine andere Position verschoben werden kann (maskiert Ortänderungen an Objekten, ermöglicht transparenten Lastausgleich) o Relokation: verbirgt, dass eine Ressource an einen anderen Ort verschoben werden kann, während sie genutzt wird (sichert Weiterarbeit auch trotz temporär inkonsistenter Sichten) o Replikation: verbirgt, dass eine Ressource repliziert ist (maskiert den Einsatz einer Gruppe von Objekten an einer Schnittstelle, erhöht Performance und Verfügbarkeit) o Nebenläufigkeit/Transaktion: verbirgt, dass eine Ressource von mehreren konkurrierenden Benutzern gleichzeitig genutzt werden kann (beinhaltet Planung, Überwachung, Widerrufen von Aktivitäten) o Fehler: verbirgt den Ausfall und die Wiederherstellung einer Ressource (Bsp: Checkpointing, Transaktionen) o Persistenz: verbirgt, ob eine (Software-) Ressource sich im Speicher oder auf einer Festplatte befindet (maskiert die Aktivierung/Deaktivierung von Objekten zu Klienten und zum Objekt selber, Objekte erscheinen immer verfügbar)
3 Klassen: RPC Remote Procedure Call (synchroner, entfernter Prozeduraufruf), DOM Distributed Object Middleware (synchroner, entfernter Methodenaufruf an Objekten), Distributed Tuples (Tuplespace als asynchrones Blackboardartiges Koordinationsmedium), MOM Message-Oriented Middleware (Mailbox- Methapher für asynchrone Entkopplung) c. Web als verteiltes System Web = einfaches, konsistentes und einheitliches Modell verteilter Dokumente (unwichtig, von welchem Server das Dokument geladen wurde) eine Web-basierte Anwendung ist ein verteiltes System, jede Komponente (Web Server, Web Crawler, Indexierte Seiten) kann auf anderen Rechner sein http, HTML als Middleware (allerdings nicht hinreichend integriert) d. Client-Server-Modell Clients und Server: o Prozesse werden zwei (möglicherweise überlappende) Gruppen eingeteilt o Server = Prozess, der einen bestimmten Dienst implementiert o Client = Prozess, der einen Dienst von einem Server anfordert, indem er eine Anforderung sendet und auf eine Antwort wartet o Kommunikation zwischen beiden kann in einem zuverlässigen Netzwerk verbindungslos sein (effizienter für lokale Netze, Fehlererkennung allerdings schwieriger!) o Alternative: zuverlässiges, verbindungsorientiertes Protokoll (geringe Leistung für lokales Netzwerk, perfekt für WAN) Ebene der Benutzeroberfläche: o normalerweise durch die Clients implementiert o besteht aus den Programmen, die es den Benutzern ermöglichen, mit Anwendungen zusammenzuarbeiten Verarbeitungsebene: o Komponente, die mit einer Datenbank oder einem Dateisystem arbeitet o Systeme können unterschieden werden in Frontend (implementiert die Benutzeroberfläche), Backend (Zugriff auf Datenbank) und dazwischen liegende Analyseprogramme Datenebene: o normalerweise durch die Server implementiert o enthalten die Programme, die die eigentlichen Daten verwalten, mit denen die Anwendungen arbeiten o Daten sind persistent, werden hier konsistent gehalten Mehrschichtige Architekturen ( Multitier ): o Programme aus den Anwendungsebenen über unterschiedliche Maschinen verteilen o erst nur zwischen Client und Server unterscheiden (Zwei-Schichten- Architektur two-tiered ) (a) terminalabhängigen Teil auf Clientmaschine, Applikationen haben entfernte Kontrolle über Darstellung der Daten (b) gesamte Software für Benutzeroberfläche auf Client, Applikation enthält ein grafisches Frontend (hat nur die Aufgabe der Darstellung) (c) einen Teil der Applikation ins Frontend verschieben (sinnvoll z.b. für ein Formular, das komplett ausgefüllt werden muss, was die Applikation auf Client-Seite erst überprüft und ggf. mit dem Benutzer kommuniziert) (d) Client ist ein PC oder Workstation in einem Netzwerk mit verteiltem Dateisystem oder Datenbank, Großteil der Applikationen werden auf dem Client, Dateioperationen aber auf dem Server durchgeführt (e) lokale Festplatte des Clients enthält einen Teil der Daten
4 o Server können auch als Clients arbeiten Drei-Schichten-Architektur three-tiered (Verwendung: Transaktionsverarbeitung) 2. Remote Procedure Calls RPC a. Remote Procedure Call Definition: entfernter Prozeduraufruf, als grundlegender Mechanismus für verteilte Systeme (direkt implementiert von SUN RPC, HP RPC, weiterentwickelt in Java RMI, konzeptionell enthalten in HTTP) RPC ist ein synchroner Mechanismus, der Kontrollfluss und Daten als Prozeduraufruf zwischen zwei Adressräumen über ein schmalbandiges Netz transferiert (Birrell, Nelson) versucht Probleme der Nachrichtenübergabe zu verbergen, ideal für Client- Server-Anwendungen Konzept: entfernten Prozeduraufruf wie lokalen Prozeduraufruf aussehen lassen der RPC soll transparent sein Kontroll- und Datenfluss: RPC transferiert Kontrollfluss und Daten über ein Netzwerk zwischen Rechnern, Prozeduraufruf (vom Aufrufer in eine Prozedur) steuert den Kontrollfluss und die Parameter, Prozedurbeendigung (zurück) steuert den Kontrollfluss und die Ergebnisdaten (dafür müssen beide Maschinen identisch sein, denselben Zeichencode und dieselbe Zahlendarstellung verwenden, Bytes identisch nummerieren Big/Little- Endian) Eigenschaften: synchron: Aufrufer blockiert bis Aufgerufener das Ergebnis liefert Prozeduraufruf: Signatur der Prozedur definiert zu übertragende Daten unterschiedlicher Adressraum: Speicheradressen (Zeiger) sind nicht semantikerhaltend übertragbar schmalbandig: Bandbreite des Netzes ist um Dimensionen geringer als die der Kommunikationspfade innerhalb eines Rechners
5 Unterschiede lokaler / entfernter Aufruf: lokal entfernt Aufrufer und Prozedur werden im Aufrufer und Prozedur werden in selben Prozess ausgeführt unterschiedlichen Prozessen ausgeführt Aufrufer und Prozedur stehen im Aufrufer und Prozedur stehen In selben Adressraum unterschiedlichen Adressräumen Aufrufer und Prozedur liegen in derselben Hard- und Softwareumgebung Aufrufer und Prozedur haben dieselbe Lebensdauer Aufruf ist immer fehlerfrei es müssen nur Anwendungsfehler berücksichtigt werden Aufrufer und Prozedur liegen in unterschiedlichen Hard- und Softwareumgebungen Aufrufer und Prozedur haben unterschiedliche Lebensdauer Aufruf ist fehlerbehaftet es müssen zusätzlich Aufruffehler behandelt werden Vorteile: bessere Aufgabenverteilung, Lastverteilung, Ressourcennutzung, Modularität, Wiederverwendbarkeit, Integrationsfähigkeit, größere Offenheit Vorteile der Prozedurabstraktion: klare und verständliche Semantik von RPC, Prozeduraufrufe wohlverstanden und geeignetes Mittel zur Kommunikation, Einfachheit des Mechanismus ermöglicht effiziente Implementierungen Ablauf: Asynchroner RPC: Klient blockiert nicht, holt Ergebnis später ab, ermöglicht größeren Grad der Nebenläufigkeit (mehrere RPCs können offen sein, mehrere Prozesse in Servern arbeiten an Ergebnissen) Probleme: Semantik im Fehlerfall und von Zeigern, Einbettung in Programmiersprachen, Auffinden und Binden an die entfernten Prozeduren, Protokoll des Datenaustausches, Eigenschaften der Kommunikation
6 b. Komponenten Anwendungsprozeduren erledigen die eigentliche Arbeit, Stubs ver- und entpacken die Daten zum Transport, Kommunikation: Transport der Daten Interaktionspunkte: lokale Schnittstelle: Modul bietet Prozeduren zum Aufruf an (Modul exportiert eine Schnittstelle), ein anderes Modul ruft die Prozeduren der Schnittstelle auf (es importiert eine Schnittstelle) entfernte Schnittstelle: Anwender-Stub stellt Schnittstelle lokal bereit, Stubs und Kommunikationskomponente leiten Aufrufe an Schnittstelle des entfernten Moduls weiter und Ergebnisse des entfernten Moduls zurück Bindung: zwischen Aufrufer und Aufgerufenem, statische Bindung (zur Übersetzungszeit werden Klienten an feste Serveradressen gebunden), halbstatische Bindung (zur Startzeit des Klienten werden Serveradressen konfiguriert, ermittelt aus Datenbank/Tabelle), dynamisch (zur Aufrufzeit werden Serveradressen ermittelt, Serveradresse kann zwischen 2 RPCs wechseln) Trader/Broker (Vermittler): Komponente, die die Server kennt und Referenzen auf sie vermitteln kann o Registrierung/Abmeldung von Servern: Angabe der exportierten Schnittstelle, Referenz auf sich o Aufsuchen eines passenden Servers: Angabe einer Schnittstellenbeschreibung c. Fehler Fehler Server nicht erreichbar für RPC Server fällt während RPC-Ausführung aus Fehlerursache/folge Maschine ausgefallen Netzwerk ausgefallen Transport maskiert Fehler durch Neuversuche Broker maskiert Fehler durch andere Serverwahl Klient muss Fehler verarbeiten Ausfall während Klient wartet, Seiteneffekte realisiert Ausfall nach RPC Klient wartet, Seiteneffekte eingetreten Klient fällt während Server kann Ergebnis nicht liefern RPC-Ausführung aus neugestarteter Klient kann alte RPCs absagen neugestarteter Klient kann alten RPS übernehmen Server kann Klient überwachen, bei Timeout und Ergebnis bei Ablauf verwerfen Server hat Schnittstelle geändert und bietet Dienst nicht mehr an RPC-Mitteilungen gehen die Anforderung oder Teile davon
7 verloren das Ergebnis ist weg semantische Eigenschaften: Mix aus Fehlerquelle und Reaktion darauf ergibt unterschiedliche semantische Eigenschaften: o may-be: RPC wird nicht mehr als 1 Mal ausgeführt (oder 0 oder teilweise), passend, wenn Klient kein Ergebnis braucht o at-least-once: mindestens 1 Mal ausgeführt o at-most-once: höchstens 1 Mal ausgeführt (Ausfall vor Verarbeitung keine Ausführung, Ausfall während Verarbeitung Neustart, Konsistenz durch Transaktion, Ausfall nach Verarbeitung Ergebniskopie nach Neustart versandt) o exactly-once: genau 1 Mal 3. Verteilte Objekte in Java RMI a. Verteilte Objekte/RMI Verteilte Objekte : o RPC übertragen auf OO-Welt: entfernter Methodenaufruf o Interaktionsmuster in OO-Sprachen: Objekte tauschen Mitteilungen aus, beim Empfang einer Mittleilung führt ein Objekt eine Methode aus und schickt eventuelle Ergebnisse, Modell sagt nichts über Verteilung aus o Rollen der Partner: Aufrufer <=> Aufgerufener, Dienstnutzer <=> Dienstanforderer, Client <=> Server o Verteilte Objekte in Java: Remote Method Invocation RMI Lokale vs. verteilte Objekte lokales Objektmodell Aufruf an Objekten Parameter und Ergebnisse als Referenzen alle Objekte fallen zusammen aus keine Fehlersemantik verteiltes Objektmodell Aufruf an Interfaces Parameter und Ergebnisse als Kopien einzelne Objekte fallen aus komplizierte Fehlersemantik (Referenzintegrität, Netzfehler, Sicherheit) o ein Java-Programm arbeitet in einer virtuellen Java Machine (JVM) o zwischen JVMs können mit RMI Methoden an Objekten aufgerufen werden o JVMs können auf unterschiedlichen Internet-Rechnern laufen Schnittstellen : Objektschnittstellen definieren Methoden eines Objekts, unterschiedliche Implementierungen für gleiche Schnittstelle S, Modulschnittstellen des RPC werden aud Objektschnittstellen abgebildet, Aufrufweiterleitung durch Stellvertreter (Proxy) Bsp: lokales Zählerobjekt class LocalCounterImplementation { int counter; public LocalCounter () { public void add (Integer i) { counter += i.intvalue(); public Integer value() { return (new Integer(counter));
8 könnte folgende Schnittstelle implementieren: public interface LocalCounter { /* Addieren */ public void add (Integer i); /* Abfragen */ public Integer value(); Aufruf: c.add(new Integer(10)); Bsp: entferntes Zählerobjekt auf Aufruferseite wird mit einem Interface gesprochen (Schnittstelle macht Fehlermöglichkeit explizit): public interface Counter extends java.rmi.remote { /* Addieren */ public void add (Integer i) throws java.rmi.remoteexception; /* Abfragen */ public Integer value() throws java.rmi.remoteexception; Bsp: RMI Erbringerseite: ein Serverobjekt implementiert das Interface public class CounterServer extends java.rmi.server.unicastremoteobject implements Counter { int counter; public CounterServer() throws java.rmi.remoteexception { public void add(integer i) throws java.rmi.remoteexception { counter+=i.intvalue(); public Integer value() throws java.rmi.remoteexception { return(new Integer(counter)); Bsp: Aufruf eines entfernten Objekts: Aufruf durch Aufruf einer Methode an Interface, tatsächich wird damit eine Methode am Proxy aufgerufen (Unterschied: Fehlermöglichkeit) Counter c;... try { c.add (new Integer (10)); System.out.println ((c.value()). intvalue()); catch (Exception e) { System.err.println(e.getMessage());
9 rmic: Compiler für Verbindungsstücke: diese (Stub auf Clientseite, Skeleton auf Serverseite) werden automatisch erzeugt, rmic Serverklasse erzeugt Serverklasse_stub.class und Serverklasse_skel.class Bsp: Compilieren und Ausführen: >javac Counter.java >javac CounterServer.java >rmiregistry >java CounterServer >rmic CounterServer >java CounterUser 10 >javac CounterUser.java >java CounterUser 20 b. Objektreferenzen Fragen: Woher kennt der Aufrufer eigentlich das entfernte Objekt?, Wohin schickt der Proxy eigentlich den Methodenaufruf? RMIRegistry: Verzeichnisdienst für Objekte, Registry-Objekt liefert Referenzen auf Objekte rmiregistry: JDK-Programm rmiregistry ist RMI-Objekt für Interface java.rmi.registry.registry, Methoden o void bind, rebind (String name, Remote obj) Binden eines Objekts unter einem Namen o void lookup (String name) Referenz auf gebundenem Objekt erfragen o void unbind (String name) Bindung löschen o String[] list() Bindungen abfragen Bsp: Server-Programm meldet sich an: URL-Schema: rmi://rechner/pfad public class CounterServer extends java.rmi.server.unicastremoteobject implements Counter { //... public static void main(string argv[]) { System.setSecurityManager(new RMISecurityManager()); try { CounterServer c = new CounterServer(); Naming.bind("rmi://"+ (InetAddress.getLocalHost()).getHostName() + "/Teilnehmer",c); catch (Exception e) { System.err.println(e.getMessage()); Bsp: Client-Programm erhält Referenz: import java.net.*; public class CounterUser { public static void main(string argv[]) { try { Counter c = (Counter)java.rmi.Naming.lookup("rmi://" + (InetAddress.getLocalHost()).getHostName() + "/Teilnehmer"); c.add(new Integer(10)); System.out.println((c.value()).intValue());
10 catch (Exception e) { System.err.println(e.getMessage()); java.rmi.naming: Woher bekommt man eigentlich die Referenz auf ein Registry-Objekt? o Registry-Objekt der lokalen Maschine über statische Methoden der Klasse java.rmi.naming zugänglich o void java.rmi.naming.bin (String name, Remote obj) o void java.rmi.naming.rebind(string name, Remote obj) o Remote java.rmi.naming.lookup(string name) o void java.rmi.naming.unbind(string name) o String[] java.rmi.naming.list() java.rmi.registry.locateregistry: Woher bekommt man eigentlich die Referenz auf ein Registry-Objekt? o Registry-Objekte auf entfernten Maschinen über statische Methoden der Klasse java.rmi.naming zugänglich o Registry getregistry() Lokale Registry auf Port java.rmi.registry.registry.registry_port: o Registry getregistry(int port) Lokale Registry auf einem anderen Port o Registry getregistry(string host) Registry auf Rechner host o Registry getregistry(string host, int port) Registry auf Rechner host, Port port Callback: o zwischen Client und Server-Objekt ist eventuell ein complexes Protokoll notwendig o Client/Server folgt Anfrage/Antwort Protokoll o für Nachfrage/Anfrage/Antwort Protokoll muss Client selber zum Server werden o Nachfrage: Callback Methode des Clienten Objekts o in RMI: auch Client wird ein Serer-Objekt, übergibt Referenz auf sich bei Anfrage Bsp: Schnittstellen: o Server: public interface RMIPongServerInterface extends java.rmi.remote { public void pong(rmipongclientinterface theclient) throws java.rmi.remoteexception ; o Client: public interface RMIPongClientInterface extends java.rmi.remote { public boolean more() throws java.rmi.remoteexception ; Bsp: Server: class RMIPongServer extends java.rmi.server.unicastremoteobject implements RMIPongServerInterface { RMIPongServer() throws java.rmi.remoteexception { public void pong(rmipongclientinterface theclient) throws java.rmi.remoteexception { while (theclient.more()) { System.out.println("Pong");
11 public static void main(string[] argv) throws java.rmi.remoteexception,java.rmi.alreadyboundexception, java.net.malformedurlexception { RMIPongServer pongserver = new RMIPongServer(); java.rmi.naming.bind("rmi://localhost/pong",pongserver); Bsp: Client: class RMIPongClient extends java.rmi.server.unicastremoteobject implements RMIPongClientInterface { int morecounter = 0; RMIPongClient() throws java.rmi.remoteexception { public boolean more() throws java.rmi.remoteexception { return ((morecounter++)<5); public static void main(string[] argv) throws java.rmi.remoteexception, java.rmi.notboundexception, java.net.malformedurlexception { RMIPongClient pongclient = new RMIPongClient(); RMIPongServerInterface pongserver = (RMIPongServerInterface)java.rmi.Naming.lookup("rmi://localhost/pong"); pongserver.pong(pongclient); c. Serialisierung Objektserialisierung: Parameter und Ergebnisse müssen übertragen warden, das Erstellen einer seriellen Repräsentation eines Objekts ist die Serialisierung, notwendig zum Versenden oder Speichern von Objekten, Instanzwerte+Klasse=Objektrepräsentation automatische Serialisierung: automatisch, wenn Klassen die Schnittstelle java.io.serializable implementieren, rmic erzeugt Code für Serialisierung und Deserialisierung indem Klassendefinitionen angeschaut werden Serialisierung: o implements Serializable bedeutet: die automatische Serialisierung kann angewandt werden o schreibt man RMI Objekte und bewegt Objekte als Parameter oder Ergebnis, dann müssen diese Objekte als Serializable markiert o Fehlerquelle: rmic hat Serialisierungscode erzeugt und man ändert danach das Objekt-Lyaout: ergibt Marshalling Fehler zur Laufzeit Klassen nachladen: Objekte = Daten + Verhalten, serialisierte Java- Objekte=Datenstrom + Klasse, Klassen zu übermitteltem Objekt nachladen, falls nicht vorhanden, Bedrohung durch Angreifer, da alle Rechte gesetzt sein müssen, SecurityManager wird vor sicherheitsrelevanten Aktionen gefragt Security Manager: o Installation eines Security Managers mit der Methode void System.setSecurityManager (SecurityManager s) o fragt eventuell schon vorhandenen SecurityManager, ob das erlaubt ist
12 o RMI Classloader lädt Klassen von entfernten Rechner nur dann nach, wenn SecurityManager installiert ist o SecurityManager ist eine abstrakte Klasse d. Nebenläufigkeit Threads und RMI Aufrufe o mehrere gleichzeitig eintreffende RMI Aufrufe (lokal und mehrere Netzverbindungen) können in Threads arbeiten o immer davon ausgehen, dass Methoden nebenläufig aufgerufen werden o es kann immer zu Schreibkonflikten kommen 4. CORBA a. Was ist CORBA? Definition: CORBA (Common Object Request Broker Achitecture) ist eine offene, sprachunabhängige, herstellerunabhängige Plattform für vernetzte Anwendungen mit der OMG (Object Management Group) als Träger OMG o CORBA Objekte sind Bausteine von Anwendungen und haben eine typisierte Schnittstelle o es gibt von der Schnittstelle getrennte Implementierungen in unterschiedlichen Programmiersprachen, Aufrufe darauf werden durch Object Request Broker transportiert o Ortstransparenz wird durch IIOP (Internet Inter-ORB Protocol) erreicht, Interworking zwischen ORBs unterschiedlicher Hersteller möglich Bestandteile o IDL zur Definition von Schnittstellen o Mappings von IDL zu Programmiersprachen o APIs zum Objektaufruf (statisch und dynamisch) o ORB als Transportschicht o spezielle Objekte: CORBA Services (verteilt angebotene niedere Dienste) und Common Facilities (nützliche anwendungsbezogene Dienste, die aber nicht als notwendige Dienste angeboten werden müssen) Produkte o einzeln erhältlich (ORBs, IDL Anbindungen, Services, MAF) o mittels CORBA können diese Komponenten unterschiedlicher Herkunft und Implementierung miteinander arbeiten o eine IDL Schnittstelle kann verschiedene Implementierungen in verschiedenen Programiiersprachen haben aus denen sich verschiedene Exemplare ergeben, die als CORBA Objektreferenz zugänglich sind und über ORB aufgerufen werden können Glossar o OMG (Object Management Group) entwickelt Standards o OMA (Object Management Architecture) Standard für verteiltes offenes Objektsystem o ORB (Object Request Broker) Laufzeitsystem in OMA, eigentliche Middleware o CORBA (Common Object Request Broker Architekture) abstrakte Spezifikation von ORBs o IDL (Interface Definition Language) Sprache zur Beschreibung von Schnittstellen in OMA, IDL Compiler erzeugt Stub und Skeleton o IIOP (Internet Inter-ORB Protocol) Protokoll zwischen ORBs o Stub ist Stellvertreter für entferntes Objekt o Skeleton ist Verwaltung des aufrufbaren Objekts o POA (Protable Object Adapter) Adapter Muster Einige Services
13 o Naming Service:liefert den Mechanismus, mit dem die moisten Clients eines ORB-basierten Systems Objekte finden, die sie benutzen möchten (RMI Registry) o Trading Object Service: erlaubt das Anbieten und Finden von Service- Instanzen verschiedener Typen b. Beispiel Counter-Bsp: notwendig: Schnittstellendefinition, Zählerobjekt, Registrierung des Servers, Nutzung des Servers durch Client o IDL: module counter { typedef struct Info { long value; long counted; _Info; interface Counter { readonly attribute long value; void add(in long value); void addto(inout long clientvalue); Info getinfo(); ; ; c. Interface Definition Language IDL Definition: Sprache zur Definition von Schnittstellen, sprachunabhängig, Semantik der Typen definiert, zur Nutzung Mapping zu konkreter Sprache notwendig, OMG definiert solche Mappings für unterschiedliche Sprachen d. Java IDL Mapping e. 5. Netzkommunikation Internet-Sockets a. Kommunikation Internet Internet: weltweiter Verbund von Rechnern, die über Netze Daten austauschen können, eine Protokollfamilie, ein offenes System, in dem Dienste genutzt und angeboten werden können Das Internet Protokoll IP ermöglicht Internetworking durch Etablierung eines Datenformats und Transportprotokollen, die auf unterschiedlichen Datenverbindungen aufgesetzt werden können Enveloping/Encapsulation: Fragmentation und Reassemblierung bon IP Paketen IP Datagramme: z.b Bit Worte plus Daten IP-Adressen: b. TCP c. Nebenläufige Serverprogramme d. UDP 6. Netzkommunikation Internet Dienste 7. Internet-Dienste in Java 8. Zustand in Web Anwendungen 9. Java Applets 10. HTML 11. XML Dokumente und ihre Verarbeitung 12. Andere Programmiermodelle
Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06
Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06 Block Verteilte Systeme und Middleware 1. Beschreiben Sie die Entwicklung verteilter Systeme von einer Zentralisierung bis zu Peer-to-Peer. Nicht
MehrÜberblick. Netzprogrammierung 2. Remote Procedure Calls. Remote Procedure Call RPC
Überblick 1. Remote rocedure Call 2. Komponenten beim RC 3. Fehler programmierung 2. Remote rocedure Calls rof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin Institut für Informatik basierte Informationssysteme
MehrMusterlö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
MehrCORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten
CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard
MehrJava 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Überblick. Netzprogrammierung 3. Verteilte Objekte in Java RMI. Verteilte Objekte
Überblick Netzprogrammierung 3. Verteilte Objekte in Java RMI 1. Verteilte Objekte / RMI 2. Objektreferenzen 3. Serialisierung 4. Threads und RMI Prof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin
MehrMobile 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
MehrRemote 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
MehrJava-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
MehrAnleitung. 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
MehrSystemprogrammierung. 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
MehrCORBA. Systemprogrammierung WS 2006-2007
CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA
MehrThemen. 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Ü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
MehrNetzprogrammierung Interaktionsmuster Remote Procedure Calls
Netzprogrammierung Interaktionsmuster Remote Procedure Calls Prof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme mailto: tolk@inf.fu-berlin.de
MehrJava 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
MehrFirewalls für Lexware Info Service konfigurieren
Firewalls für Lexware Info Service konfigurieren Inhaltsverzeichnis: 1. MANUELLER DOWNLOAD 1 2. ALLGEMEIN 1 3. EINSTELLUNGEN 1 4. BITDEFENDER VERSION 10 2 5. GDATA INTERNET SECURITY 2007 4 6. ZONE ALARM
MehrFirewalls für Lexware Info Service konfigurieren
Firewalls für Lexware Info Service konfigurieren Inhaltsverzeichnis: 1. Manueller Download... 2 2. Allgemein... 2 3. Einstellungen... 2 4. Bitdefender Version 10... 3 5. GDATA Internet Security 2007...
MehrFolgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:
Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal
MehrRemote 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
MehrEinführung: Verteilte Systeme - Remote Method Invocation -
Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation
MehrDer 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
MehrWeb Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen
9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrSoftware zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)
Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN) Definition Was ist Talk2M? Talk2M ist eine kostenlose Software welche eine Verbindung zu Ihren Anlagen
Mehr4D Server v12 64-bit Version BETA VERSION
4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und
MehrMultiuser Client/Server Systeme
Multiuser /Server Systeme Christoph Nießner Seminar: 3D im Web Universität Paderborn Wintersemester 02/03 Übersicht Was sind /Server Systeme Wie sehen Architekturen aus Verteilung der Anwendung Protokolle
MehrLexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver
Eine Firewall für Lexware professional oder premium konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Die Firewall von Windows 7 und Windows 2008 Server... 2 4. Die Firewall
MehrKonfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0.
Konfigurationsanleitung Access Control Lists (ACL) Funkwerk Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0 Seite - 1 - 1. Konfiguration der Access Listen 1.1 Einleitung Im Folgenden
MehrProgrammieren 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
MehrCOMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg
COMMON OBJECT REQUEST BROKER ARCHITECTURE Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg Gliederung Motivation Was ist CORBA? Object Management Architecture (OMA ) Interface Definition Language
MehrGrundlagen verteilter Systeme
Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 2 05.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Das
MehrObjectBridge Java Edition
ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente
MehrCORBA. Beispiel einer Middleware-Plattform. Christian Fass WS 2013/14 Software Engineering: Basistechnologien
CORBA Beispiel einer Middleware-Plattform Christian Fass WS 2013/14 Software Engineering: Basistechnologien Allgemeines Common Object Request Broker Architecture Middleware: Vermittelt zwischen Obekten/Prozessen
Mehr3. Stored Procedures und PL/SQL
3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln
MehrIAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version 2.0.1 Deutsch 14.05.2014
IAC-BOX Netzwerkintegration Version 2.0.1 Deutsch 14.05.2014 In diesem HOWTO wird die grundlegende Netzwerk-Infrastruktur der IAC- BOX beschrieben. IAC-BOX Netzwerkintegration TITEL Inhaltsverzeichnis
MehrClient-Server mit Socket und API von Berkeley
Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................
MehrMessage Oriented Middleware am Beispiel von XMLBlaster
Message Oriented Middleware am Beispiel von XMLBlaster Vortrag im Seminar XML und intelligente Systeme an der Universität Bielefeld WS 2005/2006 Vortragender: Frederic Siepmann fsiepman@techfak.uni bielefeld.de
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrJava Enterprise Architekturen Willkommen in der Realität
Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen
Mehr-Testen verteilter Anwendungen
-Testen verteilter Anwendungen Seminar Simulation und Bildanalyse mit Java im SS04 Konstantin Tjo, Urs Pricking Testen verteilter Anwendungen 1 Übersicht Einführung in verteilte Anwendungen RMI (Remote
MehrDiplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008
Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen
Mehr7.4 Verteilungsabstraktion in heterogener Umgebung
7.4 Verteilungsabstraktion in heterogener Umgebung Szenario: reiner Maschinencode (native code) bei unterschiedlichen Rechnerarchitekturen, unterschiedlichen Betriebssystemen, unterschiedlichen Übersetzern,
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrNutzung von GiS BasePac 8 im Netzwerk
Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff
MehrHTBVIEWER INBETRIEBNAHME
HTBVIEWER INBETRIEBNAHME Vorbereitungen und Systemvoraussetzungen... 1 Systemvoraussetzungen... 1 Betriebssystem... 1 Vorbereitungen... 1 Installation und Inbetriebnahme... 1 Installation... 1 Assistenten
MehrVS Praktikum 03 Konzept
Darstellung der Architektur: Manager VS Praktikum 03 Konzept Account 3 3 7 6 NameServiceServer 4 5 2 1 2 1 Geldautomat Filiale Messagearten: Für jede unterschiedliche Message gibt es eine eigene Klasse:
MehrFOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)
1 FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) In dieser Kurseinheit geht es um verteilte Anwendungen, bei denen wir sowohl ein Client- als auch ein
MehrAnwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen
Anwendungshinweis Nr. 12 Produkt: Schlüsselworte: Problem: Softing OPC Easy Connect OPC Server, Redundanz Wie konfiguriere ich redundante Lösung: Ausgangssituation: Eine OPC Client-Anwendung ist mit mehreren
MehrApplet Firewall und Freigabe der Objekte
Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
MehrSzenario 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
MehrPrinzipien 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........................
MehrGesicherte Prozeduren
Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.
MehrMSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003
Page 1 of 8 SMTP Konfiguration von Exchange 2003 Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 25.02.2005 SMTP steht für Simple Mail Transport Protocol, welches ein Protokoll ist, womit
MehrWorkflow, Business Process Management, 4.Teil
Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung
MehrIn 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC
PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com
MehrEasyWk DAS Schwimmwettkampfprogramm
EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage
MehrPraktikum 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
MehrLizenzen auschecken. Was ist zu tun?
Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.
MehrRemote Method Invocation
Remote Method Invocation Spezielle Technik aus dem Java-Umfeld Ausführung von Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VMs Aufruf
MehrHow-to: Webserver NAT. Securepoint Security System Version 2007nx
Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver
MehrDie Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter
Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,
Mehr7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.
7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.html) bietet leider nur begrenzte Verteilungsabstraktion Unterstützung
MehrDatabase Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695
Database Exchange Manager Replication Service- schematische Darstellung Replication Service- allgemeines Replikation von Daten von bzw. in ein SAP-System und einer relationalen DMS-Datenbank Kombination
Mehr9. 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
MehrCORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu
CORBA Common Object Request Broker Architecture Eine kurze Einführung Ying Lu Verlauf der Präsentation Was ist CORBA CORBA-Architektur Ein Beispiel CORBA im Einsatz CORBA im Vergleich Was ist CORBA Begriffe
MehrSession 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
MehrB 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)
MehrSecurity. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung
4. Internet Verbindung 4.1 Einleitung Im Folgenden wird die Konfiguration der DFL-800 Firewall gezeigt. Sie konfigurieren einen Internet Zugang zum Provider mit dem Protokoll PPPoE. In der Firewallrichtlinie
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrOP-LOG www.op-log.de
Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server
MehrInstallationsanleitung dateiagent Pro
Installationsanleitung dateiagent Pro Sehr geehrter Kunde, mit dieser Anleitung möchten wir Ihnen die Installation des dateiagent Pro so einfach wie möglich gestalten. Es ist jedoch eine Softwareinstallation
MehrHandbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen
Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...
MehrFormular»Fragenkatalog BIM-Server«
Formular»Fragenkatalog BIM-Server«Um Ihnen so schnell wie möglich zu helfen, benötigen wir Ihre Mithilfe. Nur Sie vor Ort kennen Ihr Problem, und Ihre Installationsumgebung. Bitte füllen Sie dieses Dokument
MehrProxy. Krishna Tateneni Übersetzer: Stefan Winter
Krishna Tateneni Übersetzer: Stefan Winter 2 Inhaltsverzeichnis 1 Proxy-Server 4 1.1 Einführung.......................................... 4 1.2 Benutzung.......................................... 4 3 1
MehrEnterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)
Enterprise Applikation Integration und Service-orientierte Architekturen 09 Simple Object Access Protocol (SOAP) Anwendungsintegration ein Beispiel Messages Warenwirtschaftssystem Auktionssystem thats
MehrSchritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player
PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com
MehrVirtual Desktop Infrasstructure - VDI
Virtual Desktop Infrasstructure - VDI Jörg Kastning Universität Bielefeld Hochschulrechenzentrum 5. August 2015 1/ 17 Inhaltsverzeichnis Was versteht man unter VDI? Welchen Nutzen bringt VDI? Wie funktioniert
MehrMobile 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
MehrI N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte
I N F O R M A T I O N V I R T U A L I S I E R U N G Wir schützen Ihre Unternehmenswerte Wir schützen Ihre Unternehmenswerte Ausfallsicherheit durch Virtualisierung Die heutigen Anforderungen an IT-Infrastrukturen
MehrModul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent
Outlook 2003 - Aufbaukurs 19 Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent Wie kann ich die Bearbeitung von Nachrichten automatisieren? Wie kann ich Nachrichten automatisch
MehrLizenzierung von Windows Server 2012
Lizenzierung von Windows Server 2012 Das Lizenzmodell von Windows Server 2012 Datacenter und Standard besteht aus zwei Komponenten: Prozessorlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung
MehrProgrammieren 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
MehrEinrichtung des Cisco VPN Clients (IPSEC) in Windows7
Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrFolgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version 7.4.4. - Optional einen DHCP Server.
1. Dynamic Host Configuration Protocol 1.1 Einleitung Im Folgenden wird die Konfiguration von DHCP beschrieben. Sie setzen den Bintec Router entweder als DHCP Server, DHCP Client oder als DHCP Relay Agent
MehrStep by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
MehrAnbindung des eibport an das Internet
Anbindung des eibport an das Internet Ein eibport wird mit einem lokalen Router mit dem Internet verbunden. Um den eibport über diesen Router zu erreichen, muss die externe IP-Adresse des Routers bekannt
MehrJava: 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
MehrCollax VPN. Howto. Vorraussetzungen Collax Security Gateway Collax Business Server Collax Platform Server inkl. Collax Modul Gatekeeper
Collax VPN Howto Dieses Howto beschreibt exemplarisch die Einrichtung einer VPN Verbindung zwischen zwei Standorten anhand eines Collax Business Servers (CBS) und eines Collax Security Gateways (CSG).
MehrFTP-Leitfaden RZ. Benutzerleitfaden
FTP-Leitfaden RZ Benutzerleitfaden Version 1.4 Stand 08.03.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Zeitaufwand... 3 2 Beschaffung der Software... 3 3 Installation... 3 4 Auswahl des Verbindungstyps...
MehrMusterlösung Klausur SS 2004
Musterlösung Klausur SS 2004 Fachrichtung: Informatik Lehrveranstaltung: Verteilte Systeme Dozent: Prof. G. Bengel Tag: 15.6.04 Bearbeitungszeit: 90 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:
MehrClient/Server-Systeme
Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen
MehrPowermanager Server- Client- Installation
Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server
MehrGuide DynDNS und Portforwarding
Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch
MehrIn 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC
PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
MehrKlassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java
Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte
MehrEther S-Net Diagnostik
Control Systems and Components 4 Ether S-Net Diagnostik Ether S-Net Diagnostik 4-2 S-Net EtherDiagnostik.PPT -1/12- Inhalt - Kurzbeschreibung einiger Test- und Diagnosebefehle unter DOS - PING-Befehl -
Mehr