Zwar setzt sich das Konzept der Enterprise Java Beans im homogenen Java-Umfeld immer mehr durch, doch besonders in heterogenen Umgebungen setzen viele Entwickler auf CORBA und in der Microsoft-Welt erfreut sich COM großer Beliebtheit. Das Buch "Programmieren mit COM und CORBA" aus dem Hanser-Verlag möchte in diese Middleware-Architekturen einführen und sie gegenüberstellen. Hierbei richtet es sich sowohl an Java- als auch an C++-Entwickler.
Im ersten Kapitel stellen die Autoren verschiedene Konzepte aktueller Middleware vor. Zunächst implementieren sie mit minimalen Mitteln - C++, Apache-Webserver und CGI - eine kleine Web-Anwendung und demonstrieren so das Client-Server-Konzept, worauf sie die Vorzüge eines Three-Tier-Ansatzes aufzeigen. Hierbei spannen sie den Bogen zu CORBA und COM. Im Folgekapitel steigen die Autoren direkt in die Praxis ein und implementieren ein Fallbeispiel - die oft zitierte Bank-Anwendung - zunächst in COM und dann in CORBA. Hierbei zeigen sie zunächst im Detail auf, wie die Implementierung des COM-Servers mit Microsoft Visual J++ vollzogen wird. Die Implementierung der COM-Clients setzt auf die gesamte Bandbreite an Programmiersprachen: Neben einer Java-Applikation stellen die Autoren Clients für C++, Visual Basic for Applications, ASP und diverse Skriptsprachen vor. Weniger vielseitig ist die CORBA-Version des Beispiels, für die Java- und C++-Versionen vorgestellt werden. Dafür gehen die Autoren jedoch auf einen interessanten Aspekt ein und diskutieren die Implementierung eines Gateways zwischen CORBA-Client und COM-Server, was sie jedoch aufgrund der Inkompatibilität von Visual J++ zu Suns CORBA-Version nicht in die Tat umsetzen.
Der folgende Abschnitt macht fast ein Drittel des Buches aus und stellt Microsofts COM-Modell im Detail vor. Zunächst erklären die Autoren, wie in C++ und ohne sonstige Klassenbibliotheken COM-Server implementiert werden können. Dabei stellen sie Konzepte wie COM-Interfaces, Class-Factories, verschiedene COM-Prozess- und Threading-Modelle, Distributed COM und die Active Template Library für C++ vor. Zwar sind fast alle Programmbeispiele in C++ implementiert, dennoch erhält auch der Java-Entwickler einen tieferen Einblick in die COM-Technologie. Leider geht das Buch nicht auf den COM-Erben COM+ ein, der mit dem Microsoft Transaction Server zahlreiche Neuigkeiten in Punkto Packaging, Security und verteilter Transaktionsverarbeitung brachte.
Nachdem der Leser in Sachen COM informiert ist, folgt der detaillierte und ebenso umfassende Einstieg in CORBA. Nach einem Überblick über die CORBA-Architektur bis zur Version 2.3.1 erfährt der Leser, wie er in CORBA-IDL Schnittstellen definiert und wie diese in C++ und Java abgebildet werden. Java- und C++-Beispiele demonstrieren nun, wie CORBA-Server und Clients mit dem Basic Object Adapter (BOA) und dem neueren Portable Object Adapter (POA) implementiert werden können. Die Autoren gehen auch auf fortgeschrittene Themen wie Event- und Naming-Service und dynamische Methodenaufrufe ein.
Das letzte Kapitel fällt etwas aus dem Rahmen und ist eine Art Sammelbecken für allgemeines Wissen und Tipps und Tricks zu verschiedenen Themen. Neben Grundlagen zur Objektorientierung und der Vorstellung einiger allgemeiner Entwurfsmuster betrachten die Autoren Spezialthemen wie Polymorphie in C++, C++-Templates, Windows-Threads und Windows-DLLs.
Zusammenfassend hinterlässt das Buch einen gemischten Eindruck. So ist es besonders interessant für den Java-Entwickler, der mit Microsoft Visual J++ COM-Anwendungen implementiert. Dieser erhält das notwendige Startwissen inklusive eines Überblicks über die COM-Technologie. Andere COM-Schnittstellen wie etwa die ActiveX-Bridge von Sun werden leider nicht betrachtet. Wer gleichzeitig noch mit CORBA arbeiten muss, wird doppelt von der Anschaffung profitieren. Leider besitzt das Buch einige inhaltliche Sprünge, die die unterschiedliche Handschrift der drei Autoren erkennen lassen. So fragt sich der Leser, ob eine Einführung in die Grundlagen der Objektorientierung im letzten Kapitel noch sinnvoll ist. Der Schreibstil ist recht trocken und insgesamt erinnert das Buch ein wenig an ein Vorlesungsskript - eigentlich kein Wunder, denn einer der Autoren ist Hochschulprofessor.




