DEV-J130. Java SE. Разработка многоуровневых приложений
Длительность дисциплины: 40 ак.ч.
Аннотация
Курс представляет собой третью часть линейки курсов, посвященной основам практического программирования на платформе Java. Данный курс посвящен основам разработки многоуровневых приложений на основе платформы Java. Основное внимание уделяется изучению стандартных приемов работы с базами данных на основе JDBC, основам сетевого и web-программирования. Также отдельное внимание уделяется изучению основ многопоточного программирования.
Курс рассчитан как на начинающих программистов, так и программистов с опытом, желающих освоить новый для себя язык программирования.
Основные цели курса:
- ознакомиться с архитектурой распределенных приложений;
- изучить базовые приемы работы с базами данных на основе JDBC;
- научиться реализовывать обмен данными по сетям на основе протоколов UDP и TCP/IP;
- освоить основные приемы многопоточного программирования;
- изучить технологию разработки web-приложений, основанных на использовании сервлетов.
Знания и умения, полученные в результате изучения
В результате освоения программы обучающийся должен уметь:
• разрабатывать программы с доступом к базам данных с использованием технологии JDBC;
• использовать стандартные пакеты Java, предназначенные для разработки сетевых приложений;
• применять стандартные средства Java для разработки многопользовательских приложений;
• использовать среду NetBeans для разработки и развёртывания распределённых приложений.
В результате освоения программы обучающийся должен знать:
• ключевые классы и интерфейсы стандартного пакета java.sql и основы их применения;
• ключевые классы и интерфейсы стандартного пакета java.net и способы их использования при разработке сетевых приложений;
• основные классы и интерфейсы пакета javax.rmi и основы их использования при разработке распределённых приложений;
• основные стандартные классы и интерфейсы, обеспечивающие реализацию многопоточной модели Java;
• стандартные средства синхронизации потоков.
В результате освоения программы обучающийся должен приобрести практический опыт:
• использования основных приёмов технологии JDBC (Java Database Connectivity) для работы с реляционными базами данных;
• использования технологии разработки распределённых приложений;
• использования технологии многопоточной модели Java.
Содержание дисциплины
Модуль 1. Обзор общих принципов построения многоуровневых распределённых приложений
1.1 Общие термины и понятия
1.2 Обзор стандартных пакетов платформы Java для разработки распределенных многопользовательских приложений
Модуль 2. Работа с базами данных на основе технологии JDBC
2.1 Назначение и основные особенности технологии JDBC.
2.2 Архитектура и общий алгоритм работы приложений с использованием JDBC.
2.3 Соединение с базой данный.
Практические занятия
1. Разработка структуры и создание учебной базы данных.
2. Разработка и выполнение простейших запросов на выборку, добавление, изменение и удаление данных.
3. Написание программы, подключающейся к демонстрационной базе данных.
4. Демонстрация использования основных методов интерфейса Statement.
5. Демонстрация использования основных методов интерфейса PreparedStatement.
6. Демонстрация стандартного алгоритма обработки данных с использованием реализации интерфейса ResultSet.
Модуль 3. Основы разработки сетевых приложений с использованием стеков стандартных сетевых протоколов.
3.1 Общие принципы построения сетевых приложений. Обзор пакета java.net.
3.2 Реализация приложения на основе использования стека протоколов UDP/IP.
3.3 Реализация приложения на основе использования стека протоколов TCP/IP
Практические занятия
1. Реализация приложения по обмену текстовыми сообщениями по сети на основе стека протоколов UDP/IP
2. Реализация сетевого приложения вида на основе стека протоколов TCP/IP
Модуль 4. Разработка распределённых приложений на основе технологии RMI
4.1 Основы технологии RMI.
4.2 Реализация серверной части приложения.
4.3 Реализация клиентской части приложения
Практические занятия
Разработка RMI-приложения для доступа к удалённому файлу.
Модуль 5. Основы многопоточного программирования
5.1 Особенности реализации многопоточной модели Java
5.2 Создание и управление потоками
5.3 Синхронизация потоков
Практические занятия
Модификация приложения JHelp для работы в многопользовательском режиме.
Модуль 6. Итоговый обзор изученных методов и технологий
6.1 Итоговый обзор изученных тем
Модуль 7. Аттестация