Privatdozent Dr.-Ing. habil. Andriy Luntovskyy

Größe: px
Ab Seite anzeigen:

Download "Privatdozent Dr.-Ing. habil. Andriy Luntovskyy"

Transkript

1 Studiengang Informationstechnik WWW: Privatdozent Dr.-Ing. habil. Andriy Luntovskyy WWW: 1

2 Verteilte Systeme und Entwicklung verteilter Anwendungen 6. Semester (36 LVS) Das Skript verwendet Lehrmaterialien von A.Schill (TU Dresden) und R.Oechsle (FH Trier) PD Dr. habil. A.Luntovskyy 2

3 Einleitung, Organisatorisches 6.Semester Periode: bis Mai

4 Aufbau und Plan der LV Verteilte Systeme 6. Studienhalbjahr (36 LVS = 24 VL + 12 Praktika) VL Vert. Systeme und Entwicklung verteilter Anwendungen Versuch 1: Socket- Kommunikation Versuch 2: WWW-Datenbankanbindung mittels serverseitiger Skripte PD Dr. habil. A.Luntovskyy 4

5 Inhalt. Verteilte Systeme und Entwicklung verteilter Anwendungen (1) 1. Einleitung 1.1 Definition und Abgrenzung 1.2. Nutzung verteilter Systeme 1.3. Transparenz 2. Kommunikation in verteilten Systemen 2.1. Client-Server-Kommunikation 2.2. Kommunikation über Sockets Kommunikation über UDP Kommunikation über TCP Nachteile der Sockets 2.3. Prozedurenaufruf (Remote Procedure Call) 2.4. Methodenfernaufruf RMI CORBA Auskunfts- und Verzeichnisdienste 2.5. Asynchrone Kommunikation 3. Entwicklung verteilter Anwendungen 3.1. Mehrschichtige Architekturmodelle 3.2. Enterprise Java Beans (EJB) Arten von Enterprise Java Beans Session Beans Clients von Session Beans Entities Funktionen eines EJB-Servers 3.3. Web basierte Anwendungen mit Servlets, Java Server Pages und Java Server Faces Java Servlets Java Server Pages (JSP) Java Server Faces (JSF) PD Dr. habil. A.Luntovskyy 5

6 Inhalt. Verteilte Systeme und Entwicklung verteilter Anwendungen (2) 4. Übersicht von Middleware- Spezifikationen 5. XML in verteilten Systemen 5.1. DTD, XSD 5.2. XML-Anwendungen (XHTML, SMIL) 6. Datenbankanbindung 6.1. SQL 6.2. ODBC, JDBC 7. SOA, Web Services 7.1. Grundlagen WS: WSDL, UDDI, SOAP, 7.2. REST, fortgeschrittene WS-* 7.3. Ausbau SOA, Forschungsfelder 8. Fortgeschrittene Verfahren der Softwaretechnik 8.1. MDA 8.2. AOP 9. Security in verteilten Systemen 9.1. Kryptographische Absicherung der Kommunikation per SSL 9.2. weitere Protokolle 10. Server- (Applikations-) Virtualisierung Klassifikation, V.-Arten Virtuelle Maschinen, Monitore, Hypervisor Netzwerk- und Speicher-V Systembeispiele PD Dr. habil. A.Luntovskyy 6

7 1. Literatur, Skripte Rainer Oechsle. Verteilte Systeme und Entwicklung verteilter Anwendungen, s , 6.Auflage, Hanser Verlag, 2007, ISBN: Alexander Schill, T.Springer. Verteilte Systeme - Grundlagen und Basistechnologien; Springer-Verlag Berlin Heidelberg 2007, ISBN: , examen.press 3. Heide Balzert. Basiswissen Web-Programmierung. XHTML, CSS, JavaScript, XML, PHP, JSP, ASP.NET, Ajax, W3L Verlag Herdecke (Taschenbuch April 2007), ISBN: Alexander Schill. Distributed Systems, Manuskript, TUD Georg Disterer, Friedrich Fels, Andreas Hausotter. Betriebliche Informationssysteme, s , 6.Auflage, Hanser Verlag, 2007, ISBN: Alexander Schill. Bürokommunikation, Manuskript, TUD Alexander Schill. Mobile Communication and Mobile Computing, Manuskript TUD, Heinz-Jürgen Spielmann. Softwaretechnik, s , 6.Auflage, Hanser Verlag, 2007, ISBN: Uwe Aßmann. Component-Based Software Engineering, Manuskript TUD, Uwe Aßmann. Softwaremanagement und Projektorganisation, Manuskript TUD, Ian Sommerville. Software Engineering. - München: Pearson Studium, Andriy Luntovskyy. Rechnernetzpraxis-1, Manuskript TUD, Andriy Luntovskyy. Rechnernetzpraxis-2, Manuskript TUD, Heide Balzert. UML2 in 5 Tagen. Der schnelle Einstieg in die Objektorientierung, W3L Verlag Herdecke, Bochum, , 184 Seiten, ISBN: Heide Balzert. Lehrbuch der Objektmodellierung - Analyse und Entwurf mit der UML 2, Elsevier Spektrum Akademischer Verlag, 2005, ISBN Helmut Balzert. Software-Technik, Manuskript von Lehrstuhl für Software-Technik, Ruhr- Universität Bochum, Helmut Balzert. Lehrbuch der Software-Technik. Band 1, 2.Auflage. Elsevier-Verlag, Unzählige Online-Quellen (Einstieg u. a. auch über Wikipedia etc.) PD Dr. habil. A.Luntovskyy 7

8 Buchstabensuppe EJB.NET CORBA.NET C-S Sockets XML RPC RMI XHTML XHTML n-tier ACID ACID JSP 2PC Web Services 2PC UMLSOA SOA AOP WAP Web Web OOA/ CASE OOD MDA MDA AOP 8

9 2PC ACID AOP Black-Box CASE CORBA C-S EJB JSP MDA OOA/OOD RMI RPC SOA UML WAP White-Box XHTML XML Abkürzungen 2-Phasen-Commit Protocol Principle ACID, Atomicity, Consistency, Isolation, Durability Aspect-oriented Programming Testfallermittlungsmethode Computer-Aided Software Engineering Common Object Request Broker Architecture Client-2-Server Communication Enterprise Java Beans Java Server Pages Model-Driven Architecture Object-Oriented Analysis and Design Remote Method Invocation Remote Procedure Call Service-oriented Architecture Unified Modeling Language Wireless Access Protocol Testfallermittlungsmethode Extensible Hypertext Mark-up Language Extensible Mark-up Language und dann viel mehr 9

10 Kommunikation in verteilten Systemen PD Dr. habil. A.Luntovskyy 10

11 Verteiltes System vs Mehrprozessorsystem Ein verteiltes System besteht aus unabhängigen, über ein Rechnernetz kommunizierenden Rechnern, wobei keine zentrale Systemsteuerung existiert und der Verteilungsaspekt für die Benutzer des Systems möglichst transparent ist. Abgrenzung: Verteilte Systeme sind lose gekoppelte Systeme ohne gemeinsamen Speicher im Gegensatz zu eng gekoppelten, parallelen Systemen mit gemeinsamem Speicher (Mehrprozessorsysteme, MIMD). Der Fokus der Betrachtung liegt auf der Entwicklung verteilter Anwendungen. Die Existenz einer funktionierenden Kommunikationsinfrastruktur, welche von den tieferen Schichten erbracht wird, wird vorausgesetzt PD Dr. habil. A.Luntovskyy 11

