Allgemeine Gegenstand-Bitte-Makler-Architektur

Common Object Request Broker Architecture (CORBA) ist ein Standard, der von Object Management Group (OMG) definiert ist, die Softwarebestandteilen ermöglicht, die auf vielfachen Computersprachen geschrieben sind und auf vielfachen Computern laufend, zusammenzuarbeiten (d. h. es unterstützt vielfache Plattformen).

Übersicht

CORBA ermöglicht getrennten Stücken der Software, die auf verschiedenen Sprachen geschrieben ist und auf verschiedenen Computern laufend, mit einander wie eine einzelne Anwendung oder Satz von Dienstleistungen zu arbeiten.

Mehr spezifisch ist CORBA ein Mechanismus in der Software, für die Semantik des Methode-Anrufs zwischen Anwendungsgegenständen zu normalisieren, die entweder in demselben Adressraum (Anwendung) oder in entferntem Adressraum (derselbe Gastgeber oder entfernter Gastgeber in einem Netz) wohnen. Version 1.0 wurde im Oktober 1991 veröffentlicht.

CORBA verwendet eine Schnittstelle-Definitionssprache (IDL), um die Schnittstellen anzugeben, der Gegenwart gegen die Außenwelt einwendet. CORBA gibt dann an von IDL bis eine spezifische Durchführungssprache wie C ++ oder Java kartografisch darzustellen. Standard mappings besteht für Ada, C, C ++, Lispeln, Rubin, Plausch, Java, COBOL, PL/I und Pythonschlange. Es gibt auch umgangssprachlichen mappings für Perl, Visuell Grundlegend, Erlang, und durch den Gegenstand durchgeführte Tcl bitten um Makler für jene Sprachen geschriebene (KUGELN). Im OMG März 2012, der den OMG entspricht, hat den neuen IDL C ++ 11 für die Adoption kartografisch darstellende Sprache empfohlen. Zurzeit ist eine formelle revidierte Vorlage online angeschlagen worden, vor dem Ende des Aprils 2012 wird der OMG eine Version des Betas 1 dieser neuen kartografisch darstellenden Sprache veröffentlichen.

Die CORBA Spezifizierung diktiert es soll eine KUGEL geben, durch die eine Anwendung mit anderen Gegenständen aufeinander wirken würde. In der Praxis initialisiert die Anwendung einfach die KUGEL, und greift auf einen inneren Gegenstand-Adapter zu, der Dinge wie das Bezugszählen, Gegenstand (und Verweisung) instantiation Policen und Gegenstand-Lebenspolicen aufrechterhält. Der Gegenstand-Adapter wird verwendet, um Beispiele der erzeugten Codeklassen einzuschreiben. Erzeugte Codeklassen sind das Ergebnis, den Benutzer IDL Code zu kompilieren, der die Schnittstelle-Definition auf höchster Ebene in einen OS- und sprachspezifische Klassenbasis für den Gebrauch durch die Benutzeranwendung übersetzt. Dieser Schritt ist notwendig, um CORBA Semantik geltend zu machen und einen sauberen Benutzerprozess zur Verfügung zu stellen, um mit der CORBA Infrastruktur zu verbinden.

Einige IDL mappings sind schwieriger zu verwenden als andere. Zum Beispiel, wegen der Natur Javas, ist kartografisch darstellendes IDL-Java ziemlich aufrichtig und macht Gebrauch von in einer javanischen Anwendung sehr einfachem CORBA. Das trifft auch auf den IDL zur kartografisch darstellenden Pythonschlange zu. Der C ++ kartografisch darzustellen, ist notorisch schwierig; kartografisch darzustellen, verlangt, dass der Programmierer komplizierte und verwirrende datatypes erfährt, die den C ++ Standard Template Library (STL) zurückdatieren. Zurzeit wird Arbeit getan, um einen neuen C ++ 11 Sprache zu schaffen, die bindet, der Standard Template Library (STL) schwer verwenden wird. Da die c Sprache nicht objektorientiert ist, verlangt der IDL zu kartografisch darstellendem C, dass ein C Programmierer mit objektorientierten Eigenschaften manuell wetteifert.

