Mocarz na rozdrożu

Niezależność to zaleta, ale bywa, że nadmiar zalet doskwiera. W takiej "bardzo dobrej, acz nie całkiem korzystnej" sytuacji jest dziś BEA Systems.

Niezależność to zaleta, ale bywa, że nadmiar zalet doskwiera. W takiej "bardzo dobrej, acz nie całkiem korzystnej" sytuacji jest dziś BEA Systems.

Jak wszystkie firmy dostarczające infrastrukturę informatyczną dla przedsiębiorstw BEA Systems opowiada swoją własną "historię na temat SOA". Według Martina Percivala, "technicznego ewangelisty" w BEA Systems, SOA jest warstwą komunikacyjną w ramach abstrakcyjnej architektury, dzięki której klient i dostawca mogą w miarę łatwo dojść do porozumienia w sprawie założeń systemu. W podobny sposób Percival patrzy na standardy. Uważa, że jeżeli mamy aplikację napisaną zgodnie ze sztuką wykorzystującą EJB czy szerzej - stos J2EE, to każdy programista znający szybciej jest w stanie zrozumieć kod, niż gdyby wszystkie rozwiązania były pisane według indywidualnych koncepcji.

Á propos otwartości

Martin Percival

Martin Percival

Pytany o model rozwoju bibliotek w środowisku Percival twierdzi, że dorobek środowiska open source sprawdza się dobrze w małych projektach, które są w stanie zapanować nad modyfikacjami i ogarniają to, które elementy API rzeczywiście są wykorzystywane, a które nie. W takich projektach dopuszczalne jest uaktualnienie wersji bez zachowania pełnej wstecznej kompatybilności lub nie do końca przetestowanej. Według niego, w dużych projektach, w których formalizacja jest koniecznością, taki "naturalny" sposób pracy jest nie do zaakceptowania.

W przypadku rozwiązań krytycznych dla przedsiębiorstw, najpierw trzeba dokładnie sprawdzić, czy dana zmiana nie spowoduje zakłócenia w funkcjonowaniu systemu. Dodatkowo, aktualizacja wersji, czy nawet "poprawka architektoniczna" kodu wymaga odpowiedniej alokacji zasobów i w konsekwencji trzeba przekonać "właściciela biznesowego", aby finansował projekt, który nie wnosi nic poza większym bezpieczeństwem i/lub wydajnością (w tym ostatnim przypadku jest nadzieja na zrozumienie). Stąd właśnie tak wiele instalacji wykorzystuje 10-letnie (a bywa, że starsze) systemy operacyjne, i to dlatego nie używa się "najnowszych" bibliotek. Jednocześnie jednak Percival przyznaje, że w niektórych przypadkach cała infrastruktura EJB jest "zbyt ciężka". To jeden z powodów, dla których BEA wspiera projekty open source, mające na celu usprawnienie tworzenia aplikacji określonego rodzaju.

BEA Systems chce, by środowisko open source i klienci wiedzieli, która wersja określonego frameworku jest przez firmę wspierana i na jakiej podstawie - głównie chodzi właśnie o wykonane testy na zgodność z resztą infrastruktury. Ogłaszając np., że obecnie wspierany jest Spring w wersji 1.2.5 (niedługo prawdopodobnie 2.0), BEA gwarantuje, że ta konkretna wersja działa prawidłowo itp. Programista nie może użyć najnowszej wersji danego pakietu, ale za to jego szef ma pewność, że konkretna firma bierze odpowiedzialność za prawidłowe działanie fragmentu kodu.

