AKTUALNE TRENDY BUDOWY APLIKACJI INTERNETOWYCH. Mariusz Żytniewski



Podobne dokumenty
Flex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008

OpenLaszlo. OpenLaszlo

Imię, nazwisko i tytuł/stopień KOORDYNATORA (-ÓW) kursu/przedmiotu zatwierdzającego protokoły w systemie USOS Dr Adam Naumowicz

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Tomasz Grześ. Systemy zarządzania treścią

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Przetwarzanie danych w chmurze

Piraci XXI wieku, czyli legalne i nielegalne programy Informatyka szkoła podstawowa Scholaris - DC Edukacja

REFERAT O PRACY DYPLOMOWEJ

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Spis wzorców. Działania użytkownika Strona 147 Obsługa większości Działań użytkownika za pomocą kodu JavaScript przy użyciu metod obsługi zdarzeń.

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.

Webowy generator wykresów wykorzystujący program gnuplot

Specyfikacja. Załącznik A

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Aplikacje Internetowe

Plan nauczania informatyki Opracował: mgr Daniel Starego

HTML, CSS i JavaScript / Laura Lemay, Rafe Colburn, Jennifer Kyrnin. Gliwice, cop Spis treści

Szczegółowy opis zamówienia:

Pogadanka o czymś, co niektórzy nazywają AJAX

Wpływ mediów społecznościowych na rozwój komunikacji naukowej

Natalia BIEŃ Uniwersytet Przyrodniczy, Studenckie Koło Naukowe Informatyków IMPLEMENTACJA PORTALU INTERNETOWEGO W TECHNOLOGIACH PHP I MYSQL

1 Wprowadzenie do J2EE

PRZEWODNIK PO PRZEDMIOCIE

CMS, CRM, sklepy internetowe, aplikacje Web

Opracowywanie map w ArcGIS Online i MS Office. Urszula Kwiecień Esri Polska

Internet. Podstawowe usługi internetowe. Wojciech Sobieski

Wstęp do Informatyki. Klasyfikacja oprogramowania

Proporcje podziału godzin na poszczególne bloki. Tematyka lekcji. Rok I. Liczba godzin. Blok

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER

PROGRAM NAUCZANIA DLA I I II KLASY GIMNAZJUM

PRZEWODNIK PO PRZEDMIOCIE

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

BIBLIOTEKA CYFROWA JAKO KONTENER TREŚCI DLA PORTALI INTERNETOWYCH. DLIBRA & DRUPAL DWA SYSTEMY, JEDNA WITRYNA.

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Aplikacje internetowe - opis przedmiotu

INSTRUKCJA INSTALACJI SYSTEMU

SEO.341-4/06 Gryfino, dnia 27 czerwca 2006r.

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

OfficeObjects e-forms

SMO MEDIA I KANAŁY SPOŁECZNOŚCIOWE. Bydgoszcz, dnia r. Usługodawca

Tomasz Grześ. Systemy zarządzania treścią, cz. II

Konspekt pracy inżynierskiej

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Aplikacje WWW i PHP - opis przedmiotu

REFERAT PRACY DYPLOMOWEJ

SOA Web Services in Java

Nowości w GG.pl. Prawdziwi znajomi prawdziwe rozmowy

Programowanie Komponentowe WebAPI

AJAX. Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5.

World Wide Web? rkijanka

Przedmiotowy system oceniania z informatyki

Kurs Wizualizacja z WinCC SCADA - Zaawansowany. Spis treści. Dzień 1. I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1410)

OfficeObjects e-forms

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Strona wizytówka od 400 zł

LABORATORIUM WIRTUALNE W DYDAKTYCE I BADANIACH NAUKOWYCH

OWASP OWASP. The OWASP Foundation Cross-Site Scripting. Ryzyko do zaakceptowania? Warszawa, 27 stycznia 2011 Michał Kurek

WPROWADZENIE DO JĘZYKA JAVA

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

HTML5 Nowe znaczniki header nav article section aside footer

Deduplikacja danych. Zarządzanie jakością danych podstawowych

na różnych poziomach kształcenia Maria Bosacka

Wymagania edukacyjne z zajęć komputerowych w klasie 5

Procesy biznesowe w praktyce. Przykłady użycia z wykorzystaniem jbpm 4.4

Narzędzia i platformy programowania w Internecie

DESIGNER APPLICATION. powered by

Systemy obiegu informacji i Protokół SWAP "CC"

