Wyższa szkoła ubezpieczeń I bankowości w warszawie


Technologie stosowane przy konstrukcji systemów



Pobieranie 2.26 Mb.
Strona6/8
Data29.10.2017
Rozmiar2.26 Mb.
1   2   3   4   5   6   7   8

Technologie stosowane przy konstrukcji systemów

W tym rozdziale zostały zaprezentowane, niezbędne do tworzenia systemów internetowej obsługi i zarządzania polisami w ubezpieczeniach na życie, narzędzia, które zostały wykorzystane we własnym modelu.

Założeniem tego przedstawienia był opis, stosowanych w modelu, technologii i terminologii oraz ważniejszych pojęć z dziedziny Internetu, baz danych i projektowania Witryn internetowych.

    1. Serwery WWWBłąd! Nie zdefiniowano zakładki.9

Usługa WWW (World Wide Web- Globalna Pajęczyna) jest bezsprzecznie najpopularniejszą w Internecie. Umożliwia ona, przy użyciu programu zwanego przeglądarką (ang.: browser), oglądanie Witryn internetowych (ang.: web pages) zwanych potocznie Stronami WWW, tj. sformatowanych dokumentów zawierających tekst, grafikę oraz interaktywne prezentacje lub formularze. Przez usługę (ang.: service) rozumie się tu dostarczanie danych klientowi (w tym przypadku: przeglądarce) przez serwer z użyciem odpowiedniego protokołu. Serwer jest tu rozumiany jako urządzenie - komputer, lub jako program komputerowy - w środowisku informatycznym nazywany demonem (ang.: daemon). Protokół to szereg sformalizowanych poleceń (ang.: commands, także requests) oraz zasad przesyłania danych od klienta do serwera i odwrotnie.

W usłudze WWW wykorzystywany jest protokół HTTP (HyperText Transfer Protocol). Mimo, iż był w użyciu już od początków lat dziewięćdziesiątych, jednakże w pełni, w wersji 1.0, został opisany w maju 1996 w dokumencie RFC1945. Wersja 1.1 (zastosowana powszechnie pod koniec lat dziewięćdziesiątych) opisana jest w RFC2068 ze stycznia 1997. RFC (Request For Comments) jest to forma dokumentacji przeznaczonej do elektronicznej dystrybucji (w formie zwykłego pliku tekstowego) wśród specjalistów w dziedzinie Sieci. Stanowi szczegółowy opis przedstawionego tematu z założeniem propozycji tychże specjalistów celem jego rozszerzenia lub poprawek.

Zadaniem serwera WWW jest umożliwienie transferu, lub inaczej - transportu zawartości Witryny. Jednakże, by omówić zasadę działania serwera, trzeba wyjaśnić sposób funkcjonowania sieci komputerowych, w tym Internetu. Każdy komputer, który jest podłączony do Sieci musi posiadać swój adres IP, cztero liczbowy „numer identyfikacyjny” komputera i (opcjonalnie) domenę DNS. Domeny zostały stworzone by ułatwić korzystanie z niepowstrzymanie rosnącej Sieci, dla której użytkowników byłoby niemożliwe zapamiętanie tylko adresów IP. Komputery wyszukując i łącząc się ze sobą, używają przede wszystkim domen. DNS (Domain Name Service/System) jest następną usługą, systemem komputerów z zapisanymi w pamięci przyporządkowaniami domen do adresów IP10. System działa kaskadowo: gdy serwer DNS nie ma zarejestrowanej domeny, przekazuje zapytanie do innych serwerów. Tak więc, gdy na przykład komputer pod adresem client.domain.com (z adresem IP np. 207.196.0.2) łączy się z komputerem klient.domena.waw.pl, przesyła zapytanie do swojego najbliższego serwera DNS (użytkownik może wybierać taki serwer podczas konfiguracji połączenia internetowego). Ten przesyła zapytanie do serwera DNS domen najwyższego poziomu (ang.: Top Level Domain) .pl (takim jest bilbo.nask.org.pl), a ten z kolei przesyła zapytanie do serwera domen .waw.pl (tutaj jest to serwer DNS domen regionalnych sieci WARMAN)11. Jeżeli domena.waw.pl znajduje się w jego rejestrze, zapytanie przesyłane jest do serwera domena.waw.pl, a gdy ten znajdzie w swoim rejestrze pod-domeny (hosta) klient (w dalszej części tego wywodu pokażemy, że nie musi być to komputer), to on prześle odpowiedź12. By wyróżnić usługi sieciowe, a także umożliwić jednoczesne działanie wielu aplikacji używa się także portów (ang.: ports, sockets). Standardowym portem, który jest używany przez protokół HTTP, jest port 80. Przyjęło się więc mówienie, że „serwer słucha” (ang.: server listens on) żądań na porcie 80. Można oczywiście skonfigurować serwer by oczekiwał żądań na innym porcie (a nawet wielu portach jednocześnie).