To nie jedyna inicjatywa BEA Systems w kontekście open source. Szykowana jest np. modularyzacja usług dostępnych za pośrednictwem serwera WebLogic, tak by mogły działać niezależnie także z frameworkami open source. Dzięki temu możliwe ma być np. dodanie obsługi JDBC pooling czy usług JMS do aplikacji, która w innym miejscu wykorzystuje utrwalanie stanu za pomocą Hibernate czy stosuje wspomniany framework Spring. Pełna modularyzacja ma być dostępna w WebLogic Server 10. Na razie trzeba wdrażać pełną infrastrukturę WebLogic, nawet jeśli będzie się wykorzystywać tylko niektóre jej elementy. BEA zapowiada też, że wprowadzi do oferty moduł pozwalający zarządzać środowiskiem serwletowym Tomcat poprzez konsolę administracyjną WebLogic.

WebLogic nie tylko dla J2EE

Ciekawym pomysłem jest dostarczenie rozwiązania pozwalającego działać skryptom ColdFusion na platformie WebLogic. Licencjonowane (od New Atlanta) oprogramowanie BlueDragon pozwala, by skrypt CFML (ColdFusion Markup Language) mógł być uruchamiany bezpośrednio na serwerze J2EE. W ten sposób kod bez zmian może działać na WebLogic z mechanizmami klastrowania, odpowiednią skalowalnością itp. ColdFusion ma wiele ciekawych mechanizmów pozwalających np. na błyskawiczne tworzenie aplikacji bazodanowych. Może nie mają one solidnej architektury, ale za to powstają szybko.

Produktowe kredo

Strategia BEA Systems na dziś zakłada utrzymanie pozycji "niezależnego" dostawcy infrastruktury warstwy pośredniej i bardzo ostrożne wprowadzanie nowych funkcjonalności do serwerów. Firma nie ma w oficjalnych planach rozwijania własnego serwera baz danych, mimo że taka funkcjonalność bardzo przydałaby się w warstwie DataServices w AquaLogic. BEA woli jednak utrzymywać interfejsy do serwerów baz danych rozwijanych na zasadach open source. W portfolio BEA Systems brakuje także rozwiązania raportującego, ale i tu BEA nie zamierza niczego zmieniać, choć przejęć nie można wykluczyć, bo Liquid Data wymaga takiej funkcjonalności.

W przypadku warstwy utrwalającej obiekty Java pojawiło się ostatnio sporo ciekawych rozwiązań. Oracle promuje komercyjny pakiet narzędziowy TopLink, JBoss (teraz Red Hat) technologię Hibernate. Percival twierdzi, że rozwijany przez BEA motor Kodo będzie dostępny jako rozwiązanie open source. Nie będzie to jednak implementacja Java Data Object, ale otwarta wersja mapowania obiektowo-relacyjnego zgodnego z EJB 3.0. Kodo będzie miało nazwę Open JPA (Java Persistance API). Taki ruch udał się już w przypadku framework Beehevie, który najpierw został wydzielony z WebLogic Studio, by następnie pod egidą Apache Foundation przekształcić się w otwarty standard, zaaprobowany później w ramach JCP.

Drugi filar oferty BEA, czyli rozwiązania wokół serwera transakcyjnego Tuxedo nie tracą na popularności. WebLogic wprawdzie dogania Tuxedo pod względem wydajności wykonywania pojedynczych operacji, jednak pod dużymi obciążeniami transakcyjnymi Tuxedo nadal jest wyraźnie na czele. Dla tych, którzy tego właśnie potrzebują, interesujący jest fakt, że od dłuższego czasu z funkcjonalności Tuxedo można korzystać przez API dla Web Services. BEA wspólnie z HP będzie oferować WebLogic RFID - rozwiązanie przeznaczone do tworzenia systemów zarządzania aplikacjami wykorzystującymi metki RFID. Sam model działania takich systemów jest wymagający pod względem wydajności I/O, a i danych jest sporo. To wręcz idealne zastosowanie dla Tuxedo, ale fakt, że rozwiązanie opiera się jednak na WebLogic, świadczy o dosyć dużym "zaufaniu" producenta do skalowalności WebLogic.

