1. Jakie problemy rozwiazac musi warstwa sprzetowa? W jaki sposób formuluje sie adresy sprzetowe?

  1. Przedstaw 7-warstwowy model interfejsów OSI. Jakie role pelnia poszczególne warstwy?

7. Aplikacji: uslugi realizowane przez aplikacje.

6. Prezentacji danych: format wymiany danych, ich ewentualne szyfrowanie. (zwykle nie wystepuje)

5. Sesji: nawiazywanie i zamykanie polaczen (zwiazana z duzymi systemami wielodostepnymi – stracila na znaczeniu)

4. Transportu: podzial danych, gwarancja dostarczenia, weryfikacja.

3. Sieciowa: logiczne adresy zamienia na sprzetowe, pakiety logiczne dzieli na ramki danych.

2. Lacza: interpretowanie przesylanych bitów jako ramek.

1. Fizyczna: przesyla nieprzetworzone bity danych przez nosnik.

  1. Omów podzial na warstwy stosowany w protokolach internetowych.

-Warstwa aplikacji (Telnet, FTP, e-mail…). Takze SMNP (Simple Network Management Protocol).

-Transportowa (TCP, UDP). TCP zapewnia wiarygodny (reliable) przeplyw danych (porcjowanie, timeouts). UDP przesyla datagramy nie gwarantujac ich dotarcia.

-Sieciowa (IP, ICMP, IGMP). Albo warstwa internetowa. Obsluguje ruch pakietów poprzez siec. Miedzy innymi zachodzi tu rutowanie pakietów. Internet Protocol, Internet Control Message Protocol, Internet Group Management Protocol.

-Polaczeniowa (sterowniki urzadzenia i karta interfejsu sieciowego; np. Ethernet, token ring, uzycie ARP i RARP) Albo warstwa interfejsu sieciowego. Wszelkie szczególy fizycznej komunikacji.

  1. Wyjasnij, na czym polega warstwowy model protokolów internetowych. Dlaczego wyróznia sie poszczególne warstwy?

-Zlozonoscia zadania;

-Heterogenicznoscia istniejacych sieci skladowych;

-Specjalizacja poszczególnych protokolów do zastosowan.

  1. W jakim celu wprowadzono system adresów logicznych?

Identyfikuje polaczenie komputera z dana siecia.

  1. Objasnij podzial odpowiedzialnosci pomiedzy protokolami TCP oraz IP.


  1. Omów tradycyjny podzial adresów IP na 4 klasy. Jakie problemy wiaza sie z takim podejsciem i jak sie im zapobiega?

    1. A: do 127:

    2. B: 128-191:

    3. C: 192-223:

    4. D: 224-239:

    5. E: 240-255:

marnotrawstwo adresów;

duze tablice tras (zob. dalej).

IPv6: 128-bitowe adresy => ogromna pula. Ponadto:

  1. Objasnij mechanizm enkapsulacji (encapsulation) datagramu IP.

-Zapakowanie wewnatrz ramki sieciowej; zawartosc nie jest interpretowana przez nizsza warstwe.

-Datagram IP jako zawartosc takiej ramki jest identyfikowany odpowiednim typem ramki sieciowej. Oczywiscie ramka sieciowa otaczajaca datagram musi miec wyspecyfikowany adres sprzetowy odbiorcy.

-Kazdy etap na drodze datagramu wiaze sie z rozpakowaniem ramki sieciowej a nastepnie wyslaniem go w nowej ramce.

-MTU (Maximum Transfer Unit): ogranicza wielkosc danych w ramce. Jezeli dla danej sieci rozmiar datagramu przekracza MTU, to wykonywana jest fragmentacja. Skladanie datagramu odbywa sie dopiero u ostatecznego odbiorcy. Odbiór datagramu: wszystko albo nic.

  1. Objasnij mechanizm odwzorowywania adresów logicznych na adresy sprzetowe.

-Aby dostarczyc dane, nalezy na podstawie adresu protokolowego ustalic adres sprzetowy.

-Metody:

    1. Tablicowe (zwykle w sieciach rozleglych);

    2. Obliczeniowe (gdy adres sprzetowy konfigurowalny);

    3. Sieciowe: pytanie-odpowiedz (zwykle w lokalnych ze statycznymi adresami).

-Adres sprzetowy mozna okreslic tylko wtedy, jesli adresat jest w tej samej sieci fizycznej.

-Pakiety dla adresatów nielokalnych przejmuje ruter.

-Ruter przynalezy do co najmniej dwóch sieci (posiadajac tylez adresów logicznych i sprzetowych).

  1. Jakiego rodzaju urzadzenia aktywne sa stosowane w budowie sieci komputerowych?

-Repeater (wzmacniak), oraz hub -> warstwa fizyczna (1 w OSI).
Propaguja równiez zaklócenia…

-Most: podzial na dwie sieci, mogace posiadac rózne media transmisyjne -> warstwa lacza (2); pracuje na adresach MAC.

-Switch -> warstwa lacza danych (2). Symuluje siec lokalna z mostami, gdzie w kazdym segmencie jest tylko jeden komputer.

-Ruter -> podzial na wiecej podsieci IP -> warstwa lacza (2) i sieciowa (3). Laczenie sieci heterogenicznych. Podobnie jak most = specjalizowany komputer: procesor, pamiec, interfejsy sieciowe. Rózne media transmisyjne, mechanizmy adresowania sprzetowego i formaty ramek.

-Zapora sieciowa -> ogranicza dostepu z zewnatrz. Rodzaje filtrów:

    1. bramki aplikacji: pakiety sa odpowiednio tlumaczone; wymaga skonfigurowania oprogramowania proxy dla kazdej uslugi sieciowej na kazdej z maszyn w sieci;

    2. filtry pakietów: blokowanie pakietów w oparciu o adres pochodzenia, adres docelowy, protokól, nr portu czy nawet zawartosc.

  1. Omów wlasciwosci i zadania protokolu TCP.

Obsluguje nastepujace powazne problemy transmisji:

    1. przywracanie wlasciwej kolejnosci odebranych pakietów: wykorzystanie numeru porzadkowego pakietów;

    2. unikanie duplikatów – j.w.;

    3. retransmisja zgubionych pakietów: nadawca wysyla ponownie, jesli w zadanym czasie nie otrzymal potwierdzenia (acknowledgment);

    4. unikanie powtórzen spowodowanych nadmiernym opóznieniem: numery pakietów dodatkowo kwalifikowane identyfikatorami sesji;

    5. kontrola przeplywu dla unikniecia zalewu danych: metoda przesuwajacego sie okna.

  1. Wyjasnij mechanizm enkapsulacji pomiedzy warstwami protokolów internetowych. Na czym polega demultiplexing?

-Kazda warstwa dolacza swe naglówki przed i niekiedy równiez (np. Ethernet trailer) za przekazywanym pakietem danych.

-Jednostka danych wysylanych przez protokól TCP = segment;

-Jednostka wysylana przez protoków IP = datagram (tak naprawde – packet: tj. datagram IP albo fragment datagramu IP);

-Jednostka w ramach Ethernetu = frame (ramka) – o okreslonym typie

-8-bitowy identyfikator w naglówku IP identyfikuje protokól datagramu: ICMP, IGMP, TCP, UDP.

-Analogicznie TCP i UDP uzywaja w naglówku 16-bitowych numerów portów do zidentyfikowania aplikacji: numery zródlowego i docelowego portu.