Narzędzia Informatyki w biznesie

Wprowadzenie SYSTEMY SIECIOWE. Michał Simiński

JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB

ZASTOSOWANIE SYSTEMÓW CMS W TWORZENIU PRZESTRZENI INFORMACYJNO-EDUKACYJNEJ W INTERNECIE

Rozwój bibliotek cyfrowych w Polsce. Cezary Mazurek Tomasz Parkoła Marcin Werla

Oracle Application Express -

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

System zarządzający grami programistycznymi Meridius

PLATFORMA ACTIVE FORMS. Kreator Formularzy Internetowych ze wsparciem dla RWD

Mamy najlepsze ceny na rynku!

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

ViLab- program służący do prowadzenia obliczeń charakterystyki energetycznej i sporządzania świadectw charakterystyki energetycznej

Polityka prywatności 1. Definicje Administrator Cookies - Cookies Administratora - Cookies Zewnętrzne - Serwis - Urządzenie - Ustawa Użytkownik -

Wykorzystanie szkolnych pracowni komputerowych w nauczaniu przedmiotów ogólnokształcących i zawodowych

Jolanta Łukowska Małgorzata Pakowska Stanisław Stanek Mariusz ytniewski

Internetowa ogólnopolska baza informatycznych projektów badawczych otwartej innowacji Platforma współpracy SPINACZ 1/46

Symulator doboru koloru i przetłoczenia bramy garażowej oraz wzoru drzwi wejściowych. do elewacji budynku klienta

Tworzenie aplikacji GIS w technologii Flex. Tomasz Turowski Esri Polska

Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services

BSX PRINTER INSTRUKCJA UŻYTKOWNIKA. Autor: Karol Wierzchołowski 30 marca 2015

Informatyka kl. 1. Semestr I

Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

KARTA KURSU. Przetwarzanie dokumentów XML i zaawansowane techniki WWW

Software Updater F-Secure Unikatowe narzędzie, które chroni firmy przed znanymi zagrożeniami

Komunikacja i wymiana danych

Transkrypt:

AKTUALNE TRENDY BUDOWY APLIKACJI INTERNETOWYCH Mariusz Żytniewski Wprowadzenie Od kilkunastu miesięcy w różnego typu czasopismach branży informatycznej pojawia się określenie WEB 2.0 stosowane w odniesieniu do nowych trendów rozwoju Internetu [MaBr07]. Pojęcie to z jednej strony stanowi określenie nowych możliwości, jakie daje Internet w postaci łatwej wymiany informacji oraz zrzeszania się jego użytkowników, a z drugiej ukazuje rozwój nowych technologii opartych o AJAX (Asynchroniczny JavaScript + XML) stosowanych do budowy serwisów internetowych [DaJo05]. W niniejszym artykule przedstawione zostaną nowe trendy budowy portali internetowych oraz oparta o AJAX koncepcja budowy aplikacji internetowych o nazwie RIA (Rich Internet Application - dosłownie: bogata aplikacja internetowa) [Wiki07].

Aktualne trendy rozwoju Internetu Rozwój Internetu związany z jego upowszechnieniem powoduje, iż coraz częściej strony internetowe traktowane są przez użytkowników już nie tylko jako źródło informacji i wymiany poglądów, ale także jako element rozszerzający funkcjonalnie możliwości aplikacji komputerów domowych. Pojawienie się na rynku rozwiązań typu www.desktoptwo.com lub maps.google.com spowodowało, iż możliwości, jakie dotychczas były jedynie dostępne w oprogramowaniu instalowanym lokalnie na komputerze użytkownika możliwe są do realizacji poprzez zwykłą przeglądarkę internetową. Najprostszym przykładem tego trendu jest edytor tekstu oferowany na stronach www.google.com. Przykład interfejsu edytora Google przedstawia rysunek 1. Rysunek 1. Edytor tekstu Google. Źródło: docs.google.com [2007/05/05] Pamiętać należy, iż określenie, które pojawia się w wielu publikacjach pod postacią Web 2.0 nie kryje w sobie żadnych elementów związanych