12 Klassifikation von Rechnerarchitekturen nach M.Flynn (1972) Unterteilung von Rechnerarchitekturen (RA) nach der Anzahl der vorhandenen Befehls- (Instruction Streams) und Datenströme (Data Streams): SISD - Single Instruction Single Data SIMD Single Instruction Multiple Data MISD Multiple Instruction Single Data MIMD Multiple Data Multiple Instruction Daten/ Befehle Single Instruction Multiple Instruction Single Data SISD MISD Multiple Data SIMD MIMD Einfachste RA: SISD (Single Instruction, Single Data) Unter SISD-Rechnern versteht man traditionelle Einprozessor-Rechner, die ihre Aufgaben sequentiell abarbeiten. SISD-Rechner sind z.b. Personal-Computer (PCs) oder Workstations welche nach der Von-Neumann- oder Harvard-Architektur aufgebaut sind. Bei erster wird für Operanden und Instruktionen der gleiche Speicher verwendet, bei letzterer sind sie getrennt PD Dr. habil. A.Luntovskyy 12

13 SIMD (Single Instruction, Multiple Data) RA von Großrechnern beziehungsweise Supercomputern SIMD-Computer, Array-Prozessoren oder Vektorprozessor (Cray 1970), dienen der schnellen Ausführung gleichartiger Rechenoperationen auf mehrere gleichzeitig eintreffende oder zur Verfügung stehende Eingangsdatenströme vorwiegend in der Verarbeitung von Bild-, Ton- und Videodaten eingesetzt. Beispiele: SIMD Instruction Pool PU Processor Unit 1. gängige Mikroprozessoren (wie Intel x86, AMD 3DNow!) besitzen inzwischen SIMD-Erweiterungen, das heißt spezielle zusätzliche Befehlssätze, die mit einem Befehlsaufruf gleichzeitig mehrere gleichartige Datensätze verarbeiten (jedoch nur per Assembler programmierbar!). 2. Feldrechner - mehrere Recheneinheiten berechnen parallel auf verschiedenen Daten die gleiche Operation (Prozessautaumatisierung) 3. Vektorrechner - quasi-parallele Bearbeitung mehrerer Daten durch Pipelining PD Dr. habil. A.Luntovskyy 13 Data Pool PU PU PU

14 MISD (Multiple Instruction, Single Data) Einsatz umstritten gibt es nicht? RA von Großrechnern beziehungsweise Supercomputern Jedoch kann man fehlertolerante Systeme, die redundante Berechnungen ausführen, in diese Klasse einordnen. Beispiel: Schachcomputer. Zukünftige Umsetzung: Makro-Pipelining, bei dem mehrere PU hintereinander geschaltet sind redundante Datenströme zur Fehlererkennung bzw. -korrektur. SIMD Instruction Pool MISD Data Pool Data Pool PU PU PU PD Dr. habil. A.Luntovskyy 14 Instruction Pool PU PU PU?

15 MIMD (Multiple Instruction, Multiple Data) RA von Großrechnern bzw. Supercomputern. MIMD-Computer führen gleichzeitig verschiedene Operationen auf verschieden gearteten Eingangsdatenströmen durch, wobei die Verteilung der Aufgaben an die zur Verfügung stehenden Ressourcen meistens durch einen oder mehrere Prozessoren des Prozessorverbandes selbst zur Laufzeit durchgeführt wird. Jeder Prozessor hat Zugriff auf die Daten anderer Prozessoren. Jedoch sehr allgemein definiert Multiprozessorsysteme teilen sich den vorhandenen Speicher und sind somit also ein Shared-Memory-System; Synchronisationsproblem bei Memory Access. MIMD-Klassen: eng gekoppelte Systeme Multiprozessorsysteme lose gekoppelte Systeme Multicomputersysteme (bzw. VS und Grid Computing) PD Dr. habil. A.Luntovskyy 15

16 MIMD (Fort.) PU PU PU PU PU PU Shared Memory Memory Memory Memory Data Pool Instruction Pool MIMD: enge Kopplung Multiprozessorsystem Beispiele: Transputer ( Transmit + Computer ) ist ein Parallelrechner (mehrere SISD, Von-Neumann-RA), der mit einer zusätzlichen Kommunikationshardware ausgestattet ist, um den Datenaustausch zu benachbarten Rechnern effizient zu ermöglichen (Großbritannien, , Firma Inmos). Verteilte Systeme - autonome Prozessoren die gleichzeitig verschiedene Befehle auf verschiedenen Daten bearbeiten PD Dr. habil. A.Luntovskyy 16 Data Instruction Data Instruction Memory Access Data MIMD: lose Kopplung Multicomputersystem VS Instruction

17 Merkmale verteilter Systeme Merkmale der VS: 1. Kopplung räumlich verteilter Rechner mittels Rechnernetz 2. Kooperation mit dem Ziel, eine bestimmte Anwendungsfunktionalität zu erbringen 3. Kein gemeinsamer physikalischer Speicher, keine strikt synchronisierten Uhren 4. Dezentrale Organisation und Verwaltung 5. Häufig auch Fehlertoleranz und Lastausgleich durch Replikation Realisierung von VS auf Basis des Client/Server-Modells bzw. durch verteilte Objekte und Software-Komponenten die P2P-Systeme liegen zum Teil außerhalb der Betrachtung in dieser LV PD Dr. habil. A.Luntovskyy 17

18 Nutzung verteilter Systeme Verteilte Systeme werden vor allem für folgende Zwecke eingesetzt: 1. gemeinsame Nutzung von Daten (z. B. verteilte Dateisysteme und World Wide Web), auch zur Erreichung von Fehlertoleranz durch Redundanz (z. B. Replikation von Daten einer Datenbank), 2. gemeinsame Nutzung von Geräten (z. B. Drucker und Scanner) 3. gemeinsame Nutzung von Rechenleistung (z. B. Zugriff auf Hochleistungsrechner), 4. Kommunikation der Benutzer eines verteilten Systems (z. B. elektronische Post, gemeinsamer Terminkalender einer Arbeitsgruppe, Mehrbenutzeranwendungen wie Mehrbenutzertexteditoren oder Mehrbenutzergrafikeditoren, IP-Telefonie, Audio-Video-Konferenzen). VS im Hintergrund: Neben solchen, für die Endanwender sichtbaren verteilten Anwendungen gibt es auch solche, die von anderen Komponenten intern benutzt werden und den Endanwendern verborgen bleiben wie z. B. Anwendungen zur Berechnung von Wegewahltabellen (OSPF, RIP, BGP usw.), Namensdienste (DNS), Konfigurationsdienste (DHCP) und Netzmanagement-Dienste (SNMP) PD Dr. habil. A.Luntovskyy 18

