Upraszczanie świata

Ciekawym pomysłem jest zastosowanie kompilacji przy użyciu wielu gotowych wzorców. Generując kod pośredni (tzw. byte-kod), kompilator Javy posługuje się zwykle standardowymi sekwencjami rozkazów. JRockit natomiast posługuje się gotowymi sekwencjami-wzorcami, charakterystycznymi dla danej platformy sprzętowej. Co ważniejsze, każdej platformie można przypisać kilka różnych sekwencji, a to umożliwia dostosowanie procesu kompilacji do konfiguracji czy bieżącego stanu maszyny wirtualnej i serwera. Potrzeba wykorzystania takiej funkcjonalności może pojawić się w przypadku konieczności synchronizacji wielu procesów zdefiniowanych w kodzie Javy, np. przy uruchamianiu rozbudowanych komponentów biznesowych współpracujących w ramach rozbudowanego procesu wyższego poziomu.

Opisywana tu architektura pozwala znacząco przyspieszyć jeden z najbardziej krytycznych procesów dla wydajności aplikacji Java. Taka adaptująca się aplikacja może np. uzależnić sposób kompilacji kodu od dostępnych zasobów: mocy obliczeniowej czy pamięci. Warto podkreślić, że JRockit nie optymalizuje kodu w podziale na klasy czy funkcje. Jest optymalizowana tzw. ścieżka wykonania, w efekcie czego, gdy ścieżka działania programu znacznie się zmieni, następuje jego częściowa rekompilacja. Twórcy JRockit przyznają, że optymalizacja "w locie" jest jeszcze mało przetestowanym rozwiązaniem.

Dobre wyniki testów muszą być zweryfikowane wdrożeniami. Niemniej koncepcja będąca jej podstawą nie pozostanie zapewne bez wpływu na kształt innych maszyn wirtualnych.

Upraszczanie świata

Bea postawiła sobie za cel maksymalne uproszczenie pracy programistom. Stąd właśnie biorą się pomysły na "lekkie kontrolki" w Javie czy wszelkiego rodzaju mechanizmy automatycznie "generujące" szkielet EJB po wyborze kilku opcji w kreatorze. Przedstawiciele Bea wprost mówią, że do pisania wizualnych komponentów EJB należy używać narzędzi Borland JBuilder, natomiast narzędzia Bea Workshop powinny być używane głównie do składania całej aplikacji i modelowania procesów (w środowisku WebLogic) i to przy założeniu, że dużą część kodu i tak trzeba będzie napisać ręcznie i dopiero potem osadzić wewnątrz aplikacji w Workshop.

Takie podejście pozwala na podział programistów Javy - na tych, którzy znają niuanse J2EE/EJB, i na tych, którzy potrafią "złożyć" aplikację i mają np. świadomość, jak funkcjonuje pełen proces biznesowy. Standard EJB jest wyjątkowo skomplikowany i na obecnym etapie rozwoju tej technologii trzeba umieć znaleźć złoty środek. Bea jest przy tym w o tyle dobrej sytuacji, że posiada w ofercie stabilne i wygodne w użyciu środowisko IDE oraz bardzo wydajną maszynę wirtualną, której osiągi mogą eliminować narzut wynikający z nie do końca optymalnego kodu.

Wygoda jest bez wątpienia jedną z najskuteczniejszych broni w zdobywaniu poparcia w środowisku programistów. Ceną za wygodę jest związanie się z platformą Bea WebLogic.

Narzędzia w promocji

Na konferencji eWorld Bea Systems przedstawiła nowe zasady licencjonowania swoich produktów. Firma wyodrębniła trzy poziomy współpracy dla wszystkich produktów jednocześnie. W ramach darmowego programu Trial Edition programista otrzymuje pełną platformę WebLogic, m.in. WebLogic Server, Portal, Integration, JRockit i Workshop, która może być używana do komercyjnej produkcji oprogramowania. Oczywiście są też ograniczenia: w tej edycji do serwera WebLogic można podłączyć maksymalnie pięciu klientów o różnych IP, a liczba jednoczesnych połączeń do bazy danych nie może przekroczyć 15. Ponadto licencja ważna jest jedynie rok. Wersje płatne nie mają czasowych licencji. Najdroższa edycja (4659 USD) zawiera JBuilder w wersji Web Logic Edition. W wersjach płatnych mają być także dostępne specjalne plany serwisowe. Więcej informacji można znaleźć w Internecie pod adresem: http://dev2dev.bea.com


TOP 200