Cechy RIA

W czasie ostatnich dziesięciu lat, aplikacje spod znaku Rich Internet Applications stały się de facto standardem dla interaktywnych aplikacji internetowych powodując wzrost efektywności i polepszenie użyteczności dla użytkownika.

W prawie każdym serwisie internetowym można doszukać się elementów, które nie są standardowe dla zwykłego języka HTML. Sam język programowania stron internetowych HTML  nie jest w stanie zapewnić pełnej interaktywności użytkownikom, ze względu na okrojone funkcje. Aby możliwe było dodanie takich elementów, które generowałyby zdarzenia w zależności od tego, co robi użytkownik, potrzeba wsparcia ze strony języków skryptowych takich jak JavaScript czy ActionScript. Dzięki nim interfejs WWW staje się przyjemniejszy w obsłudze i bardziej naturalny dla użytkownika, przypominając znane dobrze wszystkim aplikacje okienkowe.

Do kluczowych technologii RIA zaliczają się Adobe Flash/Flex, Microsoft Silverlight, Sun JavaFX, ale także AJAX (ang. Asynchronous JavaScript and XML) wykorzystywany do wzbogacania tradycyjnych serwisów WWW w elementy interaktywne.

Pojęcie Rich Internet Applications zostało wprowadzone w 2002 roku przez Jeremy Allaire z firmy Macromedia w odniesieniu do aplikacji łączących zalety różnych technologii, by dostarczyć lepszego interfejsu i zwiększyć user experience (doświadczenie użytkownika podczas używania aplikacji internetowej). Postawienie na zwiększanie zadowolenia użytkownika, spowodowało że aplikacje RIA stały się nowym standardem tworzenia serwisów internetowych, pozwalającym na umieszczanie na stronach internetowych takich elementów jak multimedia czy stosowanie mechanizmów przeciągnij – upuść (ang. drag & drop), interaktywnych animacji lub widżetów.

Pojawienie się technologii RIA zrewolucjonizowało podejście do projektowania aplikacji internetowych. Pierwotnie każda zmiana stanu aplikacji webowej wymagała połączenia z serwerem i późniejszego wygenerowania nowych danych po stronie klienta. Aplikacje RIA by zmienić swój stan nie potrzebują ciągle kontaktować się z serwerem, gdyż same w sobie zawierają logikę biznesową aplikacji. Z serwerem łączą się w celu pobrania lub zaktualizowania danych za pomocą języka wymiany danych XML (Extensible Markup Language) lub JSON (JavaScript Object Notation). Wykonywanie większości operacji po stronie klienta powoduje odciążenie serwera oraz zmniejszenie ilości danych przesyłanych między klientem a serwerem. Instrukcje wykonywane po stronie klienta wykorzystują jego zasoby obliczeniowe. Ma to również ujemne skutki, gdyż znacznie obciąża komputer użytkownika, co w przypadku sprzętu o słabszych parametrach procesora i pamięci operacyjnej może powodować zmniejszenie wydajności.

Cechy wspólne dla wszystkich aplikacji RIA są następujące:

1. Możliwość pracy on-line oraz off-line

Standardowe serwisy WWW potrzebują do właściwego działania ciągłego połączenia z serwerem. Każde odświeżenie ekranu powoduje, że informacje widocznie dla użytkownika są na nowo pobierane z serwera. W momencie przeładowania strony następuje generowanie na nowo wszystkich elementów i konieczne jest utrzymanie połączenia internetowego. Każde zerwanie połączenia powoduje, że dane mogą zostać niedoładowane lub nie nastąpi właściwe przesłanie danych na serwer. Aplikacje RIA pozwalają na zapis dotychczasowej pracy bez konieczności połączenia ze stroną serwerową, dodatkowo aktualizują dane w tle. W przypadku braku łączności będzie możliwe zachowanie danych i późniejsze ich przesłanie, nie przerywając pracy z aplikacją.

2. Jednoekranowy interfejs

Cechą interfejsu aplikacji RIA jest brak ładowania tych elementów, które są stałe. Przykładowo może to być grafika serwisu, banery czy przyciski. Zmianie ulegają tylko te informacje, o które użytkownik zapyta. Takie działanie RIA znacznie oszczędza czas na przesyłanie ciągle tych samych informacji i elementów serwisu, tak jak to jest w przypadku tradycyjnego modelu przesyłania danych korzystającego z HTML oraz PHP lub ASP .NET po stronie serwera. Z technicznego punktu widzenia oszczędza się czas ładowania elementów, moc obliczeniową serwera oraz przepustowość łącza internetowego.

