Integracja: Java kontra .Net

Integracja z istniejącymi systemami

W przypadku J2EE integracja z istniejącymi rozwiązaniami (legacy systems) jest możliwa przy wykorzystaniu mechanizmów: JDBC - do komunikacji z bazami danych, JMS - do wymiany komunikatów, standardowych protokołów komunikacyjnych (CORBA/IIOP, RMI, SOAP), za pośrednictwem interfejsu JNI, pozwalającego na użycie istniejących bibliotek skompilowanych do postaci kodu maszynowego, oraz przy wykorzystaniu adapterów JCA (J2EE Connector Architecture). Szczególnie interesującym mechanizmem jest specyfikacja JCA, która pozwala na tworzenie adapterów do różnych systemów (np. SAP R/3, Baan itp.), podobnie jak JDBC.

Integrację technologii Microsoft .Net można przeprowadzić na wiele sposobów, m.in. (1) za pośrednictwem mechanizmu dostępu do źródeł danych ADO .Net, (2) za pomocą mechanizmów kolejkowania komunikatów, np. MSMQ, (3) przy użyciu standardowych "protokołów integracyjnych", m.in. COM+ i DCOM, CORBA i IIOP, SOAP. Można też posłużyć się (4) produktem Host Integration Server 2000, który działa na podobnej zasadzie jak adaptery JCA. Host Integration Server 2000 jest produktem firmy Microsoft, którego jednak nie można samodzielnie rozszerzyć o możliwość integracji z każdą platformą.

Niezależnie od wyboru platformy można zawsze zastosować uniwersalny sposób integracji różnych aplikacji z użyciem technologii usług sieciowych (web services), implementacji J2EE, i Microsoft .Net. Narzędzia do tworzenia i korzystania z usług sieciowych mają co prawda, zwłaszcza w przypadku J2EE

pewne niedostatki (JAXP), jednak można wykorzystać liczne biblioteki wspomagające ten proces, dostarczane przez firmy trzecie.

Przeróbki systemów polegające na dostosowaniu ich do najnowszych specyfikacji J2EE nie powinny nastręczać problemów. W przypadku platformy Microsoft .Net sytuacja jest nieco gorsza. Użycie nowego środowiska uruchomieniowego CLR wymusza zmianę typów danych we wszystkich językach programowania, kod bazujący na COM+ CLR (.Net Managed Components) wymaga dość znaczących zmian w stosunku do starszego modelu COM+ (związanych z unikaniem stosowania wskaźników i rejestru Windows, odśmiecaniem pamięci itp.). Z drugiej strony kod niewykorzystujący CLR (non-managed code) nie może używać wielu mechanizmów dostępnych w technologii Microsoft .Net. Ponadto istotnie się zmienił sposób tworzenia interfejsów opartych na stronach WWW. Oznacza to, że przeróbka systemów do architektury Microsoft .Net może być czasochłonna i kosztowna.

Perspektywy rozwoju

Mimo że J2EE jest rozwiązaniem promowanym na rynku przez wszystkich dostawców tej technologii (co najmniej kilkadziesiąt znanych i renomowanych firm), to możliwości marketingowe, jakimi dysponuje Microsoft, promujący Microsoft .Net, są dziś zdecydowanie większe.

Obecnie rozwój platformy Java przebiega wolniej niż konkurencyjnej technologii Microsoft. Wpływają na to dwa czynniki: Microsoft samodzielnie zarządza badaniami i rozwojem, podczas gdy wielu dostawców implementacji J2EE w tym samym czasie pracuje nad rozwiązaniem tych samych problemów, często bez koordynacji, co wprowadza pewną redundancję. Ponadto ze względów organizacyjnych prace nad uzgodnieniem standardu J2EE w dużej grupie partycypujących w nich firm przebiegają wolniej niż w przypadku rozwoju platformy Microsoft .Net.

Jednak to, co wpływa na szybszy rozwój platformy Microsoft .Net, może okazać się również ślepym zaułkiem w przyszłości - może się przecież zdarzyć, że z nieznanych dzisiaj i mało prawdopodobnych powodów, w przyszłości, Microsoft zbojkotuje zatwierdzone standardy. Trudno dziś przesądzać o kierunku rozwoju platformy Microsoftu w dłuższym okresie. Z drugiej zaś strony trudno wykluczyć (biorąc pod uwagę możliwości finansowe Microsoftu) inkorporację przez tę firmę praktycznie dowolnych narzędzi i technologii w przyszłości. Nie należy jednak w najbliższym czasie oczekiwać dominacji technologii Microsoft .Net na platformach niewindowsowych. Bardziej prawdopodobne jest to, że gigant z Redmond użyje wszystkich metod, aby nadal upowszechniać wykorzystanie systemów Windows, starając się marginalizować rynkowe znaczenie pozostałych systemów operacyjnych.

Dojrzałość technologiczna

Specyfikacja J2EE, podobnie jak większość najważniejszych jej implementacji, jest obecna na rynku od kilku lat. Część mechanizmów dostępnych w najnowszej specyfikacji (jak SOAP i usługi sieciowe, JCA czy MDB) jest nowością, jednak technologia J2EE jest platformą stabilną i sprawdzoną, która ewoluuje, zaspokajając rosnące potrzeby programistów i projektantów systemów informatycznych.

Część mechanizmów wchodzących w skład Microsoft .Net jest oparta na zadomowionej na rynku architekturze Microsoft DNA (Distributed interNet Applications). Większość mechanizmów, które nie są całkowicie nowe, poddano zmianom zarówno implementacyjnym, jak i specyfikacyjnym. Mimo to można pokusić się o stwierdzenie, że platforma technologiczna Microsoft .Net jest platformą dojrzałą i dobrze odbieraną na rynku.


TOP 200