Poniżej znajduje się faktyczny zapis dziennika zdarzeń rejestrowanego przez aktywny serwer, czyli tego, co dzieje się gdy, klient- przeglądarka wysyła do niego zapytanie.

Tabela 1: Zapis dziennika zdarzeń serwera Apache

127.0.0.1 - - [18/Feb/2001:12:21:17 -0800] "GET http://localhost/ HTTP/1.0" 304 -

127.0.0.1 - - [18/Feb/2001:12:21:17 -0800] "GET /pictures/logo.gif HTTP/1.0" 304 -

127.0.0.1 - - [18/Feb/2001:12:21:18 -0800] "GET /pictures/tables/red_tl.gif HTTP/1.0" 304 –127.0.0.1 - - [08/Jun/2001:16:09:46 +0200] "GET /rambo/ HTTP/1.1" 304 -
Pierwszy ciąg liczb jest adresem IP lub domeną klienta, który z serwerem się łączy, w tym przypadku jest to 127.0.0.1 tj. localhost, ten sam komputer, na którym jest uruchomiony serwer WWW. Data może być używana w celach statystycznych- jest ona dołączana do dzienników dostępu tworzonych przez serwer, lub do porównania aktualności dokumentów z pamięci podręcznej (ang.: cache) przeglądarki do tych na serwerze.

Po połączeniu, klient przesyła polecenie HTTP/1.x GET <URL>. URL- Uniform Resource Locator (-ion), jest to „adres WWW”, to co wpisujemy do przeglądarki gdy chcemy połączyć się z Witryną. Bardziej poprawną tego nazwą jest jednakże URI (Uniform Resource Identifier)13. Może on być pełnym adresem Strony rozpoczynającym się od „http://”:

GET http://localhost,

może także być relatywną ścieżką (ang.: path) do pliku:

GET /pictures/logo.gif.

Serwer jest zaprogramowany by, gdy w żądaniu (ang.: request) podana jest tylko nazwa katalogu, szuka on w nim pliku on nazwie (w zależności od konfiguracji) index.htm, index.html lub (jak oprogramowanie firmy Microsoft) default.htm, default.html. Jeżeli nie znajdzie takich plików, program może być skonfigurowany by wysłać wygenerowany dokument wyświetlający zawartość katalogu, lub zwrócić kod błędu. W przypadku relatywnego położenia pliku, serwer będzie analizował poprzednie żądania by znaleźć możliwą pełną ścieżkę. Można to porównać do zmiany katalogu systemową komendą CD i kopiowania plików bez podawania do nich pełnej ścieżki. Niektóre serwery (takie jak dalej opisany Apache) posiadają właściwość wyszukiwania i poprawiania dostarczonych przez klienta URI. Tak wiec kiedy plik o określonej nazwie nie istniałby, serwer może szukać pliku o najbardziej podobnej nazwie i wysłać go z poprawną ścieżką dostępu.

Istnieje też potrzeba identyfikowania typu przesyłanego pliku. Posłużono się w tym celu MIME (Multipurpose Internet Mail Extensions) stosowanym przy przesyłaniu Poczty Elektronicznej (E-Mail). Standard ten wprowadzał podział zawartości listów (ang.: message body) na części zależne od rodzaju przesyłanych danych (ang.: Content Type) – bardzo często, i nie bez racji, nazywanymi załącznikami (ang.: attachment). Części te były opisywany dwustopniową klasyfikacją, np.: text/plain dla zwykłego tekstu, text/html dla dokumentów hypertekstowych, lub na przykład image/jpeg dla plików graficznych formatu JPEG. Serwer może wprowadzać identyfikację na podstawie rozszerzeń nazw przesyłanych plików (jest to wygodne w przypadku prostych serwisów), jednak coraz częściej wykorzystywane są tzw. „pliki magii” (ang.: magic files) zawierające dyrektywy nagłówków plików poszczególnych formatów. Można tym sposobem nadawać plikom niestandardowe rozszerzenia lub w ogóle ich nie używać14. Można także oczywiście stosować własne przyporządkowania i kombinacje tych dwóch metod.

