Jesteś tu:  Strona główna    Nasza oferta    Aplikacje RIA

Zapytaj o produkt

Jeśli jesteś zainteresowany naszym produktem, skontaktuj się z nami

 

 

albo przejedź do działu

 

Lista wdrożeń systemu mSHOP

 

 

Porównanie technologii RIA ze standardowymi aplikacjami internetowymi

Tradycyjne aplikacje internetowe w głównej mierze skoncentrowane są na architekturze klient/serwer z klientem służącym wyłącznie jako terminal do wyświetlania bądź też wprowadzania danych. Wszystkie żądania w procesie działania oprogramowania muszą zostać przesyłane i wykonane na serwerze. Po obsłużeniu żądania serwer automatycznie przesyła dane z powrotem do komputera klienta który na powrót wyświetla zawartość strony. Poprzez przeniesienie wszystkich operacji logiki prezentacyjnej i sprawnego mechanizmu buforowania danych w aplikacjach klient/serwer na stronę klienta aplikacje typu RIA powodują znaczne zmniejszenie obciążenia serwerów i efektywniejsze wykorzystanie łączy internetowych. Dane pobierane są w sposób wybiórczy, asynchroniczny i tylko w przypadku wyraźnego zapotrzebowania.

Aplikacje oparte o model RIA różnią się od swoich poprzedników przede wszystkim:

  • Wyeliminowaniem konieczności całkowitego odświeżania ekranu w momencie pobierania nowych danych z serwera
  • Jedno ekranową prezentacją danych, co sprawia że wszystkie elementy na ekranie tworzą spójną całość a nowe elementy pojawiają się bez ponownej konieczności pobrania danych, które już raz zostały przesłane
  • Często charakteryzują się interfejsem wzbogaconym o elementy animacyjne i video oraz znacznie wyższą funkcjonalnością

Ciężko jest wyznaczyć dokładną definicję pozwalającą bez cienia wątpliwości zaszeregować daną aplikację jako RIA, jednakże wszystkie tego typu aplikacje posiadają jedną, charakterystyczną zmianę w stosunku do szeroko pojętego świata aplikacji internetowych. Wprowadzają dodatkową warstwę oprogramowania funkcjonującą pomiędzy serwerem a końcową wizualizacją po stronie klienta. Aplikacja kliencka (ang. “client engine”) jest elementem służącym do komunikowania się terminala klienta z serwerem. Pobierana jest zazwyczaj na początku sesji użytkownika. Funkcjonuje ona jako dodatkowy moduł przeglądarki internetowej, który przejmuje funkcję przetwarzania danych, komunikacji z serwerem i prezentacji danych wykorzystując tym samym moc obliczeniową komputera klienta.

Ponieważ model RIA wykorzystuje w swym działaniu aplikację kliencką oferuje znacznie większe możliwości interakcji z użytkownikiem.

Aplikacje stają się być „bogatsze”, oferując rozwiązania nie osiągalne dotąd przy użyciu standardowych technik opartych na technologii HTML. Umożliwiają wykorzystanie technik takich jak „drag and drop”, stosowanie modułów kontrolnych typu „slider” czy też dynamicznych tabel pozwalających na sortowanie zawartości przy wykorzystaniu dowolnej kolumny. Większość obliczeń wykonywana jest na komputerze klienta, bez konieczności komunikacji z serwerem. Sortowanie odbywa się w czasie rzeczywistym, a weryfikacja danych kontrolowana jest na bieżąco.

Aplikacje znacznie szybciej reagują na polecenia użytkownika. Brak konieczności ponownej komunikacji z serwerem pozwala na natychmiastowe wyświetlenie większości potrzebnych w danej chwili danych. Co za tym idzie praca z tego typu aplikacjami staje się bardziej komfortowa niż miało to miejsce dotychczas.

W aplikacjach typu RIA zapotrzebowanie na zasoby obliczeniowe zostało zbalansowane i rozłożone równomiernie pomiędzy aplikację kliencką i serwer. Powoduje to znacznie mniejsze obciążenie serwerów pozwalając tym samym systemom na obsługę większej liczby użytkowników niż miało to miejsce w aplikacjach standardowych.

Wykorzystanie w modelu RIA asynchronicznej komunikacji pomiędzy klientem a serwerem pozwoliło aplikacji klienckiej na pobieranie danych z serwera bez konieczności interakcji klienta z oprogramowaniem. Adaptacja przez aplikacje technik pozwalających na antycypowanie zachowania użytkownika i pobieranie danych z wyprzedzeniem, zanim użytkownik wyrazi na nie zapotrzebowanie. Takie rozwiązanie pozwala na przyspieszenie pracy z oprogramowaniem i ograniczenie momentu oczekiwania do minimum. Wykluczenie tak popularnej w standardowych technologiach internetowych kwestii „przeładowania strony” zrównuje aplikacje RIA z rozwiązaniami stacjonarnymi.

Zastosowanie tego typu aplikacji pozwala na zwiększenie wydajności sieci i oprogramowania. Wykorzystanie asynchronicznej komunikacji zmniejsza znacznie ilość danych przesyłanych pomiędzy klientem a serwerem. Dzieje się tak ponieważ aplikację pobierają tylko te informacje, które potrzebne są im w danej chwili, i tylko te których jeszcze nie otrzymały, w przeciwieństwie do technologii standardowych, które wymagają ponownego przesłania całej strony. Powoduje to zmniejszenie czasu oczekiwania na odpowiedź ponieważ mniej danych jest wysyłanych i mniejsze ilości danych przesyłane są z powrotem w kierunku aplikacji. Pomimo iż korzystanie z nadmiernie rozbudowanych technik pozwalających na „prefetching” może zmniejszyć korzyści płynące zastosowania asynchronicznej komunikacji, tego typu rozwiązanie uważa się bardziej naturalne.

Każda nowa technologia, rozwiązanie burzy w pewien sposób zastany przez siebie świat. Pomimo olbrzymiej innowacyjności którą niosą ze sobą aplikację typu RIA nie są one niestety wolne od wad i ograniczeń.

Systemu korzystające z modelu RIA są osadzone w realiach przeglądarek internetowych jako zamknięte moduły zwane z języka angielskiego „sandbox”. Owe moduły charakteryzują się praktycznie całkowitą niezależnością od przeglądarek, co zwiększa ich uniwersalizm, natomiast narzuca również pewne ograniczenia. Tego typu aplikacje posiadają ograniczony dostęp do zasobów systemu na którym funkcjonuje oprogramowanie klienckie, a co się z tym wiąże mogą nie uzyskać dostępu do podstawowych zasobów umożliwiających ich poprawne funkcjonowanie.

Oprogramowanie RIA jest również w znacznie większy sposób zależny od urządzeń klienckich niż to miało miejsce w standardowych aplikacjach internetowych. Zbyt wolny sprzęt może spowodować utrudnienia w działaniu aplikacji, spowodować jej spowolnienie i obniżenie funkcjonalności. Skrypty i bogate animacje interpretowane przez terminal kliencki wymagają mocy obliczeniowej, która może przekroczyć możliwości sprzętowe starszych komputerów Aplikacje klienckie, które pobierane są w tego typu aplikacjach na samym początku pracy z oprogramowaniem, rozmiarem przekraczają kilkukrotnie aplikacje standardowe. Pomimo iż taki transfer wykonywany jest zaledwie raz i wystarcza do komfortowej pracy z aplikacją, czas oczekiwania może często może wpłynąć na odbiór nowo wprowadzonych rozwiązań przez stałych klientów systemu, przyzwyczajonych do błyskawicznego dostępu do systemu już od pierwszego połączenia.