Elementy projektowania stron WWW Część 1 Podstawy systemów

Transkrypt

Elementy projektowania stron WWW Część 1 Podstawy systemów
Podstawy systemów
wykorzystujących technologie internetowe
Elementy projektowania stron WWW
Inter-, intra-, ekstranet i technologie internetowe
Część 1
WWW, strony, serwisy, witryny, portale
Protokół HTTP
dr inŜ. Tomasz Traczyk
Architektury systemów internetowych
Wprowadzenie do języków i technologii tworzenia stron WWW
2
T.Traczyk: WWW, cz. 1
Technologie internetowe
Internet
• Sieć globalna
– bazująca na protokole TCP/IP
– dostępna publicznie
• Zestaw usług i protokołów
– http, smtp, ftp, telnet,...
• WWW
3
Technologie internetowe
Intranet, ekstranet
Intranet
• Technologie stworzone z myślą o
wykorzystaniu w Internecie
– protokoły i usługi
– architektury
– języki
– narzędzia
• Okazały się przydatne w innych
zastosowaniach
– sieci wewnętrzne i korporacyjne
– systemy informacyjne
• Spowodowały powstanie
– nowych sposobów wykorzystania
informatyki
– nowych rodzajów uŜytkowników
informatyki
– „nowej kultury” uŜytkowania informatyki
– nowych architektur i podejść do budowy
systemów informacyjnych
– nowych problemów
T.Traczyk: WWW, cz. 1
Ekstranet
• Zbiór serwisów
– opartych na technologii internetowej
– przeznaczonych do uŜytku wewnątrz
organizacji w sieci wewnętrznej (lokalnej
lub rozległej)
– zwykle odpowiednio zabezpieczonych
• Powody stosowania
– zalety architektury trójwarstwowej
– dobrze znane środowisko pracy
– łatwość tworzenia rozwiązań
korporacyjnych
– popularne technologie
– bezszwowe połączenie z rozwiązaniami
ekstranetowymi i internetowymi
4
• Zbiór serwisów
– opartych na technologii internetowej
– umoŜliwiających komunikowanie się
organizacji z jej partnerami zewnętrznymi
i klientami
– z ograniczoną dostępnością
(z autoryzacją dostępu)
• Ekstranet moŜna traktować jako część
intranetu, udostępnioną wybranym podmiotom
zewnętrznym
• Powody stosowania
– podobne jak dla intranetu
– łatwość udostępniania systemu partnerom
(bez potrzeby zakupu/instalowania
dodatkowego oprogramowania)
– gotowe standardowe rozwiązania
w dziedzinie bezpieczeństwa
T.Traczyk: WWW, cz. 1
WWW
WWW (World Wide Web)
Hipertekst
• System udostępniania informacji
– w sieci Internet
– w porcjach zwanych stronami
– przede wszystkim w postaci hipertekstu
• Podstawowe środki
– protokół HTTP
(Hypertext Transfer Protocol)
– język HTML
(Hypertext Markup Language)
– przeglądarki WWW
5
• Komputerowa metoda prezentacji powiązanych
informacji
– tekst
– multimedia
• Łącza (links)
– wyróŜnione elementy (fragmenty tekstu,
obrazy itp.)
– wybranie powoduje wyświetlenie
powiązanej z łączem informacji lub
wywołanie usługi
• Osadzone/połączone informacje multimedialne
– grafika
– dźwięk
– wideo
T.Traczyk: WWW, cz. 1
Strony, serwisy, witryny
Strona WWW
Serwis (usługa) WWW
• Wspólna nazwa dla
– zestawów informacji
– usług (właściwych)
udostępnianych za pośrednictwem WWW
• Przykładowe zestawy informacji w WWW
– zbiory stron HTML
– zbiory plików do pobrania
• Przykładowe usługi w WWW
– wyszukiwarki
– personalizacja informacji
– usługi gospodarki elektronicznej, np.
♦ handel elektroniczny (B2C, B2B)
♦ home banking
6
Rodzaje portali
• Rozbudowana witryna
– udostępniająca duŜe zasoby informacji
– w sposób zorganizowany
• Ma pełnić funkcję bramy
– udostępniającej zasoby sieci
– zapewniającej łatwość ich odnalezienia
i uŜycia
• Zasoby są zwykle redagowane/opracowywane
• Zwykle zawiera
– zasoby i usługi obce i własne
– usługi takie jak
♦ wyszukiwarki
♦ moŜliwości personalizacji dostępu
• Często zawiera
– reklamy
– usługi typu e-commerce
– moŜliwość tworzenia własnych stron i/lub
kont pocztowych
7
Protokół HTTP
HTTP (Hypertext Transfer Protocol)
• Portale horyzontalne
– udostępniające informacje o zróŜnicowanej
tematyce
– zwykle przeznaczone do powszechnego
uŜytku
• Portale wertykalne (wortale)
– gromadzące informacje specjalistyczne,
dotyczące konkretnej dziedziny
– zwykle przeznaczone dla specyficznej
grupy uŜytkowników (specjalistów, fanów
itp.)
Budowa komunikatu HTTP
• Podstawowy protokół WWW
• UmoŜliwia wymianę dokumentów
hipertekstowych między serwerami a
przeglądarką
Zasady działania HTTP
• Zasada request-response
– serwer http odpowiada na Ŝądania klienta
– serwer nie moŜe niczego wysłać z własnej
inicjatywy
• Bezstanowość
– kaŜda interakcja Ŝądanie-odpowiedź jest
niezaleŜna od poprzednich
– brak pojęcia sesji
• Portale korporacyjne
(EIP – Enterprise Information Portals)
– w intranecie/ekstranecie
– zapewniaj dostęp do danych i usług
potrzebnych pracownikom i partnerom
– wspiera współdziałanie między
pracownikami
T.Traczyk: WWW, cz. 1
• Zbiór stron WWW prezentujących informacje
i usługi
– powiązane tematycznie
– dotyczące osoby, organizacji, firmy itp.
– wspólnie zarządzane
ale
– niekoniecznie udostępniane z jednego
serwera
– mogące zawierać łącza „na zewnątrz”
T.Traczyk: WWW, cz. 1
Portale, wortale
Portal
Witryna (site)
• Porcja informacji jednorazowo udostępniana
przez serwer do przeglądarki WWW
• Dla stron statycznych odpowiada zwykle
zawartości pliku HTML
8
• Nagłówek
– wersja protokołu
– metoda i nazwa dokumentu | kod stanu
– pola
– zawartość, np. dokument HTML
• Metody HTTP (wybór)
– GET – Ŝądanie dokumentu
– POST – przesłanie danych do serwera
i Ŝądanie odpowiedzi
• Pola HTTP (wybór)
– charakterystyki przeglądarki | serwera
– język preferowany | zwrócony
– określenie numeru wersji i terminu
waŜności dokumentu
– dane | wymóg autoryzacji
– cechy dokumentu, np. typ i rozmiar
– wymóg ustawienia cookie
– wymóg przekierowania
T.Traczyk: WWW, cz. 1
Protokół HTTP, c.d.
Autoryzacja w WWW
URL (Uniform Resource Locator)
• SłuŜy do adresowania zasobu/usługi
– adres serwera i numer portu
– nazwa dokumentu/usługi
– parametry
Typy zawartości (MIME)
• Określają zawartość komunikatu
• Działanie serwera i przeglądarki zaleŜy od typu
zawartości
– przeglądarka moŜe wywołać plug-in lub
program zewnętrzny
• Często uŜywane typy:
– text/html, text/xml, text/plain
– audio/x-wav, audio/midi
– application/pdf, application/zip
– image/gif, image/jpeg
– video/mpeg, video/quicktime, video/avi
9
Architektury systemów internetowych
• Mechanizmy HTTP
– basic – przekazanie nazwy i hasła
uŜytkownika
– digest – hasło kodowane
♦ z udziałem tzw. challenge
generowanego przez serwer –
zapewnia niemoŜność „podłoŜenia”
podsłuchanego hasła
• SSL
– protokół zapewniający
♦ bezpieczną wymianę zaszyfrowanych
informacji
♦ certyfikację serwera i ew. klienta
– niezaleŜny od aplikacji
♦ działa między warstwą sieciową a
aplikacyjną modelu OSI
♦ enkapsuluje inne protokoły, np. HTTP
– uŜywa
♦ algorytmu asymetrycznego z kluczem
publicznym serwera do inicjacji
połączenia (wymiana certyfikatów
i ustalenie klucza sesyjnego)
♦ algorytmu symetrycznego do
kodowania przesyłki
T.Traczyk: WWW, cz. 1
Problemy w systemach klient-serwer
• Konieczność administrowania wieloma róŜnie
skonfigurowanymi komputerami PC
• Stałe zmiany oprogramowania
• Konieczność częstej wymiany sprzętu
• Problemy z bezpieczeństwem
– lokalne kopie danych
– wirusy
• Brak kontroli nad działaniami pracowników
• Brak kontroli licencji
• Efekt: bardzo duŜe koszty eksploatacji PC
10
Architektura trójwarstwowa
11
...
http
Serwer
aplikacji
Serwer
danych
T.Traczyk: WWW, cz. 1
• Wielowarstwowa
• Rozproszona – komponentowa
T.Traczyk: WWW, cz. 1
Cechy architektury trójwarstwowej
Cienki klient
Klient
• Trójwarstwowa
Architektura trójwarstwowa, c.d.
Budowa
• Klient – przeglądarka WWW
– moŜliwości
♦ HTML
♦ języki skryptowe, Java
♦ plug-ins
– funkcje
♦ prezentacja
♦ cienki klient
• Serwer aplikacyjny
– moŜliwości
♦ serwer HTTP
♦ wykonywanie aplikacji
– funkcje
♦ logika aplikacji
♦ przetwarzanie danych
• Serwer danych
– moŜliwości
♦ DBMS
– funkcje
♦ składowanie danych
♦ przetwarzanie danych
Architektury internetowe
Klient
• Istota
– na komputerze klienta tylko przeglądarka
WWW (HTML, ew. JavaScript)
– klient realizuje tylko prezentację
– cała logika aplikacji i przetwarzanie na
serwerze aplikacyjnym
• Zalety
– brak problemów z konfiguracją
i administrowaniem komputerami-klientami
– powszechnie znane środowisko pracy
– darmowe oprogramowanie
– całkowita przenośność
• Odmiany – polegają na „pogrubianiu” klienta
– Java
– przekazanie na klienta
♦ części logiki aplikacji
♦ części przetwarzania danych
• Zalety architektury
– klient
♦ brak problemów z administrowaniem
i bezpieczeństwem
♦ niŜsze koszty zakupu i eksploatacji
sprzętu
♦ bardzo proste oprogramowanie
♦ ścisła kontrola nad działaniami
pracowników
– serwery
♦ scentralizowane administrowanie
(np. zmiana wersji)
♦ niezłe bezpieczeństwo
♦ moŜliwość zastosowania typowych
serwerów (np. uniksowych)
♦ bardzo dobra skalowalność
♦ moŜliwość nadzoru licencji
• Problemy
– brak naturalnego pojęcia sesji
• Właściwe miejsce dla architektury
trójwarstwowej
– systemy dostępne publicznie (Internet)
– systemy korporacyjne (intranet, ekstranet)
12
T.Traczyk: WWW, cz. 1
Inne architektury
Architektura wielowarstwowa
Architektury rozproszone
• Istota: podział warstwy aplikacyjnej
• Motywacja
– poprawa bezpieczeństwa
– zwiększenie moŜliwości skalowania
♦ podział zadań
♦ równowaŜenie obciąŜeń
Klient
...
Klient
http
Serwer
http
Serwer
aplikacji
Serwer
aplikacji
• Istota
– obiekty wywołujące usługi innych obiektów
– obiekty umieszczone w rozproszonym
środowisku
♦ lokalizacja nieistotna i przezroczysta
♦ specjalna warstwa komunikacyjna
– moŜna postrzegać jako rozwinięcie
architektury wielowarstwowej
• Komponenty
– obiekty oferujące gotowe rozwiązania
– składanie aplikacji z komponentów
♦ typowych – kupionych
♦ specjalizowanych – wykonanych
• Rozwiązania
– „przedinternetowe”: CORBA, DCOM
– współdziałające z Internetem:
CORBA+IIOP, EJB, .NET
– internetowe: Web Services (SOAP)
Wprowadzenie do technologii tworzenia stron WWW
Statyczne strony WWW
• Przechowywane na serwerze w postaci plików
– HTML
– PDF in.
• Serwowane bez zmian
Dynamiczne strony WWW
• Tworzone dynamicznie przez serwer na
podstawie parametrów i/lub zawartości Ŝądania
• Zwykle otrzymywane na podstawie zawartości
bazy danych
„Dynamiczny HTML”
czyli aktywne strony WWW
• Przechowywane na serwerze w postaci plików
• Zawierają kody programów w językach
wykonywanych na kliencie
– języki skryptowe
– Java
– Flash itp.
• „OŜywiają” strony WWW
• Typowe uŜycia
– walidacja danych w formularzach
– oprogramowanie przycisków
– nawigatory
– rozwijalne menu
– bajery...
– AJAX
Serwer
danych
13
T.Traczyk: WWW, cz. 1
Języki i formaty stron WWW
Języki opisu strony
Multimedia
• Języki znakowania
– HTML
– XML
• Języki formatowania
– CSS
– XSL
Języki do tworzenia stron aktywnych
• Języki skryptowe:
– JavaScript (ECMAScript), JScript
• Język Java i aplety
• Grafika
– GIF, JPEG
• Muzyka
– AU, WAV, MIDI itd.
• Wideo
– MPEG, AVI itd.
• Plug-ins itp.
– Acrobat, Flash itd.
• Media strumieniowe
– Real Audio, Real Video, QuickTime itp.
Języki do tworzenia stron dynamicznych
• Języki dla CGI
– C/C++
– Perl
• Język Java i serwlety
• Server Pages
– JSP, JSF
– ASP
15
T.Traczyk: WWW, cz. 1
14
T.Traczyk: WWW, cz. 1