Warto też wspomnieć, że wraz z finalizacją zakupu w lutym br. PlumTree w ofercie BEA pojawił się dodatkowy serwer portalowy oraz narzędzie zintegrowane z AquaLogic Interaction Process (mechanizmem realizującym workflow z uwzględnieniem "czynnika ludzkiego" na platformie BEA). Dzięki PlumTree to narzędzie może wspierać równocześnie nie tylko serwery aplikacyjne Javy, ale także całą technologię Microsoft .Net (co może być bardzo przydatne przy budowie rzeczywistych środowisk Enterprise Service Bus).

Z kolei na początku marca br. BEA przejęła Fuego - firmę, która oferuje narzędzie do zarządzania procesami działającego w środowisku WebLogic. Także ten produkt ma się znaleźć w ramach AquaLogic Business Service Interaction. W tym samym czasie pokazany został produkt pozwalający "osadzić" portal SharePoint w portalu BEA. Zestaw narzędzi AquaLogic Interaction SharePoint Console pozwala "podłączyć się" do usługi Microsoft Windows SharePoint Services z poziomu portalu AquaLogic. AquaLogic Data Services 2.1 (integracja danych w ramach ESB) pozwala na bezpośredni dostęp do portalu przez ADO.Net. Dotychczas komunikacja z tą platformą była możliwa tylko za pośrednictwem Web Services.

W połowie roku BEA chce zaoferować moduł pozwalający obudować aplikacje działające .Net w ramach AquaLogic Interaction lub WebLogic Portal. Mechanizm ten ma obsługiwać ASP .Net 2.0, Visual Studio 2005 i wykorzystywać protokół Web Services for Remote Portlets (WSRP), który pozwala pokazać w portalu portlety działające de facto na zdalnym serwerze.

Czy jakość wystarczy?

BEA ma wśród klientów opinię rzeczywiście niezależnego dostawcy platform Java. Zapewne dlatego, że nie ma ani własnego systemu operacyjnego, ani bazy danych i z konieczności musi współpracować z odpowiednimi firmami. W przypadku gdy firma wybiera serwer aplikacyjny, oferta BEA jest całkiem ciekawą propozycją.

Jednak coraz częściej klient woli kupić aplikację, bazę danych i system od jednego dostawcy. Powodem są upusty za hurtowy zakup u producenta lub u jego partnera, który będzie na takiej platformie budować rozwiązanie branżowe. W takim scenariuszu miejsce dla niezależnego dostawcy jednej warstwy infrastruktury gwałtownie się kurczy, tym bardziej, że z drugiej strony podgryzają go rozwiązania całkowicie darmowe i znane są przypadki migracji z WebLogic do JBoss.

Na szczęście dla BEA migracje w drugą stronę również się zdarzają. Przychody z licencjonowania WebLogic rosną rocznie o ok. 12%. Co więcej, dzięki częściowej kompatybilności z rozwiązaniami open source WebLogic zyskał przychylne opinie ze strony tego środowiska (np. założycieli Spring) i sporo nagród za "najlepszy produkt", w tym od tygodnika InfoWorld, który ma dosyć sformalizowany proces oceny rozwiązań.

Produkcyjna platforma czasu rzeczywistego

Dostępna jest już produkcyjna wersja maszyny JRockit (testy wersji beta były pokazane na BeaWorld 2005) zapewnia "przewidywalny" mechanizm automatycznego odśmiecania. W efekcie cała maszyna wirtualna Javy zachowuje się w sposób deterministyczny i pozwala konstruować systemy czasu rzeczywistego. Platforma BEA WebLogic Real Time to kombinacja JRockit Java Virtual Machine (JVM), WebLogic Server 9.1 i Spring Framework - "lekkiego" framworku aplikacyjnego. Warto tu dodać, że BEA zaczęła oferować JRockit nie tylko na platformę x86, ale także na procesory SPARC-a (SUN). Percival podkreślił, że od pewnego czasu optymalizacje w tej maszynie nie są już tak silnie powiązane z platformą sprzętową - a raczej dotyczą kluczowych algorytmów.


TOP 200