-Analogicznie (np. rozróznienie pomiedzy IP, ARP, RARP), naglówek Ethernetowy zawiera 16-bitowe pole typu ramki.

-Demultiplexing: po otrzymaniu ramki kolejne warstwy „rozpakowuja” dane i w oparciu o identyfikatory w znanych sobie naglówkach przekazuja odpowiedniemu protokolowi warstwy wyzszej.

  1. Czemu sluza numery portów? Jakie zalozenia przyjeto przy ich przydzielaniu?

-Przydzialem numerów od 1 do 1023 zajmuje sie Internet Assigned Numbers Authority (IANA).Unix: porty zarezerwowane => tylko superuser moze przydzielic taki port.

-Porty klienckie zwane efemerycznymi (ephemeral ports), gdyz uzywane sa na czas korzystania danego klienta z uslugi. Zwykle alokowane pomiedzy 1024 a 5000.

  1. Co to jest interfejs gniazd i jakie oferuje mozliwosci?

-Najpopularniejsze jednak – udostepnianie jednolitego interfejsu tzw. gniazd (sockets). Powstal jako czesc BSD; zwany tez Berkeley sockets.

-Moga byc dostepne jako wywolania systemu operacyjnego, lub w postaci funkcji bibliotecznych.

  1. Objasnij organizacje i funkcjonowanie DNS (Domain Name System).

-Zapewnia przyjaznosc adresów Webu dla czlowieka: umozliwia lokalizacje maszyny (adres logiczny) na podstawie znakowej nazwy;

-Pozycja w bazie danych DNS zawiera nastepujace elementy:

    1. nazwa dziedziny;

    2. typ rekordu;

    3. wartosc.

-Wystepuja rózne typy rekordów – oto najwazniejsze:

    1. Wiazania: nazwa -> adres IP => wiazania typu A;

    2. Wiazania: nazwa dziedziny poczty elektronicznej -> adres IP => wiazania typu MX (Mail eXchanger).

  1. W jaki sposób realizowana jest obsluga zapytan DNS?

-Podstawowe zalozenie projektowe: rozproszenie bazy poprzez hierarchiczna dekompozycje.

-Zapewnia to autonomie definiowania nazw lokalnych przez poszczególne organizacje. Hierarchia jest zorganizowana nastepujaco:

    1. kazdy serwer bierze odpowiedzialnosc za czesc hierarchii nazw;

    2. na szczycie – serwer glówny, posiadajacy liste serwerów kontrolujacych poszczególne dziedziny poziomu glównego (np. .com);

    3. pojedynczy komputer musi byc odpowiedzialny za wszystkie komputery o danym zakonczeniu nazwy. Innymi slowy, danego wierzcholka drzewa nie mozna podzielic.

    4. poszczególne organizacje moga zatem uruchamiac dla swoich domen jeden lub hierarchie serwerów, albo oddelegowac to zadanie uslugodawcy;

  1. Czemu sluzy standard MIME i jak organizuje obslugiwana zawartosc?

MIME = Multipurpose Internet Mail Extensions:

    1. Standaryzuje dodatkowe wiersze naglówkowe;

    2. Otwarty system definiowania róznego typu zawartosci;

Dopuszcza:

    1. wiele odrebnych obiektów przesylanych jako pojedynczy list;

    2. nieograniczone dlugosci wiersza oraz calego tekstu;

    3. zbiory znaków inne niz ASCII;

    4. wiele róznych fontów w jednej wiadomosci;

    5. róznego rodzaju zalaczniki multimedialne;

  1. Omów zasady dzialania systemu WWW.

-Tzw. interfejs point and click. Okreslany jako system hipermedialny, tzn. rozszerzenie (obecnosc innych niz tekst postaci informacji) systemu hipertekstu.

-Dokumenty administrowane niezaleznie => niska stabilnosc odsylaczy.

-Scenariusz dzialania serwera jest dosc prosty: udostepnianie w odpowiedzi na komunikat klienta zadanych przezen dokumentów.

  1. Przedstaw zasadnicze kategorie dokumentów WWW wraz z ich zaletami i wadami.

Statyczne: zawartosc okreslona w momencie ich napisania przez autora:

+ prostota, latwosc implementacji;

slaba elastycznosc.

Dynamiczne: brak predefiniowanej postaci; generowany na nowo w odpowiedzi na kazde wezwanie:

+ mozliwosc prezentowania aktualizowanej czesto informacji;

+ zapewnienie interakcyjnosci bez dodatkowych wymogów dla oprogramowania przegladarki (z punktu widzenia jej mechanizmów strony statyczne nieodróznialne od dynamicznych);

po pobraniu takiej strony ulec ona moze dezaktualizacji;

wieksze wymagania dla wydajnosci lacza i serwera; wiekszy narzut czasowy (konieczne generowanie strony);

wyzsze koszty opracowania i przetestowania.

Aktywne: dokumenty zawierajace w sobie kopie programu uruchamialnego lokalnie w srodowisku przegladarki:

+ moze siegac do zródel na serwerach celem biezacego aktualizowania informacji;

potencjalne luki w bezpieczenstwie;

dodatkowe koszty tworzenia i dzialania;

wymaga bardziej zaawansowanego, zgodnego oprogramowania przegladarki (w tym – problem sprawdzenia wersji danej przegladarki)
i odpowiednich zasobów po stronie klienta.

  1. Scharakteryzuj protokól HTTP oraz budowe jego komunikatów.

-Przegladanie dokumentów hipermedialnych nie wykazuje istotnej lokalnosci odwolan. => Inny wzorzec odwolan niz dla pozostalych rodzajów programów uzytkowych!

-Protokól zaprojektowany jako bezstanowy (brak pojecia sesji grupujacej interakcje). Interakcja przegladarki z serwerem WWW odbywa sie wedlug modelu bezpolaczeniowego:

    1. zadanie jest wysylane przez klienta;

    2. Serwer przekazuje (zawsze z inicjatywy klienta) zadane zasoby lub informacja o ich niedostepnosci;

    3. polaczenie zostaje zamkniete.

-Protokól okresla format zadania oraz odpowiedzi.

-Domyslny numer portu: 80.

  1. Omów najwazniejsze rodzaje komunikatów HTTP stanowiacych zadanie ze strony klienta.

-GET:

    1. Stosowany przy specyfikowaniu wymaganego zasobu;

    2. Parametry dolaczane do URL (po znaku zapytania);

    3. Ograniczona dlugosc przekazywanych parametrów;

-POST:

    1. Parametry wysylane w ciele komunikatu;

    2. Opisane dodatkowo naglówkami Content-Type: (np. application/x-www-form-urlencoded)
      oraz Content-Length:

    3. wolana lokalizacja (URI) wskazuje zwykle na program obslugujacy, nie zas na pobierany zasób;

    4. odpowiedz jest zwykle dokumentem generowanym, nie zas statycznym.

-HEAD:

    1. jak GET, ale sluzy jedynie sprawdzeniu dostepnosci zasobu: zwracany w odpowiedzi jest komunikat nie posiadajacy ciala;

  1. Jakie udoskonalenia wprowadza specyfikacja HTTP w wersji 1.1 i jakich dodatkowych elementów komunikatów wobec tego wymaga?

-Wprowadzenie trwalych polaczen (persistent connection), umozliwiajacych wykonanie wielu transakcji w oparciu o to samo polaczenie TCP
=> sprawniejsze dzialanie.

-Wsparcie dla cache.

-Wsparcie dla tzw. chunked encoding, pozwalajace nadawanie odpowiedzi jeszcze przed ustaleniem jej ostatecznego rozmiaru. Zapewnia sprawniejsza odpowiedz dla dynamicznie generowanych stron.