19 Transparenz Da die Nutzung verteilter Systeme in der Regel komplizierter ist als die Nutzung eines einzelnen Rechners, wurden auf unterschiedlichen Ebenen (Programmierebene, Benutzerebene usw.) Mechanismen eingeführt, die den Aspekt der Verteilung verbergen Ein verteiltes System erscheint wie ein zentrales System. Man spricht von Verteilungstransparenz. Sie bemerken allenfalls eine Leistungseinbuße. Folgende Arten der Verteilungstransparenz lassen sich unterscheiden: 1. Zugriffstransparenz: Der Zugriff auf lokale und ferne Ressourcen erfolgt in derselben Weise. 2. Ortstransparenz: Der Zugriff auf Ressourcen ist ohne Kenntnis des Orts, an dem sich die Ressourcen befinden, durchführbar. 3. Namenstransparenz: Der Name einer Ressource ist für alle Rechner des verteilten Systems gleich. (DNS, URL, URi) 4. Skalierungstransparenz: Die Erweiterung des Systems um weitere Rechner ist möglich, ohne dass die Gesamtstruktur oder die Anwendungsprogramme geändert werden müssen 5. Replikationstransparenz: Falls das verteilte System zur Erhöhung der Verfügbarkeit und Fehlertoleranz mehrere Kopien von einer Ressource hält, so bleibt dies den Anwendungsprogrammen bzw. Benutzern verborgen PD Dr. habil. A.Luntovskyy 19

20 Transparenz (Fort.) 6. Nebenläufigkeitstransparenz: Mehrere Anwendungsprogramme bzw. Benutzer können nebenläufig auf dieselben Ressourcen zugreifen, ohne dass es dabei zu Problemen kommt. 7. Ausführungs- bzw. Migrationstransparenz: Es ist für die Anwendungsprogramme bzw. Benutzer nicht erkennbar, auf welchem Rechner ein angeforderter Dienst ausgeführt wird. Es ist sogar möglich, dass ein laufendes Anwendungsprogramm während der Ausführung eines Dienstes auf einen anderen Rechner bewegt wird (Migration). 8. Leistungstransparenz: Bei sich ändernden Belastungen kann das System umkonfiguriert werden, um die Leistung zu verbessern, ohne dass die Anwendungsprogramme bzw. Benutzer dies bemerken. 9. Ausfalltransparenz: Der Ausfall von Software- oder Hardwarekomponenten bleibt Anwendungsprogrammen bzw. Benutzern weitgehend verborgen PD Dr. habil. A.Luntovskyy 20

21 Transparenzkonzept: VS vs. Grid Computing In einem verteilten System können unterschiedliche Transparenzaspekte mehr oder weniger stark ausgeprägt sein. Ein Beispiel für verteilte Systeme, bei denen besonders großer Wert auf Transparenz - insbesondere auf Ausführungstransparenz - gelegt wird, stellt das dar. Während die ersten Einsatzgebiete für das Grid Computing wissenschaftlicher Natur waren, wird es mittlerweile verstärkt auch im kommerziellen Umfeld eingesetzt. Eine scharfe Abgrenzung zwischen Grid Computing und anderen verteilten Systemen gibt es nicht PD Dr. habil. A.Luntovskyy 21

22 Grid Computing: weitere Details Grid-Computing ist eine Form des verteilten Rechnens, bei der ein "virtueller Supercomputer" aus einem Cluster lose gekoppelter Computer erzeugt wird. Es wurde entwickelt, um rechenintensive wissenschaftliche insbesondere mathematische Probleme zu lösen. Heute wird Grid-Computing in vielen zum Teil auch kommerziellen Bereichen eingesetzt: in der Pharmaforschung in den Wirtschaftswissenschaften, beim elektronischen Handel bei Web Services (Webdiensten). zum Risikomanagement in der Baudynamik im Bereich Finanzmanagement. Von typischen Computerclustern unterscheidet sich Grid-Computing in der wesentlich loseren Kopplung, der Heterogenität und der geographischen Zerstreuung der Computer. Des Weiteren ist ein Grid meistens bestimmt für eine spezielle Anwendung und nutzt häufig standardisierte Programmbibliotheken, Middleware und Web Services Quelle: Wikipedia PD Dr. habil. A.Luntovskyy 22

23 Kommunikationsarten in VS Verteilte Systeme unterteilen sich nach der Art der Kommunikation: 1. Client-Server-Kommunikation Kommunikation über Sockets (Transport: TCP/UDP) Prozedurenaufruf (RPC, Remote Procedure Call) Methodenfernaufruf (RMI, Remote Method Invocation, und CORBA, Common Object Request Broker Architecture) Asynchrone Kommunikation (MQ, Message Queuing) 2. Peer-to-Peer-Kommunikation (gleichberechtigte Partner, P2P) Dies sind hauptsächlich VS zur Realisierung von Tauschbörsen für Dateien (File-Sharing wie z. B. Napster, KaZaa usw.), mit denen vorwiegend Musik- und Videodateien (MP3, AVI, MPEG usw.) (nicht selten illegal) getauscht werden PD Dr. habil. A.Luntovskyy 23

24 P2P-Systeme P2P-Systeme lassen sich in unstrukturierte und strukturierte P2P-Systeme unterteilen. Unstrukturierte P2P-Systeme unterteilen sich nochmals nach der Art ihres Aufbaus. Man unterscheidet Zentralisierte P2P-Systeme (Beispiel: Napster), welche einen zentralen Server zur Verwaltung benötigen, um zu funktionieren Reine P2P-Systeme ohne zentrale Instanz (Beispiele: Gnutella 0.4, Freenet) Eine spezielle Art eines reinen, dezentralen Netzwerkes bildet das Friend-2- Friend- oder Web-of-Trust-Netzwerk, bei dem keinerlei Verbindungen zu unbekannten IP-Adressen unterhalten werden, sondern ausschließlich Verbindungen zu Freunden (trusted friends) etabliert werden. (Beispiel: RetroShare) Hybride P2P-Systeme, welche dynamisch mehrere zentrale Server zur Verwaltung bestimmen (Beispiele: Gnutella 0.6, JXTA) Zentralisierte und reine P2P-Systeme bezeichnet man auch als Systeme erster Generation und dezentrale Systeme als Systeme zweiter Generation. Systeme, die Dateien über nicht-direkte Verbindungen weiterreichen, sind Systeme dritter Generation (File Sharing) PD Dr. habil. A.Luntovskyy 24

25 C-S-Kommunikation SW C-S-Kommunikation SW BS mit TCP/IP API MW Sockets RPC, RMI, MQ API MW BS mit TCP/IP HW Transportsystem TCP, UDP HW BS mit Unterstützung des TCP/IP- Protokollstack API Application Programming Interface C-S-Kommunikation über:(client-server-kommunikation) Sockets (TCP, UDP Transportprotokolle) Prozedurenaufruf (RPC, Remote Procedure Call) Methodenfernaufruf (RMI, Remote Method Invocation, und CORBA, Common Object Request Broker Architecture) Asynchrone Kommunikation (MQ, Message Queuing) Erscheinen von MW, einer Zwischenschicht MW-Spezifikationen CORBA, weitere Spezifikationen EJB (Enterprise Java Beans),.NET PD Dr. habil. A.Luntovskyy 25

26 Mehrstufige Architektur Client Server Kasse Geldautomat Server (z.b. Kontenserver) Server (z.b. Datenbank) Client (z.b. Homezugang) Benutzerschnittstelle, ggf. Vorverarbeitung Anwendungslogik 3-tier: 2-tier: Datenverwaltung dreistufige Struktur; bei komplexen Anwendungen zu bevorzugen zweistufige Struktur (Benutzerschnittstelle Host); einfacher, aber weniger flexibel PD Dr. habil. A.Luntovskyy 26