3. Generowanie nowych treści bez przeładowywania całej strony WWW

Wyświetlanie kolejnych treści jakich zażąda użytkownik musi być zawsze szybkie, gdyż w przypadku dłuższego oczekiwania, użytkownicy rezygnują z oglądania strony i opuszczają ją. W przypadku stron HTML ładowanie za każdym razem od nowa tych samych elementów znacznie spowalnia działanie. Aplikacje RIA znacznie skracają czas odpowiedzi, gdyż część danych pobierana jest na początku a potem stosownie przetwarzana po stronie przeglądarki. Także elementy, które są niezmienne (np. grafika) nie jest ruszana w momencie przeładowania. Użytkownik ma wrażenie płynności i stałości aplikacji, która przypomina znane programy desktopowe. Takie zachowanie aplikacji z rodziny RIA jest istotne, szczególnie w przypadku aplikacji obsługujących model Software as a Service. W modelu SaaS zakłada się przeniesienie znanych aplikacji okienkowych (np. CRM, aplikacji biurowych) do przeglądarki internetowej bez konieczności ich instalacji na lokalnym komputerze. Takie aplikacje, by były łatwe w obsłudze muszą zachować dotychczasowy łatwy, a nawet ulepszony interfejs. Nowoczesne technologie jak Flash, Ajax czy HTML5 pozwalają na przeniesienie do przeglądarki tego co najlepsze z aplikacji okienkowych.

4. Korzystanie z mocy obliczeniowej komputera użytkownika

W tradycyjnych aplikacjach internetowych cała logika umieszczona jest na serwerze. Powoduje to, że jeżeli użytkownik wykona jakąś operację w przeglądarce, musi ona za każdym razem wysłać zapytanie do serwera, który następnie przetwarza dane oraz wykonuje operacje, na koniec zwracając wynik z powrotem do przeglądarki. Każde odpytanie serwera powoduje, że musi on wykorzystywać własną moc obliczeniową, co w przypadku bardzo dużej ilości zapytań i przetwarzanych danych, staje się wolniejsze. W takim momencie użytkownik musi poczekać na przesłanie informacji zwrotnej oraz załadowanie się ponownie strony WWW.

W przypadku bogatych aplikacji, warstwa logiki znajduje się po stronie klienta. Z serwera pobierane są dane, których przetwarzanie odbywa się w przeglądarce. W ten sposób wykorzystywane są zasoby obliczeniowe sprzętu użytkownika, co znacznie odciąża serwer i nie powoduje długiego oczekiwania na ponowne załadowanie strony WWW. Należy zwrócić uwagę, że taki model jest dobry, jeśli użytkownik ma potrzebną moc obliczeniową u siebie na komputerze. W wielu przypadkach słabe parametry sprzętu użytkownika powodują, że aplikacje RIA są ładowane wolno lub zawieszają działanie przeglądarki internetowej. Mimo że w społeczeństwie panuje ogólna tendencja wymiany sprzętu na coraz lepszy i szybszy, zdarzają się przypadki, kiedy aplikacje RIA nie są dobrym rozwiązaniem.

Z aplikacjami internetowymi związane są dwa pojęcia: cienkiego i grubego klienta. Pojęcia grubego klienta (ang. fat client) używa się w stosunku do aplikacji, którego warstwa logiki oraz warstwa biznesowa, a nawet część danych znajdują się po stronie klienta. Tutaj również wykonuje się większość kluczowych operacji. Model bogatych aplikacji internetowych zakłada maksymalne odciążenie serwera, w zamian za korzystanie z mocy użytkownika. Natomiast w modelu cienkiego klienta cała funkcjonalność i logika biznesowa znajdują się po stronie serwera. Tam też dokonują się wszystkie operacje na danych. Po stronie klienta zostaje warstwa interfejsu.