Eine kartografisch darstellende Sprache verlangt, dass der Entwickler IDL-Code schafft, der die Schnittstellen zu seinen Gegenständen vertritt. Gewöhnlich kommt eine CORBA Durchführung mit einem Werkzeug genannt einen IDL Bearbeiter, der den IDL-Code des Benutzers in einen sprachspezifischen erzeugten Code umwandelt. Ein traditioneller Bearbeiter kompiliert dann den erzeugten Code, um die Linkable-Gegenstand-Dateien für die Anwendung zu schaffen. Dieses Diagramm illustriert, wie der erzeugte Code innerhalb der CORBA Infrastruktur verwendet wird:

Diese Zahl illustriert das Paradigma auf höchster Ebene für entfernte Zwischenprozess-Kommunikationen mit CORBA. Probleme nicht gerichtet hier, sind noch in der CORBA Spezifizierung dafür verantwortlich gewesen, schließen Sie das Datenschreiben, die Ausnahmen, die Netzprotokolle, die Nachrichtenpausen usw. ein. Zum Beispiel: Normalerweise hat die Server-Seite Portable Object Adapter (POA), der Anrufe entweder den lokalen Dienern oder umadressiert (um die Last zu erwägen), zu den anderen Servern. Außerdem haben sowohl Server als auch Kundenteile häufig Auffänger, die unten beschrieben werden. Problem-CORBA (und so diese Zahl) richtet nicht, aber dass alle verteilten Systeme richten, Gegenstand-Lebenszeiten, redundancy/fail-over einschließen müssen, Semantik (außer einem einfachen Namen), Speichermanagement, das dynamische Lastausgleichen, die Trennung des Modells zwischen der Semantik der Anzeige/Daten/Kontrolle usw. nennend.

Zusätzlich zum Versorgen von Benutzern mit einer Sprache und einer mit der Plattform neutralen Spezifizierung des entfernten Verfahren-Anrufs (RPC) definiert CORBA allgemein erforderliche Dienstleistungen wie Transaktionen und Sicherheit, Ereignisse, Zeit und andere bereichsspezifische Schnittstelle-Modelle.

OMG Handelsmarken: CORBA, IIOP und OMG sind die eingetragenen Zeichen von Object Management Group und sollten mit der Sorge verwendet werden. Jedoch ist GIOP (Allgemeines Zwischenkugel-Protokoll) nicht eine eingetragene OMG Handelsmarke. Folglich in einigen Fällen kann es gerade passender sein zu sagen, dass die Anwendung verwendet oder die GIOP-basierte Architektur durchführt.

Gegenstände durch die Verweisung

Diese Verweisung wird entweder durch eine stringified Schnur von Uniform Resource Identifier (URI), NameService lookup (ähnlich Domain Name System (DNS)) erworben, oder ist - in als ein Methode-Parameter während eines Anrufs gegangen.

Gegenstand-Verweisungen sind Leichtgewichtsgegenstände, die die Schnittstelle des echten Gegenstands (entfernt oder lokal) vergleichen. Methode fordert die Verweisung auf laufen auf nachfolgende Anrufe zur KUGEL hinaus und auf dem Faden blockierend, während man auf eine Antwort, Erfolg oder Misserfolg wartet. Die Rahmen, geben Sie Daten (wenn irgendwelcher) zurück, und Ausnahme-Daten werden innerlich durch die KUGEL gemäß der lokalen Sprache und kartografisch darstellendem OS aufgestellt.

Daten durch den Wert

Die CORBA-Schnittstelle-Definitionssprache stellt die Sprache - und OS-Neutral-Zwischengegenstand-Nachrichtendefinition zur Verfügung. CORBA Gegenstände werden durch die Verweisung passiert, während sich Daten (ganze Zahlen, structs, enums verdoppelt, usw.) werden durch den Wert passiert. Die Kombination von Gegenständen durch die Verweisung und Daten durch den Wert stellt die Mittel zur Verfügung, das starke Datenschreiben geltend zu machen, während sie Kunden und Server kompiliert, noch die dem CORBA Problem-Raum innewohnende Flexibilität zu bewahren.

Objects By Value (OBV)