27 2-tier: Thin Client vs. Thick Client Thin-Client nur die Benutzerschnittstelle auf dem Client-System Ähnlich zu zentralem System, aber oft Download-Mechanismen Vorteil: kostengünstige Clients Nachteil: Überlastsituationen wenn zu viele Clients auf denselben Server zugreifen, begrenzte Skalierbarkeit Thick-Client (auch Fat- Client) Teile oder gesamte Fachlogik auf dem Client- System Hauptfunktion des Servers: Datenhaltung Vorteil: Entlastung des Servers Nachteil: Zusätzliche Anforderungen an Clients: Softwareinstallation +Wartung), Entwicklungsaufwand PD Dr. habil. A.Luntovskyy 27

28 Verteilte Anwendungen: Techniken der Verteilung Time Sharing Distr. Presentation Remote Processing Distr. Processing Remote DB Distr. DB Stand Alone Processing Server DB DB DB DB DB DB DB DB DB DB DB DB DB DB Logik Logik Logik Logik Logik Logik Logik Logik Logik Logik Logik Logik Logik Logik GUI GUI GUI GUI GUI GUI GUI GUI GUI GUI GUI GUI GUI GUI PD Dr. habil. A.Luntovskyy 28 Client

29 Verteilte Anwendungen: Techniken der Verteilung Time Sharing Distr. Presentation Remote Processing Distr. Processing Remote DB Distr. DB Stand Alone Processing Server DB DB DB DB DB DB TCP/IP- Netzwerk DB DB Logik Logik Logik Logik Logik Logik Logik Logik GUI TCP/IP- Netzwerk GUI GUI GUI GUI GUI GUI GUI PD Dr. habil. A.Luntovskyy 29 Client

30 Sockets PD Dr. habil. A.Luntovskyy 30

31 IP-Adressen und Ports Kommunikation per TCP oder UDP Jeder Host hat max. 65,536 Ports (2^16-1) Manche Ports sind reserviert für spez. Internet-Services 21: FTP 23: Telnet 80: HTTP Socket bietet eine Schnittstelle zum Paar: (IP- Address ; Port) Besteht aus Byte folgende Funktionalität ist notwendig: Spezifizieren lokale und entfernte Dienstzugangspunkte für Kommunikation zwischen Applikationen Verbindungsaufbau bzw. -abbau initiieren Daten senden und empfangen Sockets erzeugen/beenden Port 0 Port 1 Port PD Dr. habil. A.Luntovskyy 31

32 Threads - "leichtgewichtige" Prozesse (1) Prozess P1 Threads Prozess P2 Threads ProzessP3 Threads T1a T1b T2a T2b T2с T3a Anwendungen/Prozesse Px mit mehreren Threads Txy Wegen ihres umfangreichen Kontextes sind Prozesse oft "schwergewichtig" (z. B. in UNIX). Um feinere Parallelität, auch innerhalb einer Anwendung zu erreichen, wurden "leichtgewichtige" Prozesse bzw. Threads entwickelt. Ein Thread ist ein Aktivitätsträger (sequenzieller "Ausführungsfaden") mit minimalem Kontext (Stack und Register) innerhalb einer Ausführungsumgebung (Prozess). Jeder Prozess besitzt in diesem Fall mindestens einen (initialen) Thread. Alle Threads, die zu ein und demselben Prozess gehören, benutzen denselben Adressraum sowie weitere Betriebsmittel dieses Prozesses gemeinsam PD Dr. habil. A.Luntovskyy 32

33 Threads - "leichtgewichtige" Prozesse (2) In der Praxis eignen sich viele Anwendungen und Systemprozesse für eine Implementierung in Form paralleler Threads. So können z.b. Textverarbeitungsprogramme wie etwa MS Word verschiedene Bearbeitungsfunktionen innerhalb desselben Textes (z.b. Texterfassung, Textumbruch, Rechtschreibprüfung) durch verschiedene Threads parallel ausführen. Auch Anwendungen, die viele unabhängige Anfragen bearbeiten müssen, z. B. Datenbanksysteme oder Web-Server, lassen sich effizient mittels Multithreading implementieren. Die Implementierung von Threads kann erfolgen in Form von: User-Level-Threads: Threads aus der Sicht einer Anwendung bzw. des Programmierers. Kernel-Level-Threads (auch Kernel-Threads): Threads aus der Sicht des Betriebssystems zum Ablauf auf einer CPU, z.b. in MS Windows NT/2000/XP/Vista/Win PD Dr. habil. A.Luntovskyy 33

34 Threads und Parallelablauf Software Quelle / OpenMP API Parallelle Sektion Parallelle Sektion T1 Tn T2 Tn+1 HT FORK JOIN HT FORK JOIN HT Sequentielle Sektion Sequentielle Sektion Sequentielle Sektion Struktur einer Anwendung: HT Hauptthread Ti Thread Fork-Join-Modell für Threads in OpenMP API (Application Programming Interface) Runtime

35 Socket als SW-Struktur (1) Das Socket ist eine Software-Struktur, die eindeutig einen TSAP (Transport Layer Service Access Point) zu einem Anwendungsprozess in einem Knoten eines Netzes charakterisiert Jeder Anwendungsprozess wird durch die Sockets eindeutig definiert Socket dient für Aufbau einer logischen Verbindung zwischen Netzanwendungen Kennung durch zwei IDs: Portnummer 2 Byte und IP-Netzadresse - 4 Byte Die Portnummern werden von Internet Assigned Numbers Authority (IANA) nach RFC 1700 festgelegt Manche Dienste haben feste Portnummer, z.b. Telnet, FTP, DNS usw PD Dr. habil. A.Luntovskyy 35

36 Socket als SW-Struktur (2) Schnittstelle zwischen Anwendung und Netzwerk bzw. Internet Anwendung kann Daten senden und empfangen Unterstützt durch Socket-APIs zu bekannten Programmiersprachen durch alle Betriebssysteme (bspw. durch UNIX seit 1970er) Anwendung Socket User Kern Anwendung Socket-API Protokoll A Protokoll B Protokoll C TCP/UDP IP (Netzwerk) PD Dr. habil. A.Luntovskyy 36