z nowymi podejściem do budowy Internetu. Stanowi jedynie przejaw nowego trendu, którego głównym nurtem jest coraz szersze zrzeszanie się internautów oraz powstawanie portali wymiany informacji w postaci artykułów, opinii lub plików. W portalach takich to właśnie sami użytkownicy odpowiedzialni są za ich kształt i zawartość merytoryczną. Portale ukierunkowane na nowy trend w dużej mierze oferują takie usługi jak tworzenie blogów, udostępnianie kanałów RSS, plików audio oraz wideo, podcast ów oraz coraz częściej usług sieciowych i związanych z nimi bogatych aplikacji internetowych. Aby zapewnić odpowiednią funkcjonalność takich portali upowszechniły się nowe rozwiązania jak technologia AJAX, która z punktu widzenia budowy aplikacji internetowych pozwala na tworzenie dynamicznych stron zawierających wiele rozwiązań multimedialnych. Przykłady elementów mogących być osadzane na stronach internetowych oraz platform do budowy aplikacji internetowych przedstawione zostaną w dalszej części opracowania. Aktualnie trudno doszukać się w Internecie dokładnej definicji tego, co określane jest mianem WEB 2.0. W literaturze pojawiają się jednak próby analizy [TiOr05] związane głównie z porównaniem, czym różni się nowe podejście od już obowiązujących standardów. Najczęściej przytaczanymi cechami WEB 2.0 są: 1. Usługi zamiast aplikacji. Polega na budowie aplikacji internetowych posiadających funkcjonalność równą aplikacjom dostępnym na komputerach stacjonarnych, ale opierających się o usługi sieciowe i wykorzystujących w głównej mierze przeglądarki internetowe.

2. Przechowywanie danych w sieci Internet. Najczęściej utożsamiane jest z różnego rodzaju portalami typu YouTube (grafika i filmy) lub Digg.com (audycje) oferującymi możliwość zamieszczania plików z danymi multimedialnymi oraz wyrażanie własnych opinii na ich temat. Innym rozwiązaniem związanym z umożliwieniem użytkownikom przechowywania danych jest budowa aplikacji RIA. 3. Budowanie sieci społecznych. Zastosowanie Internetu nowej generacji przejawia się w umożliwieniu użytkownikom niczym nieskrępowanej wymiany poglądów, treści za pomocą tematycznych portali oraz samodzielnego redagowania ich zawartości. Koncepcja budowy Internetu rozwijanego w latach 90-tych spowodowała, iż dane prezentowane na stronie internetowej w dużej mierze były własnością osoby odpowiedzialnej za daną stronę. Powodowało to, iż osoba taka odpowiedzialna za treści na niej zawarte była zobowiązana do realizacji wszystkich prac związanych z utrzymaniem i aktualizacją takiej strony lub całego portalu. Rozwijające się trendy współdziałania użytkowników głównie za sprawą otwartego oprogramowania (open source) spowodowały powstanie różnych inicjatyw w postaci chociażby encyklopedii Wikipedia (rysunek 2), w których różne osoby odpowiedzialne za różne, nawet niewielkie zadania, tworzą społeczność.

Rysunek 2. Wikipedia Źródło: pl.wikipedia.org [2007/04/27] Do innych projektów, które powstają w ramach trendu WEB 2.0, integrujących rzesze internautów zaliczymy sourceforge.com umożliwiający współdzielenie projektów open source lub Flickr.com pozwalające na udostępnianie zdjęć. Na to, iż nowe spojrzenie na budowę i zarządzanie stronami internetowymi faktycznie przynosi wymierne korzyści wskazują wyniki wzrostu popularności serwisów internetowych. Jak podaje [Net07] portale tworzone w prezentowanym nurcie odnotowały znaczące wzrosty oglądalności w roku 2006. I tak: Feedburner (o 385 proc.); Doqq.com (o 286 proc.); MySpace (o 170 proc.); Wikipedia (o 161 proc.); Facebook (o 134 proc.);

Jak już wspomniano wcześniej, rozwój prezentowanego podejścia ściśle związany jest z nowymi trendami technologicznymi w postaci technologii AJAX. AJAX tak naprawdę to zbiór rozwiązań, które już od dłuższego czasu są obecne na rynku. Zaliczymy do nich [TiOr05]: zastosowanie rozwiązań XHTML oraz CSS; zastosowanie DOM (Document Object Model); wymiana oraz manipulacja danymi dzięki XML oraz XSLT; asynchroniczna wymiana danych poprzez XMLHttpRequest; wykorzystanie języka JavaScript; Rozwiązania te zapewniają łatwiejszy dostęp internautów do informacji oraz związane są z nowym podejściem do budowy aplikacji internetowych określanym mianem RIA (Rich Internet Application). Przykłady wybranych rozwiązań opartych o technologię AJAX Podstawowym założeniem tej technologii jest przeniesienie przetwarzania danych z serwera na komputer klienta. Dzięki temu generowane strony nie powodują problemów ze zbyt dużym obciążeniem łącz użytkowników, ale wymagają równocześnie więcej zasobów komputera klienta. Technologia AJAX zapewnia użytkownikom możliwość zmiany oglądanych treści bez konieczności przeładowywania strony internetowej. Najbardziej znanym przykładem rozwiązania opartego o prezentowany wcześniej AJAX jest Google Maps, które nie tylko zapewnia API służące