-Umozliwienie obslugi wielu domen z tego samego adresu IP -> efektywniejsze wykorzystanie puli adresów IP.

  1. Wskaz najwazniejsze ograniczenia tradycyjnych dokumentów WWW.

-Bezstanowosc protokolu HTTP;

-Statyczny charakter dokumentów;

-Scisle splecione zawartosc, opis struktury oraz opis sposobu wizualizacji dokumentu;

=> niemoznosc efektywnej personalizacji serwisu;

=> bardzo ograniczone mozliwosci autoryzacji uzytkownika;

=> utrudnione zarzadzanie stylem wizualizacji w przypadku wiekszych dokumentów;

  1. Czym jest jezyk JavaScript i do jakich typowych zadan bywa stosowany w dokumentach WWW?

Interpretowany jezyk skryptowy o luznej kontroli typów.

Od poczatku planowany jako rozszerzenie mozliwosci stron WWW, przystosowane do uzycia przez nieprofesjonalistów. Waznym pierwotnie zakladanym zastosowaniem miala byc interakcja z apletami Javy.

  1. Scharakteryzuj pokrótce skladnie jezyka JavaScript oraz sposób jego laczenia z HTML.

-Wyróznione typy danych: "number", "string", "boolean", "function", "object", "undefined". Mozliwosc sprawdzenia typu: funkcja string typeof(zmienna_lub_stala).

-Operatory logiczne, arytmetyczne i bitowe -> skladnia podobnie jak w Javie;

-Instrukcje warunkowe i petle -> podobnie jak w Javie;

-Mozliwosc deklarowania w kodzie zmiennych i tablic zmiennych; w dowolnym miejscu

  1. Czym sa aplety i jakie cechy odrózniaja je od JavaScript?

-Trzy zasadnicze komponenty tej technologii:

    1. jezyk programowania;

    2. system wykonawczy;

    3. biblioteka klas;

-Mozliwosc wykonywania operacji na plikach;

-Mozliwosc cyfrowego podpisania apletu celem udostepnienia mu operacji uprzywilejowanych;

-Wieksza skalowalnosc, mozliwosc tworzenia bardziej wyrafinowanego kodu;

-Udostepnianie apletu:

    1. bezposrednie wskazanie w URL pliku .class zawierajacego aplet;

    2. osadzenie apletu w dokumencie HTML:
      <APPLET CODEBASE=”serwer/sciezka CODE=”nazwaApletu.class”>

  1. Czym sa cookies? Jakie sa ich mozliwosci oraz ograniczenia?

-Plik tekstowy przechowywany po stronie klienta. Tradycyjny termin informatyczny oznaczajacy nieprzejrzysty element danych przechowywany przez posrednika.

-Zastosowanie:

    1. kto odwiedza strone? Ilu jest uzytkowników, ilu nowych?

    2. personalizacja strony;

    3. zachowanie stanu wspólpracy ze strona;

    4. umieszczenie identyfikatora “koszyka”;

-Ciasteczka staja sie uzyteczne dopiero przy wykorzystaniu skryptów (po stronie klienta lub po stronie serwera)

-Ciasteczko moze byc zalozone, usuniete lub zmienione na skutek odpowiedzi serwera, zas zawarta w nim informacja zostanie przekazana przy nastepnym wezwaniu.

-Stad dopiero przy nastepnym wezwaniu jestesmy w stanie zorientowac sie, ze uzytkownik nie przyjmuje ciasteczek.

-Serwer moze zazadac tylko ciasteczka, które sam zapisal u klienta (zgodnosc domeny w zadaniach).

  1. Czym sa Kaskadowe Arkusze Stylów (CSS)? Jak moga byc wiazane z dokumentem oraz na czym polega wlasciwosc ich „kaskadowosci”?

-Umozliwienie separacji stylów wzgledem struktury i tresci dokumentu.

-Bardziej precyzyjna kontrola nad ukladami, fontami, kolorami, tlem, efektami typograficznymi;

-Mozliwosc modyfikowania wiekszego zbioru stron poprzez edytowanie pojedynczego dokumentu; b. wazne dla pielegnacji!

-Zapewnienie zgodnosci pomiedzy przegladarkami; zapewnienie sprawnego ladowania stron.

Definicje stylów posiadaja okreslone (dosc intuicyjne priorytety). Przypominaja nieco przeslanianie definicji zmiennych w lokalnych podprogramach:

  1. Scharakteryzuj technologie Dynamic HTML.

-Nie jest to wyodrebniona technologia jak np. JavaScript czy ActiveX.

-Definicja: zawartosc HTML mogaca zmieniac swój wyglad juz po zaladowaniu do przegladarki.

-Umozliwia manipulacje elementami dokumentu WWW wczesniej traktowanymi jako niezmienne. Na ogól pisane w JavaScript lub VBScript. Wyróznik – dostep skryptu do wlasciwosci DHTML dostepnych w przegladarkach 4 generacji, choc wówczas rozbieznosci byly frustrujaco duze.

  1. Czym jest DOM (Dynamic Object Model)? Jakie podstawowe rodzaje wezlów obsluguje?

DOM udostepnia kompletny i ustandaryzowany model dokumentu jako strukture zarzadzana przez przegladarke. Wprowadza równiez wsparcie dla zdarzen myszy i klawiatury wzgledem wszystkich elementów dokumentu.

Pozwala na manipulowanie obiektami dokumentu:

posiadajacymi wlasciwosci;

mogacymi zawierac inne obiekty.

-mozliwosc nawigowania w tej hierarchii, albo dostepu poprzez identyfikator (atrybut ID obiektu).

Rodzaje wezlów:

-Element: odpowiada tagowi lub parze tagów; moze zawierac zagniezdzone elementy (typu element) lub wezly tekstowe (typu text).

-Text: odpowiada danym znakowym. Nie posiada elementów potomnych.

-Attribute: okreslaja atrybuty elementów. Wartoscia atrybutu jest zawsze string. Równiez nie zawiera elementów pochodnych.

-Document: specjalizacja typu element. Stanowi pojedynczy korzen dokumentu i udostepnia specyficzne operacje dla globalnego przeszukiwania.

  1. Jakie mozliwosci wnosi stosowanie dokumentów dynamicznych?

-aplikacje oparte na bazie danych;

-autoryzacja uzytkownika i personalizacja; koszyk;

-forum; poczta przez WWW oraz listy rozsylkowe;

-zarzadzanie trescia; generowanie dokumentów.

  1. Omów podstawowy mechanizm autentykacji dostepny w protokole HTTP.

-Autentykacja: uzytkownik jest rzeczywiscie tym, za kogo sie podaje (najpowszechniejsza metoda = sprawdzenie hasla).

-Autoryzacja: sprawdzenie, czy dany uzytkownik jest uprawniony do danego dostepu.

-Kontrola dostepu: inne, ujecie zagadnienia. Poza zidentyfikowaniem uzytkownika mozliwe sa jeszcze inne kryteria udostepnienia zasobu (np. adres, spod którego nadchodzi zadanie).

Najprostsza metoda, tzw. basic:

-uwzgledniona w protokole HTTP;

-wymaga ustawien konfiguracyjnych serwera WWW;

-haslo nie jest kodowane;

Przebieg interakcji:

-w odpowiedzi na zadanie serwer zwraca zamiast zasobu naglówek: 401 Authentication Required; oraz nazwe chronionego obszaru (tzw. realm)