37 Thread Multiplexing IANA Internet Assigned Numbers Authority, IANA ist verantwortlich für die Zuordnung der Ports Portsnummer werden von IANA reserviert und verwaltet, z.b. die Hauptanwendungsdienste haben feste Nummer: FTP (#21), TFTP (#69) DNS (#53) Telnet (#23) SMTP (#25) WWW (#80) Übrige Ports kann man dynamisch für Anwendungsprozesse zuordnen ( ) Untermenge ( ) ist temporär ( ephemeral ) in Interessen der Internet- Gemeinschaft reserviert Thread-Konzept: Netzwerkanwendungen bestehen aus einem oder mehreren Threads Jedem Thread wird eine Prozessorzeiteinheit zugeteilt Threads werden mittels TCP/UDP umgeschaltet Prozess FTP Prozess DNS Prozess Telnet Port21 Port53 Port23 Eingehende Segmente TCP - Multiplexing IP Netzwerkinterface (NIC) Ausgehende Segmente PD Dr. habil. A.Luntovskyy 37

38 Socket 1: DNS = aa.inf.tu-dresden.de IP = bb.cc Port = SOCK_STREAM request Sockets: Beispiel Client 1 reply TELNET Port 23 Client 2 Socket 2: DNS = xx.inf.tu-dresden.de IP = yy.zz Port = SOCK_STREAM Port 21 FTP Server DNS = nn.inf.tu-dresden.de IP = qq.pp PD Dr. habil. A.Luntovskyy 38

39 Socket-Programmierung: Socket-APIs Socket API besteht aus 4 Gruppen der Programmierfunktionen für Kommunikation zwischen zwei Netzwerkpartnerprozessen: Funktionen für lokale Verwaltung F. für Verbindungsaufbau F. für Datentransfer F. für Verbindungsabbau Socket-Programmierung ist möglich mit Einsatz mehrerer Programmiersprachen, wie z.b. C, C++, Java Jeder Socket bekommt eine eindeutige ID: IP- Adresse/Portnummer Socket kann eine verbindungsorientierte (TCP) oder verbindungslose (UDP) Kommunikation erzeugen PD Dr. habil. A.Luntovskyy 39

40 Socket als Schnittstelle Application Application Protocol Application Socket Socket TCP/UDP IP TCP/UDP IP TCP/UDP IP Physical Protocol PD Dr. habil. A.Luntovskyy 40

41 Sockets: verbindungslose Kommunikation 1. Client und Server fordern jeweils mit dem Systemaufruf einen Socket an. Dabei wird als Transportprotokoll UDP angeben. socket() 2. 1 Der Server bindet eine Portnummer an den erstellten Socket. 3. Durch den Aufruf von recvfrom blockiert der Server-Prozess und 1 socket() bind() 2 wartet auf eingehende Daten auf dem erstellten Socket Der Client versendet unter Angabe 4 sendto() recvfrom() 3 der Adressinformationen (die zuvor in eine sockaddr_in-struktur gefüllt wurden) mit Hilfe von sendto Daten an den Server, die durch recvfrom von diesem entgegengenommen werden. Implizit wird dabei 5 ebenfalls in eine sockaddr_inrecvfrom() sendto() Struktur, die recvfrom als Parameter übergeben wurde, die Absenderadresse bzw. der Absenderport eingetragen, so dass 6 close() dem Client geantwortet werden kann. Client Server 5. Der Server antwortet dem Client. 6. Der Socket auf Client-Seite wird nach abgeschlossener Kommunikation geschlossen PD Dr. habil. A.Luntovskyy 41

42 Sockets: verbindungsorientierte Kommunikation 1. Sowohl Client, als auch Server fordern einen Socket an, der daraufhin als Schnittstelle zur Transportschicht 1 socket() connect() send() recv() close() 5 socket() bind() listen() accept() recv() send() close() 8 8 Client 6 Server verwendet werden kann. Bereits an dieser Stelle wird das zu verwendende Transportprotokoll, hier TCP, angegeben. 2. Der Server bindet eine lokale Adresse (eine Portnummer) an den erstellten Socket, über die der Prozess in der Folge verfügbar ist. 3. Daraufhin wird durch den Aufruf von listen auf eingehende Verbindungen gelauscht. 4. Die Möglichkeit eingehende Verbindungen anzunehmen wird durch den Aufruf von accept erreicht. 5. Der Client initiiert eine Verbindung auf dem unter 1. angelegten Socket. Dabei werden alle notwendigen Daten, wie IP- Adresse und Portnummer spezifiziert. Bei dem Verbindungsvorgang handelt es sich um einen 3-Wege-Handshake. 6. Auf Server-Seite wird eine eingehende Verbindung zunächst in eine Warteschlange eingehängt. Der vorherige Aufruf von accept bewirkt, dass diese Warteschlange abgearbeitet wird. Für jede eingegangene Anfrage wird dazu ein neuer, verbundener Socket erstellt. Damit ist zwischen den beiden Endpunkten ein Kommunikationskanal hergestellt. 7. Auf diesem Kanal können nun mit Hilfe entsprechender Systemaufrufe Daten geschrieben bzw. gelesen werden. 8. Nachdem alle Daten übertragen wurden PD Dr. habil. A.Luntovskyy können die Sockets geschlossen werden.

43 Socket-Programmierung: Analogie für Socket-Begriffe Telefonlinie Telefonnummer (Zentrale) Erweiterung (Apparat) auf den Anruf warten Vorwählen Antwort Sprechen/Hören Hörer auflegen socket(); IP-Adresse Portnummer bind(); listen(); connect(); accept(); send() / recv(); close(); PD Dr. habil. A.Luntovskyy 43

44 TCP/IP-Programmierung Basis: Sockets als Dienstzugangspunkt Prozess A socket() => Socket connect (Socket, Prozeß B) send (Socket, data) receive (Socket, data) close(socket) Prozess B socket() => Socket bind (Socket, Name) - Benennt Socket listen (Socket) - Erzeugt Pufferplatz accept (Socket) - Wartet auf Verbindungsanforderung receive (Socket,data) send (Socket,data) zusätzlich: "Select" zum Warten an mehreren Sockets, ODER-verknüpft Stream-Sockets: Realisierung auf Basis von TCP für Datenströme Datagram Sockets: UDP-basiert, einfache Datagramme PD Dr. habil. A.Luntovskyy 44

45 Java Sockets: Beispiel für Server- Seite ServerSocket serversocket = new ServerSocket(port); // generiere neuen Socket mit bestimmter Portnummer while (true) { Socket clientsocket = serversocket.accept(); // warte auf Nachrichten } InputStream input = clientsocket.getinputstream(); // Datenstrom empfangen int data = input.read(); // Daten auslesen clientsocket.close(); // Verbindung schließen PD Dr. habil. A.Luntovskyy 45

46 Nachteile der Sockets Die Nutzung von Sockets zur Realisierung verteilter Anwendungen besitzt folgende Nachteile: 1. Da UDP unzuverlässig ist, müssen die obigen Programmstrukturen für den UDP-Server und -Client um Maßnahmen zur Erhöhung der Zuverlässigkeit (befristetes Warten auf eine Antwort, wiederholtes Senden des Auftrags usw.) erweitert werden. 2. Bei der Nutzung von TCP muss der Verbindungsauf- und -abbau jeweils explizit programmiert werden. 3. Da die Server von vielen Clients beauftragt werden, ist es ratsam, einen Server durch mehrere parallele Prozesse zu realisieren. Dies muss explizit programmiert werden. 4. Die übertragenen Daten müssen unter Umständen vor und/oder nach der Übertragung gewandelt werden, insbesondere bei der Übertragung von Binärdaten (Big-Endian- vs. Little-Endian-Darstellung ganzer Zahlen, Länge von int-zahlen: 2, 4 oder 8 Byte, Layout von Datenstrukturen usw.). 5. Beim Software-Entwurf wird ein zu entwickelndes System in Module oder Objekte von Klassen aufgeteilt. Die Module interagieren über Prozeduraufrufe, die Objekte über Methodenaufrufe. Die Kommunikation über Sockets passt nicht zu diesem Paradigma PD Dr. habil. A.Luntovskyy 46

Verteilte Systeme - 1. Übung

Verteilte Systeme - 1. Übung Verteilte Systeme - 1. Übung Dr. Jens Brandt Sommersemester 2011 1. Rechnerverbünde Kommunikationsverbund: Beispiele: E-Mail (SMTP, POP/IMAP), Instant Messaging (XMPP, IRC, ICQ,...), Newsgroups (NNTP)

Mehr

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

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

Mehr

Mobile und Verteilte Datenbanken

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

Mehr

Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06

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

CORBA-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 Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

-Testen verteilter Anwendungen

-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

Mehr

Client/Server-Systeme

Client/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

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. 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

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) Verbindungsorientiertes Protokoll, zuverlässig, paketvermittelt stream-orientiert bidirektional gehört zur Transportschicht, OSI-Layer 4 spezifiziert in RFC 793 Mobile

