Czerwona rewolucja

Novell uważa Mono za absolutnie kluczowy projekt, który z jednej strony ma ułatwić programistom Windows tworzenie aplikacji działających na platformie Linux, z drugiej zaś, zapewnia wygodny mechanizm migracyjny. W wielu prezentacjach przewijało się hasło: "Rozwijaj na Windows, instaluj na systemie Linux". I rzeczywiście, jeśli pisząc aplikacje dla środowiska .Net, powstrzymać się od wykorzystania funkcji niezaimplementowanych w Mono, aplikacje ASP .Net można przenosić do Apache, jedynie kopiując odpowiednie pliki. W przypadku aplikacji okienkowych jest to trochę bardziej skomplikowane, ale również możliwe.

Z wypowiedzi przedstawicieli Novella wynika, że w głośnym projekcie wdrożenia Linuxa w urzędach w Monachium Mono zostanie wykorzystane na skalę masową - uruchomione będzie na 350 serwerach obsługujących blisko 150 tys. użytkowników. Nawet na własne potrzeby Novell tworzy narzędzia oparte na Mono. Przykładem może być ZENworks dla Linuxa czy pakiet F-Stop, który będzie aplikacją biurkową do katalogowania zdjęć.

Novell zdecydował się na udostępnienie na licencji GPL oprogramowania iFolder 3.0 (mechanizmu do udostępniania plików w trybie peer-to-peer). Tu właśnie przydało się Mono - zarówno w Windows, jak i na Linux aplikacja działa prawie tak samo. iFolder integruje się z programem Explorator Windows i przeglądarką Konqueror w Linux. W obu przypadkach do komunikacji jest wykorzystywany mechanizm .Net Remoting.

Po przejęciu Ximian i SuSE Novell ma najwięcej inżynierów zaangażowanych w projekty związane z Linuxem czy ogólnie z open source spośród wszystkich firm komercyjnych. Firma działa na wielu frontach naraz: zajmuje się jądrem systemu, intensywnie rozwija środowiska okienkowe KDE i GNOME oraz aplikacje klienckie, np. Evolution. Wspiera także projekty OpenOffice i Mozilla.

W celu wsparcia inicjatyw open source Novell stworzył portal forge.novell.com. Działają na nim usługi pozwalające automatycznie skompilować oprogramowanie, częściowo je przetestować, a nawet umieścić w paczkach dystrybucyjnych. Jest tu wykorzystywana - opracowana jeszcze przez Ximian - koncepcja "klatek" (jails) w systemie plików, w których odbywają się operacje związane z przygotowaniem instalacji dla danej platformy i dystrybucji.

exteNd i integracja

Jednym z ciekawszych tematów konferencji były prezentacje poświęcone exteNd - rozwiązaniom/usługom mogącym działać w środowisku dowolnego serwera aplikacyjnego zgodnego z J2EE.

Wśród narzędzi exteNd szczególnie interesująco prezentuje się exteNd Composer, pozwalający łączyć poszczególne "zadania" w jeden proces biznesowy. Rozwiązanie składa się z dwóch elementów: serwera, który przesyła dane w formacie XML, oraz specjalnego środowiska do projektowania zasad przepływu informacji. Analityk biznesowy (nie: programista) tworzy diagram przepływu, serwer zaś uruchamia go, zarządzając pulami obiektów, czasem ich "życia", obsługą pamięci podręcznej itp. Jednocześnie można definiować procesy biznesowe i odwzorowywać je w nawigacji i przepływie danych w portalu.

Główne prace nad kolejnymi wersjami exteNd są związane z integracją wewnętrznych rozwiązań Novella, tak aby z punktu widzenia platformy aplikacyjnej były obsługiwane w podobny sposób. Na razie Novell nie ma planów stworzenia własnego środowiska IDE. Firma opiera się na rozwiązaniach Eclipse, do których dostosowała własne narzędzia.

Obecnie Novell nie zamierza dodać obsługi Java Server Faces. Przedstawiciele przekonywali, że portlety (standardowe składniki portali pisanych za pomocą Javy) są znacznie wygodniejszymi mechanizmami do bezkodowego tworzenia elementów wizualnych. Do obsługi formatek proponują rozwiązania oparte na XForms (standard uniwersalnych "formatek", które można uruchamiać na XHTML, albo w interfejsie Java Swing).

Novell chce wykorzystać swoją mocną pozycję w dziedzinie systemów identyfikacji i uwierzytelniania do uzyskania roli lidera w dziedzinie rozwiązań do przekazywania kontekstu "identyfikacyjnego" między usługami sieciowymi. Obecna wersja exteNd pozwala np. wymieniać informacje o użytkownikach zgodnie ze standardem SAML. Do dyspozycji twórców systemów jest bogactwo funkcji eDirectory i DirXML, a ostatnio także Liberty 1.0 Identity Provider/Service Provider - serwer działający zgodnie z rozproszonym, tzw. federacyjnym systemem uwierzytelniania. W przyszłości będzie on zgodny ze standardami WS-Security oraz JAAS.

Trudno oprzeć się wrażeniu, że całe środowisko aplikacyjne oferowane przez Novella staje się systemem coraz bardziej opartym na zdarzeniach i komunikatach. W ten sposób znacznie prościej jest tworzyć rozwiązanie zgodnie z założeniami Service Oriented Architecture, a przy okazji bez problemu można łączyć komponenty różnych firm.

A gdzie programiści?

Dużym wyzwaniem dla Novella będzie zainteresowanie Brainshare większej liczby programistów. Obecnie nawet najciekawsze sesje cieszyły się dosyć niewielkim zainteresowaniem. A szkoda, bo oprócz "systemu sieciowego" Novell oferuje obecnie także interesujące platformy dla programistów, by wspomnieć o całym zestawie usług exteNd i Mono. Co więcej, tradycyjne usługi, takie jak udostępnianie plików i drukarek czy iFolder są praktycznie elementami do wykorzystania we własnych aplikacjach. API i mechanizmy dla programisty są coraz bardziej upraszczane. Novell zapowiedział, że na Linuxa zostanie przeniesiona specjalna warstwa ułatwiająca przenoszenie NLS (NetWare Loadable Module) na tę platformę - tego typu moduły często były używane przez aplikacje do rozszerzenia funkcjonalności NetWare. Ponadto Novell zaczyna udostępniać pakiet NDK w formie kolejnych projektów na Novell Forge.


TOP 200