In diesem Kapitel wurde demonstriert, wie die in den vorangegangenen Kapiteln entwickelten Anwendungen zu einer Gesamtanwendung zusammengeschaltet werden müssen. Im Zusammenspiel ergibt sich das Spiel Schiffe versenken, bei dem ein Spieler als Client gegen einen Spieler in Form eines Computers (Server) spielt. Die notwendige Datenübertragung der Koordinaten und der Information, ob einer der Spieler schießt oder ob er einen Treffer meldet, ist in Form einer Client-Server-Architektur realisiert. Zur Netzwerkkommunikation wird hierzu das Socket-Modell verwendet. Es sei zum Abschluss dieses Kapitels darauf hingewiesen, dass das Anwendungsbeispiel keinerlei Anspruch auf Perfektion oder Vollständigkeit erhebt. Sicherlich könnte insbesondere die Spiellogik des Servers erheblich verbessert werden. Zur Zeit sollte es für einen Spieler kein großes Problem darstellen, gegen den Server zu gewinnen. Dies liegt bspw. daran, dass der Server Schiffe nach dem Zufallsprinzip sucht, ohne die tatsächlichen Gegebenheiten des Spielfelds zu beachten. Auch die grundsätzliche Realisierung dieses Beispiels lässt noch manche Verbesserung zu. Ziel dieser Darstellung ist es allerdings, dem Leser, der nicht über Erfahrung mit der Programmiersprache Java verfügt, ein derartiges Beispiel verständlich zu erläutern. Wäre das Beispiel daher in allen Feinheiten programmiert worden, so wäre dieses Ziel aufgrund der dann vorhandenen Komplexität schwer zu erreichen gewesen. Der Leser sei deshalb als Übung dazu aufgerufen, den Code an den notwendigen Stellen zu erweitern und damit zu verbessern. Dieses Kapitel bildet zugleich den Abschluss der Darstellung der Kernkonzepte der Programmiersprache Java. Im Folgenden werden mit Swing, JavaBeans, Datenbanken, RMI, CORBA und Servlets erweiternde Konzepte von Java erläutert. Zum besseren Verständnis wird aber jeweils dieses Programmierbeispiel aufgegriffen, dessen Komponenten jeweils ausgetauscht werden.