Mehr

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel VS12 Slide 1 Verteilte Systeme Vorlesung 12 Sebastian Iwanowski FH Wedel Mögliche Plattformen für Web Services VS12 Slide 2 VS12 Slide 3 Java-Software für verteilte Systeme J2EE: Java 2 Enterprise Edition

Mehr

COMMON 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 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

Mehr

Grundlagen verteilter Systeme

Grundlagen 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

Mehr

Warum EJB Technologie (1)?

Warum EJB Technologie (1)? Datenbanken und Informationssysteme 2 SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanken und Informationssysteme 2 - Prof. Dr. Stefan Böttcher - SS 2004 Folie EJB - 1 Warum EJB Technologie

Mehr

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

FOPT 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

Mehr

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA Hauptseminar Management von Softwaresystemen Techniken der System-Integration EAI, Middleware, SOA, CORBA Betreuerin: Referent: Ulrike Hammerschall Alexey Krivoborodov Agenda Motivation Arten der Verteilung

Mehr

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

Verteilte Systeme. Verteilte Objektorientierte Systeme II. Prof. Dr. Oliver Haase Verteilte Systeme Verteilte Objektorientierte Systeme II Prof. Dr. Oliver Haase 1 Überblick Verteilte Objektorientierte Systeme 1 RPC verteilte objektorientierte Architekturen Java RMI Verteilte Objektorientierte

Mehr

TCP/IP-Protokollfamilie

TCP/IP-Protokollfamilie TCP/IP-Protokollfamilie Internet-Protokolle Mit den Internet-Protokollen kann man via LAN- oder WAN kommunizieren. Die bekanntesten Internet-Protokolle sind das Transmission Control Protokoll (TCP) und

Mehr

Modul Software Komponenten 10 Komponentenarchitektur

Modul Software Komponenten 10 Komponentenarchitektur Modul Software Komponenten 10 Komponentenarchitektur Teil 3 Peter Sollberger Eine erste CORBA Anwendung Inhalt Dienstag, 4. November Object Request Broker CORBA Architektur und Komponenten (Teil 1) Übung:

Mehr

TCP/UDP. Transport Layer

TCP/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?

Mehr

Middleware. Host. Versuch einer Einleitung. dumme Terminals stellen Ausgaben dar und nehmen Eingaben an

Middleware. Host. Versuch einer Einleitung. dumme Terminals stellen Ausgaben dar und nehmen Eingaben an Middleware Versuch einer Einleitung Host dumme Terminals stellen Ausgaben dar und nehmen Eingaben an Mainframe enthält vollständige Anwendung Typ. COBOL, C Mainframe contd.! Nachteile! Mainframe ist teuer

Mehr

Web-Services Implementierung mit Java

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

Mehr

explizite, orthogonale Interaktion Verteilte Anwendungen und Middleware uniforme / nicht-uniforme Interaktion implizite, nicht-orthogonale Interaktion

explizite, orthogonale Interaktion Verteilte Anwendungen und Middleware uniforme / nicht-uniforme Interaktion implizite, nicht-orthogonale Interaktion Verteilte Anwendungen und Klassifikation von Interaktionsformen explizit implizit orthogonal nicht-orthogonal uniform nicht-uniform transparent nicht-transparent explizite, orthogonale Interaktion weit

Mehr

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

CORBA. 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

Mehr

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth SS 2005 Teil 16 RMI, DCOM, Webservices cs 1100 ww6 sch 05-97 Remote Method Invocation (RMI) JVM JVM Client Server Stub Java Remote Skeleton Method

Mehr

CORBA. 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 CORBA Beispiel einer Middleware-Plattform Christian Fass WS 2013/14 Software Engineering: Basistechnologien Allgemeines Common Object Request Broker Architecture Middleware: Vermittelt zwischen Obekten/Prozessen

Mehr

JAXR Java API for XML Registries. Jasmin Hatteh

JAXR Java API for XML Registries. Jasmin Hatteh JAXR Java API for XML Registries Jasmin Hatteh Übersicht Web Service Architektur Rollenverteilung Interaktionen Business-Registry UDDI ebxml JAXR Architektur Interaktionen Pakete Was sind Web Services?

Mehr

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm Web Services Boto Bako Inhaltsverzeichnis 1.Einführung und Motivation...3 2.Verwendete Standards...4 2.1.SOAP...5 2.2.WSDL...6

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Connection Architecture Teil 3

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Connection Architecture Teil 3 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Connection Architecture Teil 3 CICS Transaction Gateway el0100 copyright W. G. Spruth,

Mehr

Kapitel 4: Design von Client/Server-Software. Middleware in Java vieweg 2005 Steffen Heinzl, Markus Mathes

Kapitel 4: Design von Client/Server-Software. Middleware in Java vieweg 2005 Steffen Heinzl, Markus Mathes Kapitel 4: Design von Client/Server-Software Definition: Client und Server Client Ein Client ist ein Dienstnutzer, der von einem Server aktiv einen Dienst anfordert und anschließend darauf wartet, dass

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Client/Server-Programmierung

Client/Server-Programmierung lient/server-programmierung WS 2014/2015 etriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, üro: H- 8404 Stand: 15. Oktober 2015 etriebssysteme / verteilte Systeme

Mehr

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 17. Kapitel 2 Architekturen 51. Kapitel 3 Prozesse 91

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 17. Kapitel 2 Architekturen 51. Kapitel 3 Prozesse 91 Inhaltsverzeichnis Vorwort 13 Kapitel 1 Einleitung 17 1.1 Definition eines verteilten Systems................................ 19 1.2 Ziele........................................................ 20 1.2.1

Mehr

Hello World from CORBA

Hello World from CORBA Hello World from CORBA ein erster Überblick Aufruf einer Objekt-Methode Client gettemperature() Thermometer Objekt- Implementation Thermometer th = new Thermometer(); double t = th.gettemperature(); th

Mehr

Web Services: Inhalt

Web Services: Inhalt Web Services Fachseminar Verteilte Systeme 8. April 2002 - Marco Steiner Assistent: Thomas Schoch Professor: Dr. F. Mattern Web Services: Inhalt Bedeutung Gegenwart Architektur SOAP WSDL UDDI Vergleich

Mehr

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

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

Mehr

Middleware, Verteilte Plattform (auch Verteilungsplattform*) bietet Verteilungsabstraktion für verteilte Anwendungsprogramme,

Middleware, Verteilte Plattform (auch Verteilungsplattform*) bietet Verteilungsabstraktion für verteilte Anwendungsprogramme, 9 Middleware vs9 1 Middleware, Verteilte Plattform (auch Verteilungsplattform*) bietet Verteilungsabstraktion für verteilte Anwendungsprogramme, bietet Standarddienste (Transaktionen, Sicherheit,...),

Mehr

Message Oriented Middleware am Beispiel von XMLBlaster

Message 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

Mehr

7 Remote Method Invocation (RMI)

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

Mehr

Internettechnologien

Internettechnologien Internettechnologien Vorlesung für Master-Studierende Geoinformation und -management Sommersemester 2012 Prof. Dr.-Ing. habil. Peter Sobe Fakultät Informatik / Mathematik Dieser Foliensatz basiert z.t.

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