-przegladarka wyswietla dialog (uzytkownik i haslo);

-wprowadzone dane sa wykorzystywane przez przegladarke w kolejnych zadaniach dotyczacych danego obszaru;

  1. Scharakteryzuj technologie interfejsu CGI. Jakie posiada ograniczenia?

-Protokól uruchamiania programów na serwerze WWW. Ustandaryzowanie takiego interfejsu zapewnia niezaleznosc od platformy tj. OS oraz serwera webowego.

-Pozwala na udostepnianie dynamicznej informacji. Nie ogranicza sie do dokumentów HTML.

-CGI nie jest jezykiem programowania i nie determinuje jezyka programowania. Mozna stosowac nawet skrypty powloki. Czesto stosowany Perl w zwiazku z dostepnoscia modulów dla Webu oraz bardzo dobrymi udogodnieniami dla przetwarzania tekstu.

-Ograniczona sprawnosc dzialania: koniecznosc zaladowania procesu przy obsludze kazdego zadania stanowi znaczne obciazenie;

-Problem wspóldzielenia zasobów nie jest latwy do rozwiazania;

-Mozliwosc wywolywania polecen po stronie serwera tworzy istotne zagrozenie dla bezpieczenstwa;

  1. Jakie mozliwosci oferuje technologia SSI? Czym rózni sie od CGI?

-Jak sugeruje nazwa, w tym wypadku kod jest wstawiany w strukture dokumentu HTML.

-Odpowiednie fragmenty dokumentu sa ponownie generowane przy kazdym odwolaniu.

-Dynamika dokumentu bez koniecznosci stosowania CGI; generowane sa tylko wymagane fragmenty dokumentu.

-Mozliwe zastosowania:

    1. Licznik odwolan;

    2. Data i czas; data ostatniej modyfikacji dokumentu;

    3. Wkomponowywanie innego pliku lub rezultatu wywolania programu CGI.

-Rozszerzenia specyfikacji obejmuja m. in.:

    1. Instrukcje warunkowe (if … else);

    2. Wysylanie poczty.

  1. Scharakteryzuj technologie ASP. Jakie rodzaje zmiennych sa dostepne w jej skryptach?

-Zalety:

    1. Dynamiczna zawartosc webowa;

    2. Obsluga danych przekazanych poprzez formularze;

    3. Udostepnianie zródel danych znajdujacych sie na serwerze;

    4. W stosunku do CGI przewaga jest prostota i szybkosc tworzenia;

    5. Kod ASP nie jest widoczny po stronie przegladarki;

    6. Udostepnia zwykly HTML -> brak specjalnych wymogów wobec przegladarki;

    7. Przy odpowiednim programowaniu stron pozwala ograniczyc ruch w sieci.

-Lokalne (wewnatrz procedur).

-Globalne strony (poza cialem procedury):
dostepne dla kazdego skryptu na danej stronie.

-Sesji: Dostepne ze wszystkich stron danej aplikacji – tworzone i wypelniane na potrzeby wspólpracy z konkretnym uzytkownikiem. Przechowuja np. imie, identyfikator, preferencje.

-Aplikacyjne: Równiez dostepne dla wszystkich stron. Przechowuja jednak wlasciwosci obowiazujace wszystkich uzytkowników.

  1. Scharakteryzuj technologie PHP.

-Równiez zaliczany do gatunku SSI.

-Bardzo szeroko dostepny; Obsluga PHP na danej platformie dostepna jako modul serwera albo jako program CGI.

-Zastosowania:

    1. skrypty po stronie serwera;

    2. skrypty uruchamiane z linii komend;

    3. okienkowe programy dzialajace po stronie uzytkownika;

  1. Scharakteryzuj technologie servletów. Jak implementuje sie zachowanie servletu?

-Servlet funkcjonuje jako element oprogramowania odpowiadajacy na zadania (zwykle) HTTP.
Model dzialania nawiazuje wiec po czesci do CGI, ma jednak w stosunku do niego istotne zalety:

    1. Przystosowane do wykonania wielowatkowego.

    2. Dzieki rozbudowanemu API Javy zwykle nie ma potrzeby wywolywania polecen systemu operacyjnego – lepsze bezpieczenstwo.

    3. Mozliwosc okreslenia precyzyjnej kontroli dostepu do zasobów (ACL – Java Access Control List).

    4. Mechanizm obslugi wyjatków – potencjalnie lepsza stabilnosc.

-Servlet jest ladowany przy pierwszym odwolaniu don lub przy starcie engine-u. Pozostaje w pamieci do momentu jawnego usuniecia lub zatrzymania serwera.

-Mozna wskazac trzy metody sevletu wyznaczajace jego cykl zyciowy:

-void init(ServletConfig config) - Uruchamiana przy zaladowaniu servletu.

-void service(ServletRequest request, ServletResponse response) - Metoda uruchamiana przy kazdym zadaniu skierowanym do servletu. Implementacja musi uwzgledniac wielowatkowe wykonanie.

-void destroy() - Uruchamiana przy wylaczaniu servletu.

  1. Omów skladnie JSP oraz stosunek tej technologii do technologii servletów.

-Umozliwiaja osadzanie kodu wewnatrz struktury HTML. Wewnatrz struktury dokumentu HTML kod Javy jest umieszczany wewnatrz znaczników: <% %>.

-Kod strony, opatrzony rozszerzeniem .jsp jest nastepnie przetwarzany przez silnik JSP do postaci servletu i kompilowany. Wytworzony kod opiera sie na pakiecie javax.servlet.jsp i stanowi rozszerzenie klasy javax.servlet.http.HttpServlet, implementujace interfejs javax.servlet.jsp.HttpJspPage.

  1. Przedstaw zalozenia i zastosowanie jezyka SGML.

-Jezyk znaczników (markup language) – zbiór konwencji znaczników stosowanych do opisywania (kodowania) tekstu. Okresla:

    1. znaczniki dozwolone i wymagane;

    2. zapewnia niezawodny sposób ich wyrózniania ze zwyklego tekstu;

    3. [definiuje znaczenie poszczególnych znaczników].

-SGML = standard opisu tekstu za pomoca znaczników. Okreslany jako metajezyk (?) (wrócimy jeszcze do tego pojecia).

-Charakter opisowy a nie proceduralny: w tekscie umieszczone sa znaczniki okreslajace interpretacje poszczególnych elementów, a ew. elementy proceduralne, opisujace wymagane czynnosci np. sformatowania tekstu, istnieja odrebnie – w postaci osobnych zasobów.

-SGML wprowadza pojecie typu dokumentu, specyfikujac DTD (Dynamic Type Definitions).

-Typ dokumentu jest formalnie zdefiniowany w terminach jego skladowych i ich struktury.

-Dla znanych typów dokumentów (tj. dla których istnieja definicje typu), mozna sprawdzic zgodnosc dokumentu ze specyfikacja typu. Program dokonujacy takiego sprawdzenia nazywamy parserem.

-Znajac typ dokumentu mozna w bardziej efektywny i wyspecjalizowany sposób przetwarzac wszelkie dokumenty zgodne z tym typem. Jesli wykonywane jest przetwarzanie dokumentu, to odpowiedni program nazywamy z kolei procesorem.

  1. W jaki sposób mozliwosci oferowane przez DTD w jezyku SGML rozbudowuja podstawowy, czysto hierarchiczny model dokumentu?

-Definicje Typu Dokumentu stanowia ceche szczególna XML a zarazem integralna czesc specyfikacji jezyka.

