Programowanie dla sieci

advertisement
Programowanie dla sieci
Programming for net
Kod przedmiotu
7 ECTS
dzienne magisterskie
Koszalin
Imię i Nazwisko organizującego
mgr inż. Dariusz Bernatowicz
w c
Kurs egzaminacyjny
LICZBA GODZIN
2
Kursy poprzedzające
Słowa kluczowe
Egzamin lub
zaliczenie kursu na
ocenę
15 tygodni zajęć
4 tygodnie sesji
egzaminacyjnych
Programowanie komputerów, Protokoły komunikacyjne, Sieci komputerowe
Język Java, programowanie obiektowe, komunikacja, RMI, CORBA
1
PROGRAM SZCZEGÓŁOWY
CELE KURSU.
Opis kursu – cele i procedury ich osiągania: Na bazie wiedzy i umiejętności z kursu programowanie
komputerów oraz protokołów komunikacyjnych i sieci komputerowych uzyskanie
sprawności w zakresie projektowania i implementacji programów przeznaczonych do
eksploatacji zarówno w sieciach intranetu jak i internetu, opartych na standardowych
architekturach aplikacji sieciowych: Klient-Serwer, RMI i CORBA.
Cel poznawczy: Ugruntowanie wiedzy o właściwościach programowania w sieci i zastosowania
odpowiednich architektur oraz protokołów komunikacji. Poznanie różnorodnych technik
implementacji protokołów sieciowych zarówno po stronie serwera jak i klienta.
Wprowadzenie do projektowania aplikacji wielowarstwowych.
Cel kształcący: Kształtowanie umiejętności projektowania i implementacji programów
przeznaczonych do eksploatacji w sieci, wykorzystania odpowiednich protokołów
komunikacji oraz różnych technologii realizowania programów rozproszonych.
Cel praktyczny: Wytworzenie umiejętności sprawnego wykorzystywania różnych metod i technologii
programowania aplikacji sieciowych oraz wykorzystania odpowiednich protokołów w celu realizacji
określonych zadań.
Umiejętności wynikowe kursu i ich ewaluacja:
Umiejętność programowania aplikacji w technologii Klient-Serwer, zdalnego wywoływania
metod RMI i CORBA, Implementacja podstawowych protokołów sieciowych tj.: http, ftp
SMTP itp. Wykorzystanie mechanizmów BOA i POA pozwalających na tworzenie
podstawowych i przenośnych struktur obiektów w technologii CORBA, Zastosowanie
specyfikacji ORB umożliwiającej budowanie uniwersalnych aplikacji integrujących systemy
tworzone w różnych językach programowania i działających na różnych platformach.
Wymagania podstawowe (stopnie dostateczne)
Wymagania rozszerzone (stopnie dobre)
Programowanie aplikacji w technologii klient Programowanie aplikacji rozproszonych
serwer z wykorzystaniem protokołów TCP wykorzystujących technologię zdalnego wyi UDP
woływania metod RMI i CORBA
Wykład 1. godz. 2
PODSTAWOWE ZAGADNIENIA PROGRAMOWANIA W SIECI
Zagadnienia: Siedmiowarstwowy model komunikacji w sieci OSI, rodzina protokołów, interfejsy
między warstwowe, uproszczony czterowarstwowy model sieci, rodzina protokołów TCP/IP
Wykład 2. Godz. 2
Architektura Klient – Serwer
Interfejs gniazd i realizacja połączeń w architekturze KS, reprezentacja adresu IP,
reprezentacja adresu URL.
Zagadnienia:
Zastosowanie protokołu TCP w architekturze Klient - Serwer
Wykład 3. godz. 2
Zagadnienia: Budowa aplikacji klienta i serwera dla protokołu TCP, serwery iteracyjne i
współbieżne.
Zastosowanie protokołu UDP w architekturze Klient - Serwer
Wykład 4. godz. 2
Zagadnienia: Komunikacja datagramowa, konstruktory i metody pomocnicze klas
datagramowych, gniazda wysyłające i odbierające dane.
Realizacja usług opartych na protokole UDP w architekturze Klient Serwer
Zagadnienia: Komunikacja jednokierunkowa, realizacja prostych usług, przesyłanie większych
bloków danych
Wykład 5.
godz. 2
Architektura aplikacji rozproszonych RMI - wprowadzenie
Wykład 6. godz. 2
Zagadnienia: Model warstwowy aplikacji RMI, interfejsy obiektu zdalnego, lokalizacja obiektu
RMI Registry.
Architektura RMI – implementacja, kompilacja i wdrożenie
Wykład 7. godz. 2
Zagadnienia: Aplikacja klienta i serwera, implementacja zdalnego obiektu, dynamiczne ładowanie
klas, wdrożenie programu.
Zaawansowane techniki architektury RMI
Wykład 8. godz. 2
Zagadnienia: Przekazywanie lokalnych i zdalnych obiektów, wykorzystanie zdalnych obiektów w
zbiorach, klonowanie zdalnych obiektów.
Wielowarstwowe aplikacje bazodanowe w architekturze RMI
Wykład 9. godz. 2
Zagadnienia: Implementacja warstw pośrednich, zarządzanie połączeniami z bazą danych,
wykonywanie zapytań, metadane, transakcje, aktualizacje wsadowe.
Architektura aplikacji rozproszonych CORBA - wprowadzenie
Wykład 10. godz. 2
Zagadnienia: Model komunikacji w CORBA, adaptery obiektów BOA i POA, elementy języka
IDL, rzutowanie podstawowych typów danych, Kompilacja interfejsu IDL.
Architektura CORBA – adaptery BOA
Wykład 11. godz. 2
Zagadnienia: Aplikacja klienta i serwera, wdrożenie aplikacji, zdalne referencje, dynamiczne
interfejsy, callback.
Architektura CORBA – adaptery POA
Wykład 12. godz. 2
Zagadnienia: Możliwości architektury POA, stany obiektu, zarządzanie obiektami POA Policies,
aplikacja klienta i serwera, wdrożenie aplikacji.
Zaawansowane techniki architektury POA
Wykład 13. godz. 2
Zagadnienia: Obiekty ulotne i trwałe, dynamiczna aktywacja adaptera, własna aktywacja –
servant, obsługa usługi nazw (Naming Service).
Wykład 14.
godz. 2
Aplety, serwlety i komunikacja sieciowa
Zagadnienia: Warunki
bezpieczeństwa, obiekt Security Manager, serwlety, cykl życia, środowisko
uruchamiania i metody wywoływania serwletów
Repetytorium
2 godz.
CZYNNOŚCI KONTROLNE I ORGANIZACYJNE ZWIĄZANE Z
DOPUSZCZENIEM DO ZASADNICZEJ SESJI EGZAMINACYJNEJ
PLANY WYNIKOWE ĆWICZEŃ
Ćwiczenie1. 2godz.
ARCHITEKTURA KLIENT – SERWER – OPARTA NA PROTOKOLE TCP
Opis ćwiczenia – cele i procedury ich osiągania: Pokazanie na przykładach techniki implementacji
interfejsu gniazd oraz reprezentacji adresu IP, Realizacja aplikacji klienta i serwera opartego
na protokole TCP.
Umiejętności wynikowe i ich ewaluacja Tworzenie aplikacji klienta i serwera opartego na protokole TCP,
zastosowanie obiektu reprezentującego adres IP, implementacja interfejsu gniazd.
Wymagania podstawowe
Wymagania rozszerzone (stopnie dobre)
Tworzenie i wdrażanie prostych (jedno- Tworzenie i wdrażanie zaawansowanych
wątkowych) aplikacji klienta i serwera.
(wielowątkowych) aplikacji klienta i serwera.
Ćwiczenie2. 2godz.
ARCHITEKTURA KLIENT – SERWER – OPARTA NA PROTOKOLE UDP
Opis ćwiczenia – cele i procedury ich osiągania: W oparciu o przykłady zapoznanie się z technikami realizacji
aplikacji klienta i serwera opartego na protokole TCP. Praktyczne wykorzystanie klas do
przesyłania i odbierania zarówno małych jak i wielkich bloków danych.
Tworzenie aplikacji klienta i serwera opartego na protokole UDP,
wykorzystanie odpowiednich klas dla przesyłania małych jak i wielkich bloków danych.
Wymagania
podstawowe
Realizacja komunikacji Wymagania rozszerzone (stopnie dobre): Realizacja aplikacji
jednokierunkowej oraz wysyłanie lub odbieranie wysyłającej i odbierającej dane, przesyłanie
małych bloków danych .
dużych bloków danych
Ćwiczenie3. 2godz. Architektura aplikacji rozproszonych RMI (zdalne wywoływanie metod)
Opis ćwiczenia – cele i procedury ich osiągania: Omówienie na przykładach podstaw technologii ASP.
Praktyczne wykorzystanie podstawowych obiektów w kolejnych ćwiczeniach.
Umiejętności wynikowe i ich ewaluacja:
Umiejętności wynikowe i ich ewaluacja: Tworzenie prostych stron ASP z wykorzystaniem podstawowych obiektów i
ich metod.
Wykorzystanie obiektów i ich Wymagania rozszerzone (stopnie dobre) Sprawne wykorzystanie
podstawowych metod w tworzeniu stron ASP.
zaawansowanych metod, kolekcji i właściowośći
obiektów ASP.
Ćwiczenie4. 2godz.
ARCHITEKTURA APLIKACJI ROZPROSZONYCH RMI (ZDALNE
WYWOŁYWANIE METOD)
Opis ćwiczenia – cele i procedury ich osiągania: Na podstawie przykładów modyfikacja, kompilacja i wdrożenie
aplikacji rozproszonej z wykorzystaniem architektury RMI w środowisku języka Java.
Wymagania podstawowe:
Umiejętności wynikowe i ich ewaluacja: Realizacja aplikacji rozproszonej z wykorzystaniem architektury RMI.
Wymagania podstawowe Realizacji aplikacji
i rejestru RMI
Realizacji aplikacji i
na komputerze lokalnym.
rejestru RMI na komputerach zdalnych.
Ćwiczenie5. 2godz.
ARCHITEKTURA APLIKACJI ROZPROSZONYCH CORBA –
PODSTAWOWE STRUKTURY OBIEKTÓW BOA
Opis ćwiczenia – cele i procedury ich osiągania: Zapoznanie się z architekturą CORBA, poznanie struktur
obiektów i elementów języka IDL, kompilacja i wdrożenie prostej aplikacji.
Wymagania rozszerzone (stopnie dobre)
Umiejętności wynikowe i ich ewaluacja: Umiejętność
wykorzystania podstawowych struktur obiektów i elementów
języka IDL w celu realizacji aplikacji rozproszonej opartej na architekturze CORBA.
Wymagania podstawowe Znajomość struktur obiektów i Wymagania rozszerzone (stopnie dobre)
Implementacja i wdrożenie aplikacji rozproszonej
elementów języka IDL.
wykorzystującej adaptery BOA w technologii
CORBA
Ćwiczenie6. 2godz.
ARCHITEKTURA APLIKACJI ROZPROSZONYCH CORBA –
PRZENOŚNE STRUKTURY OBIEKTÓW POA
Opis ćwiczenia – cele i procedury ich osiągania: Wykorzystanie przenośnych struktur obiektów POA do
realizacji aplikacji rozproszonej wykorzystującej architekturę CORBA. Dynamiczna
aktywacja adaptera POA
Umiejętności wynikowe i ich ewaluacja: Umiejętność
wykorzystania przenośnych struktur obiektów w celu realizacji
aplikacji rozproszonej opartej na architekturze CORBA
Wymagania podstawowe Znajomość przenośnych struktur Wymagania rozszerzone (stopnie dobre) Dynamiczna aktywacja
obiektów, kompilacja i wdrożenie aplikacji.
adaptera POA, własna aktywacja - servant.
Ćwiczenie7. 2godz.
TWORZENIE I URUCHAMIANIE SERVLETÓW.
Opis ćwiczenia – cele i procedury ich osiągania: Tworzenie programów działających po stronie serwera
(servlety), Zapoznanie się z modelem obsługi wiadomości. Konfigurowanie środowiska
uruchomieniowego.
Tworzenie i uruchamianie serwletów działających po stronie serwera z
wykorzystaniem technologii Java.
Wymagania
podstawowe
Znajomość i tworzenie Wymagania
rozszerzone
(stopnie
dobre)
Tworzenie
podstawowej struktury serwletu.
rozbudowanych serwletów z wykorzystaniem
różnych protokołów komunikacyjnych .
Ćwiczenie8. 1godz.
CZYNNOŚCI KONTROLNE I ORGANIZACYJNE ZWIĄZANE Z
Umiejętności wynikowe i ich ewaluacja:
DOPUSZCZENIEM DO ZASADNICZEJ SESJI EGZAMINACYJNEJ
OPIS RYGORÓW POŚREDNICH
Kolokwium I.
Opis kolokwium :
Sposób oceniania
Wymagania podstawowe
Wymagania rozszerzone (stopnie dobre)
Kolokwium II.
Opis kolokwium :
Sposób oceniania
Wymagania podstawowe
Kolokwium III.
Opis kolokwium :
Sposób oceniania
Wymagania rozszerzone (stopnie dobre)
Wymagania podstawowe
Wymagania rozszerzone (stopnie dobre)
WARUNKI DOPUSZCZENIA DO SESJI EGZAMINACYJNEJ
Opis ogólny warunków dopuszczenia
Wymagania podstawowe
Wymagania rozszerzone (stopnie dobre)
OPIS RYGORU ZASADNICZEGO. (EGZAMIN)
Opis ogólny rygoru zasadniczego
Wymagania podstawowe
1.
2.
3.
4.
Wymagania rozszerzone (stopnie dobre)
WYKAZ ŹRÓDEŁ (PODRĘCZNIKÓW I SKRYPTÓW)
Bruce Eckel „Thinking in Java 3rd edition", Edycja polska, Helion 2005
Cay S. Horstmann, G. Gary Cornel „Java 2 Techniki zaawansowane” Helion 2003
Dokumentacja "The Java Language Specification" (forma elektroniczna)
Michał Grochala „Java aplikacje bazodanowe”, Helion 2001
Download