Hallo Pako.
ich habe folgende möglichkeiten für die Umsetzung eines
verteilten Systems: RMI, CORBA, .NET Remoting oder über
Web-Services
Nun muss ich wissen bei welchem Gegebenheiten
ich welches System am besten verwende
Da ein Unternehmen in der Regel verteilte Anwendungen
nicht auf der grünen Wiese entwickelt, sondern damit
bestehende Software nutzen möchte, kannst Du eine
programmiertechnisch bedingte Vorauswahl treffen:
-
.NET Remoting nur, wenn ein homogenes Microsoft-Umfeld
zur Verfügung steht, dafür kannst Du aus einer der
.NET-Programmiersprachen auswählen
-
RMI ist eine Java-Technik, also muss die Programmiersprache
Java sein, dafür funktioniert das unabhängig vom
Betriebssystem
CORBA und Web Services sind erst mal unabhängig von Programmiersprache
sowie Betriebssystem einsetzbar und daher das Mittel der Wahl,
wenn über verschiedene Programmiersprachen- und/oder
Betriebssystemgrenzen hinweg kommuniziert werden muss.
Der Kandidat mit dem meisten Zukunftspotenzial dürfte WebServices
sein, da CORBA recht komplex und überladen ist und sich als
Binärprotokoll auch als weniger wartungsfreundlich wie die
XML-basierten WebServices-Protokolle erweist.
Da eine verteilte Anwendung sich aber nicht nur um die verteilten
Aufrufe an sich, sondern sich auch um die vielen nicht-funktionalen
Kriterien wie Skalierbarkeit, Transaktionalität, Sicherheit (z.B.
Authentifizierung und Datenverschlüsselung) kümmern muss, läuft
das Ganze früher oder später auf ein komplette Middleware-Lösung
hinaus. Die Middleware-Lösung mit dem höchsten Grad an
Standardisierung für verteilte Geschäftsanwendungen ist sicherlich
die Java Enterprise Edition , für die es eine Menge freier
(z.B. JBoss, Geronimo) und auch kommerzieller Application
Server gibt.
Der Application Server ist somit Kern Deiner verteilten
Anwendung. Für die verteilte Kommunikation zu Nicht-Java-Software
stehen dann CORBA und WebServices als Teil-APIs zur Verfügung.
Kennt jemand eine gute Seite wo ich eine Übersicht darüber
finde oder eben die Vor- und Nachteile der Systeme im Bezug
auf den Einsatzbereich?!
Eine kompakte und aktuelle(!) Einführung in das Thema ist z.B.
das Büchlein „J2EE / Java EE kompakt“, ISBN 3827415926 Buch anschauen.
Gruß,
-Andreas.