Abgesondert von entfernten Gegenständen definieren der CORBA und RMI-IIOP das Konzept von OBV und Valuetypes. Der Code innerhalb der Methoden von Gegenständen von Valuetype wird lokal standardmäßig durchgeführt. Wenn der OBV von der entfernten Seite erhalten worden ist, muss der erforderliche Code entweder a priori für beide Seiten bekannt oder dynamisch vom Absender heruntergeladen sein. Um zu machen enthält das möglich, die Aufzeichnung, OBV definierend, die Codebasis, die eine raumgetrennte Liste von URL-ADRESSEN davon ist, wo dieser Code heruntergeladen werden sollte. Der OBV kann auch die entfernten Methoden haben.

Der OBVs kann Felder haben, die übertragen werden, wenn die OBVs übertragen werden. Diese Felder können OBVs selbst sein, Listen, Bäume oder willkürliche Graphen bildend. Die OBVs haben eine Klassenhierarchie, einschließlich der Mehrfachvererbung und abstrakten Klassen.

CORBA Component Model (CCM)

CORBA Component Model (CCM) ist eine Hinzufügung zur Familie von CORBA Definitionen. Es wurde mit CORBA 3 eingeführt, und es beschreibt ein Standardanwendungsfachwerk für CORBA Bestandteile. Obwohl nicht abhängig vom "Sprachabhängigen Enterprise Java Beans (EJB)" ist es eine allgemeinere Form von EJB, vier Teiltypen statt der zwei zur Verfügung stellend, dass EJB definiert. Es stellt eine Abstraktion von Entitäten zur Verfügung, die zur Verfügung stellen und Dienstleistungen durch bestimmte genannte Schnittstellen genannt Häfen akzeptieren können.

Der CCM hat einen Teilbehälter, wo Softwarebestandteile aufmarschiert werden können. Der Behälter bietet eine Reihe von Dienstleistungen an, die die Bestandteile verwenden können. Diese Dienstleistungen schließen ein (aber werden auf nicht beschränkt) Ankündigung, Beglaubigung, Fortsetzung und Transaktionsverarbeitung. Das sind die am meisten verwendeten Dienstleistungen, die jedes verteilte System, und, durch das Bewegen der Durchführung dieser Dienstleistungen von den Softwarebestandteilen bis den Teilbehälter verlangt, wird die Kompliziertheit der Bestandteile drastisch reduziert.

Es ist für die Wiederverwendbarkeit nützlich.

Tragbare Auffänger

Tragbare Auffänger sind die "Haken", die durch CORBA und RMI-IIOP verwendet sind, um die wichtigsten Funktionen des CORBA Systems zu vermitteln. Der CORBA Standard definiert die folgenden Typen von Auffängern:

  1. IOR Auffänger vermitteln die Entwicklung der neuen Verweisungen auf die entfernten Gegenstände, die durch den aktuellen Server präsentiert sind.
  2. Kundenauffänger vermitteln gewöhnlich die entfernte Methode fordert den Kunden (Anrufer) Seite auf. Wenn der Gegenstand-Diener auf demselben Server besteht, wo die Methode angerufen wird, vermitteln sie auch die Ortsgespräche.
  3. Server-Auffänger mittelbar das Berühren der entfernten Methode fordern den Server (Dressierer) Seite auf.

Die Auffänger können die spezifische Information den Nachrichten beifügen, die senden werden und IORs geschaffen zu werden. Diese Information kann später durch den entsprechenden Auffänger auf der entfernten Seite gelesen werden. Auffänger können auch Versandausnahmen werfen, Bitte zu einem anderen Ziel umadressierend.

Allgemeines Protokoll von InterORB (GIOP)

Der GIOP ist ein abstraktes Protokoll, durch das Gegenstand-Bitte-Makler (KUGELN) kommunizieren. Mit dem Protokoll vereinigte Standards werden von Object Management Group (OMG) aufrechterhalten. Die GIOP Architektur stellt mehrere konkrete Protokolle zur Verfügung, einschließlich:

  1. Internet Protokoll von InterORB (IIOP) - Das Internetzwischenkugel-Protokoll ist eine Durchführung des GIOP für den Gebrauch über das Internet und stellt zur Verfügung zwischen GIOP Nachrichten und der TCP/IP Schicht kartografisch darzustellen.
  2. SSL Protokoll von InterORB (SSLIOP) - SSLIOP ist IIOP über SSL, Verschlüsselung und Beglaubigung zur Verfügung stellend.
  3. HyperText Protokoll von InterORB (HTIOP) - HTIOP ist IIOP über HTTP, das durchsichtige Proxyumleiten zur Verfügung stellend.
  4. Schwirren lassener IOP (ZIOP) - Eine schwirren lassene Version von GIOP, der den Bandbreite-Gebrauch reduziert