-Definicja typu pozwala sprawdzic strukturalna poprawnosc dokumentu. Mozna je postrzegac jako jezyk opisu dokumentu.

-Definicje typu moga wystepowac w pliku dokumentu, lub w plikach zewnetrznych.

-W przeciwienstwie do SGML, obecnosc definicji typu nie jest obowiazkowa.

-Powstaly jezyk HTML pozostal jednak silnie zwiazany ze swym protoplasta:

-HTML stanowi istotnie okrojony podzbiór SGML;

-Skladnia HTML zdefiniowana jest przy uzyciu srodków definiowania struktury dokumentów SGML (istnieje definicja HTML w postaci DTD);

  1. Wyjasnij pojecie metajezyka. W jakim zakresie stosuje sie ono do SGML i XML?

-Pojecie meta-poziomu oznacza zwykle definicje rozpatrywanego przez nas zbioru elementów, z która ten ostatni jest zwiazany relacja „jest wystapieniem”.

-Pojecie dotyczy czesto danych i metadanych (schemat jest poziomem „meta” w stosunku do danych gromadzonych w bazie) albo jezyków programowania (mechanizmu pozwalajacy kontrolowac zachowanie rozpatrywanego przez nas poziomu; np. wolanie procedury). Przykladem moze byc klasa, jako definicja narzucajaca ograniczenie na strukture jej obiektów oraz definiujaca metody czy aktywne reguly dla tych obiektów. Zob. tez – metamodel w UML.

-Pojecie metajezyka sugerowaloby zatem, ze SGML oraz XML sa jezykami sluzacymi definiowanie innych jezyków. Termin zatem pasowalby raczej do DTD. Stad okreslanie bez blizszego komentarza SGML oraz XML „metajezykami” moze byc nieco mylace…

  1. Scharakteryzuj jezyk XML. Jakie zalozenia legly u podstaw jego specyfikacji?

-Uzyteczny bezposrednio w Internecie.

-Uniwersalny wobec dziedzin zastosowan.

-Zgodny SGML.

-Zapewnienie wsparcia dla tworzenia programów przetwarzajacych dokumenty XML.

-Minimalizacja elementów opcjonalnych w specyfikacji.

-Klarownosc i czytelnosc dla czlowieka.

-Koniecznosc szybkiego zaprojektowania jezyka.

-Formalny i spójny styl projektu.

-Latwosc tworzenia dokumentów XML.

-Brak wymogów odnosnie zwiezlosci skladni.

-Jezyk tekstowy;

-Rozszerzalny: zestaw znaczników nie stanowi zamknietej listy;

-Elastyczna struktura;

-Niezaleznosc od platformy;

-Mozliwosc definiowania regul poprawnosci dla struktury dokumentu (definicja typu dokumentu);

-Stosunkowo rygorystyczna skladnia;

-Opisuje klase obiektów danych, zwana dokumentami XML;

-Czesciowo okresla zachowanie programów, które je przetwarzaja;

-Zgodny z SGML: okreslany jako profil zastosowan SGML albo ograniczony SGML.

  1. Przedstaw podstawowe reguly poprawnosci skladniowej dokumentów XML.

-Zgodny z definicja produkcji „document” (tj. m.in. zawiera deklaracje XML);

-Element glówny („korzen”) wystepuje raz w kazdym z dokumentów i nie jest zawarty w zadnym innym elemencie. Pozostale elementy musza byc poprawnie zagniezdzone. W oparciu o takie zagniezdzenie mówi sie o relacji rodzic-dziecko.

-Spelnienie wszystkich ograniczen poprawnosciowych ujetych w specyfikacji;

-Wszystkie parsowalne encje do których odwoluje sie dokument spelniaja warunek poprawnosci;

  1. Jakie rodzaje zawartosci moga znalezc sie w dokumentach XML?

-elementy puste (pojedynczy znacznik zakonczony „/”);

-elementy zawierajace tylko tekst;

-elementy zlozone, tj. posiadajace podelementy;

-elementy o zawartosci mieszanej (tj. zarówno tekst jak i podelementy – moga byc na rozne sposoby przeplecione);

  1. Na czym polega poprawnosc strukturalna dokumentu XML i w jakim celu wprowadzono to kryterium?

-Dokument poprawny strukturalnie (valid): zgodnosc z definicja typu dokumentu (DTD).

-Definicje Typu Dokumentu stanowia ceche szczególna XML a zarazem integralna czesc specyfikacji jezyka.

-Definicja typu pozwala sprawdzic strukturalna poprawnosc dokumentu. Mozna je postrzegac jako jezyk opisu dokumentu.

  1. W jaki sposób definicje typu dokumentu moga byc laczone z opisywanym dokumentem?

-Definicje typu moga wystepowac w pliku dokumentu, lub w plikach zewnetrznych.

-W przeciwienstwie do SGML, obecnosc definicji typu nie jest obowiazkowa.

  1. W jaki sposób definiuje sie elementy w DTD? Jakie rodzaje zawartosci elementu wyrózniamy?

-W najprostszej postaci, jest to nazwa elementu zawieranego (podelementu) ujeta w nawias;

-Oznacza to dokladnie jedno wystapienie takiego podelementu;

-Te licznosc mozna modyfikowac symbolami:„+” oznacza [1..*], „?” oznacza [0..1], „*” oznacza [0..*].

-Nazwy podelementów (wraz z okresleniemi ich licznosci) mozna grupowac za pomoca:

symbolu przecinka => oznacza sekwencje,

symbolu „|” => oznacza wybór dokladnie jednego z rozdzielonych tak elementów;

-W oparciu o powyzsze konstrukcje mozna tworzyc zlozone deklaracje uzywajac nawiasów:

<!ELEMENT firma ((oddzial)+ | przedstawicielstwo)>

<!ELEMENT oddzial(dyrektor, handlowiec*, osoba_kontaktowa?)>

  1. Na czym polega zawartosc mieszana i jakim podlega ograniczeniom jej deklaracja?

-Moze stanowic albo sam tekst (co sprowadza sie do zawartosci tekstowej),

albo dowolna liczba powtórzen tekstu i podelementów;