do prezentowania dynamicznej mapy świata, ale także umożliwia tworzenia własnych markerów i umieszczanie ich na prezentowanej mapie. Przykład tak przygotowanej mapy przedstawia rysunek 3. Rysunek 3. Przykład zastosowania technologii AJAX Źródło: opracowanie własne na podstawie maps.google.com Prezentowana technologia pozwala także na budowę bardziej skomplikowanych rozwiązań. Przykładem jest tutaj serwis desktoptwo.com pozwalający na uruchomienie po stronie przeglądarki, strony funkcjonalnie przypominającej pulpit komputera posiadającej miedzy innymi klienta poczty oraz pakiet OpenOffice 2.0. Wygląd tego rozwiązania ukazuje rysunek 4.

Rysunek 4. Przykład budowy aplikacji RIA Źródło: www.desktoptwo.com [2007/04/21] Innymi przykładami zastosowania omawianej technologii są www.numsum.com będącej przykładem budowy arkusza kalkulacyjnego, wspomagające pracę grupową www.zimbra.com lub omawiane wcześniej docs.google.com. Przegląd wybranych rozwiązań do budowy bogatych aplikacji internetowych Tradycyjne rozwiązania tworzenia stron internetowych opierają się o technologię klient-serwer, gdzie obliczenia oraz generowanie kodu strony wykonywane są po stronie serwera www, natomiast przeglądarka internetowa stanowi jedynie medium prezentacji informacji na ekranie. Koncepcja zastosowania AJAX zapewnia możliwość uruchomienia po stronie klienta dynamicznie tworzonej aplikacji w języku DHTML, która

odpowiada za sferę prezentacji otrzymanych danych oraz proste obliczenia, natomiast w jej tle przesyłane są komunikaty miedzy serwerem, a klientem w postaci zapytań XML, które określają jej zachowanie. Innym rozwiązaniem zapewniającym podobną funkcjonalność jest zastosowanie technologii Flash, odpowiedzialnej za prezentację danych na komputerze klienta. Podstawowymi zaletami takiej budowy aplikacji internetowych jest ich multimedialność, możliwość wykorzystania technologii przeciągnij i puść mające niebagatelne znaczenie przy budowie sklepów internetowych, przetwarzanie danych po stronie klienta bez konieczności każdorazowego kontaktu z serwerem, dzięki czemu zmniejsza się zapotrzebowanie na zasoby serwera, doładowywania danych do aplikacji w czasie wykonywania przez użytkownika innych czynności, a tym samym lepsze rozdysponowanie pasma internetowego, brak potrzeb instalacji oprogramowania oraz automatyczne aktualizacje takiej aplikacji, możliwość używania tej samej aplikacji oraz danych z dowolnego komputera, mniejsza podatność na działanie wirusów komputerowych. Oczywiście zastosowanie tej technologii niesie ze sobą także problemy w postaci ograniczonego dostępu do zasobów komputera tak tworzonych aplikacji, wymaganie uruchomienia JavaScript na komputerze klienta, wymaganie odpowiednich mocy obliczeniowych komputera klienta, trudności związane z indeksowaniem takich stron. Technologiczny aspekt budowy bogatych aplikacji internetowych związany jest z zastosowaniem przedstawionych wcześniej technologii, co samo w sobie nie stanowi przełomu w budowie stron internetowych. Jednakże na bazie tych rozwiązań na rynku powstało kilka platform ko-