Obie metody mają swoje wady i zalety. Niewątpliwą zaletą bogatego klienta jest lepsza interakcja użytkownika z aplikacją. Wynika to z tego, że większość operacji odbywa się w warstwie klienta, co redukuje opóźnienia z przesyłaniem tych samych danych między serwerem a przeglądarką i nie obciąża sieci. Zaletą cienkiego klienta jest to, że nie potrzebuje specjalnej platformy do działania zainstalowanej u użytkownika np. Flash Player dla aplikacji Flash. Wystarczy przeglądarka internetowa, ewentualnie z zainstalowanym JavaScript. Wszystkie obliczenia wykonuje się na serwerze, a szybkość przesyłania danych zależy od parametrów łącza internetowego użytkownika.

5. Wymiana danych z serwerem za pomocą formatów XML, JSON, AMF

Aby możliwe było załadowanie nowych treści lub elementów na stronie internetowej przesyłane jest zapytanie za pomocą protokołu HTTP (ang. Hypertext Transfer Protocol) lub szyfrowanego HTTP (HTTPS). Protokół HTTP służy do przesyłania żądań udostępniania dokumentów oraz zawartości formularzy. Standardowo dane mogą być przesyłane za pomocą dwóch metod: POST lub GET. Metoda GET polega na umieszczeniu w adresie URI (ang. Uniform Resource Identifier) dodatkowo nazwy parametru i jego wartości np.:

home.php?kategoria=2&sortowanie=malejaco.

 

Stosowana jest z reguły dla adresów, do których użytkownik może chcieć wrócić oraz przedstawiających pewien stan aplikacji np. lista produktów w sklepie internetowym sporządzona na podstawie wybranych filtrów. Metodą POST wysyłane są najczęściej dane z formularzy wypełnionych przez użytkownika, które są wynikiem jednorazowej interakcji z systemem i wiążą się z dokonaniem w nim zmian wiążących dla użytkownika. Obydwie metody potrzebują każdorazowo odświeżenia strony WWW by połączyć się z serwerem.

Aplikacje RIA przesyłają dane bez tradycyjnego odświeżania strony, nie korzystają więc z metody POST i GET. Aby przesyłać dane (w przypadku kiedy użytkownik dokonuje interakcji oraz niezależnie od użytkownika) RIA posługują się formatem XML, JSON oraz AMF.

XML (ang. Extensible Markup Language) to najczęściej wykorzystywany język do przesyłania danych między systemami heterogenicznymi. Ma określoną strukturę bazującą na koncepcji drzewa oraz znacznikach. Wszystkie dane muszą posiadać znacznik otwarcia i zamknięcia. Przykładem poprawnego dokumentu XML jest kod XHTML. Serwer przesyła poprawny dokument XML do przeglądarki, w której następuje jego parsowanie i wyświetlanie informacji. Format XML jest rekomendowany przez organizację W3C jako standardowy format przesyłania danych.

Przykładowy dokument XML:
<root><offers><offer>

<id>1153588</id>

<name>TOREBKA Z FIRMY DAVID JONES</name>

<price jd=”zl”>60.00</price>

</offer>

</offers>

</root>

JSON (ang. JavaScript Object Notation) to tekstowy język wymiany danych bazujący na JavaScript. Mimo tego wykorzystywany jest również przez inne języki programowania jak na przykład Action Script, Java czy C#, poprzez instalację dodatkowych bibliotek. Najczęściej jednak JSON wykorzystywany jest przy okazji użycia JavaScript, gdyż sam komunikat JSON jest obiektem JavaScript.

Przykładowy dokument JSON:
{„root”:{„offers”:{„offer”:{

„id”:{„value”:”1153588″},

„name”:{„value”:”TOREBKA Z FIRMY DAVID JONES”},

„price”:{„value”:”60.00″,”jd”:”zl”}}}}}

 

Używanie formatu JSON w przeglądarce nie wymaga instalowania dodatkowej biblioteki. Pobieranie danych odbywa się za pomocą obiektu XMLHttpRequest, którego cechą charakterystyczną jest wysyłanie i odbieranie komunikatów już po załadowaniu się strony i podczas interakcji z użytkownikiem.

Oba formaty XML i JSON mają wspólne cechy: (Mahemoff 2007)

  • § W obu formatach obiekty są w postaci łańcuchów znakowych, dlatego umożliwiają przesyłanie danych za pomocą protokołu HTTP. Dane w tych formatach mogą być zarówno danymi wejściowymi jak i wyjściowymi dla usług sieciowych.
  • § Obsługiwane są przez większość języków programowania instalując odpowiednie biblioteki, pozwalające na przekształcanie dokumentów w obie strony.