VMCID (Verkäufer geringer Codeset Personalausweis)

CORBA jede Standardausnahme schließt einen geringen Code ein, um die Unterkategorie der Ausnahme zu benennen. Geringe Ausnahme-Codes sind des nicht unterzeichneten Typs lang und bestehen aus einem "20-Bit-Verkäufer Geringer Codeset Personalausweis" (VMCID), der die hohe Ordnung 20 Bit und den geringen richtigen Code besetzt, der die niedrige Ordnung 12 Bit besetzt.

Geringe Codes für die Standardausnahmen werden durch den VMCID vorgesehen, der OMG zugeteilt ist, definiert als der nicht unterzeichnete lange unveränderliche CORBA:: OMGVMCID, der den VMCID OMG das Besetzen der hohen Ordnung 20 Bit zuteilen ließ. Die geringen Ausnahme-Codes haben mit den Standardausnahmen verkehrt, die in der Tabelle 3-13 auf der Seite 3-58 gefunden werden, sind Oder-Hrsg. mit OMGVMCID, um den geringen Codewert zu bekommen, der in der ex_body Struktur zurückgegeben wird (sieh Abschnitt 3.17.1, "Standardausnahme-Definitionen," auf der Seite 3-52 und dem Abschnitt 3.17.2, "Geringe Standardausnahme-Codes," auf der Seite 3-58).

Innerhalb des zugeteilten Raums eines Verkäufers wird die Anweisung von Werten zu geringen Codes dem Verkäufer verlassen. Verkäufer können um Zuteilung von VMCIDs bitten, indem sie E-Mail an tagrequest@omg.org senden. Eine Liste zurzeit zugeteilten VMCIDs kann auf der OMG Website gefunden werden an:

http://www.omg.org/cgi-bin/doc?vendor-tags

Der VMCID 0 und 0xfffff werden für den experimentellen Gebrauch vorbestellt. Die VMCID OMGVMCID (Abschnitt 3.17.1, "Standardausnahme-Definitionen," auf der Seite 3-52) und 1 durch 0xf werden für den OMG-Gebrauch vorbestellt.

Der Allgemeine Gegenstand-Bitte-Makler: Architektur und Spezifizierung (CORBA 2.3)

Corba Position (CorbaLoc)

Corba Position (CorbaLoc) bezieht sich auf eine Stringified-Gegenstand-Verweisung für einen CORBA-Gegenstand dass einer URL-ADRESSE ähnliche Blicke.

Alle CORBA Produkte müssen zwei OMG-definierte URL-ADRESSEN unterstützen: "" und "". Der Zweck von diesen ist, eine menschliche lesbare und editable Weise zur Verfügung zu stellen, eine Position anzugeben, wo ein IOR erhalten werden kann.

Ein Beispiel von corbaloc wird unten gezeigt:

:

Ein CORBA Produkt kann"" "", und "" Formate fakultativ unterstützen. Die Semantik von diesen ist, dass sie Details dessen zur Verfügung stellen, wie man einen stringified IOR herunterlädt (oder rekursiv eine andere URL-ADRESSE herunterlädt, die schließlich einen stringified IOR zur Verfügung stellen wird). Einige KUGELN liefern wirklich zusätzliche Formate, die für diese KUGEL Eigentums-sind.

Eigenschaften

CORBA unterstützt mehrere Eigenschaften, die er behauptet, dass keine andere einzelne Technologie in einem Paket bringt. Diese Vorteile schließen Sprache - und OS-Unabhängigkeit, Freiheit von technologieverbundenen Durchführungen, starkem Datenschreiben, hohem Niveau von tunability und Freiheit von den Details von verteilten Datenübertragungen ein.

Sprachunabhängigkeit