Istnieje istotne ograniczenia na postac deklaracji. Efektywnie jedyna dozwolona postac deklaracji to:<!ELEMENT nazwaMieszanego (#PCDATA | element_1 | element_2)*>

  1. Jakie niedogodnosci wykazuje sposób okreslania zawartosci elementowej w DTD?

Podstawowa trudnoscia jest zadeklarowanie jako mozliwej zawartosci elementowej podzbioru z jakiegos repertuaru dokumentów.

Np. koniecznosc umieszczenia dwóch dokumentów tozsamosci, sposród kilku zdefiniowanych rodzajów
=> potrzeba zadeklarowac osobno kazda dwuelementowa kombinacje:

<!ELEMENT tozsamosc ((dowod_osobisty | prawo_jazdy) | (dowod_osobisty, paszport) | (prawo_jazdy, paszport) | (dowod_osobisty, indeks) | (prawo_jazdy, indeks) |
(paszport, indeks))>

  1. Omów sposób deklarowania atrybutów w DTD. Jakie najwazniejsze typy sa dostepne?

-Atrybuty wystepuja w postaci par nazwa=”wartosc” w otwierajacych znacznikach XML.

-Deklaracje atrybutów dla danego rodzaju elementu zawarte sa w deklaracji ATTLIST odnoszacej sie do nazwy opisywanego elementu.

  1. Czemu sluza przestrzenie nazwowe i jaka role odgrywa w ich definicji URI?

xmlns:NASZ_PREFIKS=”http://uri.do.naszego/prefiksu”

  1. Czym sa w XML encje (entities)? Jakie ich rodzaje wyrózniamy?

-Umozliwiaja wyodrebnianie i odwolywanie sie do nazwanych elementów XML.

-Encje ogólne przetwarzane: odwolania w postaci &nazwaEncji;

wewnetrzna: tresc zawarta w deklaracji encji; Np.: <!ENTITY pjwstk ”Polsko-Japonska Wyzsza Szkola Technik Komputerowych”>

zewnetrzna: tresc zawarta w zewnetrznym dokumencie;

<!ENTITY tekstNaglowka SYSTEM "naglowek.txt">

(mechanizm jednostek zewnetrznych rozwijany jest jako XML Inclusions (Xinclude))

-Ogólna zewnetrzna nieprzetwarzana: inna postac odwolania – nazwa encji jako wartosc atrybutu. Zawiera etykiete NDATA a za nia nazwe formatu. Np. <!ENTITY logo SYSTEM ”NaszeLogo.jpg”NDATA obraz_jpg>

-Parametryczna: oznaczana symbolem %. Odwolania do niej moga wystepowac tylko w ramach tego samego DTD. Sluza okreslaniu powtarzajacych sie w danym DTD tresci.

  1. Jakie niepozadane ograniczenia narzuca definicja DTD?

-Okreslenie zawartosci elementu jako tekstowej powoduje pelna dowolnosc co do jego zawartosci;

-Elementy nie moga okreslac wartosci domyslnych;

-Brak ograniczenia na unikalnosc wartosci atrybutu;

-Brak ograniczenia na unikalnosc zawartosci elementu;

-Slabe mozliwosci kontroli typów;

-Brak mozliwosci odrebnego definiowania typów wykorzystywanych w róznych miejscach; brak dziedziczenia;

-Niemoznosc ustalenia kolejnosci atrybutów;

-Niemoznosc zmiany kolejnosci elementów;

-Przestrzenie nazwowe nie sa wspierane w DTD;

-Rozbieznosci skladniowe w stosunku do zwyklego XML.

  1. Jakie zalety posiada XML Schema w stosunku do DTD?

-W przeciwienstwie do DTD, XML Schema jest osobnym jezykiem, wiec nalezy wyspecyfikowac jego przestrzen nazwowa. Przypomnijmy, ze przewidziano dlan prefiks xsd.

-Poza predefiniowanymi typami (znaczny repertuar) istnieje mozliwosc deklarowania wlasnych typów.

-Ogólnie zawartosc schematu moze byc nastepujaca:

-deklaracja XML;

-element-korzen schema;

-definicje typów;

-deklaracje atrybutów i elementów.

  1. Wyjasnij róznice pomiedzy definicja typu zlozonego a deklaracja elementu zlozonego w XML Schema.

-Definicje typów tworza nowe typy dostepne do wykorzystania;

-Deklaracje elementów okreslaja nazwy i typy elementów i atrybutów, które moga pojawic sie w odpowiednich miejscach dokumentu.

  1. Omów metode definiowania typów pochodnych XML Schema poprzez ograniczenia (restrictions)? Jakiego rodzaju ograniczenie moga wystapic?

-Tworzeniu pochodnych typów prostych poprzez nakladanie ograniczen sluzy element xsd:restriction, umieszczany wewnatrz elementu xsd:simpleType.

-Element restriction zawiera atrybut base, okreslajacy typ bazowy definicji. Moze zawierac szereg podelementów, okreslanych jako constraining facets (aspekty ograniczajace).

  1. Czemu sluza w XML Schema tzw. grupy elementów oraz grupy atrybutów. Jaka konstrukcja DTD jest ich odpowiednikiem?

-Ograniczaja nadmiarowosc definicji schematu.

-Zastosowanie (ograniczenie nadmiarowosci i uczynienie schematów bardziej przejrzystymi) odpowiada encjom parametrycznym z DTD.

-Do zadeklarowania grupy stosowane sa elementy odpowiednio: <xsd:group> … </xsd:group> oraz <xsd:attributeGroup> ... </xsd:attributeGroup>, posiadajace atrybut name.

  1. Omów mozliwosci XML Schema w zakresie nakladania ograniczen unikalnosci i integralnosci referencyjnej.

-Integralnosc referencyjna – okresla zaleznosc klucza obcego. Przedmiotem odwolania musi byc wartosc zadeklarowana jako klucz.

-Deklarowane za pomoca elementu keyref: <xsd:keyref refer=”nazwaKlucza”> . . . </xsd:keyref>

-Atrybut refer okresla, do jakiego klucza odwoluja sie referencje.

  1. Objasnij mozliwe style tworzenie definicji schematu.

-Poprzez zagniezdzanie: definicje potrzebnych typów tworzone anonimowo na potrzeby poszczególnych deklaracji.

-Plaski katalog elementów: elementy tworzace hierarchie sa deklarowane globalnie, zas w ich docelowych miejscach wystepowania w schemacie stosuje sie odwolania do tych globalnych deklaracji.

-Definiowanie typów: globalnie sa definiowane nazwane typy, wykorzystywane nastepnie w deklaracjach elementów i atrybutów. Metoda najskuteczniej ogranicza nadmiarowosc, choc wprowadza pewien narzut, wobec czego nadaje sie szczególnie dla bardziej rozbudowanych schematów.

  1. Scharakteryzuj jezyk XPath i wyjasnij pojecie kroku w tym jezyku.

-Jezyk deklaratywny sluzacy wskazywaniu elementów, atrybutów, lub calych fragmentów dokumentu XML.

-Posiada zwiezla nie-XML-owa skladnie, przyjeta w celu umozliwienia umieszczania wyrazen XPath w wartosciach atrybutów oraz w URI.

-Typy zwracanych wartosci:

    1. boolean;

    2. number (liczba zmiennoprzecinkowa);

    3. string;

    4. node-set (zbiór wezlów).

-Sciezka (ciag okreslajacy) XPath jest zbudowana z tzw. kroków (step), oddzielonych symbolem „/”.

-Krok moze reprezentowac: element, atrybut lub funkcje. Poszczególne kroki zawezaja obszar przeszukiwania.

  1. Omów budowe kroku w jezyku XPath.

-Skladnia pojedynczego kroku jest nastepujaca:

kierunek (axis);

podwójny dwukropek: “::”

symbol *albo nazwa elementu, albo funkcja:

node()

text()

comment()

processing-instruction() <- moze zawierac nazwe szukanej instrukcji przetwarzania;

dowolna liczba predykatów umieszczonych w nawiasach kwadratowych: „[ ]”

  1. Jaka role pelnia w XPath predykaty? Jakie srodki udostepniono do ich tworzenia?

-Predykaty zmieniaja pozycje kontekstu i rozmiar kontekstu.

-Wystepuja opcjonalnie, umieszczane wewnatrz nawiasów kwadratowych celem zawezenia zwróconego zbioru elementów.

-Musza zwracac wartosc logiczna.

  1. W jaki sposób jezyk XPointer rozszerza funkcjonalnosc dostarczana przez XPath?

-Stanowi rozszerzenie jezyka XPath.

-Uzupelnia system adresów URI uzywanych w XLink (zob. dalej).

-Pozwala oznaczac i wskazywac fragmenty dokumentów XML.

-Moze traktowac dokument zarówno jako drzewo wezlów (jak XPath), lub jako ciag znaków (w tresci elementów), pozwalajac wskazywac jego podciagi.

-Wprowadza dwa specjalne typy wskazników:

    1. punkt (point) w dokumencie XML;

    2. zakres (range) pomiedzy punktami koncowymi (mogacymi sie znajdowac w róznych elementach);

-Rozróznia sie takze (uzywajac srodków XPath) wezly (node) i elementy (element).

  1. Scharakteryzuj jezyk XSL. Czemu sluza dokumenty XSLT?

-Okresla zakresy przeszukiwania; wskazania zawartosci do przetworzenia za pomoca XPath.

-Definiuje sposób przeksztalcenia poszczególnych rodzajów wyszukanej zawartosci.

-Zakladane przez XML oczyszczenie informacji z zawartosci zwiazanej z prezentacja pozostawia otwartym problem wizualizacji takich dokumentów.

-W celu realizacji niezbednych przeksztalcen powstal jezyk XSL (eXtensible Stylesheet Language). Swego rodzaju protoplasta tego mechanizmu byly kaskadowe arkusze stylów (CSS), jednak realizacja jezyka XSL jest odmienna.

66. XLink

Pokonuje nastepujace ograniczenia odsylaczy HTML:

-brak mozliwosci oznaczenia charakteru odnosnika;

-maja charakter binarny (lacza jedynie pary dokumentów: zródlowy i docelowy);

-sa zawarte w dokumencie zródlowym (nie moga byc przechowywane zewnetrznie);

-problemem jest aktualizacja;

-moga wskazywac dokumenty lub punkty w dokumentach, ale nie np. elementy dokumentu XML.

  1. Objasnij, jakie style budowy szablonów XSLT mozna wyróznic.

  2. Objasnij róznice pomiedzy dokumentami kierowanymi trescia a dokumentami kierowanymi ukladem.

  3. Czemu sluzy specyfikacja XSL – Formatting Objects? W jaki sposób udoskonala istniejace wczesniej w tym obszarze zastosowania?

  4. Przedstaw (w oparciu o poznana budowe dokumentu XSL-FO), najwazniejsze mozliwosci oferowane przez ten jezyk.

  5. Podaj definicje przestrzeni nazwowej. W jakim celu wprowadzono to pojecie?

  6. Objasnij sposób deklarowania przestrzeni nazwowych (w tym przestrzeni domyslnej).

  7. Scharakteryzuj interfejs DOM (model dokumentu, sposób dzialania, dostepna funkcjonalnosc).

  8. Wskaz najwazniejsze pojecia wprowadzone w DOM dla reprezentowania zawartosci dokumentu.

  9. Czemu sluza modulu DOM Traversal i DOM Range?

  10. Scharakteryzuj model dzialania interfejsu SAX.

  11. Jakie zdarzenia wystepuja w interfejsie SAX i jakie srodki zdefiniowano dla ich obslugi?

  12. Porównaj wlasciwosci (zalety i wady) interfejsów DOM i SAX.

  13. W jakim celu zdefiniowano interfejs JAXP? Jakie interfejsy on wspiera?

-Wspólny standardowy interfejs tworzacy podstawe dla wykorzystania interfejsów SAX, DOM oraz XSLT z poziomu jezyka Java, zapewniajac niezaleznosc wykorzystujacego je kodu od konkretnych implementacji.

-Podstawowe interfejsy zawarte w pakiecie javax.xml.parsers. Pozwalaja na podlaczania dowolnych zgodnych parserów.

-W zakresie interfejsów SAX i DOM udostepnia fabryki obiektów realizujacych oba te rodzaje przetwarzania.

-W zakresie wsparcia XSLT, JAXP dostarcza interfejsów zdefiniowanych w pakiecie javax.xml.transform.

  1. Jakie zalety oraz jakie ograniczenia posiada technologia JAXB w stosunku do innych interfejsów dla obslugi XML?

  2. Objasnij koncepcje i skadniki technologii JAXB.

  3. Przedstaw scenariusz budowy aplikacji w oparciu o JAXB.

  4. Jakie rozwiniecia interfejsu DOM wprowadzono specjalnie dla Javy i czym sa motywowane?

-Narzedzie udostepniajace zaprojektowany dla Javy model dokumentu XML. Jak sugeruje nazwa, inspirowany DOM; stanowi rozwiazanie alternatywne, latwiejsze w uzyciu, lecz nieprzenosne na inne jezyki programowania.

-Rozwijane jako Java Community Process (JSR 102).

-Mozliwosci integracji z DOM i SAX: zarówno wejscie jak i wyjscie przy przetwarzaniu z uzyciem JDOM moze przybrac postac: plików XML, drzew DOM lub zdarzen SAX.

-Istnieje mozliwosc wykorzystania XSLT i XPath do struktur JDOM.

-Cecha szczególna: API JDOM jest oparte na klasach konkretnych Javy, nie zas na interfejsach. Zapewnia to prostote i zwiezlosc (uzywamy konstruktorów zamiast posrednictwa „fabryk”) kosztem elastycznosci implementacji.

  1. Jakie specyficzne wlasciwosci posiadaja z punktu widzenia jezyków zapytan dokumenty XML jako dane pólstrukturalne?

  2. Czym jest XML Information Set i w jakim celu zostal wprowadzony?

  3. Objasnij wzajemny stosunek technologii XSLT, XPath, XQuery oraz XML Information Set.

  4. Scharakteryzuj jezyk XQuery. Jaka role odgrywa w nim jezyk XPath?

  5. Objasnij pojecie kontekstu wyrazenia XPath.

  6. Objasnij budowe wyrazenia „FLWOR” w XQuery.

  7. Jakie mozliwosci oferuje XQuery w zakresie uzycia funkcji oraz definiowania ich sygnatur?

  8. Jaka role pelni „prolog” zapytania XQuery.

  9. Omów zalety i wady jezyka XQuery.

  10. Dokonaj przegladu wlasciwosci technologii CORBA, DCOM i RMI. Jakie problemy dla wspóldzialania systemów sie z nimi wiaza?

CORBA

-Specyfikacja neutralna w stosunku do producentów, niezalezna od konkretnego jezyka programowania: wspiera szereg wiazan.

-Definiuje wlasny protokól wymiany komunikatów IIOP (Internet Inter-ORB Protocol).

-Wspóldzialanie jest realizowane poprzez dzialajace w kazdej czesci rozproszonej aplikacji oprogramowanie posredniczace zwane brokerem zadan obiektów (ORB).

-W porównaniu z innymi technologiami, odpowiednio zaprojektowane oprogramowanie oparte na standardzie CORBA zapewnia szczególnie wysoka wydajnosc rozproszonej komunikacji.

-Wady: ekspresyjnosc srodków programistycznych jest ograniczona dazeniem do wyodrebnienia wspólnego mianownika wszystkich wspieranych jezyków programowania.

RMI

-Technologia oparta na jezyku Java. Stad nie jest tu potrzebny abstrakcyjny jezyk interfejsów, jak to ma miejsce w standardzie CORBA. Zamiast tego, do opisania interfejsów do odleglych obiektów stosuje sie bezposrednio deklaracje interfejsów Javy, z zachowaniem odpowiednich regul (m.in. serializowalnosc przekazywanych do odleglej metody parametrów).

-Podobnie jak w wypadku CORBA, celem sformulowania komunikatu do okreslonego obiektu (odpowiadajacego wywolaniu jego metody), aplikacja musi wczesniej dysponowac jego referencja. Jednym ze sposobów uzyskania takowej jest odwolanie sie do uslugi nazwowej.

-Uzywa Java Remote Method Protocol (JRMP).

DCOM

-Zbudowany jako warstwa oparta na proceduralnym DCE RPC.

-Specyfikuje jezyk definicji interfejsów IDL, przypominajacy skladnia C++. Podobnie jak w wypadku CORBA interfejsy te sa kompilowane celem uzyskania kodu tzw. szkieletów i pienków w jednym z obslugiwanych jezyków. Interfejsy sa równiez rejestrowane w rejestrze systemowym.

-Podobnie jak RMI obsluguje rozproszone zbieranie nieuzytków (distributed garbage collection).

-Technologia ta wprowadza równiez wlasny protokól: ORPC (Object Remote Procedure Call).

  1. Wyjasnij pojecie uslug Webu (Web Services).

-W przeciwienstwie do tradycyjnej tresci Webu (informacja wprowadzana przez czlowieka i prezentowana czlowiekowi), usluga Webu jest dostepnym poprzez siec komponentem aplikacyjnym przeznaczonym do wykorzystania przez inne aplikacje, zwane aplikacjami klienckimi.

-Definicja wedlug Webservices.org:Hermetyzowane, luzno skojarzone “kontraktowane” funkcje, oferowane poprzez standardowe protokoly.

-„Hermetyzowane”: mplementacja nigdy nie jest widoczna z zewnatrz.

-“Luzno skojarzone”: modyfikowanie danej implementacji nie generuje problemu propagacji zmiany.

-“Kontraktowane” opisy dzialania funkcji oraz specyfikacja ich interfejsów jest publicznie dostepna.

  1. Objasnij architekture Web Services. Na jakich protokolach sie opiera?

-Podobnie jak w wypadku tradycyjnego oprogramowania posredniczacego niezbedne jest wyróznienie klienta, dostawcy uslug oraz serwisu umozliwiajacego klientowi zlokalizowanie dostawcy.

-Serwis taki, zwany brokerem uslug, umozliwia klientowi
wyszukiwanie uslug, zas dostawcy publikowanie ich opisów.

-Protokól nie jest binarny: srodowisko (Internet) wymaga oparcia komunikacji na rozpowszechnionym protokole. Zaklada sie uzycie http (ominiecie problemu zapór ogniowych), choc potencjalnie moga to byc tez inne protokoly.

  1. Czym jest SOAP (Simple Object Access Protocol)?

-SOAP jest w swojej istocie protokolem bezstanowym i jednokierunkowym. Umozliwia jednak budowe bardziej zlozonych wzorców komunikacji.

  1. Omów budowe komunikatu SOAP.

-Elementem-korzeniem jest tzw. koperta (envelope). Moze ona zawierac: naglówek (Header) – opcjonalnie oraz cialo komunikatu (Body).

-Bloki naglówkowe (header blocks), bedace podelementami elementu Header, zawieraja informacje precyzujace sposób traktowania wiadomosci (np. kodowanie zawartosci czy autentykacja).

-Pozycja naglówkowa jest opisywana przez atrybuty:

    1. role: okresla adresata danej pozycji (moze to byc adresat docelowy komunikatu lub jakis wezel posredniczacy). Standard okresla m.in. role „next”, wskazujaca na przetwarzanie tej pozycji naglówkowej przez najblizszy wezel SOAP. Brak atrybutu role oznacza przeznaczenie danej pozycji naglówkowej dla ostatecznego odbiorcy.

    2. mustUnderstand: okresla, czy pozycja musi zostac przetworzona przez jej adresata.

  1. Jakie informacje mozna wyróznic w opisie uslugi oraz potencjalnego klienta uslugi? Dlaczego warto przedstawiac taki opis w postaci czytelnej maszynowo?

  2. Wyjasnij, czym jest semantyka interakcji. W jakim zakresie jest ona opisywana w dzisiejszych technologiach uslug Webu?

  3. Czemu sluzy specyfikacja WSDL? Jakie informacje zawiera dokument WSDL?

-Poniewaz opisuje usluge, nie zas wymagania klienta, stad budowa swoistej gieldy, gdzie zarówno uslugi jak i zapotrzebowania bylyby przedmiotem wyszukiwania i ew. kojarzenia przez odrebnego brokera, wymaga dodatkowo okreslenia sposobów opisu takich zapotrzebowan.

-WSDL opisuje technike wspóldzialania z usluga. Zaklada, ze semantyka uslugi jest opisana na zewnatrz i moze byc jednoznacznie wskazana poprzez identyfikator. Tym samym „kontrakt” dotyczacy znaczenia i celu jest oddzielony od „kontraktu” okreslajacego mechanike wspóldzialania.

  1. Omów budowe dokumentu WSDL.

-Jest to opis abstrakcyjnego interfejsu, tj. niezaleznego od protokolu transportowego oraz od jezyka programowania.

-Struktura pliku WSDL jest zdefiniowana w specyfikacji w postaci schematów XML Schema.

-Typy danych uzywanych w opisywanych przez dokument WSDL interfejsach moga byc zdefiniowane w dowolnym systemie typów, choc domyslnie stosuje sie wlasnie XML Schema.

-Funkcjonalnosc odpowiada np. IDL ze standardu OMG CORBA.

  1. Scharakteryzuj technologie UDDI. Jakie cele ma ona realizowac?

-Specyfikacja, tworzona przez konsorcjum OASIS, okresla rozproszony katalog, zawierajacy zarówno informacje o samych firmach jak i o udostepnianych przez nie uslugach Webu, czyli swoista „ksiazke telefoniczna”. Rozwijajac te metafore, specyfikacja wyróznia:

-„zielone strony”: techniczny opis uslug wraz z odnosnikami URL (w zalozeniach nie musza to byc koniecznie uslugi Webu);

-„biale strony”: identyfikacja, adresy i inne dane kontaktowe firm;

-„zólte strony”: wykaz firm ulozony wedlug klasyfikacji przemyslowej;

-Rejestr zaprojektowano jako logicznie scentralizowany, zas fizycznie rozproszony i replikowany. Moze byc dostepny zarówno tradycyjnie (interfejs WWW), jak i programowo (jak uslugi Webu).

-Interfejs programistyczny wyróznia czesc sluzaca formulowaniu zapytan oraz czesc sluzaca publikowaniu opisów.

  1. Omów budowe rejestru UDDI.

-Informacja o usludze: Informacja ta znajduje sie wewnatrz elementu zawierajacego informacje biznesowe. Sklada sie z elementów businessService (opis uslugi) oraz bindingTemplate (informacja niezbedna dla wywolania uslugi): informacje techniczne niezbedne do polaczenia sie z usluga; m.in. czy jest samodzielna, jej URL itp.

-Specyfikacja uslugi: Element bindingTemplate zawiera zbiór odnosników do specyfikacji (zawartych w elementach tModel). Kazdy element tModel stanowi opis pewnej specyfikacji, na której oparta jest usluga. Komplet takich specyfikacji okresla wzorzec zgodnosci z dana usluga.

  1. Jaka funkcjonalnosc oferuje API do rejestru UDDI?

  2. Czym jest ebXML? W jakim celu powstal?

  3. Jakie dokumenty w technologii ebXML musza powstac, aby nawiazac wspóldzialanie partnerów biznesowych?

  4. Czym jest i jak zostal skonstruowany „Message Service” w technologii ebXML?

  5. Czym charakteryzuje sie Architektura Zorientowana na Uslugi (Service Oriented Architecture) SOA?

12