Java - Distributed Computing
Martin Weissenböck
In umfangreichen Systemen wird die Verarbeitung der Daten auf verschiedene Systeme aufgeteilt. Dazu sind neue Programmierstragien notwendig. Objekte (im Sinne der objektorientierten Programmierung) gehören seit Jahren zum Standard der Programmiertechnik. Agenten können als weitere Verallgemeinerung angesehen werden, die nicht nur (wie Objekte) Daten und Methoden vereinigen, sondern auch in unterschiedenen Systemen implementiert sein können und zusammenarbeiten. Java unterstützt diese Idee ausgezeichnet. Zu Beginn des Buches werden die Grundlagen von verteilten Applikationen erläutert.
Die Kommunikation von Systemen über das Internet mittels TCP/IP-Nachrichten wird in Java durch passende Klassen unterstützt. Wie einfach die Kommunikation zwischen Server und Client sein kann, zeigt ein einfaches Beispiel auf Seite 24:
Ein Server soll Port 5000 verwenden und auf Mitteilungen eines Client reagieren. Das Server-Programm:
// Listen to port 5000 on the local host for socket connection requests
ServerSocket s = new ServerSocket(5000);
while (true) {
// Wait for a connection request from a client
Socket clientConn = s.accept();
InputStream in = clientConn.getInputStream();
OutputStream out = clientConn.getOutputStream();
// Now we have input and out streams connectes to our client,
// do something with them
// ....
}
Ein passender Client beginnt so:
// Create the socket
InetAddress addr = InetAddress.getByName("our.remote.host");
Socket s = new Socket(addr, 5000);
InputStream in = s.getInputStream();
OutputStream out = s.getOutputStream()
// Weve got input/output streams to the remote process,
// now do something with them...
In dem Beispiel wird in den folgenden Zeilen in einfacher Weise die weitere Kommunikation erläutert. Für Experimente (gerade im Unterricht) sind diese Ideen sehr zu empfehlen!
Im selben Verlag sind noch andere Java-Bücher erschienen (Exploring Java, Java Threads, Java Network Programming, Java Virtual Machine, Java AWT Reference, Java Language Reference, Java Fundamental Classes Refgerence, Database Programming with JDBC and Java, Developing Java Beans). Wenn die anderen Bücher von derselben Qualität wie das vorliegende Buch sind, kann der OReilly-Verlag als gute Quelle für Java-Literatur empfohlen werden!