mercyjnych oraz open source, które pozwalają na budowę aplikacji RIA w różnych językach programowania. Do głównych rozwiązań zaliczymy tutaj OpenLaszlo, które w obecnej formie zapewnia możliwość budowy aplikacji, których interfejs użytkownika tworzony jest w postaci plików Flash lub kodu DHTML (od wersji 4.0) działających po stronie klienta i komunikujących się z serwerem za pomocą miedzy innymi usług sieciowych (rysunek 5), Rysunek 5. Przykład zastosowanie platformy OpenLaszlo Źródło: www.openlaszlo.org [2007/04/21] Zasada tworzenia aplikacji w tym rozwiązaniu polega na tworzeniu stron za pomocą języka LZX interpretowanego przez serwer, kompilowanego do pliku Flash lub DHTML i wysyłanego do przeglądarki klienta. Drugim stosowanym rozwiązaniem jest Flex tworzony przez firmę Macromedia, który od wersji 3 (według zapewnień twórców) ma być dystrybuowane w licencji Mozilla Public License, pozwalający za pomocą

Flex Builder będącego dodatkiem do platformy Eclipse budować złożone aplikacje oparte o usługi sieciowe. Ostatnim prezentowanym rozwiązaniem jest Echo2 pozwalające na budowanie aplikacji działających po stronie serwera z interfejsem użytkownika generowanym w postaci kodu DHTML. Przedstawiony na rysunku 6 przykład przedstawia zastosowanie platformy Echo2 oraz języka AIML (Artificial Intelligence Markup Language) do budowy interaktywnego chatbota. Rysunek 6. Przykład budowy chatbota w oparciu o platformę Echo2 Źródło: opracowania własne. Rozwiązanie to pozwala na budowanie aplikacji internetowych z zastosowaniem języka Java. Fragment kodu w języku Java tworzącego okno prezentowanego chatbota przedstawia rysunek 7.

Rysunek 7. Przykład kodu generującego okno Źródło: opracowania własne. Pozostałe trendy budowy aplikacji internetowych opierają się o takie rozwiązania jak XAML (extensible Application Markup Language) ściśle powiązany z.net Framework 3.0 służący do definiowania interfejsu użytkownika lub nie związany z technologią AJAX - Java Web Start pozwalający na publikowanie aplikacji napisanych w oparciu o język Java na stronach internetowych i będący częścią Java Runtime Environment (JRE) w wersji JRE 5.0. Dokładne informacje na ten temat znaleźć można pod adresem http://java.sun.com/products/javawebstart/. Podsumowanie Przedstawiony w niniejszym artykule trend rozwoju aplikacji internetowych wskazuje nowe możliwości, jakie daje prezentowania technologia bogatych aplikacji internetowych. Aplikacje tego typu spowodowały, iż to, co dotychczas było w dużej mierze płatne oraz wymagało instalacji na komputerze klienta w obecnej formie uruchamiane może być poprzez zwykłą przeglądarkę internetową.

Także charakter samej technologii, która rozwijana jest jako wolne oprogramowanie powoduje, iż firmy coraz częściej zainteresowane są jej zastosowaniem do budowy własnych rozwiązań. Do podstawowych problemów, na jakie jednak wskazują [MiDu07] należą bezpieczeństwo, które wskazało 64% badanych, małe doświadczenie w budowie tego typu rozwiązań 55%, problem integracji z aktualnymi technologiami 51%, trudności w obliczaniu wskaźnika ROI 32% [NiHo07]. Literatura [DaJo05] D. Johnson AJAX: Dawn of a new developer: The latest tools and technologies for AJAX 2005 JavaWorld.com, adres: http://www.javaworld.com/javaworld/jw-10-2005/jw-1017-ajax.html [2007/04/01]. [MaBr07] M. Breeding We Need to Go Beyond Web 2.0 Computers in Libraries - Complete Coverage of Library Information Technology vol. 22 2007 [MiDu07] M. Dumiak Interactive Web Entices, But Is Difficult to Secure USBanker 2007 adres: http://www.us-banker.com [2007/05/01]. [Net07] Serwisy Web 2.0 rosną najszybciej www.egospodarka.pl 2007, adres: http://www.egospodarka.pl/18415,serwisy-web-2-0-rosna-najszybciej,1,39,1.html [2007/04/01]. [NiHo07] N. Hoover Enterprise 2.0 InformationWeek 2007/2. [TiOr05] T. O'Reilly What Is Web 2.0 - Design Patterns and Business Models for the Next Generation of Software www.oreillynet.com 2005. [Wiki07] http://pl.wikipedia.org/wiki/rich_internet_application [2007/04/01].

Informacje o autorze: mgr Mariusz Żytniewski Katedra Informatyki Akademia Ekonomiczna ul. Bogucicka 3 40-226 Katowice Polska Numer telefonu (fax) +48/32/2577277 e-mail: zyto@ae.katowice.pl