Za każdym razem, gdy programista tworzy dwie aplikacje komunikujące się przez sieć,
musi zastanowić się nad następującymi elementami rozwiązania:
- Składnia i semantyka wymienianych komunikatów.
- Czy interakcję inicjuje klient, czy serwer.
- Działania podejmowane w przypadku wystąpienia błędów
- Sposób poinformowania obydwu stron o obowiązku zakończenia połączenia.
Definiując szczegóły komunikacji, programista tworzy protokół warstwy aplikacji.
Wyróżnia się dwa rodzaje protokołów warstwy aplikacji w zależności od ich przeznaczenia:
- Komunikację prywatną. Programista opracowuje dwie aplikacje, które komunikują się za pośrednictwem internetu z założeniem, że powstały system jest przeznaczony do użytku prywatnego. W większości przypadków interakcje między programami nie są szczególnie skomplikowane, dzięki czemu twórcy oprogramowania mogą pisać kod bez formalnej specyfikacji protokołu.
- Standardowe usługi. Usługi internetowe są opracowywane w nadziei, że tworzeniem aplikacji udostępniających daną usługę użytkownikom będzie się zajmowało wielu niezależnych programistów. W takich przypadkach protokół warstwy aplikacji musi być udokumentowany i niezależny od implementacji. Dodatkowo specyfikacja musi być dostatecznie przejrzysta i jednoznaczna, aby powstające programy klienckie i serwerowe mogły ze sobą poprawnie współdziałać.
Rozmiar samego dokumentu opisującego protokół zależy od złożoności usługi. Specyfikacje
prostych usług zajmują jedną stronę tekstu. Na przykład wśród wielu standardowych
usług internetowych znajduje się usługa DAYTIME, która umożliwia klientom pobranie
daty i czasu zgodnie z ustawieniami serwera. Protokół komunikacyjny jest w niej wyjątkowo
łatwy w implementacji - klient ustanawia połączenie z serwerem, serwer wysyła wartość
daty i czasu w formacie ASCII, a następnie kończy połączenie. Odpowiedź serwera może
mieć treść:
Sat Sep 9 20 : 18 : 37 2008
Klient pobiera dane aż do napotkania znacznika końca pliku.
Aby umożliwić aplikacjom współdziałanie ze standardowymi aplikacjami, konieczne
jest opracowanie standardu protokołu warstwy aplikacji, który jest niezależny od
konkretnej implementacji mechanizmu komunikacyjnego.
Źródła i Literatura:
Comer Earl Douglas - "Sieci Komputerowe i intersieci-kompendium wiedzy każdego administratora" Wydanie V, Wydawnictwo Helion 2012, ISBN: 978-83-246-3607-5.
Polish language edition published by HELION S.A. Copyright© 2012
Copyright© 2012 Wydawnictwo HELION S.A
WWW: http:pl/helion.pl (księgarnia internetowa, katalog książek)
Copyright© 2012 Wydawnictwo HELION S.A
WWW: http:pl/helion.pl (księgarnia internetowa, katalog książek)