Kap. 5: Remote Procedure Call
|
|
- Teresa Martin
- vor 8 Jahren
- Abrufe
Transkript
1 Verteilte Systeme 5-1 Kap. 5: Remote Procedure Call 5.1 Einführung und Motivation 5.2 Grundprinzip 5.3 Binding / Trading 5.4 Behandlung von Parametern 5.5 Semantik im Fehlerfall 5.6 RPC-Protokoll 5.7 Beispiele
2 Verteilte Systeme Einführung und Motivation Nachrichtenorientierte Kommunikation asynchroner Nachrichtenaustausch explizit mit send()/receive()-operationen Fazit +: sehr flexibel, alle Kommunikationsmuster implementierbar -: explizit, I/O-Paradigma Ziel des Remote Procedure Call (RPC) deutsch: Fernaufruf (wenig verbreitet) Transparenz der Kommunikation Erscheinungsbild wie üblicher lokaler Prozeduraufruf Unterstützung für Dienstorientierung: Dienst = Service = Menge von Funktionen RPC für Funktionsaufruf Objektorientierung: RPC genutzt für Methodenaufrufe
3 Verteilte Systeme 5-3 Historie 5.1 Erste umfassende Darstellung: Def: Dissertation Nelson (1981, XPARC) abgeleitetes Paper Birrel/Nelson (1984, ACM ToCS) "RPC (Fernaufruf) ist der synchrone Transfer von Kontrolle und Daten zwischen Teilen eines in verschiedenen Adressräumen ablaufenden Programms" Nelson's These: RPC ist ein leistungsfähiges Konzept zur Konstruktion verteilter Anwendungen RPC vereinfacht die Programmierung verteilter Systeme Heute: Nelson's Sicht allgemein akzeptiert RPC-Systeme in vielen Produkten
4 Verteilte Systeme Grundprinzip Client Host (Adressraum) Server Host (Adressraum) client procedure client stub server stub server procedure process work call work pack args send receive unpack results return receive unpack args call pack results send work return process transmit BS-Kern transmit pack / unpack = marshaling / unmarshaling Stellvertreterkomponenten: stub, proxy, skeleton BS-Kern
5 Verteilte Systeme 5-5 Programmentwicklung 5.2 Grobstruktur: Schnittstellenspezifikation Client- Entwicklung Server- Entwicklung
6 Verteilte Systeme 5-6 Programmentwicklung (2) 5.2 genauer, aber immer noch unabhängig von speziellem RPC-System: Interface Compiler Client Stub Header Files Server Stub Schnittstellenspezifikation RPC Client- Server- RPC Library Programm Programm Library vom Anwendungs- entwickler Compile &Link Client Applikation Compile &Link Server Applikation
7 Verteilte Systeme 5-7 Beispiel SunRPC 5.2 Schnittstellenspezifikation RPC language foo.x Interface Compiler rpcgen foo_clnt.c c Client Stub Header Files foo.h foo_xdr.c Server Stub foo_svc.c RPC Library Client- Programm Server- Programm RPC Library Compile &Link Compile &Link Client Applikation Server Applikation
8 Verteilte Systeme 5-8 Beispiel DCE RPC 5.2 uuidgen (erzeugt eindeutigen Schnittstellennamen) Schnittstellenspezifikation DCE IDL foo.idl Interface Compiler idl foo_cstub.o o Client Stub Header Files foo.h Server Stub foo_sstub.o RPC Library Client- Programm Server- Programm RPC Library Compile &Link Compile &Link Client Applikation Server Applikation
9 Verteilte Systeme Binding / Trading Binding / Trading: Problem: Binden eines Clients an einen Server notwendig Problem gilt analog auch für andere Paradigmen Aspekte: Naming & Locating Naming Wie benennt der Client, an was er gebunden werden will (Service) Interface-Name allgemein aus systemweitem Namensraum Trading als Verallgemeinerung: zusätzlich Interface-Attribute vgl. Kap. 6: Allg. Namensdienste Locating Bestimmen der (ortsabhängigen) Adresse eines Servers, der das gewünschte Interface exportiert und zur Diensterbringung benutzt wird typisch: (IP-Adresse des Hosts, Portnummer).
10 Locating-Alternativen 5.3 Adresse statisch im Anwendungsprogramm kein Suchvorgang erforderlich i.d.r. nicht flexibel genug zu frühes Binden Suchen nach Exporteuren zur Laufzeit, z.b. durch Broadcast hoher Laufzeitaufwand Broadcast über Netze hinweg gproblematisch i.d.r. zu spätes Binden Verwaltung von Zuordnunginformation durch zwischengeschaltete Instanz vermittelnde Instanz wird Binder, Trader oder Broker genannt Exporteur lässt angebotenes Interface (mit allen Attributen) registrieren i Bindeanforderung eines Importeurs bewirkt Zuordnung durch Binder/Trader R. Kröger, Hochschule RheinMain Verteilte Systeme 5-10
11 Verteilte Systeme 5-11 Prinzipielle Vorgehensweise Binder/ Trader 1 Exportieren des Interface Registrieren eines Interfaces bei Binder Client client stub 1 3 Server 2 Binder hat bekannte Adresse Importieren bei erster Inanspruchnahme des Dienstes aus stub heraus liefert handle mit Adresse 3 Fernaufruf client stub benutzt Adresse für Aufruf an Server
12 Verteilte Systeme 5-12 Binder / Trader 5.3 Typische Schnittstelle Register( Dienstname, Version, Adresse, evtl. Attribute ) Deregister( Dienstname, Version, Adresse ) Lookup( Name, Version, evtl. Attribute ) Adresse Vorteile: sehr flexibel kann mehrere gleichartige Server berücksichtigen Basis für Lastausgleich zwischen äquivalenten Servern Nachteile: zusätzlicher Aufwand beim Exportieren und Importieren eines Interfaces problematisch bei kurzlebigen Servern und Clients
13 Verteilte Systeme 5-13 Beispiel: SunRPC 5.3 Namen Paare (Programmnummer, Versionsnummer) Adressen Paare (IP-Adresse des Hosts, Portnummer) Binder: Portmapper Abbildung von Namen auf Portnummern IP-Adresse des Hosts muss bekannt sein, der dort lokale Portmapper wird befragt Portmapper ist selbst SunRPC-Dienst (Port 111)
14 Verteilte Systeme 5-14 Beispiel: DCE RPC 5.3 Namen UUID (Universal Unique Identifier) weltweit eindeutiger String enthält Netzwerk-Adressinformationen (z.b. Ethernet MAC-Adresse) und Zeitmarke generiert durch Tool uuidgen Adressen Paare (IP-Adresse des Hosts, Portnummer) Binding zweistufig innerhalb einer DCE-Zelle kein zusätzliches Wissen notwendig Binder heisst RPC Daemon
15 Verteilte Systeme 5-15 Beispiel: DCE RPC (2) 5.3 Client 1 "Interface xx?" 2 "Node A" CDS Cell Directory Service evtl. globale Suche 3 4 reply 6 5 Node A P rpcd RPC Daemen
16 Verteilte Systeme Behandlung der Parameterübergabe Heterogenitätsproblem verschiedene Codes (z.b. ASCII - EBCDIC) Little Endian - Big Endian unterschiedliche Zahlenformate Lösungsmöglichkeiten Abbildungen zwischen lokalen Datendarstellungen» Sender sendet in seiner lokalen l Darstellung, Empfänger transformiert t» erfordert n*n Abbildungen kanonische Netzdatendarstellung für alle Typen» erfordert 2n Abbildungen (bei n lokalen Darstellungen)» evtl. unnötige Codierung
17 Verteilte Systeme 5-17 Verbreitete Netzdatendarstellungen 5.4 XDR (External Data Representation) definiert durch Sun im Rahmen von SunRPC i.w. Motorola Datenformate: ASCII; Big-Endian, 2-Komplement; IEEE-Gleitpunktzahlen,... zusammengesetzte Typen: Arrays, Structures, Unions keine explizite Typisierung der Daten, d.h. keine sich selbst beschreibenden Daten für RPC-Systeme sind die Parameter-Typen aber beim Generieren des Stub Codes für beide Seiten bekannt Beispiel: struct { string author<>; int year; string publisher<>; } 5 Stee n Wesl ey jeweils 4 Bytes lang
18 Verteilte Systeme 5-18 Verbreitete Netzdatendarstellungen (2) 5.4 ASN.1 BER (ISO Abstract Syntax Notation Number 1, Basic Encoding Rules, ISO 8824, 8825, ITU X.409) explizite Typisierung der übertragenen Daten, d.h. allen Datenfeldern geht die Typinformation voraus. noch verbreitet: t CANopen, ISO MMS, UMTS! Standard-Repräsentierung: (Type, Länge, Inhalt) Nachteil: laufzeitaufwendig e (Bitzugriffe) Beispiel: count::=integer Type (Identifier) 0 2 Type (Identifier) 0 1 Länge 1 A Inhalt (26 10 ) jeweils 1 Byte (hex) Tag: Type: Class: 1 Boolean 2 Integer, Sequence 0 Primitive 1 Constructed 00 Universal 01 Application,...
19 Verteilte Systeme 5-19 Verbreitete Netzdatendarstellungen (3) 5.4 CDR (Common Data Representation) Definition in OMG CORBA 2.0 Nutzung im CORBA IIOP-Protokoll Versenden im eigenen Format, "Receiver makes it right" Simple types (short, long, float, char, ) Complex types (sequence, string, union, struct, ) Alignment/Padding entsprechend Mehrfachem h der Elementlänge Big-endian Beispiel: struct <string, unsigned long> 5 S T E E N Adresse Inhalt E D2 Länge Padding
20 Verteilte Systeme 5-20 Probleme 5.4 komplexe, zusammengesetzte Parametertypen z.b. structs, arrays, erfordern Regeln zur Serialisierung Adressen in Parametern keine Bedeutung im Zieladressraum! einfachste Lösung: Verbieten, nur call-by-value zulassen (i.w. SunRPC) Nutzung eines gemeinsamen globalen Adressraums, falls vorhanden Ersetzen von Zeigern durch Marker, Rekonstruktion zusammengesetzter t Datenstrukturen t auf Empfängerseite durch dort lokale Zeiger (z.b. DCE RPC)
21 Verteilte Systeme 5-21 Sicherheit 5.4 Probleme gegenseitige Authentisierung Autorisierung bzgl. ausführbarer Funktionen auf Server-Seite Verschlüsselung der übertragenen Daten ausführliche Betrachtung in separatem Kapitel
22 Verteilte Systeme Semantik des RPC im Fehlerfall Fehler-Problematik lokaler Funktionsaufruf: Rufer und Gerufener werden gleichzeitig abgebrochen RPC: Ausfall einzelner Komponenten in verteilter Umgebung möglich Zusätzlich Fehlerfälle des Nachrichtensystems berücksichtigen» Nachrichtenverlust» unbekannte Übertragungszeiten» Out-of-order-Ankunft von Nachrichten (Überholen)
23 Verteilte Systeme 5-23 Semantik des RPC im Fehlerfall (2) 5.5 at-least-once-semantik erfolgreiche Ausführung des RPC aufgerufene Prozedur mindestens einmal ausgeführt, d.h. Mehrfachaufruf kann passieren beliebiger Effekt bei nicht-erfolgreicher Ausführung möglich i.a. nur für idempotente Operationen geeignet, d.h. mehrfacher Aufruf ändert nicht Zustand und Ergebnis Realisierung einfachste Form kommt innerhalb eines Timeouts kein Ergebnis auf Client-Seite an, wird Aufruf vom Stub wiederholt keine Vorkehrungen auf Server-Seite
24 Verteilte Systeme 5-24 Semantik des RPC im Fehlerfall (3) 5.5 exactly-once-semantik erfolgreiche Ausführung des RPC aufgerufene Prozedur genau einmal ausgeführt beliebiger Effekt bei nicht-erfolgreicher Ausführung möglich gelegentlich als "at-most-once" bezeichnet entspricht im Normalfall lokalem Funktionsaufruf am weitesten verbreitet Realisierung komplexer kommt innerhalb eines Timeouts kein Ergebnis auf Client-Seite an, wird Aufruf vom Client-Stub wiederholt Server-Stub Stub ignoriert Anfrage-Duplikate, wenn Antwort noch nicht geschickt (Erkennung durch Sequenznummer) Server wiederholt bereits gesendete Antwort bei wiederholtem Aufruf f (maskiert verlorene Antwort) t)
25 Verteilte Systeme 5-25 Semantik des RPC im Fehlerfall (4) 5.5 at-most-once-semantik erfolgreiche Ausführung des RPC aufgerufene Prozedur genau einmal ausgeführt nicht-erfolgreiche Ausführung des RPC aufgerufene Prozedur erscheint als niemals ausgeführt auch als atomarer RPC bezeichnet höchster Komfort für Programmierer, da keine partiellen Fehlerauswirkungen zurückbleiben Realisierung sehr komplex erfordert Transaktionsmechanismus heute eher Einbettung von RPCs in allg. Transaktionskonzept (vgl. Transaktionsdienst)
26 Verteilte Systeme 5-26 Orphan-Problem 5.5 Orphan = Waise Problem: Client stirbt nach Absetzen des RPC erzeugter RPC kann weitere Aktivität nach sich ziehen, obwohl niemand darauf wartet nach Restart Eintreffen von Antworten aus früherem "Leben" Lösungsansätze gezielter Abbruch verwaister RPCs basierend auf stabilem Speicher (praktisch unbrauchbar) max. Lebensdauern von RPCs im Netz Warten nach Restart Einführung von Epochen Einfangen durch übergeordnete Recovery-Mechanismen (z.b. Transaktionsmechanismus)
27 Verteilte Systeme RPC-Protokolle RPC-Protokoll: Regeln zur Abwicklung von RPCs abhängig von unterlagertem Transportdienst Layer 4 Transport (z.b. TCP) unzuverlässiger Datagrammdienst (z.b. UDP) Duplikate (durch Timeouts), Vertauschungen und Verlust sind möglich in der Praxis meistens zuverlässiger Transportdienst unterlagert, aber leistungsmindernd Aufruf/Antwort-Protokolle Ziel: möglichst wenige ausgetauschte Nachrichten auf Datagrammdienst basierend eigene Mechanismen zur Erkennung und Behebung von Kommunikationsfehlern (Sequenznummern, wiederholtes Senden) Bester Fall: Je RPC genau zwei Nachrichten (Antwort quittiert Aufruf, nächster Aufruf quittiert letzte Antwort)
28 Verteilte Systeme Beispiel: Der SunRPC C-Spracheinbettung Unterlagerter Transportdienst TCP oder UDP RPC fügt keine die Zuverlässigkeit steigernde Maßnahmen hinzu UDP und timeouts auf Applikationsebene führen zu "at-least-once"-semantik TCP und message transaction ids auf Applikationsebene führen zu "exactly-once"-semantik Binding durch Portmapper Portmapper-Protokoll ist selbst RPC-basiert Parameter i.w. nur call-by-value l Sicherheit Authentifizierung: Null, UNIX, DES
29 Verteilte Systeme 5-29 Andere RPC-Protokolle 5.7 ISO OSI Remote Operations ROSE Remote Operations Service Elements heute ohne Bedeutung OSF DCE RPC Teil des OSF Distributed Computing Environments Microsoft RPC weitgehend kompatibel C/C++-Spracheinbettung "exactly-once" und "at-least-once"-semantiken wählbar, unabhängig von unterlagertem Transport-Dienst Unterstützung für Threads beliebige Parameter-Typen, "lange" Parameter über "Pipe" -Mechanismus Sicherheit basierend auf Kerberos-Framework Bedeutung stark gesunken.
7.4 Verteilungsabstraktion in heterogener Umgebung
7.4 Verteilungsabstraktion in heterogener Umgebung Szenario: reiner Maschinencode (native code) bei unterschiedlichen Rechnerarchitekturen, unterschiedlichen Betriebssystemen, unterschiedlichen Übersetzern,
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
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
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
MehrSicherheit in Client/Server-Umgebungen
Sicherheit in Client/Server-Umgebungen (1) Motivation Sehr viele Anwendungen in vernetzten Umgebungen basieren auf dem Konzept der Bereitstellung von Diensten durch Server sowie der Inanspruchnahme von
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
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
MehrCCNA Exploration Network Fundamentals. ARP Address Resolution Protocol
CCNA Exploration Network Fundamentals ARP Address Resolution Protocol ARP: Address resolution protocol 1. Eigenschaften ARP-Cache Aufbau 2. Ablauf Beispiel Flussschema 3. ARP-Arten 4. Sicherheit Man-In-The-Middle-Attacke
MehrComtarsia SignOn Familie
Comtarsia SignOn Familie Handbuch zur RSA Verschlüsselung September 2005 Comtarsia SignOn Agent for Linux 2003 Seite 1/10 Inhaltsverzeichnis 1. RSA Verschlüsselung... 3 1.1 Einführung... 3 1.2 RSA in Verbindung
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
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
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
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
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
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
MehrSenden von strukturierten Berichten über das SFTP Häufig gestellte Fragen
Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen 1 Allgemeines Was versteht man unter SFTP? Die Abkürzung SFTP steht für SSH File Transfer Protocol oder Secure File Transfer Protocol.
MehrABB i-bus KNX. Software-Information. Melde- und Bedientableau. Typ: MT 701.2
Produkt: Melde- und Bedientableau Typ: MT 701.2 Aktuelles Anwendungsprogramm Plug-In für ETS 2 MT_701_2_ETS2_SOW_xx_V1-12a_de_en.exe Plug-In für ETS 3 MT_701_2_ETS3_SOW_xx_V1-12a_de_en.exe EIBTAB: MT_701_2_EIBTAB_SOW_de_V2-08-00A_EibTab+Firmware.EXE
MehrTCP/UDP. Transport Layer
TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrTCP SYN Flood - Attack. Beschreibung Auswirkungen Zuordnung zu Gefährdungskategorie und Attacken-Art Gegenmaßnahmen Quellen
TCP SYN Flood - Attack Beschreibung Auswirkungen Zuordnung zu Gefährdungskategorie und Attacken-Art Gegenmaßnahmen Quellen TCP SYN Flood - Beschreibung TCP SYN Flood Denial of Service Attacke Attacke nutzt
MehrEinführung in IP, ARP, Routing. Wap WS02/03 Ploner, Zaunbauer
Einführung in IP, ARP, Routing Wap WS02/03 Ploner, Zaunbauer - 1 - Netzwerkkomponenten o Layer 3 o Router o Layer 2 o Bridge, Switch o Layer1 o Repeater o Hub - 2 - Layer 3 Adressierung Anforderungen o
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
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
MehrRadius Server. Bericht im Studiengang Computerengineering an der HS-Furtwangen. Student: Alphonse Nana Hoessi Martikelnr.:227106
Radius Server Bericht im Studiengang Computerengineering an der HS-Furtwangen Student: Alphonse Nana Hoessi Martikelnr.:227106 Student: Daniel Lukac Martikelnr.: 227244 Student: Dominik Bacher Martikelnr.:
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
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
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
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
MehrWas ist LDAP. Aufbau einer LDAP-Injection. Sicherheitsmaßnahmen. Agenda. LDAP-Injection. ITSB2006 WS 09/10 Netzwerkkonfiguration und Security
Agenda Was ist LDAP Aufbau einer Sicherheitsmaßnahmen Was ist LDAP Abstract RFC4510 The Lightweight Directory Access Protocol (LDAP) is an Internetprotocol for accessing distributed directory services
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
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
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
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
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,
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
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
MehrPCC Outlook Integration Installationsleitfaden
PCC Outlook Integration Installationsleitfaden Kjell Guntermann, bdf solutions gmbh PCC Outlook Integration... 3 1. Einführung... 3 2. Installationsvorraussetzung... 3 3. Outlook Integration... 3 3.1.
Mehrpeer-to-peer Dateisystem Synchronisation
Ziel Realisierungen Coda Ideen Fazit Literatur peer-to-peer Dateisystem Synchronisation Studiendepartment Informatik Hochschule für Angewandte Wissenschaften Hamburg 30. November 2007 Ziel Realisierungen
MehrAlexandru Arion, Benjamin Schöllhorn, Ingo Reese, Jürgen Gebhard, Stefan Patsch, Stephan Frank
Message Broker (MB) Alexandru Arion, Benjamin Schöllhorn, Ingo Reese, Jürgen Gebhard, Stefan Patsch, Stephan Frank Programmierung verteilter Systeme Lab Institut für Informatik Universität Augsburg Universitätsstraße
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/
MehrTutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe
Tutorium Informatik 1 Aufgabe 2: Formatierte Ein- und Ausgabe Fachbereich: Elektrotechnik Inhaltsverzeichnis 1 Aufgabe 1 2 Benötigte Funktionen und Schlüsselwörter 2 Robert Halas / FH Regensburg - 2003
MehrS.W.I.F.T. Befüllungsregeln für MT 103 und MT 202
S.W.I.F.T. Befüllungsregeln für MT 103 und MT 202 (Bank an Bank) rbeitspapiere, 27.10.2006 Final V 1.0 bilaterale Befüllungsregeln - 1-27.10.2006 MT 103 Standards Release Guide 2006 MT 103 Einzelne Kundenüberweisung
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrScala kann auch faul sein
Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?
MehrStefan Dahler. 1. Remote ISDN Einwahl. 1.1 Einleitung
1. Remote ISDN Einwahl 1.1 Einleitung Im Folgenden wird die Konfiguration einer Dialup ISDN Verbindungen beschrieben. Sie wählen sich über ISDN von einem Windows Rechner aus in das Firmennetzwerk ein und
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
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
MehrSoftware Engineering Interaktionsdiagramme
Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)
MehrEinführung. Internet vs. WWW
Einführung Bernhard Plattner 1-1 Internet vs. WWW "the Internet is the entirety of all computers which are interconnected (using various physical networking technologies) and employ the Internet protocol
MehrÜbersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software
FTP Übersicht Was ist FTP? Übertragungsmodi Sicherheit Öffentliche FTP-Server FTP-Software Was ist FTP? Protokoll zur Dateiübertragung Auf Schicht 7 Verwendet TCP, meist Port 21, 20 1972 spezifiziert Übertragungsmodi
MehrEinführung in die Netzwerktechnik
Ich Falk Schönfeld Seit 8 Jahren bei eurogard GmbH Entwickler für Remoteserviceprodukte Kernkompetenz Linux Mail: schoenfeld@eurogard.de Telefon: +49/2407/9516-15 Ablauf: Was bedeutet Netzwerktechnik?
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
MehrPython Programmierung. Dipl.-Ing.(FH) Volker Schepper
Python Programmierung String Operationen i = 25 text1 = "Ich bin " text2 = " Jahre alt" print (text1 + str(i) + text2) print ("ich bin", i, "Jahre alt") print ("ich bin %s Jahre alt" % i) >>> Ich bin 25
MehrPeer-to-Peer Internet Telephony using the Session Initiation Protocol (SIP)
Seite - 1 - HAW Hamburg Anwendungen I Nico Manske Peer-to-Peer Internet Telephony using the Session Initiation Protocol (SIP) Seite - 2 - Seite - 3 - reines P2P System für IP Telefonie bei SIP Client Server
MehrWSDL. Web Services Description Language. André Vorbach. André Vorbach
André Vorbach WSDL Web Services Description Language André Vorbach Übersicht Was ist WSDL? Dokumentenstruktur Elemente Definitions Types Messages porttype Binding Service SOAP-Bindings Beispiel Was ist
MehrFragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96
Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Dieser Fragenkatalog wurde aufgrund das Basistextes und zum Teil aus den Prüfungsprotokollen erstellt, um sich auf mögliche
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
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.
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
MehrEine Anwendung mit InstantRails 1.7
Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrKommunikation mehrerer PCs über Hubs
Kommunikation mehrerer PCs über Hubs Hub Sollen mehr als zwei Rechner zu einem Netz verbunden werden, können wir dazu einen Hub verwenden, s. Abbildung 3-1. Ein Hub hat je nach Ausführung von vier bis
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
MehrVS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel
VS7 Slide 1 Verteilte Systeme Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte
MehrSchnittstellenbeschreibung Funkempfänger SRC-RS485-EVC
Schnittstellenbeschreibung Funkempfänger SRC-RS485-EVC Version 1.0, 17.09.2004 Thermokon Sensortechnik GmbH - www.thermokon.de - email@thermokon.de 1 Allgemeines Das Funk Empfangsmodul SRC-RS485-EVC arbeitet
MehrRapide An Event-Based Architecture Definition Language
Rapide An Event-Based Architecture Definition Language Ralf Bettentrup Seminar: Architekturbeschreibungssprachen Wozu Rapide? Computer mit Modem Provider Broker Client Broker PC Prov 1 Client 1 RS-232
MehrTechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung
Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung Diese Anleitung hilft Ihnen, das nachfolgend geschilderte Problem zu beheben.
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
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
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrSwitching. Übung 9 EAP 802.1x. 9.1 Szenario
Übung 9 EAP 802.1x 9.1 Szenario In der folgenden Übung konfigurieren Sie eine portbasierte Zugangskontrolle mit 802.1x. Den Host 1 haben Sie an Port 2 angeschlossen, der eine Authentifizierung vor der
MehrSNMP und der MIB- Browser von MG-Soft
SNMP und der MIB- Browser von MG-Soft 1. SNMP 1.1 Was ist SNMP 1.2 Historie von SNMP 1.3 Einordnung in das OSI-Modell 1.4 Die Architektur von SNMP 1.5 Kommunikation von SNMP 1.6 SNMP-PDUs PDUs 2. MIB und
MehrCONVEMA DFÜ-Einrichtung unter Windows XP
Einleitung Als Datenfernübertragung (DFÜ) bezeichnet man heute die Übermittlung von Daten zwischen Computern über ein Medium, bei der ein zusätzliches Protokoll verwendet wird. Am weitesten verbreitet
MehrMESONIC WINLine Jahreswechsel. Umstellung des Wirtschaftsjahres SMC IT AG
MESONIC WINLine Jahreswechsel Umstellung des Wirtschaftsjahres und SMC MESONIC.Connect SMC IT AG Meraner Str. 43 86165 Augsburg Fon 0821 720 620 Fax 0821 720 6262 smc it.de info@smc it.de Geschäftsstelle
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
MehrStep by Step Remotedesktopfreigabe unter Windows Server 2003. von Christian Bartl
Step by Step Remotedesktopfreigabe unter Windows Server 2003 von Remotedesktopfreigabe unter Windows Server 2003 Um die Remotedesktopfreigabe zu nutzen muss diese am Server aktiviert werden. Außerdem ist
Mehr7.1.1 Grundzüge der Fernaufruf-Implementierung
7.1.1 Grundzüge der Fernaufruf-Implementierung = Aufrufbeziehung Aufrufer Vertreter (proxy, client stub) Fernaufrufdienst A d a p t e r Treiber (skeleton, server stub) Fernaufrufdienst Aufgerufener (Modul,
MehrApplets I. Grundlagen der g Applet-Programmierung
Applets I Grundlagen der g Applet-Programmierung 2 Inhalt Applets Was sind Applets Entwicklung Grundlagen Zustandssteuerung eines Applets Methoden zum Nachrichtentransfer Soundausgabe Animation Einbindung
MehrCDRServer 2011 / Installationsanleitung Step-by-Step. elcom
CDRServer 2011 / Installationsanleitung Step-by-Step Installieren von CDRServer 2011 Neue Installations-Prozeduren mit CDR2011 R2 1) Bitte Installation der Datenbank immer zuerst vornehmen (ausser, CDR
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
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.
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
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
Mehrpro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9
Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 1 Allgemeine Beschreibung "Was war geplant, wo stehen Sie jetzt und wie könnte es noch werden?" Das sind die typischen Fragen, mit denen viele Unternehmer
MehrC.M.I. Control and Monitoring Interface. Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) Version 1.08
C.M.I. Version 1.08 Control and Monitoring Interface Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) de LAN LAN Beschreibung der Datentransfermethode Mit dieser Methode ist es möglich, analoge
MehrModul Software Komponenten 10 Komponentenarchitektur
Modul Software Komponenten 10 Komponentenarchitektur Teil 2 Peter Sollberger Die verschiedenen Middleware - Ansätze Inhalt Montag, 3. November Remote Procedure Call (RPC) Fehlersemantiken Remote Message
MehrMobile Anwendungen Google Cloud Messaging
Mobile Anwendungen Google Cloud Messaging 1. Allgemeines zu Google Cloud Messaging (GCM): - 60% der Top 100 Apps nutzen Google Cloud Messagging - 200.000 Messages pro Sekunde = 17 Milliarden Messages pro
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
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 -
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.
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:
MehrDistributed Computing Group
JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird
MehrIntegration von XPhone Virtual Directory auf OpenStage 60/80 Telefonen
Integration von XPhone Virtual Directory auf OpenStage 60/80 Telefonen Inhaltsverzeichnis Dokumentenhistorie... 1 Allgemeine Informationen zu XPhone Virtual Directory... 1 XPhone Virtual Directory 2011
MehrSE2-10-Entwurfsmuster-2 15
Architektur und Skalierbarkeit SE2-10-Entwurfsmuster-2 15 Skalierbarkeit Skalierbarkeit bedeutet die Anpassung einer Software an wachsende Last: Interaktionsfrequenz Nutzerzahl Anpassung durch Hinzufügen
MehrThemen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services
Themen Web Services und SOA Wer kennt den Begriff Web Services? Was verstehen Sie unter Web Services? Die Idee von Web Services Ausgangspunkt ist eine (evtl. schon bestehende) Software Anwendung oder Anwendungskomponente
Mehr