Java i .Net w drodze do bezpiecznych systemów

Wydajność

Java i .Net w drodze do bezpiecznych systemów

Badanie wykonalności w .Net

Microsoft zlecił opracowanie kilku testów do porównania wydajności J2EE i .Net. Podstawowy test Nile jest próbą stworzenia metodologii porównywania serwerów aplikacyjnych. Nile@Bench bada zastosowanie serwera do zasilania aplikacji e-commerce i jest wykorzystywany w testach Doculabs czy eWeek.

Innym testem jest implementacja wzorcowego sklepu internetowego Java Pet Store. Nie było to rozwiązanie przeznaczone do analiz wydajnościowych, a raczej przykład "dobrego stylu" programowania. Wynik skalowalności i prędkości działania jest mniej istotny niż fakt, że rozwiązanie w C# z wykorzystaniem .Net Framework wymagało cztery razy mniej linii kodu niż to napisane w Javie.

Oczywiście, wyniki ogłoszone przez Microsoft świadczą, że .Net działa znacznie szybciej niż analogiczne rozwiązanie w Javie. W odpowiedzi producenci serwerów aplikacyjnych Java szybko opublikowali własne wyniki, które świadczą o czymś zupełnie przeciwnym. Szkoda, że Oracle odmówił udziału w niezależnych testach VeriSign, a co więcej, nie udostępnił pełnej specyfikacji zoptymalizowanego Java Pet Store (dostępne są w zasadzie tylko wyniki).

Należy podkreślić, że w Javie i J2EE są dostępne technologie, które pozwalają łatwiej pisać złożone systemy. Kontener EJB może przechowywać stan zdalnego obiektu. Łatwo można zachować sesję czy utrzymać sztywne połączenie z danymi. Obciąża to serwer aplikacyjny, ale koszt sprzętu przy tego typu aplikacjach nie stanowi zazwyczaj ułamka wartości całego rozwiązania.

W .Net architektura wymusza takie pisanie aplikacji, by program był skalowalny i minimalnie korzystał z zasobów serwera. W J2EE są to rzeczy gotowe, dostępne automatycznie wraz z serwerem aplikacyjnym, zgodnym z danym standardem J2EE.

James Gosling, twórca Javy, zapytany na konferencji Borlanda w maju 2002 r., jak radzić sobie ze złożonością J2EE, odpowiedział: "Należy to ignorować. Złożoność J2EE jest rzeczywiście duża...Większość ludzi w ogóle nie potrzebuje J2EE - JSP i API dostępowe do bazy danych w zupełności wystarczą". Można to odnieść również do .Net - obie technologie są tak rozbudowane, że czasami koszt pełnego ich poznania może być zbyt wysoki w stosunku do osiągniętych korzyści.


TOP 200