Aplikacja internetowa vs Strona Internetowa

Transkrypt

Aplikacja internetowa vs Strona Internetowa
Aplikacja internetowa vs Strona Internetowa.
Aplikacja internetowa, (ang.) web application – zwana również aplikacją webową, to program
komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową z
komputerem użytkownika wykorzystując przeglądarkę internetową która w takim przypadku jest
interaktywnym klientem aplikacji internetowej. W pracy aplikacji internetowej musi pośredniczyć
serwer WWW. Do przygotowania samej aplikacji używa się różnych mechanizmów (np. CGI, JSP,
ASP.NET) i języków (np. PHP, Java, C#), jak również serwerów aplikacji. Mechanizm prezentacji
danych w przeglądarce określa się czasem mianem cienkiego klienta. Przykładem aplikacji
internetowej jest mechanizm edycji treści encyklopedii Wikipedia. Inne witryny WWW należące do
tej kategorii to np. serwis aukcyjny Allegro czy księgarnia internetowa Merlin.
Strona internetowa, strona WWW (ang. web page) – dokument HTML udostępniony w
Internecie przez serwer WWW. Po stronie hosta użytkownika, strona WWW jest otwierana i
wyświetlana za pomocą przeglądarki internetowej. Autorem pierwszych stron WWW jest Tim
Berners-Lee.
Czym się różnią:
Dla laika wszystko co wyświetla się w przeglądarce to strona internetowa co jest błedne.
Najprostszym kryterium podziału jest kryterium techniczne. Jeśli coś jest po prostu statycznym
HTML'em i CSS'em to mamy do czynienia ze stroną internetową. Jeśli zaś pod maską mamy
jeszcze inną technologię generującą treść strony możemy śmiało powiedzieć, że w tym wypadku
mamy do czynienia już z aplikacją internetową.
Zalety aplikacji Internetowych:
• Bezpieczeństwo - aplikacje internetowe są bezpieczne, ponieważ ich bazy danych są
składowane i zabezpieczone centralnie,
• Dostępność - w bardzo łatwy sposób można korzystać z aplikacji internetowych w
dowolnym miejscu - do ich obsługi wystarczy dostęp do urządzenia połączonego z
Internetem,
• łatwość uaktualniania - nawet gdy aplikacje internetowe są uaktualniane, nie jest
konieczna aktualizacja po stronie klienta,
• niezależność sprzętowa - aplikacje internetowe są całkowicie niezależne od systemów i
przeglądarek klientów, którzy z nich korzystają,
• łatwość rozbudowy - aplikacje internetowe mogą być bez przerwy rozbudowywane o
dodatkowe funkcje a zmiany na bieżąco będą dostępne dla klientów.
• Niski koszt – aplikacje internetowe są tanie bo pozwalają an prace na dowolnych
urządzeniach z dostępem do internetu.
Narzędzia aplikacji internetowych.
Serwer WWW – podstawowym narzędziem jest serwer WWW zainstalowany na serwerze
Internetowym (np. IIS albo Apache) na którym jest zainstalowane jest dodatkowe oprogramowanie
(np. Serwer bazodanowy np. MySQL, MSQL) oraz interpreter wybranego języka, języków
programowania (np. PHP, JAVA, C# ) Na serwerze mogą pracować równolegle różne
oprogramowani (kilka serwerów bazodanowych i interpreterów). W aplikacjach internatowych
największe wymagania sprzętowe stawiane są właśnie serwerowi WWW a nie klientom którzy się
łączą się z wykorzystaniem przeglądarki internetowej.
Klient aplikacji internatowej – zajmuje się renderowanie wyglądu strony na podstawie kodu
HTML oraz obsługa niektórych zadań np. JavaScript, ApletJava, AJAX, Flash itp.
Technologie po stronie klienta.
Wspomagają one oprogramowanie po stronie serwera i najczęściej to:
• JavaScript, JS – skryptowy język programowania, stworzony przez firmę Netscape.
Głównym autorem JavaScriptu jest Brendan Eich. Skrypty w JavaScript służą najczęściej
do zapewnienia interaktywności poprzez reagowanie na zdarzenia, sprawdzania
poprawności formularzy lub budowania elementów nawigacyjnych. Skrypty JavaScriptu
uruchamiane przez strony internetowe mają znacznie ograniczony dostęp do komputera
użytkownika. Po stronie serwera może także działać JavaScript w postaci node.js lub Ringo
Aplet Javy – aplet dostarczany w postaci kodu bajtowego Javy. Może zostać uruchomiony
w przeglądarce internetowej wykorzystując wirtualną maszynę Javy albo w samodzielnej
aplikacji AppletViewer służącej do testowania apletów Javy. Mogą być pisane zarówno w
Javie jak i innych językach kompilowanych do kodu bajtowego - na przykład Jython.
• Adobe Flash (dawniej Macromedia Flash) – technologia tworzenia animacji z
wykorzystaniem grafiki wektorowej na zasadzie klatek kluczowych. Powstałe pliki .swf,
zwane często „plikami Flash”, można odtwarzać na stronie www za pomocą przeglądarki
internetowej z zainstalowaną odpowiednią wtyczką (np. Adobe Flash Player) lub w
oddzielnym programie do tego przeznaczonym. Od wersji Flash 5 program wyposażony
został w język programowania do obsługi zdarzeń (np. kliknięcie elementu myszą) –
ActionScript. Dzięki temu we Flashu można tworzyć interaktywne animacje i programy, np.
popularne w sieci WWW gry Flash. Oprócz tego pliki Flash są wykorzystywane do
internetowych reklam, prezentacji oraz filmów (Youtube itp). Istnieją również strony
internetowe całkowicie oparte na plikach Flash.
• AJAX (ang. Asynchronous JavaScript and XML, asynchroniczny JavaScript i XML) –
technika tworzenia aplikacji internetowych wspomagajaca JavaScript, w której interakcja
użytkownika z serwerem odbywa się bez przeładowywania całego dokumentu, w sposób
asynchroniczny. Ma to umożliwiać bardziej dynamiczną interakcję z użytkownikiem niż w
tradycyjnym modelu, w którym każde żądanie nowych danych wiąże się z przesłaniem całej
strony HTML.
Na technikę tę składa się parę elementów:
◦ XMLHttpRequest - klasa umożliwiająca asynchroniczne przesyłanie danych;
◦ JavaScript - mimo użycia w nazwie, może to być de facto dowolny język skryptowy
funkcjonujący po stronie użytkownika (np. JScript czy VBScript).
◦ XML - język znaczników, poprzez który miałyby być opisane odbierane informacje.
Technologie po stronie serwera.
Powodują one że klient otrzymuje gotową stronę HTML wygenerowaną zgodnie z żądaniami
klienta. Należą do nich CGI, ISAPI, ASP.NET, JSP, PHP
• CGI (ang. Common Gateway Interface) – Zazwyczaj program serwera WWW wysyła do
przeglądarki statyczne dokumenty HTML. Za pomocą programów CGI można dynamicznie
(na żądanie klienta) generować dokumenty HTML uzupełniając je np. treścią pobieraną z
bazy danych. Jest to bardzo stary standard dostępny za darmo od 1995r Programy CGI są
często pisane w językach interpretowalnych takich jak Perl, przez co nazywa się je także
skryptami CGI.
• ISAPI (Internet Server API) - Filtry ISAPI umożliwia zarządzanie listą plików dll, które
zmieniają lub rozszerzają funkcje dostępne w usługach IIS. Na przykład filtr ISAPI może
określać, które pliki są mapowane na adres URL, modyfikować odpowiedź wysyłaną przez
serwer lub wykonywać inne akcje modyfikujące zachowanie serwera. Technologia bardzo
szybka w porównaniu z CGI ale działająca tylko na serwerach Microsoftu.
• biór technologii opartych na frameworku zaprojektowanym przez firmę Microsoft.
Przeznaczony jest do budowy różnorodnych aplikacji internetowych, a także aplikacji typu
XML Web Services.
• ASP.NET są to skrypty uruchamiane przy użyciu serwera, który umożliwia wygenerowanie
treści HTML(CSS), WML lub XML – rozpoznawanych oraz interpretowanych przez
przeglądarki internetowe. ASP.NET jest wspierany przez separujący warstwę logiki od
warstwy prezentacji, wątkowo-kierowany model programistyczny, co poprawia wydajność
działania aplikacji. Logika stron ASP.NET oraz XML Web Services jest tworzona w
językach Microsoft Visual Basic .NET, Microsoft Visual C# .NET lub w każdym innym
języku wspierającym technologię Microsoft .NET Framework.
• JSP (ang. JavaServer Pages) to technologia umożliwiająca tworzenie dynamicznych
dokumentów WWW w formatach HTML, XHTML, DHTML oraz XML z wykorzystaniem
języka Java, wplecionego w kod HTML danej strony podobnie jak w PHP. Strona JSP w
•
•
procesie translacji jest zamieniana na serwlet (z reguły mała aplikacja napisana w Javie
uruchamiana po stronie serwera w kontenerze serwletów). Każde wywołanie strony JSP z
poziomu klienta (przeglądarki) wykonywane jest przez skompilowany serwlet. Jeśli użyta
zostanie prekompilacja (kompilacja wstępna) to już podczas uruchamiania aplikacji
wszystkie strony JSP zostaną przetłumaczone na serwlety.
PHP obiektowy język programowania zaprojektowany do generowania stron internetowych
i budowania aplikacji webowych w czasie rzeczywistym. PHP jest najczęściej stosowany do
tworzenia skryptów po stronie serwera WWW, ale może być on również używany do
przetwarzania danych z poziomu wiersza poleceń, a nawet do pisania programów
pracujących w trybie graficznym (np. za pomocą biblioteki GTK+, używając rozszerzenia
PHP-GTK). Implementacja PHP wraz z serwerem WWW Apache oraz serwerem baz
danych MySQL określana jest jako platforma AMP (w środowisku Linux – LAMP, w
Windows – WAMP). Ponadto PHP można uruchomić na serwerze IIS (Windows) oraz w
chmurze Windows Azure.