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