:CORBA am Anfang wurde freien Ingenieuren von der Hängen-USV und den Beschränkungen entworfen, ihre Designs als gestützt auf einer besonderen Softwaresprache zu betrachten. Zurzeit gibt es viele Sprachen, die von verschiedenen CORBA Versorgern, das populärste unterstützt sind, das Java und C ++ ist. Es gibt auch Betrügerisch, SmallTalk, Perl, Ada, Rubin und Pythonschlange-Durchführungen, um gerade einige zu erwähnen.

OS Unabhängigkeit

:CORBA'S-Design wird gemeint, um OS-independent zu sein. CORBA ist in Java (OS-independent), sowie heimisch für Linux/Unix, Windows, Sonne, Mac und andere verfügbar.

Freiheit von Technologien

:One der impliziten Hauptvorteile ist, dass CORBA einen neutralen Spielplatz für Ingenieure zur Verfügung stellt, um im Stande zu sein, die Schnittstellen zwischen verschiedenem neu und Vermächtnis-Systemen zu normalisieren. Wenn er C, C ++, Object Pascal, Java, Fortran, Pythonschlange, und jede andere Sprache oder OS in ein einzelnes zusammenhaltendes Systemdesignmodell integriert, stellt CORBA die Mittel zur Verfügung, das Feld zu ebnen und ungleichen Mannschaften zu erlauben, Systeme und Einheitstests zu entwickeln, die später in ein ganzes System zusammengetroffen werden können. Das schließt das Bedürfnis nach grundlegenden Projektplanungsentscheidungen, wie das Einfädeln, Timing nicht aus, wendet Lebenszeit usw. ein. Diese Probleme sind ein Teil jedes Systems unabhängig von der Technologie. CORBA erlaubt Systemelementen, in ein einzelnes zusammenhaltendes Systemmodell normalisiert zu werden.

:For-Beispiel, das Design einer Mehrreihe-Architektur wird das einfache Verwenden Java Servlets im Webserver und den verschiedenen CORBA Servern gemacht, die die Geschäftslogik enthalten und die Datenbankzugänge wickeln. Das erlaubt den Durchführungen der Geschäftslogik sich zu ändern, während die Schnittstelle-Änderungen als in jeder anderen Technologie würden behandelt werden müssen. Zum Beispiel kann eine durch einen Server gewickelte Datenbank seine Datenbankdiagramm-Änderung wegen des verbesserten Plattengebrauchs oder der Leistung (oder sogar Datenbankverkäufer-Änderung der ganzen Skala) haben, ohne die Außenschnittstellen zu betreffen. Zur gleichen Zeit C ++ kann Vermächtnis-Code mit dem C/Fortran Vermächtnis-Code und javanischen Datenbankcode sprechen, und kann Daten einer Webschnittstelle zur Verfügung stellen.

Starke Daten, die tippen

:CORBA stellt das flexible Datenschreiben, zum Beispiel "JEDER" datatype zur Verfügung. CORBA macht auch dicht verbundenen datatyping geltend, menschliche Fehler reduzierend. In einer Situation, wo Namenwert-Paare verteilt werden, ist es denkbar, dass ein Server eine Zahl zur Verfügung stellt, wo eine Schnur erwartet wurde. CORBA Schnittstelle-Definitionssprache stellt den Mechanismus zur Verfügung sicherzustellen, dass sich Benutzercode Methode-Namen anpasst, kehren Sie - Parameter-Typen und Ausnahmen zurück.

Hohe Melodie-Fähigkeit

:There sind viele verfügbare Durchführungen (z.B. OmniORB (Offene Quelle C ++ und Pythonschlange-Durchführung)), die viele Optionen haben, für die Einfädeln- und Verbindungsverwaltungseigenschaften abzustimmen. Nicht alle Durchführungen stellen dieselben Eigenschaften zur Verfügung. Das ist bis zum implementor.

Freiheit von Datenübertragungsdetails

:When, der auf niedriger Stufe Verbindung und das Einfädeln behandelt, CORBA stellt ein hohes Niveau des Details in Fehlerbedingungen zur Verfügung. Das wird im CORBA-definierten Standardausnahme-Satz und dem mit der Durchführung spezifischen verlängerten Ausnahme-Satz definiert. Durch die Ausnahmen kann die Anwendung bestimmen, ob ein Anruf aus Gründen wie "Kleines Problem gescheitert hat, so versuchen Sie noch einmal" "Ist der Server tot" oder "Die Verweisung keinen Sinn hat." Die allgemeine Regel ist: Nicht Empfang einer Ausnahme bedeutet, dass der Methode-Anruf erfolgreich vollendet hat. Das ist eine sehr starke Designeigenschaft.

