Bachelor + Master Publishing
811 Bachelorarbeiten, 533 Masterarbeiten, 10.103 Diplomarbeiten

Methodische Aufbereitung von Entwicklungsumgebungen für verteilte Anwendungen

Methodische Aufbereitung von Entwicklungsumgebungen für verteilte Anwendungen
Über dieses Buch
  • Art: Diplomarbeit
  • Autor: Stefan Dufter
  • Abgabedatum: September 2007
  • Umfang: 95 Seiten
  • Dateigröße: 457,1 KB
  • Note: 1,3
  • Institution / Hochschule: Private FernFachhochschule Darmstadt Deutschland
  • Bibliografie: ca. 11
  • ISBN (eBook): 978-3-8366-0182-5
  • ISBN (Paperback) :
    978-3-8366-0182-5 P
  • ISBN (CD) :978-3-8366-0182-5 CD
  • Sprache: Deutsch
  • Prämierung:
  • Arbeit zitieren: Dufter, Stefan September 2007: Methodische Aufbereitung von Entwicklungsumgebungen für verteilte Anwendungen, Hamburg: Diplomica Verlag
  • Schlagworte: C++, Client-Server, Sockets, Remoting, Webservice

Diplomarbeit von Stefan Dufter

Zusammenfassung:

Im Rahmen eines Informatikstudiums bleibt es nicht aus, dass sich die Studierenden mit einer oder mehreren Programmiersprachen auseinandersetzen müssen. Die Vielfalt verfügbarer Programmiersprachen ist zu groß, um alle diese Sprachen im Lauf des Studiums abhandeln zu können.

Damit das zu vermittelnde Faktenwissen nicht zu umfangreich wird, kann im Rahmen eines Informatikstudiums nur auf wenige Sprachen, einzelne Betriebssysteme und Entwicklungsumgebungen eingegangen werden.

Diese Diplomarbeit soll einen Einstieg in die Programmiersprache C# bieten. Nach einer grundlegenden Einführung werden exemplarisch einige Techniken demonstriert, mit deren Hilfe verteilte Systeme für die .Net-Plattform erstellt werden können.

Im Verlauf der Diplomarbeit werden Client-Server-Anwendungen unter Verwendung der folgenden Techniken erstellt:

- Socket-Programmierung.

- .Net Remoting.

- Webservices.

Die dabei entstehenden Quellcodes werden analysiert und genau beschrieben, so dass diese auch auf andere Anwendungsgebiete übertragen werden können.

Inhaltsverzeichnis:

Inhaltsverzeichnis
1. Einführung 1
2. Installation der Entwicklungsumgebung 2
2.1 Internet Informationsdienste 3
2.2 Installation von Visual Studio 4
3. Grundlagen der Sprache C# 7
3.1 Aufbau eines C#-Programmes: Hello World! 7
3.2 Datentypen 8
3.2.1 Integrierte Datentypen 9
3.2.2 Komplexe Datentypen 10
3.3 Klassen 10
3.3.1 Modifizierer 11
3.3.2 Attribute 11
3.3.3 Methoden 11
3.3.4 Konstruktor 13
3.3.5 Destruktor 13
3.3.6 Eigenschaften 13
3.3.7 Delegaten 13
3.3.8 Vererbung 14
3.3.9 Konstanten 15
3.3.10 Variablen 15
3.4 Namensräume 15
3.5 Kontrollstrukturen 16
3.5.1 bedingte Verzweigung 17
3.5.2 Schleifen 18
3.5.3 Kommentare 20
3.6 Exceptions 21
3.7 Ausgewählte Klassen 23
3.7.1 Strings 23
3.7.2 Arrays 27
3.7.3 Datums- und Zeitfunktionen 31
3.7.4 Dateizugriff 33
4. Erstellung eines verteilten Client-Server-Systems in C# 36
4.1 Client-Server-Verbindung über Sockets 37
4.1.1 allgemeine Beschreibung 37
4.1.2 Server-Anwendung 38
4.1.3 Client-Anwendung 43
4.2 Client-Server-Verbindung durch .Net Remoting 47
4.2.1 allgemeine Beschreibung 47
4.2.2 Klassenbibliothek 49
4.2.3 Server-Anwendung 51
4.2.4 Client-Anwendung 54
4.3 Client-Server-Verbindung über Webservices 57
4.3.1 allgemeine Beschreibung 57
4.3.2 Webservice 58
4.3.3 Client-Anwendung 61
5. Ausblick 65
Anhang 1. Wichtige Datentypen 66
Anhang 2. Beispielklassen 67
Anhang 3. Namensräume 74
Anhang 4. Server-Anwendung über Sockets 76
Anhang 5. Client-Anwendung über Sockets 79
Anhang 6. Remoting Klassenbibliothek 81
Anhang 7. Server-Anwendung über Remoting 82
Anhang 8. Client-Anwendung über Remoting 83
Anhang 9. Webservice 85
Anhang 10. Anwendung eines Webservices in einem Client-Programm 86
Anhang 11. Datenübergabe beim Funktionsaufruf über SOAP 88
Anhang 12. Aufruf eines Webservices durch eine ASPX-Seite 90
Literaturverzeichnis 91
Eidesstattliche Erklärung 93