Tak więc serwer, przed wysłaniem właściwego (jakiegokolwiek) dokumentu wysyła tzw. nagłówek (ang.: header), w którym podaje jego typ przez „Content Type:” i opisu MIME, dodatkowych informacji jak data modyfikacji, wygaśnięcia (utraty ważności) dokumentu oraz specjalne informacje dla przeglądarki (np. wyłączenie pamięci podręcznej dla dokumentu).



Jako dodatkową informację o dokumencie, serwer wysyła do klienta trzycyfrowy kod. W przypadku z tabeli 1 (kod 304) demon informuje klienta, że plik, który przeglądarka żądała, pozostał niezmieniony (od ostatniej wizyty) i może ona wykorzystać to, co ma w pamięci podręcznej. Serwer może zwrócić także kod błędu (4xx): „najpopularniejsze” to 404, oznaczający, że żądanego pliku nie znaleziono i 403 (Permission Denied) oznaczający brak odpowiednich praw do otrzymania pliku. Źle skonfigurowane serwery często zwracają błąd 500 (Internal Server Error). Duża liczba programów umożliwia też wysyłanie zmodyfikowanych informacji o błędzie (w celu urozmaicenia – „obłaskawienia” użytkownika serwisu), lub nawet kompletnych Stron WWW (Rys. 7)15.


Rysunek 7: Daleko idąca modyfikacja komunikatu o błędzie




Klient, oczywiście, może również przesyłać dane do serwera, w protokole HTTP umożliwiają to dwie metody: POST i PUT. Metoda POST , umożliwia przesyłanie danych z przeznaczeniem dalszego ich przetworzenia przez skrypt lub program sprecyzowany w URI. Najłatwiejszym do wyobrażenia sobie przykładem tego może być wysyłanie poczty elektronicznej z wykorzystaniem przeglądarki WWW. By wysłać pocztę, trzeba do formularza wprowadzić adres osoby, która ma pocztę otrzymać, tytuł listu i, co jest oczywiste, treść listu. Po kliknięciu na odpowiedni przycisk, dane zostają wysłane do serwera gdzie przez odpowiednie narzędzia (opisane w dalszej części rozdziału) jest przetworzony na prawdziwą wiadomość e-mail.

Metoda PUT, w przeciwieństwie, umożliwia transfer i zamianę plików serwisu WWW. Jest ona archaiczna (nie ma żadnych zabezpieczeń) i stanowi potencjalne niebezpieczeństwo wykorzystywania przez internetowych przestępców, tak więc większość serwerów ignoruje takie żądania.

Często można się spotkać także z pojęciem „Serwer Wirtualny”. Wbrew nazwie, jest to fizyczne urządzenie lub program, wykorzystujący bardzo pomocną właściwość domen, a mianowicie do jednego adresu IP można przypisać nielimitowaną liczbę domen. Gdy klient po raz pierwszy zwraca się do serwera, w żądaniu podaje domenę. Odpowiednio skonfigurowany serwer może obsługiwać poszczególne domeny tak jak kilka serwerów. Jest także możliwe, by serwer w ramach takiej domeny pobierał dane lub odsyłał przeglądarkę do innego adresu IP- takie działanie nazywamy aliasem. Usługi takie świadczy np. Prv.pl czy Polbox ze swoim w.pl.



Rysunek 8: Serwery WWW, Procentowy udział serwerów różnych typów w serwisach WWW