Kompression

:CORBA stellt seine Daten in einer binären Form auf und unterstützt Kompression. IONA, Beheben Sie ES, und Telefónica haben an einer Erweiterung auf den CORBA Standard gearbeitet, der Kompression liefert. Diese Erweiterung wird ZIOP genannt, und das ist jetzt ein formeller OMG Standard.

Probleme und Kritik

Während CORBA versprochen hat, viel in der Weise zu liefern, wie Code geschrieben wurde und Software gebaut, ist es das Thema von viel Kritik gewesen.

Einige der Misserfolge waren wegen der Durchführungen und des Prozesses, durch den CORBA als ein Standard geschaffen wurde, widerspiegeln andere Probleme in der Politik und dem Geschäft, einen Softwarestandard durchzuführen. Diese Probleme haben zu einem bedeutenden Niedergang im CORBA-Gebrauch und der Adoption in neuen Projekten und Gebieten geführt.

Durchführungsinkompatibilitäten

:The-Initiale-Spezifizierungen von CORBA haben nur den IDL, nicht das Format auf der Leitung definiert. Das hat bedeutet, dass Quellcode-Vereinbarkeit am besten war, der seit mehreren Jahren verfügbar war. Mit CORBA 2 und später ist dieses Problem aufgelöst worden.

Positionsdurchsichtigkeit

Der:CORBA'S-Begriff der Positionsdurchsichtigkeit ist kritisiert worden; d. h. das wendet ein, dass das Wohnen in demselben Adressraum und zugänglich mit einem einfachen Funktionsanruf dasselbe als Gegenstände behandelt wird, die anderswohin (verschiedene Prozesse auf derselben Maschine oder verschiedenen Maschinen) wohnen. Dieser Begriff wird rissig gemacht, wenn man verlangt, dass alle lokalen Zugänge so kompliziert werden wie das kompliziertste entfernte Drehbuch. Jedoch legt CORBA keine Beschränkung der Kompliziertheit der Anrufe. Viele Durchführungen sorgen für rekursive Semantik des Fadens/Verbindung. D. h. Obj A nennt Obj B, der der Reihe nach Obj Einen Rücken vor dem Zurückbringen nennt.

Design und Prozess-Mängel

Die:The-Entwicklung des CORBA Standards wird auch häufig für seinen Prozess des Designs vom Komitee zitiert. Es gab keinen Prozess, um zwischen widerstreitenden Vorschlägen Schiedsrichter zu sein oder sich für die Hierarchie von Problemen zu entscheiden, anzupacken. So wurde der Standard durch die Einnahme einer Vereinigung der Eigenschaften in allen Vorschlägen ohne Rücksicht auf ihre Kohärenz geschaffen. Das hat die Spezifizierung sehr kompliziert, teuer gemacht, um völlig und häufig zweideutig durchzuführen.

:A-Designkomitee zusammengesetzt größtenteils aus Verkäufern der Standarddurchführung, hat ein Abschreckungsmittel geschaffen, um einen umfassenden Standard zu machen. Das war, weil Standards und Zwischenfunktionsfähigkeit Konkurrenz vergrößert haben und die Bewegung von Kunden zwischen alternativen Durchführungen erleichtert haben. Das hat zu viel politischem Kämpfen innerhalb des Komitees und häufigen Ausgaben von Revisionen des CORBA Standards geführt, die unmöglich waren, ohne Eigentumserweiterungen zu verwenden.

Probleme mit Durchführungen

:Through seine Geschichte, CORBA ist durch Mängel in seinen Durchführungen geplagt worden. Häufig hat es wenige Durchführungen gegeben, die alle kritischen Elemente der Spezifizierung vergleichen, und vorhandene Durchführungen waren unvollständig oder unzulänglich. Da es keine Voraussetzungen gab, um eine Bezugsdurchführung zur Verfügung zu stellen, waren Mitglieder frei, Eigenschaften vorzuschlagen, die für die Nützlichkeit oder implementability nie geprüft wurden. Durchführungen wurden weiter durch die allgemeine Tendenz des Standards gehindert, und die übliche Praxis des Vergleichens durch das Übernehmen der Summe aller vorgelegten Vorschläge wortreich zu sein, die häufig APIs geschaffen haben, die zusammenhanglos und schwierig waren zu verwenden, selbst wenn die individuellen Vorschläge vollkommen angemessen waren.

