Kommunikationsunterstützung:
|
|
- Mareke Tiedeman
- vor 8 Jahren
- Abrufe
Transkript
1 Kommunikationsunterstützung: Entfernter Prozeduraufruf (Remote Procedure Call, RPC) VSS1-RPC-1 Kooperation: Nachrichtenversand vs. Prozeduraufruf A) Nachrichtenaustausch: i.d.r. keine Verteilungstransparenz Nachrichtenaustausch über explizite 'Ports' Zugriff von (vielen!) Prozessen auf Ports Synchronisation durch expliziten Nachrichtenaustausch Nebenläufigkeit als dominantes Programmierparadigma B) Entfernter Prozeduraufruf: Einfache Analogie Inter- / Intraprozessmodell keine expliziten Kommunikationspfade Kooperation z.b. durch Sperren, Semaphore oder Monitore Verteilungstransparenz möglich Sequentialität als dominantes Programmierparadigma Lauer / Needham (1979): Dualität beider Modelle! VSS1-RPC-2
2 Entfernter Prozeduraufruf Remote Procedure Call (RPC) IDEE: Aufruf entfernter Prozeduren wie lokaler Prozeduraufruf ('Verteilungstransparenz') Alternative: 'Message Passing' - aber: andersartiges Kooperationsmodell! Abstraktion von: - Kommunikationsdetails, - Übertragungsfehlern,... Aber: z.b. - Fehlertransparenz ist nie vollständig möglich! - Einschränkungen bei den Parametertypen! Beispiele - Birrell & Nelson (1981), XEROX - Liskov et al. (1983): "Argus", MIT - SUN RPC (1985), Admiral RPC: UC London (1985, UNIX ) + ISO/OSI ROSE (89) / ECMA RPC / OSF DCE RPC /... VSS1-RPC-3 Remote Procedure Call (RPC) Rechner A -Prozess Prozeduraufruf suspendiert fährt fort Request Reply Rechner B -Prozess Ausführung der Prozedur Ergebnis-Rückgabe Prozeduraufruf im entfernten Rechner ähnlich wie im lokalen Fall Abstraktion von der Verteilung RPC realisiert die Kommunikationsgrundstruktur des /-Modells -> spiegelt Semantik der Aufrufe zwischen unterschiedlichen Modulen wider -> einfach zu verstehen und zu implementieren Fazit: RPC ist in verteilten Systemen oft ein geeignetes Mittel zur effizienten Implementierung von ('abstrakten') Datenobjekten! VSS1-RPC-4
3 Aspekte der Verteilungstransparenz beim RPC -> vollständige Transparenz bzgl. des lokalen Prozduraufrufs ist nicht möglich: Parameterübergabe Performanz Kommunikations- und Knotenfehler Ausnahmebehandlung -> vollständige Transparenz ist auch nicht immer unbedingt wünschenswert! Alternative RPC- Semantiken 1) keine Garantie bei Fehlerfällen (maybe-semantik) 2) höchstens einmal (at most once) - Vernichten von Duplikaten auf -Seite, sonst nur einmalige Nachrichtenübertragung 3) mindestens einmal (at least once) - nur für wiederholbare Funktionen - transparent für 4) atomare Ausführung der -Prozedur (exactly once) - -Prozedur wird ganz oder gar nicht ausgeführt VSS1-RPC-5 Unterschiede zum lokalen Prozeduraufruf Allgemeine Charakteristik des RPC: - Parameterübergabe durch 'Call by Value' - Keine globalen Variablen - Typenprüfung - Alternativen der Fehlersemantik - Autorisierung - Lokale Leistungsoptimierung Unterschiede zum lokalen Prozeduraufruf: disjunkte Ausführungsumgebungen Performanz Kommunikations- und Knotenfehler Ausnahmebehandlung Authentisierung oftmals notwendig HETEROGENITÄT: TRANSPARENZ: -> verschiedene Prozesse -> kein Zugriff auf gemeinsame Variable -> nur Call-by-value HW/SW, Offene Systemschnittstellen, Datentypen, (Un-) Marshalling, "Stubs" Fehlersemantik (o, 1, n mal), Parameterübergabe, Exceptions BINDUNG: /, Schnittstellen, Syntax- und Semantikdefinition, "Trading",... PARALLELITÄT: Zu löe Probleme: (Nicht) blockierender RPC, Multi-Prozesssysteme, Threads VSS1-RPC-6
4 Transaktionsgeschützter RPC Call Response Transaktionssicherung implementiert "Dienst" als abstraktes "Objekt" ; Implementationsdetails unsichtbar. exportiert Operationen und Regeln für deren Benutzung über Kommunikationsschnittstelle. Zugang zum über Menge von vorgegebenen Nachrichten. Schnittstellen und Protokolle sind standardisiert für Kommunikation in heterogenen Systemen. Transaktionen garantieren "genau/ höchstens/ mindestens einmal"-semantik des RPC. RPC-Erweiterungen: Call-back: aufgerufener Prozess meldet sich selbst wieder Broadcast: -> bei -Klassen: Aufruf aller (Muticast: vieler) anderer Prozesse VSS1-RPC-7 Beispiel: zustandsbehafteter Beispiel: Einfacher Datei- mit Zustandsinformationen -Prozess -Prozess Open (filename, mode) File descriptor Read (file desc., bytes) Bytes read, data read -Zustand: Dateiname, Beschreibg., Mode, Aktuelle Position in der Datei - muss -Fehler feststellen - muss nach Fehlern synchronisieren - hält ev. ungültige Zustandsinformation + Effiziente Implementierungen möglich + Einfaches Programmierparadigma VSS1-RPC-8
5 Beispiel: zustandslose Beispiel: Einfacher Datei- ohne Zustandsinformationen -Prozess Read (filename, file position, num bytes) -Prozess -Zustand: Dateiname, Beschreibg., Mode, Aktuelle Position in der Datei Num. bytes read, new file position, data read + Einfaches Protokoll in Fehlerfällen + braucht - oder Netzfehler nicht speziell zu berücksichtigen + Kein Recovery nach Fehlern nötig - einfaches Wiederholen des RPC genügt VSS1-RPC-9 UNIX-Beispiel: C/S-Bindung mittels 'Portmapper' - Programm C Portmapper S - Programm -Knoten -Knoten 1. meldet sich beim Portmapper an 2. fragt Dienst beim Portmapper nach 3. bekommt -Port vom Portmapper 4. ruft Dienst (direkt) auf VSS1-RPC-10
6 Zeitlicher Ablauf beim (a)synchronen Aufruf des RPC synchron asynchron process args. process res. process res. execute req. execute req. process args. process args. process res. process res. execute req. execute req. time VSS1-RPC-11 Ablauf eines RPC-Aufrufes stub Nachrichten-Modul NachrichtenModul stub Verpacken der Argumente Senden der Anfrage > Empfangen Auspacken der Argumente lokaler Prozeduraufruf Prozeduraufruf Ausführung der Prozedur lokale Antwort Auspacken des Ergebnis Empfangen < Senden des Ergebnis Verpacken des Ergebnis Rückgabe der Antwort -Stub - generiert die Nachricht - führt das Glätten (ing) der Nachricht - z.b. mit Hilfe der XDR-Routinen durch Stub - kreiert Port - registriert sich beim Portmapper - Entpacken der Nachricht (ing) - Dispatching (Aufruf der entsprechenden -Prozedur) VSS1-RPC-12
7 "Marshalling" der Nachrichten - Nachrichten werden gepackt und vom Empfänger wieder entpackt - Mechanismus muss und bekannt sein Nachrichtenformat Nachrichtentyp Request-ID Nachrichten-ID -Port Prozedur-Nr. Argumente (request/reply) für für zum Herausfiltern von Duplikaten zur Zuordnung der Antwort zur Anfrage Netzwerkfehlerbehandlung Datagramm-Dienst Fehlerart verlorene Nachrichten Internetworking: duplizierte Nachrichten vertauschte Reihenfolge veränderte Nachrichten Heterogenitäts- und Verteilungstransparenz Definition gemeinsamen Schnittstellen (HW- und SW-Heterogenität) Typumwandlung in eine Transfersyntax -> Externe Datenrepräsentationssprache Unterstützung durch RPC-SW: -> Automatische Generierung der (Un-) Marshalling-Routinen -> Automatische Stub-Generierung -> erkannt/behoben durch: -> Timeout-Mechanismus -> Herausfiltern anhand der Nachrichten-ID -> Überprüfung, ob erwartete Nachrichten- ID mit ankommender übereinstimmt -> Check-Summe VSS1-RPC-13 - Anwendungsprogramm Benutzerpaket RPC-SW ( Stub) Kommunikationsunterstützung Benutzerpakete Schnittstelle des Benutzerpaketes RPC-Schnittstelle - Benutzerpakete verbergen viele Probleme der Verteilung vor dem - Bsp.: Orts- und Plazierungsprobleme von Dateien VSS1-RPC-14
8 Bestandteile RPC-Schnittstellendefinition - Definition der Typen der Argumente - Spezifikation der Prozedurköpfe - Zuweisung von Id.nummern zu den Prozeduren - Definition des Programms und der Version Schnittstellensprache - wird benötigt, wenn die Sprache kein Definitionsmodul besitzt oder wenn und in unterschiedlichen Sprachen geschrieben sind - bietet skalare und strukturierte Datentypen - kann oft von verschiedenen Sprachen aus benutzt werden - Bsp. RPC-Language (umfasst auch XDR-Funktionen in UNIX) Datenabstraktion Marshalling/Uning-Routinen Interface Definition Language - entspricht von der Idee her der Definitionsdatei in Modula-2 - exportiert die Schnittstelle, importiert die Schnittstelle - und müssen dieselbe Version der Schnittstelle benutzen - Generierung einer Marshalling/Uning-Prozedur für jeden im Schnittstellenmodul definierten Datentyp Prozedurnummern - und kommunizieren nur über die Prozedurnummern - Dispatching erfolgt über die Prozedurnummern VSS1-RPC-15 IDL-Beispiel: 'Files Interface' in Sun XDR /* File ReadWrite service interface definition in file File ReadWrite.x */ const MAX = 1000; typedef int FileIdentifier; typedef int FilePointer; typedef int Length; struct Data { int length char buffer [MAX]; struct writeargs { FileIdentifier f; FilePointer position; Data data; struct readargs { FileIdentifier f; FilePointer position; Length length; program FILEREADWRITE { version VERSION { void WRITE (writeargs) = 1; data READ (readargs) = 2; } = 2; } = 9999; VSS1-RPC-16
9 IDL-Beispiel: 'Files Interface' in ANSA IDL FileReadWrite : INTERFACE = BEGIN FileIdentifier, FilePointer, Length : TYPE = CARDINAL; Data : TYPE = SEQUENCE OF CHAR; Write : ANNOUNCEMENT OPERATION [ f: FileIdentifier; position: FilePointer; data: Data; ] RETURNS [ ]; Read OPERATION [ f: FileIdentifier; position: FilePointer; length: Length; ] RETURNS [ Data ]; END. VSS1-RPC-17 IDL-Beispiel: 'RoomBooking' in CORBA IDL aus: A. Vogel, K. Duddy: "Java Programming with CORBA", John Wiley & Sons, 1997 module RoomBooking { interface Meeting { // A meeting has two read-only attributes which describe the // purpose and the participants of that meeting. readonly attribute string purpose; readonly attribute string participants; interface MeetingFactory { // A meeting factory creates meeting objects. Meeting CreateMeeting ( in string purpose, in string participants); VSS1-RPC-18
10 IDL-Beispiel: 'RoomBooking' in CORBA IDL (cont.) interface Room { // A Room can be booked for several (here: 8) time slots. enum Slot {am9, am10, am11, pm12, pm1, pm2, pm3, pm4 // Since cardinality of slots cannot be determined in IDL MaxSlots defines it: const short MaxSlots = 8; // "Meetings" associates meetings with time slots typedef Meeting Meetings [MaxSlots]; exception NoMeetingsInThisSlot { exception SlotAlreadyTaken { // The attribute "name" names a room: readonly attribute string name; // "View" returs the bookings for a room, "Book" and "Cancel" book resp. cancel // reservation for a room (here: only for a day): Meetings View (); void Book ( in Slot a_slot, in Meeting a_meeting ) raises (SlotAlreadyTaken); void Cancel ( in Slot a_slot ) raises (NoMeetingsInThisSlot) VSS1-RPC-19 Automatische SW-Generierung beim UNIX-RPC lokales - Anwendungsprogramm Schnittstellendefinition IDL - Compiler "rpcgen" lokale - Prozeduren Stub_0 XDR Routinen Header Datei Stub_0 C-Compiler C-Compiler C-Compiler C-Compiler Stub Stub Anwendungsobjekt Prozedurenobjekt Linker Linker - Programm - Programm VSS1-RPC-20
11 Ap plicati on Entit y ROSE Ap plication Entit y ROSE RPC-Standardisierung - Beispiel: ISO/OSI Remote Operations Service Element (ROSE) RPC-Request RPC-Response ISO / OSI - Ebenen 1 bis 6 Operation Response: or1: 'always result or failure returned', or2: 'only failure returned', or3: 'only result returned' oder or4: 'nothing returned'. Operation Call: oc1: 'synchronous' oder oc2: 'asynchronous'. Operation Classes: Operation Class 1 : or1 + oc1 Operation Class 2 : or1 + oc2 Operation Class 3 : or2 + oc2 Operation Class 4 : or3 + oc2 Operation Class 5 : or4 + oc2. <--- RDA VSS1-RPC-21 Effiziente Realisierung: 'Multi-threaded' Transaktionssicherung Call Response _i _i Ein kann an mehreren Transaktionen gleichzeitig beteiligt sein Ein bearbeitet zu jedem Zeitpunkt genau eine Transaktion - kann aber auf eine andere umschalten bevor die erste beendet wird (durch 'commit' oder 'rollback') VSS1-RPC-22
12 Effiziente Realisierung von (RPC-) n Alternativen: 1) Erzeugen eines neuen -Prozesses für jede neue -Anfrage -> mehrere Instanzen desselben Prozesses bestehen gleichzeitig -> Synchronisation beim Zugriff auf gemeinsame Variable notwendig 2) Ein -Prozess läuft kontinuierlich und wartet auf -Anfragen -> Erhöhung des Parallelitätsgrades durch Threads Beispiel für RPC-Implementierung mittels Threads (s.u.): Ablauf des Arbeiter 5: - wird aktiviert - Herausholen des Auftrags - Prozedurausführung - Veren der Antwort - wait ( Arbeiter 5 ) Verteiler: Synchronisation: - Thread, der auf Anfragen wartet - Schreibt ankommende Aufträge in den gemeinsamen Speicher - aktiviert den nächsten Arbeiter-Thread -> durch Monitor VSS1-RPC-23 Beispiel für RPC-Implementierung mit Hilfe von Threads Rechner A Rechner B Nachrichten- Puffer 2 Arbeiter 1: Prozeduraufruf wait(arbeiter1) 10 1 Arbeiter Arbeiter Arbeiter 3 Nachrichten- Puffer Condition Variable Arbeiter1 8 Verteiler 9 signal(arbeiter1) Arbeiter Arbeiter 6 Verteiler Arbeiter Arbeiter 5 signal(arbeiter5) wait( Arbeiter5 ) Condition Variable Arbeiter5 VSS1-RPC-24
13 RPC-Implementierung: -Klassen d.h.: auf verschiedenen Rechnern läuft mind. ein -Prozess desselben Dienstes Probleme: Rechner A - Prozess 1 Rechner B - Prozess 3 Rechner C - Prozess 4 - Prozess 2 Wann werden -Klassen vergrößert / verkleinert? durch Systemverwalter vorgegebene Scheduling-Strategie --> Dynamische Erweiterung / Verkleinerung der Klasse Wieviel Zustandsinformation muss ein verwalten? ist kontextfrei vs. Zustand wird in Datenbank verwaltet (für Fehlertoleranz) -> Verwaltung von Zustandsinformationen in den n Wann / Wie wird Last-Balancierung durchgeführt? Gemeinsame Warteschlange / Scheduler ordnet jeden einem zu. -> Lastverteilung (Load Balancing) (z.b. durch ausgezeichneten Verteiler-) VSS1-RPC-25
Kommunikationsunterstützung:
Ausgangspunkt verteilter Verarbeitung: lokale Netzwerke Kommunikationsunterstützung: Entfernter (Remote Procedure Call, RPC) Charakteristika eher lokal eher homogen eher klein eher proprietär eher überschaubar
MehrÜ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,
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
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
Mehr7.4 Verteilungsabstraktion in heterogener Umgebung
7.4 Verteilungsabstraktion in heterogener Umgebung Szenario: reiner Maschinencode (native code) bei unterschiedlichen Rechnerarchitekturen, unterschiedlichen Betriebssystemen, unterschiedlichen Übersetzern,
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
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
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrEntfernter Prozedur/Methodenaufruf. vsis inf min uni hh ws 12_13
Entfernter Prozedur/Methodenaufruf VIS-1 RPC-1 Gliederung Ziel und grundlegende Funktionsweise des RPC/RMI Verteiltes Objektmodell Design Implementation Beispiel: Java-RMI VIS-1 RPC-2 Ausgangspunkt verteilter
MehrMan liest sich: POP3/IMAP
Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und
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
MehrMonitore. Klicken bearbeiten
Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition
MehrObjektorientierte 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
MehrTechnische Dokumentation SilentStatistikTool
Technische Dokumentation SilentStatistikTool Version 1.0 Marko Schröder 1115063 Inhalt Einleitung... 3 Klasse Program... 3 Klasse ArgumentHandler... 3 Bereitgestellte Variablen... 3 Bereitgestellte Methoden...
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrUnterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur
Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert
Mehr2. Hintergrundverarbeitung in Android: Services und Notifications
2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht: In Mobis 1: Threads; hier genauerer Blick auf Services
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
Mehr3 Programmiermodelle für parallele und verteilte Systeme
3 Programmiermodelle für parallele und verteilte Systeme Das vorherrschende Programmiermodell für parallele und verteilte Systeme ist das Client Server Modell. Das Client Server Modell ist unabhängig von
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
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
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
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.
MehrSchedulingund Thread-Ausführer
Schedulingund Thread-Ausführer Scheduling Ein Scheduler arbeitet Programmstücke nach einer festen Zeitspanne oder zu einer fixen Zeitpunkt wiederholt oder einmal ab. Notwendigkeiten für Scheduling sind
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrJava Virtual Machine (JVM) Bytecode
Java Virtual Machine (JVM) durch Java-Interpreter (java) realisiert abstrakte Maschine = Softwareschicht zwischen Anwendung und Betriebssystem verantwortlich für Laden von Klassen, Ausführen des Bytecodes,
MehrClient-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
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
MehrSynchronisation in Java. Invisible Web
Synchronisation in Java Studienprojekt Invisible Web Tang Zhihong Synchronisation in Java Synchronisationsproblem Monitore Wait und notify PipedInputStream und PipedOutputStream Synchronisation von Collections
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
MehrProzessarchitektur einer Oracle-Instanz
6. Juni 2008 Inhaltsverzeichnis Oracle Instanz 1 Oracle Instanz 2 3 Redo Log Buffer Shared Pool Java Pool & Large Pool Oracle Instanz Eine Oracle-Instanz ist Hauptbestandteil des Oracle Datenbank Management
MehrDomänenmodell: Fadenkommunikation und -synchronisation
Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4
MehrDie Programmiersprache C99: Zusammenfassung
Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach
MehrProgrammieren I. Kapitel 15. Ein und Ausgabe
Programmieren I Kapitel 15. Ein und Ausgabe Kapitel 15: Ein und Ausgabe Ziel: einen kleinen Einblick in die vielfältigen IO Klassen geben Grober Überblick Klasse File zur Verwaltung von Dateien Random
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
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,
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
MehrKapitel 4. Monitore und wechselseitiger Ausschluss
Seite 1 Kapitel 4 Monitore und wechselseitiger Ausschluss Prof. Dr. Rolf Hennicker 28.05.2015 4.1 Interferenzen Seite 2 Parallel ablaufende Prozesse können sich gegenseitig (störend) beeinflussen. Beispiel
MehrZur Konfiguration werden hierbei das Setup-Tool und die Shell verwendet.
1. Konfiguration von Event Scheduler 1.1 Einleitung Im Folgenden wird die Konfiguration von Event Scheduler beschrieben. Sie erlauben den Zugriff auf das Internet werktags von 8-17:00 Uhr. Da Sie eine
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
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
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrKomponentenbasierter Taschenrechner mit CORBA
Komponentenbasierter Taschenrechner mit CORBA Silke Kugelstadt Torsten Steinert Inhalt Motivation Demonstration des Taschenrechners Grobarchitektur Implementierung des Clients Implementierung der Komponenten
MehrZustandsgebundene Webservices
Zustandsgebundene Webservices Präsentation ausgewählter Problemstellungen der Informatik Markus Oertel oer@uni-paderborn.de Universität Paderborn 25. September 2005 Zustandsgebundene Webservices Seite
MehrAutomatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)
HMExcel Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) Inhalt 1. Einleitung...1 2. Beispiele...2 2.1. Daten in ein Tabellenblatt schreiben...2
Mehr11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens
11.1 Indirektes Binden (3) Objektadapterkonfiguration Name wird bei Erzeugung vergeben wird genutzt u.a. für Property-Zugriffe Adapter-ID wird über Property konfiguriert Beispiel: MyAdapter.AdapterID=MyAdapter
MehrAutorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente
Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung
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
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
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
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrRT Request Tracker. Benutzerhandbuch V2.0. Inhalte
RT Request Tracker V2.0 Inhalte 1 Was ist der RT Request Tracker und wo finde ich ihn?...2 2 Was möchten wir damit erreichen?...2 3 Wie erstelle ich ein Ticket?...2 4 Wie wird das Ticket abgearbeitet?...4
MehrVerteilte Systeme CS5001
Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,
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
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
MehrDesign by Contract with JML
Thema: Design by Contract with JML Proseminar: Assertions Verfasser: Literatur: Betreuer: Natalya Moriz Gary T.Leavens and Yoonsik Cheon: Design by Contract with JML Prof. Dr. Heike Wehrheim 1 Inhalt DBC
Mehr3 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
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........................
MehrTutorium Rechnerorganisation
Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrDieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.
Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html
MehrSynchronisations- Assistent
TimePunch Synchronisations- Assistent Benutzerhandbuch Gerhard Stephan Softwareentwicklung -und Vertrieb 25.08.2011 Dokumenten Information: Dokumenten-Name Benutzerhandbuch, Synchronisations-Assistent
MehrE.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
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
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
MehrBackup der Progress Datenbank
Backup der Progress Datenbank Zeitplandienst (AT): Beachten Sie bitte: Die folgenden Aktionen können nur direkt am Server, vollzogen werden. Mit Progress 9.1 gibt es keine Möglichkeit über die Clients,
MehrWiederholung: 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
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
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.
MehrInternet Explorer Version 6
Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster
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
MehrSoftware-gestützte Pufferung: Verteilte Dateisysteme. BP 2 Software-gestützte Pufferung: Verteilte Dateisysteme BP 2 BP 2 BP 2
3.3 Verteilte Dateisysteme Architektur Dateidienst-Interface Verlagerungsmodell (upload/download model) Ganze Dateien werden vom zum transferiert lund dort bearbeitet Typisch für Massenspeichersysteme,
MehrArchitektur Verteilter Systeme Teil 2: Prozesse und Threads
Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
MehrVgl. Oestereich Kap 2.7 Seiten 134-147
Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte
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
MehrDokumentation EGVP-Übertmittlungsfehler bei Server-Engpässen Vorgehensweise Seite 1 von 5
Seite 1 von 5 Wie kann dokumentiert werden, dass Anmeldungen zum Handelsregister wegen EGVP-Server-Engpässen nicht versendet werden können? Insbesondere wenn zum 31.8. fristgebundene Anmeldungen vorzunehmen
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrVerteilte Systeme: Übung 4
Verteilte Systeme: Übung 4 WSDL und SOAP Oliver Kleine Institut für Telematik https://www.itm.uni-luebeck.de/people/kleine SOAP Nachrichten Serialisierung in XML Root-Element einer SOAP Nachricht ist
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
MehrBedienungsanleitung. Stand: 26.05.2011. Copyright 2011 by GEVITAS GmbH www.gevitas.de
GEVITAS-Sync Bedienungsanleitung Stand: 26.05.2011 Copyright 2011 by GEVITAS GmbH www.gevitas.de Inhalt 1. Einleitung... 3 1.1. Installation... 3 1.2. Zugriffsrechte... 3 1.3. Starten... 4 1.4. Die Menü-Leiste...
MehrAuszug aus JAX-WS Folien
Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen
MehrTechnische Beschreibung: EPOD Server
EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
MehrInhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER
AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
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
MehrZeitstempel für digitale Dokumente. Ein neuer Dienst in der DFN-PKI
Zeitstempel für digitale Dokumente Ein neuer Dienst in der DFN-PKI DFN-Betriebstagung 26. Februar 2008 Gerti Foest (pki@dfn.de) Was ist ein Zeitstempel? Zeitstempel sind gemäß [ISO18014-1] digitale Daten,
MehrProtokollbeschreibung Modbus TCP für EMU TCP/IP Modul
Protokollbeschreibung Modbus TCP für EMU TCP/IP Modul Zweck: Dieses Protokollbeschreibung beschreibt den Aufbau des Modbus TCP Protokolls. Datei: EMU Professional Modbus TCP d Seite 1 von 15 Version 1.0
MehrEinführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
MehrQualitätssicherung bei der mobilen Datenerfassung
Qualitätssicherung bei der mobilen Datenerfassung Stephan Mäs Arbeitsgemeinschaft GIS Universität der Bundeswehr München http://www.unibw.de/bauv11/geoinformatik/agis 9. Seminar GIS & Internet 13.-15.
MehrSynchronisation von redundanten Datenbeständen
Synchronisation von redundanten Datenbeständen seit 1999 Themenübersicht Mobile Anwendungen Verteilte Datenbanksysteme Synchronisation Lösungsansätze Mobile Anwendungen Erwartungen der Anwender Der App-Stil
MehrSynchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73
Synchronisierung Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73 Übertragungsprozeduren Die Übertragung einer Nachricht zwischen Sender und Empfänger erfordert die Übertragung des Nutzsignals
MehrEJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de
EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.
MehrSoftwaretechnik (Allgemeine Informatik) Überblick
Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6
MehrDatenbanken: Backup und Recovery
Der Prozess der Wiederherstellung der Daten einer Datenbank nach einem Fehler im laufenden Betrieb in einen konsistenten, möglichst verlustfreien Zustand heißt Recovery. Beteiligt an diesem Recovery sind
MehrJava Einführung Packages
Java Einführung Packages Inhalt dieser Einheit Packages (= Klassenbibliotheken) Packages erstellen Packages importieren Packages verwenden Standard Packages 2 Code-Reuse Einbinden von bereits (selbst-/fremd)
MehrWillkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java
Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen
Mehr