2011-01-12 35 views

Odpowiedz

7

Oni nie są tak popularne jak dzisiaj nowoczesnej architekturze Java lub .NET zazwyczaj robić tego typu rzeczy za pomocą HTTP oparty internetowych usług.

Jednak wiele systemów korzysta z tych architektur i są one bardziej wydajne niż architektury usług internetowych, ponieważ zwykle używają protokołów komunikacyjnych opartych na protokole UDP. Podczas gdy te architektury są nadal w użyciu, w praktyce są one w większości przypadków relegowane do systemów rynkowych i niszowych.

W niektórych przypadkach RMI jest używany poza sceną na serwerach aplikacji Java. Na przykład kontener bean może zostać przeniesiony na oddzielny serwer z serwera aplikacji WWW. Serwery aplikacji Java sprawiają, że jest to dość przejrzyste - kontener bean może znajdować się na tym samym serwerze za pośrednictwem połączeń lokalnych lub na innym serwerze za pośrednictwem RMI. Dzięki odpowiedniej architekturze aplikacji jest to tylko element konfiguracji, a serwer aplikacji może wykonywać wszystkie funkcje zdalnego dostępu za kulisami.

Model DCOM jest używany podobnie do aplikacji COM +. Jednak COM + jest w dużej mierze starszą architekturą w systemie Windows. Był popularny w VB6, ale jest prawie przestarzały.

Firma CORBA odznaczała się nieco zasłużoną reputacją ze względu na złożoność projektu. Pojawia się jednak w wielu nieoczekiwanych miejscach. Na przykład wcześniejsze wersje GNOME wykorzystywały model komponentu oparty na CORBA o nazwie Bonobo, ale został on w dużej mierze zastąpiony przez D-BUS w aktualnych wersjach. Poza starszą infrastrukturą systemową ma kilka rynków niszowych (głównie aplikacje o małym opóźnieniu), które korzystają z jego cech charakterystycznych, takich jak mechanizm transportu oparty na protokole UDP.

+3

AFAIK CORBA IIOP używa TCP, a nie UDP. –

+0

Wiele implementacji CORBA pozwala na zamianę transportu z domyślnego TCP. Dzięki temu możesz korzystać z UDP, pamięci współdzielonej lub innego mechanizmu specyficznego dla systemu operacyjnego jako podstawowego transportu. Jednym z powodów, dla których CORBA jest nadal używana, jest to, że ma zarówno model obiektowy, jak i binarny transport over-the-wire, umożliwiając efektywność, której nie uzyskuje się dzięki usłudze sieciowej. –

+0

@Brian - Byłoby interesujące * które * implementacje CORBA pozwalają przełączać transport z TCP. W rzeczywistości, właśnie dodałem pytanie dotyczące tego: http://stackoverflow.com/questions/4886243/what-transport-layers-other-than-tcp-s-supported-by-existing-corba-implementati –

1

Java EE EJB nadal korzystać RMI i CORBA jako protokołu drutu.

Być może to jest jeden z powodów, dlaczego HTTP Web Services być one oparte na XML-RPC , SOAP lub REST są wznoszących. Prosta i otwarta zazwyczaj wygrywa.