:Working-Durchführungen von CORBA sind sehr schwierig gewesen, in der Vergangenheit zu erwerben, aber sind jetzt viel leichter zu finden. Die SONNE Java SDK kommt mit CORBA bereits. Wie man gefunden hat, sind einige schlecht bestimmte Durchführungen kompliziert, langsam, unvereinbar und unvollständig gewesen. Kommerzielle Versionen können sehr teuer sein. Das hat sich bedeutsam als kommerziell - Hobbyist - und regierungsgeförderte hohe Qualität geändert freie Durchführungen sind verfügbar geworden.

Brandmauern

:CORBA (genauer, IIOP) verwendet TCP/IP rohe Verbindungen, um Daten zu übersenden. Jedoch, wenn der Kunde hinter einer sehr einschränkenden Brandmauer oder durchsichtiger Proxyserver-Umgebung ist, die nur HTTP Verbindungen zur Außenseite durch den Hafen 80 erlaubt, kann Kommunikation unmöglich sein, wenn der fragliche Proxyserver den HTTP nicht erlaubt, VERBINDEN Methode oder SOCKE-Verbindungen ebenso. Auf einmal war es sogar schwierig, Durchführungen zu zwingen, einen einzelnen Standardhafen zu verwenden - sie haben dazu geneigt, vielfache zufällige Häfen stattdessen aufzupicken. Bezüglich heute haben aktuelle KUGELN wirklich diese Mängel. Wegen solcher Schwierigkeiten haben einige Benutzer zunehmenden Gebrauch von Webdiensten statt CORBA gemacht. Diese teilen dem Verwenden XML/SOAP über den Hafen 80 mit, der normalerweise offen gelassen oder durch eine HTTP Vertretung innerhalb der Organisation für das Web durchgesickert wird, das über HTTP durchsucht. Neue CORBA Durchführungen unterstützen aber SSL und können leicht konfiguriert werden, um an einem einzelnen Hafen zu arbeiten. Die meisten populären offenen Quell-KUGELN, wie TAO und JacORB unterstützen auch bidirektionalen GIOP, der CORBA den Vorteil des im Stande Seins gibt, Rückrufaktionskommunikation aber nicht die abstimmende Annäherungseigenschaft von Webdienst-Durchführungen zu verwenden. Außerdem sind CORBA-freundlichere Brandmauern jetzt gewerblich verfügbar.

Siehe auch

CORBA

  • Diener
  • Verkörperung

Softwaretechnik

Teilbasierte Softwaretechnologien

  • Freedesktop.org öffnet D-Busstrom böses Sprachkreuz-Plattform-Gegenstand-Modell
  • ZWERG BONOBO hat ZWERG-Kreuz-Sprachgegenstand-Modell missbilligt
  • KDE DCOP hat Zwischenprozess von KDE und Software componentry Nachrichtensystem missbilligt
  • KDE KParts KDE Teilfachwerk
  • Component Object Model (COM) Windows von Microsoft durchquert nur Sprachgegenstand-Modell
  • DCOM Verteilter COM, Erweiterung, die COM macht, der in Netzen arbeitsfähig
ist

Sprache, die bindet

  • Sprache, die bindet
  • Auslandsfunktionsschnittstelle
  • Das Benennen der Tagung
  • Name, der zerfleischt
  • Anwendung, Schnittstelle - API programmierend
  • Anwendung binäre Schnittstelle - ABI
  • Vergleich der Anwendung virtuelle Maschinen
  • SCHLUCK opensource automatische Schnittstellen bindings Generator von vielen Sprachen bis viele Sprachen

Weiterführende Literatur


Source is a modification of the Wikipedia article Common Object Request Broker Architecture, licensed under CC-BY-SA. Full list of contributors here.
Java entfernte Methode-Beschwörung / RMI
Impressum & Datenschutz