Inhaltsverzeichnis:

Inhaltsverzeichnis
1. Einführung 1
2. Installation der Entwicklungsumgebung 2
2.1 Internet Informationsdienste 3
2.2 Installation von Visual Studio 4
3. Grundlagen der Sprache C# 7
3.1 Aufbau eines C#-Programmes: Hello World! 7
3.2 Datentypen 8
3.2.1 Integrierte Datentypen 9
3.2.2 Komplexe Datentypen 10
3.3 Klassen 10
3.3.1 Modifizierer 11
3.3.2 Attribute 11
3.3.3 Methoden 11
3.3.4 Konstruktor 13
3.3.5 Destruktor 13
3.3.6 Eigenschaften 13
3.3.7 Delegaten 13
3.3.8 Vererbung 14
3.3.9 Konstanten 15
3.3.10 Variablen 15
3.4 Namensräume 15
3.5 Kontrollstrukturen 16
3.5.1 bedingte Verzweigung 17
3.5.2 Schleifen 18
3.5.3 Kommentare 20
3.6 Exceptions 21
3.7 Ausgewählte Klassen 23
3.7.1 Strings 23
3.7.2 Arrays 27
3.7.3 Datums- und Zeitfunktionen 31
3.7.4 Dateizugriff 33
4. Erstellung eines verteilten Client-Server-Systems in C# 36
4.1 Client-Server-Verbindung über Sockets 37
4.1.1 allgemeine Beschreibung 37
4.1.2 Server-Anwendung 38
4.1.3 Client-Anwendung 43
4.2 Client-Server-Verbindung durch .Net Remoting 47
4.2.1 allgemeine Beschreibung 47
4.2.2 Klassenbibliothek 49
4.2.3 Server-Anwendung 51
4.2.4 Client-Anwendung 54
4.3 Client-Server-Verbindung über Webservices 57
4.3.1 allgemeine Beschreibung 57
4.3.2 Webservice 58
4.3.3 Client-Anwendung 61
5. Ausblick 65
Anhang 1. Wichtige Datentypen 66
Anhang 2. Beispielklassen 67
Anhang 3. Namensräume 74
Anhang 4. Server-Anwendung über Sockets 76
Anhang 5. Client-Anwendung über Sockets 79
Anhang 6. Remoting Klassenbibliothek 81
Anhang 7. Server-Anwendung über Remoting 82
Anhang 8. Client-Anwendung über Remoting 83
Anhang 9. Webservice 85
Anhang 10. Anwendung eines Webservices in einem Client-Programm 86
Anhang 11. Datenübergabe beim Funktionsaufruf über SOAP 88
Anhang 12. Aufruf eines Webservices durch eine ASPX-Seite 90
Literaturverzeichnis 91
Eidesstattliche Erklärung 93

Textprobe:

Kapitel 4., Erstellung eines verteilten Client-Server-Systems in C#Funktionsweise: Durch die Verwendung eines Client-Server-Systems können mehrere Ziele verfolgt werden. So wird es beispielsweise möglich, von mehreren Arbeitsplätzen auf gemeinsame Daten zuzugreifen. Mehrere Mitarbeiter einer Abteilung oder eines Büros können sich die Nutzung von Geräten, z. B. Netzwerkdruckern, teilen, oder die Rechenleistung eines hochwertigen Servers wird für unterschiedlichste Aufgaben zur Verfügung gestellt.

Da sehr viele Netzwerke, unter anderem das Internet, auf der TCP/IP-Protokollfamilie basieren, werden hier nun entsprechende Techniken vorgestellt und beschrieben, wie mit Hilfe des .NET-Frameworks verteilte Anwendungen erstellt werden können. Alle Beispielprogramme werden als Konsolenanwendungen erstellt, um diese möglichst einfach zu halten. Die Funktionsweisen und Techniken sind in grafischen Oberflächen vergleichbar anzuwenden.

Damit die einzelnen Techniken vergleichbar sind, wird ein Echo-Server in drei Varianten erstellt, der einen Text vom Client empfängt, alle Kleinbuchstaben in Großbuchstaben umwandelt und das Ergebnis an den Client zurücksendet. Die drei Varianten arbeiten dabei einmal mit Sockets, mit Remoting-Klassen und schließlich als Webservice.

