Privatdozent Dr.-Ing. habil. Andriy Luntovskyy
|
|
- Lioba Holtzer
- vor 8 Jahren
- Abrufe
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
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
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
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
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
MehrVerteilte 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Ü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
MehrClient-Server mit Socket und API von Berkeley
Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................
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.
MehrClient/Server-Systeme
Frühjahrsemester 2011 CS104 Programmieren II / CS108 Programmier-Projekt Java-Projekt Kapitel 3: /Server-Architekturen H. Schuldt /Server-Systeme Ein zweischichtiges /Server-System ist die einfachste Variante
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
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
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
MehrTransmission 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
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
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
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
MehrEinführung: Verteilte Systeme - Remote Method Invocation -
Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation
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
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
MehrDie Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter
Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,
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
MehrÜ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
MehrJava und XML 2. Java und XML
Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003
MehrEJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de
EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.
MehrDatabase Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695
Database Exchange Manager Replication Service- schematische Darstellung Replication Service- allgemeines Replikation von Daten von bzw. in ein SAP-System und einer relationalen DMS-Datenbank Kombination
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
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
Mehr15 Transportschicht (Schicht 4)
Netzwerktechnik Aachen, den 16.06.03 Stephan Zielinski Dipl.Ing Elektrotechnik Horbacher Str. 116c 52072 Aachen Tel.: 0241 / 174173 zielinski@fh-aachen.de zielinski.isdrin.de 15 Transportschicht (Schicht
MehrLizenzierung von Windows Server 2012
Lizenzierung von Windows Server 2012 Das Lizenzmodell von Windows Server 2012 Datacenter und Standard besteht aus zwei Komponenten: Prozessorlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung
MehrLizenzierung von System Center 2012
Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im
MehrRechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.
Rechnernetzwerke Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können. Im Gegensatz zu klassischen Methoden des Datenaustauschs (Diskette,
MehrClient/Server-Systeme
Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen
MehrLokale Installation von DotNetNuke 4 ohne IIS
Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation
MehrMan unterscheidet zwischen LAN (Local Area Network) und WAN (Wide Area Network), auch Internet genannt.
Netzwerk Ein Netzwerk wird gebildet, wenn mehrere Geräte an einem Switch mit Netzwerkkabeln angeschlossen werden. Dabei können die einzelnen Geräte miteinander kommunizieren und über ein Netzwerkprotokoll
MehrÜbersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?
Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS
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?
MehrGefahren aus dem Internet 1 Grundwissen April 2010
1 Grundwissen Voraussetzungen Sie haben das Internet bereits zuhause oder an der Schule genutzt. Sie wissen, was ein Provider ist. Sie wissen, was eine URL ist. Lernziele Sie wissen, was es braucht, damit
MehrARCHITEKTUR VON INFORMATIONSSYSTEMEN
ARCHITEKTUR VON INFORMATIONSSYSTEMEN File Transfer Protocol Einleitung Das World Wide Web war ja ursprünglich als verteiltes Dokumentenverwaltungssystem für die akademische Welt gedacht. Das Protokoll
MehrNetzwerkprogrammierung unter Linux und UNIX
Netzwerkprogrammierung unter Linux und UNIX Bearbeitet von Stefan Fischer, Walter Müller 2. Auflage 1999. Buch. XII, 228 S. Hardcover ISBN 978 3 446 21093 6 Format (B x L): 14 x 20,9 cm Gewicht: 329 g
MehrAnwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen
Anwendungshinweis Nr. 12 Produkt: Schlüsselworte: Problem: Softing OPC Easy Connect OPC Server, Redundanz Wie konfiguriere ich redundante Lösung: Ausgangssituation: Eine OPC Client-Anwendung ist mit mehreren
MehrHTBVIEWER INBETRIEBNAHME
HTBVIEWER INBETRIEBNAHME Vorbereitungen und Systemvoraussetzungen... 1 Systemvoraussetzungen... 1 Betriebssystem... 1 Vorbereitungen... 1 Installation und Inbetriebnahme... 1 Installation... 1 Assistenten
MehrEin Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?
Ein Beispiel Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Dipl.-Kfm. Claus Häberle WS 2015 /16 # 42 XML (vereinfacht) visa
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrCollax VPN. Howto. Vorraussetzungen Collax Security Gateway Collax Business Server Collax Platform Server inkl. Collax Modul Gatekeeper
Collax VPN Howto Dieses Howto beschreibt exemplarisch die Einrichtung einer VPN Verbindung zwischen zwei Standorten anhand eines Collax Business Servers (CBS) und eines Collax Security Gateways (CSG).
MehrEr musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt
Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen
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
MehrKommunikations-Parameter
KNX App knxpresso für Android Tablets/Phones Kommunikations-Parameter Ausgabe Dokumentation: Mai. 2015 Doku Version V1.0.0 - Seite 1/8 Inhaltsverzeichnis 1.1 Nützliche Links... 3 1.2 Beschreibung der Kommunikations-Datei...
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
MehrAlwinPro Care Modul Schnittstelle TV-Steuerung
AlwinPro Care Modul Schnittstelle TV-Steuerung Beschreibung AlwinPro Care bietet die Möglichkeit TV für tageweise abzurechnen und stellt für die Freischaltung der Leistung einen Authentifizierungsserver
MehrHandbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen
Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...
MehrDer lokale und verteilte Fall
Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf
MehrWebservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste
Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene
MehrIAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version 2.0.1 Deutsch 14.05.2014
IAC-BOX Netzwerkintegration Version 2.0.1 Deutsch 14.05.2014 In diesem HOWTO wird die grundlegende Netzwerk-Infrastruktur der IAC- BOX beschrieben. IAC-BOX Netzwerkintegration TITEL Inhaltsverzeichnis
Mehrmeta.crm meta.relations
meta.crm meta.relations Einleitung Mit meta.crm können wir Ihnen eine web-basierte und leicht zu bedienende Kommunikationsdatenbank für Media- und Investor Relations anbieten, mit deren Hilfe Sie Ihre
MehrStep by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
MehrEasyWk DAS Schwimmwettkampfprogramm
EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage
MehrGesicherte Prozeduren
Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.
MehrCOSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16. Copyright
Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16 Änderungen in Dokumentation und Software sind vorbehalten! Copyright Copyright 2005 COSA GmbH Alle Rechte vorbehalten.
MehrFolgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:
Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal
MehrThemen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
MehrLizenzierung von Windows Server 2012 R2. Lizenzierung von Windows Server 2012 R2
Lizenzierung von Windows Server 2012 R2 Lizenzierung von Windows Server 2012 R2 Das Lizenzmodell von Windows Server 2012 R2 Datacenter und Standard besteht aus zwei Komponenten: Prozessorlizenzen zur Lizenzierung
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
MehrModul 13: DHCP (Dynamic Host Configuration Protocol)
Modul 13: DHCP (Dynamic Host Configuration Protocol) klausurrelevant = rote Schrift M. Leischner Netze, BCS, 2. Semester Folie 1 Aufgabenstellung DHCP DHCP ist eine netznahe Anwendung (umfasst also OSI-Schicht
MehrJava Enterprise Architekturen Willkommen in der Realität
Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen
MehrKurzanleitung zur Softwareverteilung von BitDefender Produkten...2
Kurzanleitung zur Softwareverteilung von Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2 I. BitDefender Management Agenten Verteilung...2 1.1. Allgemeine Bedingungen:... 2 1.2. Erste
MehrNutzung von GiS BasePac 8 im Netzwerk
Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff
MehrSystemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007
Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung
MehrKN 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
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
MehrKURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE
KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung...Seite 03 2. Zugriff auf Cloud Object Storage mit Cyberduck...Seite 04 3. Neuen Container
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
MehrKonfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014
Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...
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
MehrInstallation der SAS Foundation Software auf Windows
Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software
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
MehrAutor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer
Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer *Was sind Web Services? *Beispiele für Web Services *Web Service Architektur *Web Services Technologien *Fazit 2 *Übertragungsstandard
Mehriphone-kontakte zu Exchange übertragen
iphone-kontakte zu Exchange übertragen Übertragen von iphone-kontakten in ein Exchange Postfach Zunächst muss das iphone an den Rechner, an dem es üblicherweise synchronisiert wird, angeschlossen werden.
MehrE-Mail Adressen der BA Leipzig
E-Mail Adressen der BA Jeder Student der BA bekommt mit Beginn des Studiums eine E-Mail Adresse zugeteilt. Diese wird zur internen Kommunikation im Kurs, von der Akademie und deren Dozenten zur Verteilung
MehrAnwendungsprotokolle: HTTP, POP, SMTP
Anwendungsprotokolle: HTTP, POP, SMTP TCP? UDP? Socket? eingesetzt, um Webseiten zu übertragen Zustandslos Nutzt TCP Client schickt Anfrage ( HTTP-Request ) an Server, Server schickt daraufhin Antwort
MehrVVA Webservice Online Lieferbarkeits-Abfrage
Version 1.0 Dateiname VVA_OLA_Schnittstellenbeschreibung_2012.docx Erstellt am 30.05.2010 Seitenanzahl 5 arvato media GmbH Historie der Dokumentversionen Version Datum Autor Änderungsgrund / Bemerkungen
MehrAnleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -
Anleitung zur Erstellung einer Batchdatei - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Mögliche Anwendungen für Batchdateien: - Mit jedem Systemstart vordefinierte Netzlaufwerke
MehrDOMAIN NAME SYSTEM (DNS) JULIA KRISCHIK, INTERNETPROTOKOLLE WS 2012/13
DOMAIN NAME SYSTEM (DNS) JULIA KRISCHIK, INTERNETPROTOKOLLE WS 2012/13 PROBLEMSTELLUNG 203.178.141.194 (IPv4) 2001:200:0:8002: 203:47ff:fea5:308 (IPv6) Analogie zu Telefonnummern: Jeder Adressat im Internet
MehrEinrichtung des Cisco VPN Clients (IPSEC) in Windows7
Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über
MehrFachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
MehrEclipse 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
MehrPrint2CAD 2017, 8th Generation. Netzwerkversionen
Installation der Netzwerkversion Kazmierczak Software Print2CAD 2017, 8th Generation Print2CAD 2017, 8th Generation Netzwerkversionen Einführung Installationshinweise Die Programme von Kazmierczak Software
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
MehrHow-to: HTTP Proxy mit Radius Authentifizierung an einem Windows 2003 Server. Securepoint Security System Version 2007nx
Securepoint Security System Version 2007nx Inhaltsverzeichnis HTTP Proxy mit Radius Authentifizierung an einem Windows 2003 Server... 3 1 Konfiguration der Radius Authentifizierung auf einem Windows 2003
MehrVirtueller Seminarordner Anleitung für die Dozentinnen und Dozenten
Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,
MehrRemote Method Invocation
Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf
MehrCOSIDNS 2 ISPconfig3. Version 0.1 (17.01.2013)
COSIDNS 2 ISPconfig3 Version 0.1 (17.01.2013) Das Modul verbindet das Hosting Panel ISPconfig3 mit der Domainverwaltung edns. Dies ermöglicht Ihnen Domains direkt aus ISPconfig3 heraus zu verwalten und
MehrThema: Web Services. Was ist ein Web Service?
Willkommen zum Component Ware Seminar Thema: Achim Grimm & Fabian Unterschütz Folie 1 Was ist ein Web Service? Web Services sind selbstbeschreibende, modulare Softwarekomponenten im Internet, die sich
MehrEDI Connect goes BusinessContact V2.1
EDI Connect goes BusinessContact V2.1 Allgemeine Informationen Ziel dieser Konfiguration ist die Kommunikation von EDI Connect mit dem neuen BusinessContact V2.1 Service herzustellen Dazu sind im wesentlichen
Mehriphone Push bei den VZ Netzwerken
iphone Push bei den VZ Netzwerken Max Horváth, Steffen Irrgang 1 Vorstellung der Speaker 2 Was sind Push Notifications?? 3 Was sind Push Notifications? Eine Möglichkeit, eine Nachricht an individuelle
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrSeminar DWMX 2004. DW Session 015
Seminar DWMX 2004 DW Session 015 Veröffentlichen der lokalen Website Bis jetzt sind die Daten immer lokal in Dreamweaver bearbeitet und über die interne Vorschau mit F12/Strg.+F12 im Browser betrachtet
MehrProgrammiermethodik. Ü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
MehrSOAP Integrationstechnologie für verteilte Middlewarearchitekturen?
SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? Großer Beleg Christian Wurbs Zwischenbericht http://www.inf.tu-dresden.de/~cw6 cw6@inf.tu-dresden.de Überblick 2 Aufgabenstellung CORBA
Mehr