(Źródło: Netcraft, http://www.netcraft.com/survey/)
Najpopularniejszym serwerem WWW (oprogramowaniem) jest Apache, występujący w wielu wersjach obsługujących wielorakie standardy sieciowe16. Poprawnie wymawiana nazwa to „a patchy server”, oryginalnym programem był to NCSA httpd, który był rozwijany za pomocą tzw. „łat” (ang.: patches, stąd nazwa), fragmentów kodu naprawiających błędy w pierwotnym kodzie17. Program jest bezpłatny, oparty na Otwartym Źródle (ang.: Open Source). Idea otwartego źródła oznacza, że każdy może mieć dostęp do kodu źródłowego, co także daje możliwości natychmiastowych poprawek w razie wykrycia błędu w programie18. Dba o to cała społeczność (ang.: community) programistów różnych narodowości i doświadczeniu.

Otwarte źródło, a także modułowość (ang.: modularity) programu- możliwość dodawania obsługi nowych standardów i technologii bez modyfikowania jądra (ang.: core, kernel) oprogramowania, przyczyniła się do elastyczności „Apacza”. Istnieją wersje dla niemal wszystkich platform sprzętowych (Intel, Motorola, Alpha, MIPS, Sparc) oraz systemów operacyjnych (UNIX i podobne, Windows, MacOS)19. Doświadczeni administratorzy mogą więc budować systemy dokładnie spełniające zamierzone zadania. Apache nie jest jednak typową aplikacją „przyjazną dla użytkownika”. Konfiguracja odbywa się w trybie tekstowym (przez edycję plików konfiguracyjnych albo przez odpowiadanie na pytania), jednakże bardzo obszerna dokumentacja dostarczana jest z każdą dystrybucją (jest to formalna nazwa pakietu zawierającego oprogramowanie- wywodzi się z terminologii systemu Linux) oraz dostępna na Witrynie http://httpd.apache.org20. Jest ona przetłumaczona na kilkanaście języków, także po polsku, napisana bardzo przystępnie i zawiera opisy przykładowych konfiguracji nawet bardzo zaawansowanych systemów.

Drugim często używanym programem (bardziej właściwym określeniem może być: Pakiet oprogramowania) jest IIS (Internet Information Service) firmy Microsoft. Jego popularność jednakże bierze się raczej z agresywnej polityki marketingowej tej firmy promującej Windows 2000 (a wcześniej NT Server). Okrojona wersja IIS (pod nazwą Personal Web Server) jest dostępna z Windows 98 i nowszymi. Jej główną zaletą jest także, że wraz z serwerem WWW otrzymujemy w pakiecie serwer poczty elektronicznej, grup dyskusyjnych i FTP21. Aplikacja przedstawiana jest jako intuicyjnie prosta w obsłudze i w pełni zintegrowana z systemem operacyjnym. Jednak właśnie to jest jej największą wadą. Podczas gdy w Apache’u dostępne są wszystkie możliwe opcje konfiguracji, IIS ma tylko te najbardziej krytyczne a konfigurowanie odbywa się za pomocą kreatorów zadań22. Niekiedy zdarza się, że konfiguracja musi odbywać się metodą „tips’n’tricks”, za pomocą nieudokumentowanych metod.

Firma Microsoft bardzo rzadko przyznaje się wykrycia „dziur” w swoich produktach. Zwykle są one rozgłaszane przez entuzjastów sieciowych, co przy ogólnej niechęci użytkowników do firmy (a raczej jej polityki cenowej i bezwzględnej walki z konkurencją), czyni oprogramowanie bardzo wrażliwym na ataki. Istnieje, co prawda, procedura uaktualniania oprogramowania pod nazwą Windows Update, lecz jest ona bardzo zawodna w działaniu23.

Istnieją oczywiście także inne, lecz mniej popularne serwery WWW. Jednym z nich jest AOL HTTPd stworzony, po wykupieniu firmy Navisoft przez America OnLine. Cechą wyróżniającą ten program jest zaimplementowana bezpośrednio w główną aplikację obsługa języka TCL (Tool Command Language), umożliwiającego tworzenie aplikacji przez użycie skryptów bez wcześniejszej kompilacji kodu oraz bardzo zaawansowane rozwiązania połączeń z serwerami baz danych (definicja tychże będzie podana w dalszej części tej pracy). Innym serwerem jest komercyjny Netscape WWW Server, który po połączeniu sił firm Sun i Netscape stał się projektem iPlanet.

Mniej popularny jest Roxen, jedną z większych firm, która używa tego programu jest Real Networks. Istnieją także inne programy, takie jak Zeus Web Server, tHTTPd, kHTTPd (demon będący częścią Linuxowego jądra), OmniHTTPd oraz CERN-HTTPd24. W środowisku Windows można też spotkać, darmowy, konfigurowany za pomocą przeglądarki serwer Xitami.




    1. Pobieranie 2.26 Mb.

      Share with your friends:
1   2   3   4   5   6   7   8




©operacji.org 2020
wyślij wiadomość

    Strona główna