Kapitel 4.1: Ein TCP/IP-Socket besteht aus einer IP-Adresse und einer eindeutigen Portnummer. So beschreibt z. B. die Angabe „IP-Adresse 127.0.0.1 Port 234“ einen eindeutigen Socket. Ein Server- oder Clientprozess wird an diesen Socket gebunden und kann so mit Programmen und Prozessen auf anderen Rechnern kommunizieren. Als Erinnerung: TCP und UDP befinden sich im OSI-Referenzmodell auf Layer 4 (Transportschicht), während IP auf Layer 3 (Verbindungsschicht) arbeitet.

Im .NET-Framework stehen die Namensräume System.Net und System.Net.Sockets zur Verfügung und stellen die Klassen TcpListener für den Serverprozess sowie TcpClient und UcpClient für die Clientprogrammierung bereit. Die Verwendung der Klasse TcpClient wird bei der Beschreibung des Quellcodes erläutert. Um eine Verbindung mit der Klasse UdpClient aufzubauen, ist dabei keine Listener-Klasse erforderlich, sondern die Kommunikation wird serverseitig mit Hilfe der Methode UdpClient.Receive() durchgeführt. Der Server-Prozess soll im Parallelmodus betrieben werden. Dadurch wird ermöglicht, dass mehrere Client-Anfragen gleichzeitig bearbeitet werden können. Für die Umsetzung wird die Klasse Thread aus dem Namensraum System.Threading benötigt. Auch hier folgen die nötigen Details im entsprechenden Abschnitt.

Der Server überwacht nach der Initialisierung mit dem Server-Listener einen TCP-Port, der grundsätzlich frei gewählt werden kann, sich jedoch nicht mit auf dem Rechner bereits verwendeten Ports überschneiden darf. Es empfiehlt sich, Ports zwischen 49152 und 65535 zu wählen, da dies so genannte Dynamic Ports sind, die frei verwendet werden können. Niedrigere Ports sind möglicherweise von anderen Software-Herstellern für bestimmte Anwendungen registriert (z. B. Port 3306 für MySQL-Datenbanken). In den hier erstellten Beispielen wird Port 8089 verwendet, da dieser ebenfalls nicht registriert ist.

Nachdem ein Client eine Verbindung aufgebaut hat, wird ein Verbindungsobjekt an einen neuen Thread übergeben. Der Server-Listener wartet nun auf neue Verbindungen anderer Clients und kann diese ebenfalls eigenen Threads übergeben.

Der vom Client übergebene Text wird ausgelesen, in Großbuchstaben umgewandelt und umgehend zurückgeschickt. Zusätzlich können Kommandos an den Server übermittelt werden, um den Serverstatus abzufragen oder die Verbindung zu trennen. Da diese Kommandos ebenfalls als Text an den Server übergeben werden, muss hier eine entsprechende Abfrage erfolgen.

Arbeit zitieren:
Dufter, Stefan September 2007: Methodische Aufbereitung von Entwicklungsumgebungen für verteilte Anwendungen, Hamburg: Diplomica Verlag

Schlagworte:
C++, Client-Server, Sockets, Remoting, Webservice

Entdecken Sie mehr zum Thema

diplom.de
Bachelor + Master Publishing

Hermannstal 119 k
22119 Hamburg

Fon: +49 (0) 40 655992-0
Fax: +49 (0) 40 655992-22

Service-Telefon

Rufen Sie uns an:
+49 (0) 40 655992-0

Mo-Fr
09.00-16.00 Uhr

diplom.de in den Medien

Folgen Sie uns bei Twitter & werden Sie diplom.de-Fan bei Facebook!
Schreibtipps unserer Lektoren, Neuigkeiten aus dem Verlagsalltag und das Expertenwissen unserer Autoren als Tweet & Post!
Wir freuen uns auf Sie!

diplom.de BACHELOR + MASTER PUBLISHING

Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Magisterarbeiten, Dissertationen und andere Abschlussarbeiten aus allen Fachbereichen und Hochschulen können Sie bei uns als eBook sofort per Download beziehen oder sich auf CD oder als Buch zusenden lassen. Seit mehr als 15 Jahren ist diplom.de der seriöse, professionelle und erfolgreiche Partner für die Veröffentlichung wissenschaftlicher Abschlussarbeiten.

© Diplomica Verlag GmbH 1996-2011, AG Hamburg HRB 80293 - GF Björn Bedey, USt-IdNr.: DE214910002 - Verkehrsnummer: 12285 - Impressum
Index der Arbeiten - Index der Autoren