Format JSON jest lepszy w paru przypadkach w porównaniu z komunikatami XML:

  • § Jest zwięzły i nie posiada znaczników do opisywania danych.
  • § JSON to konkretny format danych, natomiast XML to tak naprawdę kontener definiujący jak powinny być przechowywane dane. Do obowiązku programisty należy zdefiniowanie odpowiednich znaczników i konsekwencja w ich stosowaniu.
  • § W przypadku używania języka JavaScript w przeglądarce, JSON będzie szybszy w przetwarzaniu komunikatów.

Również XML ma kilka zalet w porównaniu z JSON:

  • § XML jest bardziej znany w środowisku IT niż JSON. Wykorzystywany jest powszechnie dla wymiany danych między różnymi heterogenicznymi systemami, także w usługach sieciowych.
  • § XML ma określony jeden określony szablon. Zawsze musi być tylko jeden znacznik root, a każdy znacznik musi mieć zamknięcie. Ściśle określenie szablonu pozwala XML-owi na standaryzację formatu przesyłania danych, zarówno w mniejszych aplikacjach internetowych jak i skomplikowanych systemach.
  • § XML ma lepszą obsługę w zakresie bibliotek i narzędzi takich jak biblioteka sprawdzająca poprawność dokumentu na podstawie definicji DTD czy języków pozwalających na transformację dokumentów XML (np. XPath, XSLT).

Poza formatami tekstowymi przesyłania danych, dodatkowo istnieje również możliwość binarnego transferu danych. W przypadku Rich Internet Applications możliwość tą posiada Adobe Flash z językiem Action Script, obsługującym format danych Action Message Format (AMF). AMF to binarny format danych, który służy do serializacji obiektów Action Script i przesyłania ich między aplikacją Flash oraz serwerem. Serializacja (www.pl.wikipedia.org/wiki/Serializacja) polega na przekształcaniu obiektów do postaci szeregowej czyli strumienia bajtów, zachowując pierwotny stan obiektu. Format AMF został zaproponowany przez firmę Adobe.

Działanie na plikach binarnych w aplikacjach Flash oraz Flex umożliwia metoda Flash Remoting. Flash Remoting to mechanizm dający możliwość działania na obiektach zlokalizowanych po stronie serwera w taki sposób, jak gdyby były one obiektami Flasha. Po stronie serwera następuje serializacja danych do Action Message Format (AMF), natomiast deserializacji dokonuje Action Script po stronie przeglądarki. Serializację do AMF może zrobić na przykład PHP lub JAVA działająca na serwerze. AMF wykorzystywany jest do przesyłania dużej ilości danych na przykład całej bazy danych, kiedy szybkość działania aplikacji Flash jest bardzo ważna.

6. Elementy multimedialne, animacja, ruch interfejsu

Aplikacje RIA mają znacznie więcej możliwości w zakresie interfejsu. Pozwalają na wzbogacanie aplikacji WWW w elementy multimedialne, wchodzące w interakcję z użytkownikiem. Na bogaty interfejs aplikacji składają się również takie elementy jak przejścia, transparentność, lepsza kolorystyka (gradienty, bogatszy wybór czcionek). Brak przeładowania strony powoduje, że przejścia pomiędzy wyświetlanymi elementami są łagodne, nie powodują migania całej strony, przez co użytkownik ma wrażenie płynności i jednolitości serwisów WWW.

 

Źródło: Praca magisterska pt. „Ocena jakości zewnętrznej bogatych aplikacji internetowych typu e-commerce.” (J. Pytlik, Uniwersytet Ekonomiczny we Wrocławiu)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *


× trzy = 21

moncler outlet moncler outlet online moncler outlet moncler outlet online moncler outlet moncler outlet online moncler outlet moncler outlet online moncler outlet moncler outlet online moncler outlet moncler outlet online moncler outlet moncler outlet online moncler outlet moncler outlet online moncler outlet moncler outlet online moncler outlet moncler outlet online moncler outlet moncler outlet online moncler outlet moncler outlet online moncler outlet moncler outlet online