5. Übung zur Vorlesung Service-orientierte Architekturen

5. Übung zur Vorlesung Service-orientierte Architekturen 5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011 Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter

Mehr

7.1.1 Grundzüge der Fernaufruf-Implementierung

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

Mehr

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

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

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Remote Method Invocation Teil 1

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Remote Method Invocation Teil 1 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Remote Method Invocation Teil 1 Object Request Broker el0100 copyright Abt. Technische

Mehr

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells.

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. Übung 7 1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. 2.) Charakterisieren Sie kurz das User Datagram Protokoll (UDP) aus der Internetprotokollfamilie

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

Internet - Grundzüge der Funktionsweise. Kira Duwe

Internet - Grundzüge der Funktionsweise. Kira Duwe Internet - Grundzüge der Funktionsweise Kira Duwe Gliederung Historische Entwicklung Funktionsweise: -Anwendungen -Rechnernetze -Netzwerkschichten -Datenkapselung -RFC -Verschiedene Protokolle (Ethernet,

Mehr

VS7 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 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

Mehr

Anwendung eines Enterprise Java Beans

Anwendung eines Enterprise Java Beans Anwendung eines Enterprise Java Beans EJB Server EJB Container Remote Interface Home Interface EJB Object Der EJB Container kümmert sich um die Kommunikation des Beans mit anderen Komponenten, wobei er

Mehr

SNMP 1 -basierte dynamische Netzwerkkonfiguration und analyse

SNMP 1 -basierte dynamische Netzwerkkonfiguration und analyse Fakultät Informatik Institut für Systemarchitektur Professur für Rechnernetze SNMP 1 -basierte dynamische Netzwerkkonfiguration und analyse Versuchsvorgaben (Aufgabenstellung) Der neu zu gestaltende Versuch

Mehr

Client/Server-Programmierung. CORBA: Schritt-für-Schritt Anleitung (Mini HOWTO)

Client/Server-Programmierung. CORBA: Schritt-für-Schritt Anleitung (Mini HOWTO) Client/Server-Programmierung WS 2007/08 CORBA: Schritt-für-Schritt Anleitung (Mini HOWTO) Version 1.2, 28.11.07 Schritt 1: Erstellung der IDL Zuerst muß eine IDL (Interface Definition Language)-Datei erstellt

Mehr

4. Thread- und Netzwerk- Programmierung

4. Thread- und Netzwerk- Programmierung 4. Thread- und Netzwerk- Programmierung 4.1 Ziel dieses Kapitels 4.2 Prozeß versus Thread 4.3 Thread-Programmierung 4.4 TCP/IP Grundlagen 4.5 TCP Programmierung 3. TCP/IP und Threads 3-1 4.1 Ziel dieses

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

Lösung Verteilte Systeme WS 2011/12 Teil 1

Lösung Verteilte Systeme WS 2011/12 Teil 1 Seite 1 von 5 Lösung Verteilte Systeme WS 2011/12 Teil 1 2.02.2012 1. Aufgabe (5) Sie fahren in Ihrem Privatfahrzeug auf einer Autobahn und hinter Ihnen fährt ein Polizeifahrzeug. 1.1 Nennen Sie ein Szenario,

Mehr

Kapitel 6. Vererbung

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

Mehr

1. Netzwerkprogrammierung für mobile Geräte

1. Netzwerkprogrammierung für mobile Geräte 1. Netzwerkprogrammierung für mobile Geräte Lernziele 1. Netzwerkprogrammierung für mobile Geräte Themen/Lernziele: Konzepte der verbindungslosen Kommunikation beherrschen Client/Server-Anwendungen auf

Mehr

Teil 1: Ein einfacher Chat

Teil 1: Ein einfacher Chat Teil 1: Ein einfacher Chat Verteilte Systeme / Chat Der Weg ist das Ziel Im Laufe dieses Projektes werden Sie schrittweise ein Chat-Programm entwickeln. Dabei werden Sie einiges über den Aufbau des Internets

Mehr

Kapitel 6. Vererbung

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

Mehr

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Beispiel Minibank nur: Kunde, Konto, Überweisung personen.person Attributes Name:String Vorname:String überweisungen.überweisung Attributes Verwendungszweck:String Datum:Date betrag:integer

Mehr

Grundlagen und Implementation. Jan Kraft

Grundlagen und Implementation. Jan Kraft Grundlagen und Implementation Jan Kraft Gliederung 1 die OMG 2 Was ist CORBA? 3 Funktionsweise 3.1 die Interface Definition Language 3.2 Objekt Adapter 3.3 weitere Komponenten des ORB 3.4 InterORB Protokolle

Mehr

KN 20.04.2015. Das Internet

KN 20.04.2015. Das Internet Das Internet Internet = Weltweiter Verbund von Rechnernetzen Das " Netz der Netze " Prinzipien des Internet: Jeder Rechner kann Information bereitstellen. Client / Server Architektur: Server bietet Dienste

Mehr

.NET-Networking 2 Windows Communication Foundation

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

Mehr

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221 Oracle 10g und SQL Server 2005 ein Vergleich Thomas Wächtler 39221 Inhalt 1. Einführung 2. Architektur SQL Server 2005 1. SQLOS 2. Relational Engine 3. Protocol Layer 3. Services 1. Replication 2. Reporting

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

8.4 Das Andrew File System 393 8.5 Ausblicke 404 8.6 Zusammenfassung 410 Übungen 411

8.4 Das Andrew File System 393 8.5 Ausblicke 404 8.6 Zusammenfassung 410 Übungen 411 Inhaltsverzeichnis Vorwort 11 Aufgabenbereiche und Leserschaft 11 Aufbau dieses Buches 12 Literatur 12 Änderungen in dieser Auflage 13 Danksagungen 14 Web-Site 14 Kapitel 1 Charakteristische Eigenschaften

Mehr

Grundlagen des Grid Computing

Grundlagen des Grid Computing Grundlagen des Grid Computing Webservices und Grid Computing Globus Toolkit 4 - Grundlagen ICA Joh.. Kepler Universität t Linz Eine Typische Grid-Applikation (Beispiel) VO Management Service Resource Discovery

Mehr

Client Server -Anwendungen mit UML und Java

Client Server -Anwendungen mit UML und Java 3. Informatiktag NRW Client-Server mit UML und Java - 1/40 29.3.2004 Client Server -Anwendungen mit UML und Java 3. Informatiktag NRW 29.3.04 Barbara Leipholz-Schumacher Euregio-Kolleg, Würselen 3. Informatiktag

Mehr

4. Verwendete Methoden und Werkzeuge

4. Verwendete Methoden und Werkzeuge 4. Verwendete Methoden und Werkzeuge In diesem Kapitel werden die verschiedenen Methoden und Werkzeuge vorgestellt, die bei der Realisierung der Mediathek eingesetzt wurden. Zuerst werden die Grundlagen

Mehr

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle. Java und XML/XML und Java Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de XML und Programmiersprachen... Java ist... Programmiersprache

Mehr

Business Process Execution Language. Christian Vollmer Oliver Garbe

Business Process Execution Language. Christian Vollmer <christian.vollmer@udo.edu> Oliver Garbe <oliver.garbe@udo.edu> Business Process Execution Language Christian Vollmer Oliver Garbe Aufbau Was ist BPEL? Wofür ist BPEL gut? Wie funktioniert BPEL? Wie sieht BPEL aus?

Mehr

Verteilte Systemarchitekturen

Verteilte Systemarchitekturen Verteilte Systemarchitekturen Proseminar im WS 09/10 Prof. Sergei Gorlatch, Philipp Kegel, Alexander Ploß Parallele und verteilte Systeme, Westfälische Wilhelms-Universität Münster 17. Juli 2009 Inhalte

Mehr

Clustering von Application Servern am Beispiel von JBoss 3.2

Clustering von Application Servern am Beispiel von JBoss 3.2 Clustering von Application Servern am Beispiel von JBoss 3.2 Cluster Workshop iternum GmbH Alexanderstraße 7 60489 Frankfurt/Main www.iternum.com Agenda Clustertechnik allgemein Was ist Clustering? Gründe

Mehr

Domain Name Service (DNS)

Domain Name Service (DNS) Domain Name Service (DNS) Aufgabe: den numerischen IP-Adressen werden symbolische Namen zugeordnet Beispiel: 194.94.127.196 = www.w-hs.de Spezielle Server (Name-Server, DNS) für Listen mit IP-Adressen

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Block Web-Dienste. Beispiel: ohne Browser. ohne Browser. Beispiel: Definition

Block Web-Dienste. Beispiel: ohne Browser. ohne Browser. Beispiel: Definition Block Web-Dienste Web-Dienste Klaus Schild, 2004 1 heutige Vorlesung Was sind Web-Dienste (Web Services)? diensteorientierte Architekturen Was ist SOAP, WSDL und UDDI? Entfernte Prozeduraufrufe (RPCs)

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Entwicklung verteilter Anwendungen I

Entwicklung verteilter Anwendungen I Entwicklung verteilter Anwendungen I WS 2013/14 Einführung in die Konzepte zur Entwicklung verteilter Anwendungen Entwicklung verteilter Anwendungen I, Ziel: Erwerb von Kenntnissen zur Implementierung

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, 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

Mehr

AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF

AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF Mathias Slawik, SS 2009 Agenda Technologien Java RMI (Remote Method Invocation) Microsoft WCF (Windows Communication Foundation) Benchmark

Mehr

Komponentenmodelle II

Komponentenmodelle II Komponentenmodelle II DCOM / CORBA Detlef Streitferdt Technische Universität Ilmenau DCOM Architektur Client Proxy Stub Component CoCreateInstance Security Provider DCE RPC Protocol Stack Security Provider

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

Mehr

Ein einfacher Server. .NET Remoting. Klassentypen

Ein einfacher Server. .NET Remoting. Klassentypen Einführung - eine Klienten-Applikation kann mit einer Komponente interagieren die hinter einer Grenze liegt - Remoting ermöglicht eine Kommunikation von Komponenten Kontext-, Applikationsdomänen- (leichtgewichtiger

Mehr

Programmiermethodik. Übung 13

Programmiermethodik. Übung 13 Programmiermethodik Übung 13 Sommersemester 2010 Fachgebiet Software Engineering andreas.scharf@cs.uni-kassel.de Agenda Vorstellung Musterlösung HA9 Mancala Showroom Client/Server Kommunikation in Java

Mehr

Vorwort... 5. Vorwort zur deutschen Übersetzung... 11

Vorwort... 5. Vorwort zur deutschen Übersetzung... 11 Vorwort.................................................... 5 Vorwort zur deutschen Übersetzung........................... 11 1 Einführung................................................ 23 1.1 Einführung................................................

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth SS 2004 Teil 15 Intersystem-Kommunikation RMI, DCOM, Webservices, SNA cs 1100 ww6 sch 05-97 Remote Method Invocation (RMI) Aufruf von Java Programmen

Mehr

IP Adressen & Subnetzmasken

IP Adressen & Subnetzmasken IP Adressen & Subnetzmasken Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung 27. April

Mehr

Netzwerk Technologien in LabVIEW

Netzwerk Technologien in LabVIEW Netzwerk Technologien in LabVIEW von Dirk Wieprecht NI Germany Hier sind wir: Agenda Agenda Bedeutung des Ethernet für die Messtechnik Ethernet-basierende Technologien in LabVIEW Low Level- TCP/IP Objekt

Mehr

Vorlesung. Informationssysteme. Prof. Dr. Hans Czap. Lehrstuhl für Wirtschaftsinformatik I. Email: Hans.Czap@uni-trier.de

Vorlesung. Informationssysteme. Prof. Dr. Hans Czap. Lehrstuhl für Wirtschaftsinformatik I. Email: Hans.Czap@uni-trier.de Vorlesung Grundlagen betrieblicher Informationssysteme Prof. Dr. Hans Czap Email: Hans.Czap@uni-trier.de - II - 1 - Inhalt Kap. 1 Ziele der Datenbanktheorie Kap. 2 Datenmodellierung und Datenbankentwurf

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

Netzwerkprogrammierung

Netzwerkprogrammierung Netzwerkprogrammierung 1 Netzwerkverbindungen Das Entwurfsziel von Java war: Einfache Verbindung zwischen Rechnern und SetBox-Systemen. Das Standardpaket java.net hilft bei allen Netzwerkverbindungen.

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

VS11 Slide 1. Verteilte Systeme. Vorlesung 11 Sebastian Iwanowski FH Wedel

VS11 Slide 1. Verteilte Systeme. Vorlesung 11 Sebastian Iwanowski FH Wedel VS11 Slide 1 Verteilte Systeme Vorlesung 11 Sebastian Iwanowski FH Wedel VS11 Slide 2 Verteilte Systeme 1. Innovative Beispiele aus der Praxis 2. Allgemeine Anforderungen und Techniken verteilter Systeme

Mehr

BINÄRES ZAHLENSYSTEM. Bits. Bytes. Dezimalsystem. Positions oder Stellenwertsysteme

BINÄRES ZAHLENSYSTEM. Bits. Bytes. Dezimalsystem. Positions oder Stellenwertsysteme 26 27 Bits Einschub BINÄRES ZAHLENSYSTEM kleinste mögliche Informationseinheit Wortschöpfung aus binary und digit zwei Zustände ja / nein wahr / falsch hell / dunkel Männlein / Weiblein links / rechts

Mehr

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication Frank Kargl Torsten Illmann Michael Weber Verteilte Systeme Universität Ulm {frank.kargl torsten.illmann weber} @informatik.uni-ulm.de

Mehr

Grundlagen der Parallelisierung

Grundlagen der Parallelisierung Grundlagen der Parallelisierung Philipp Kegel, Sergei Gorlatch AG Parallele und Verteilte Systeme Institut für Informatik Westfälische Wilhelms-Universität Münster 3. Juli 2009 Inhaltsverzeichnis 1 Einführung

Mehr

Internet Routing am 14. 11. 2006 mit Lösungen

Internet Routing am 14. 11. 2006 mit Lösungen Wissenstandsprüfung zur Vorlesung Internet Routing am 14. 11. 2006 mit Lösungen Beachten Sie bitte folgende Hinweise! Dieser Test ist freiwillig und geht in keiner Weise in die Prüfungsnote ein!!! Dieser

Mehr

Agenda. Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture. Virtuelle Netzwerke

Agenda. Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture. Virtuelle Netzwerke VMware Server Agenda Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture Virtuelle Netzwerke 2 Einleitung Virtualisierung: Abstrakte Ebene Physikalische Hardware

Mehr