Анотация
Дисциплината „Мрежово програмиране с Java“ е предназначено за студентите от ОКС „Магистър“ специалност „Компютърни мрежи и комуникации“. Дисциплината използва като база знанията на студентите от предходни дисциплини като „Обектно ориентирано програмиране“, „Обектно ориентирани приложения“, „Програмни технологии в Интернет“, „Компютърни мрежи“, „Бази от данни“, „Операционни системи“. Целта на дисциплината е да предаде знания на студентите в областта на мрежовото програмиране, базирано на Java технологии. Разделите от мрежовото програмиране, които са разгледани, са „сокет“ комуникация между приложения и възможности на Java за изграждане на сложни корпоративни информационни системи. Като програмни инструменти, за решаване на поставените задачи, се използва JavaSE (v.1.7), както и технологиите за web програмиране – Servlet и JSP, които са част от Java EE спецификацията. Разглеждат се още дизайн и работа с бази от данни, както и технологии за комуникации на Java приложения със системи за управление на бази от данни (СУБД). Упражненията са структурирани в два раздела – сокет мрежова комуникация и Java web технологии. Етапите, през които се преминава, дават възможност на студентите да разгледат аспектите на мрежовото програмиране, базирано на Java технологиите и в края на курса на обучение да достигнат до завършена напълно функционираща система.
Съдържание
Тема 1. Въведение в мрежовото програмиране.
1.1. Типове потоци в Java.
1.2. Входно-изходни операции.
1.3. Сериализация.
Тема 2. Сокети. Класът „InetAddress”.
2.1. Обработка на TCP и UDP сокети.
2.2. Типове протоколи за комуникация.
2.3. Knock Knock протокол.
Тема 3. Многозадачно програмиране в Java.
3.1. Нишки. Създаване на нишки. Методът “run”.
3.2. Синхронизация на нишки.
3.3. Интерфейсът “Executor” .
Тема 4. Съхранение на данни. СУБД.
4.1. Същност.
4.2. Организация на СУБД.
4.3. Моделиране на бази от данни.
Тема 5. Връзка на Java приложения с бази от данни.
5.1. Java Database Connectivity (JDBC).
5.2. JDBC архитектура и драйвери.
5.3. Организиране на процеса за достъп до СУБД.
5.4. Видове обекти за работа със СУБД.
Тема 6. WWW и HTTP
6.1. WWW компоненти.
6.2. Протоколът HTTP.
6.3. WebSocket.
Тема 7. JavaEE (Ентърпрайз).Същност и понятия.
7.1. Еволюция на ентърпрайз системите.
7.2. Развитие на JavaEE
7.3. Java EE, архитектури и компоненти.
7.4. Парадигмата контейнер – компонент.
7.5. Типове контейнери.
Тема 8. JavaEE сървъри.
8.1. Web сървъри.
8.2. Сървъри за приложения.
8.3. Apache Tomcat Java web сървър.
8.4. Структура на web приложение.
8.5. Инсталиране на web приложение. Типове архиви.
8.6. Конвенции за именоване.
Тема 9. JAVA сървлет технология
9.1. Същност. Създаване на Сървлет.
9.2. Жизнен цикъл на Сървлет.
9.3. Обработка на методите „doGet“ и „doPost“.
9.4. Mapping на сървлети. Сървлет анотации. Дескриптора web.xml
Тема 10.Взаимодействие с клиенти.
10.1. Работа на Сървлет с “cookies”.
10.2. Проследяване на сесии.
Тема 11.Сървлет филтри.
11.1. Декларация на филтър.
11.2. Методи на Сървлет филтъра.
Тема 12.Java Server Pages технология.
12.1. Същност и детайли.
12.2. JSP процес. Жизнен цикъл на JSP.
12.3. JSP синтаксис, тагове и елементи.
Тема 13.Java Server Pages Standard Tag Library (JSTL)
13.1. Типове тагове.
13.2. JSTL функции.
13.3. Използване на JSTL