Verteilte Systeme

Hallo,
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 (z.B. Firma mit vielen Standorten weltweit oder eine Firma mit nur einem Standort aber vielen Abteilungen etc.) ich welches System am besten verwende und wie der Systemaufbau grob skizziert ausschauen könnte.

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?!

Danke
Grüße

Hallo,

das kommt ganz auf das Unternehmen an.

Ich würde WebServices nehmen. Da ist es am einfachsten, auf das System zuzugreifen und auch unterschiedliche Programme einzubinden. Du kannst ja mal unter Service Oriented Architecture (SOA) nachschauen, wie das professionell geht.

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

ja, da wiederrum steht in meinem skript das dies gut geeignet sei für z.B. weltweite niederlassungen aber als intranet lösung ist es nicht geeignet…aber hmmmm

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.