Dziesięć lat w poczekalni

Bardzo interesująco zapowiada się także platforma komunikacyjna (i produkt jednocześnie) KnowNow 3 Enterprise Edition oferowana przez firmę KnowNow. Ten pakiet rozwiązań łączy w sobie możliwości AJAX z technologią RSS, tworząc rozwiązanie do śledzenia i natychmiastowego aktualizowania informacji w skali całej organizacji. Platforma umożliwia integrację danych zarówno przez standardowe metody GET i POST, poprzez XmlHttpRequest, jak i przez komunikaty SOAP.

Potencjalnych zastosowań dla takiego połączenia technologii jest bardzo wiele, np. systemy informowania kierownictwa, w tym m.in. zgodne z ideą BAM, systemy wsparcia użytkowników, wszelkie systemy alarmujące o wydarzeniach biznesowych lub technicznych. To potencjalnie także bardzo interesująca technologia dla aplikacji pracy grupowej oraz do współpracy biznesowej między firmami, np. koordynacja informacji w łańcuchu dostaw.

Przy okazji podobną funkcjonalność synchronizacyjną chcą osiągnąć członkowie zespołu rozwijającego projekt Pushlets (http://www.pushlets.com ). Najkrócej rzecz ujmując, chodzi o rozwiązanie, które pozwala automatycznie odświeżać informacje dostępne w oknie przeglądarki z inicjatywy działającego dedykowanego serwletu zwanego właśnie pushlet - od metody komunikacji typu push. Działanie pushletów opiera się na otwieraniu strumienia HTTP do przeglądarki, który nie będzie zamykany dopóty, dopóki działa aplikacja.

Z punktu widzenia projektantów aplikacji ciekawie zapowiada się także opracowywany przez firmę ModernMethod zestaw bibliotek SAJAX (Simple AJAX), pozwalający programiście abstrahować od różnych implementacji JavaScript dostępnych w różnych przeglądarkach. Biblioteki SAJAX współpracują z działającymi po stronie serwera aplikacjami PHP, Python, Perl, ColdFusion (i kilkoma innymi). Są przy tym dostępne na zasadach open source, co jeszcze bardziej zwiększa ich atrakcyjność. Przy tej okazji warto też zajrzeć na stronęhttp://www.crockford.com/JSON/index.html poświęconą protokołowi wymiany danych JSON (JavaScript Object Notation).

Lekko i uniwersalnie

Jeśli AJAX jako metoda budowy aplikacji dla biznesu rzeczywiście się upowszechni, niektóre dotychczasowe technologie mogą mieć kłopoty z utrzymaniem popularności wśród twórców aplikacji. Bogate aplikacje internetowe miały dotychczas formę apletów Java, obiektów ActiveX lub plików Flash. Każda z tych technologii ma wady, które uniemożliwiały ich zastosowanie w pewnych okolicznościach.

Java wciąż wymaga sporo zasobów, zwłaszcza pamięci RAM, ActiveX to technologia, delikatnie mówiąc, mało bezpieczna, a ponadto przywiązująca programistę do jednej platformy; Flash, oprócz niezbyt wielu osób znających jej arkana na tyle dobrze, by użyć ich do budowy aplikacji (przynajmniej w Polsce), nie powala funkcjonalnością inną niż graficzna, a ponadto ma mankamenty w dziedzinie bezpieczeństwa.

Wybór technologii jest kwestią jej dopasowania do konkretnego zadania. Obecna bitwa rozgrywa się o aplikacje typowe, tworzone bardzo często z potrzeby chwili przez wewnętrzne działy IT w firmach. Minimalizując koszty i czas, programiści korporacyjni zawsze szukają technologii możliwie uniwersalnych. AJAX spełnia to kryterium znacznie lepiej niż Flash i Java i na pewno lepiej niż ActiveX. Ale jak pokazuje przykład platformy deweloperskiej OpenLaszlo (Eclipse), AJAX i Flash wcale się nie wykluczają, a nawet zadziwiają (warto zajrzeć na stronę:http://www.laszlosystems.com/partners/support/demos/ ).

Choroby wieku dziecięcego

Mimo to nie można jeszcze mówić o gwarancji sukcesu. Interaktywność aplikacji internetowych możliwa dzięki AJAX rodzi duże nadzieje, ale to podejście do budowy aplikacji jeszcze przez jakiś czas będzie borykać się z chorobami wieku dziecięcego. Niektóre z nich są całkiem poważne. JavaScript, jeśli zastosowany nieumiejętnie, może prowadzić do zagrożeń w bezpieczeństwie, w tym ataków typu SQL injection, DoS, a także wywołać niestabilność systemu na skutek niestabilności przeglądarki, co może rodzić okazję do ataków ze zdalnym wykonaniem kodu.

Dobrym przykładem pułapek związanych z JavaScriptem jest aplikacja Greasemonkey. Ten niewielki dodatek do przeglądarki Firefox umożliwia łatwe uruchamianie skryptów zmieniających działanie stron WWW, np. zmianę kolorów, czcionek itp. Dla tej "miniplatformy" powstały setki skryptów ułatwiających przeróżne zadania, ale wynaleziona w niej w lipcu br. luka umożliwiała także uruchamianie złośliwego kodu.

Nie ma co krzewić czarnowidztwa - na pewno powstaną jeszcze frameworki, które mniej doświadczonym programistom umożliwią stworzenie aplikacji działających bezpiecznie. Poza tym w zastosowaniach internetowych, a nawet intranetowych, istnieje możliwość zabezpieczenia aplikacji przynajmniej przed niektórymi zagrożeniami, np. przez domyślne tunelowanie komunikacji w HTTPS lub IPsec oraz silne uwierzytelnianie.

Koniec pewnych przyzwyczajeń

Upowszechnienie się AJAX może, paradoksalnie, zachwiać wyrobionymi przez lata przez użytkowników Internetu przyzwyczajeniami. Ostrzeżenia, że dwukrotne wciśnięcie przycisku OK może spowodować dwukrotne wykonanie operacji, np. przelewu, nie mają w aplikacjach AJAX zastosowania. Podobnie, cofnięcie się za pomocą przycisków przeglądarki do poprzednio wyświetlanej strony nie musi dać oczekiwanych efektów. W przypadku aplikacji AJAX logika aplikacji nie opiera się na odwołaniach do standardowych funkcji przeglądarki, lecz jest zaszyta w kodzie JavaScript, dla którego przeglądarka to jedynie środowisko wykonawcze.

W Internecie

Ciekawe produkty wykorzystujące AJAX:

  • Microsoft Atlas - technologia do budowy aplikacji AJAX w ASP. Net 2.0 w ramach oprzyrządowania dostępnego i w Visua

  • Studio.Net 2005 -http://beta.asp.net/default.aspx?tabindex=7&tabid=47

  • Lotus Workplace - pakiet aplikacji biurowych działających w portalu

  • Zimbra Network - firma tworząca oprogramowanie do pracy grupowej -http://www.zimbra.com

  • FCK Editor - edytor tekstów działający na stronie WWW -http://www.fckeditor.net/demo/demo03.html

  • Flock - będąca w przygotowaniu, oparta na Firefox, przeglądarka przeznaczona dla witryn korzystających z technologii AJAX -http://www.flock.com

  • SAJAX (Simple AJAX) - zestaw bibliotek ułatwiający pisanie aplikacji AJAX przez niwelowanie różnic w obsłudze JavaScript między przeglądarkami -http://www.modernmethod.com/sajax

  • OpenLaszlo - projekt open source, w ramach którego rozwijane są narzędzia i platforma aplikacyjna OpenLaszlo -http://www.openlaszlo.org

  • KnowNow - firma tworząca bardzo interesującą platformę integracyjną opartą na AJAX i RSS -http://www.knownow.com

  • 37signa
  • - firma rozwijająca oprogramowanie do zarządzania projektami o nazwie Basecamp - http://www.basecamphq.com

TOP 200