Архитектура и прикладные протоколы клиент-серверных приложении — Тематическое содержание дисциплины

Предлагаемый материал содержит по-минимуму информацию, касающуюся общих вопросов организации открытых системы, 7-уровневой модели сетевых протоколов, особенностей конкретных стеков (TCP/IP), поэтому для его изучения нужно либо иметь предварительные знания, либо параллельно приобретать  знания других источников по следующим вопросам:

  • 7-уровневая модель сетевых протоколов, стек TCP/IP;

  • архитектура платформы Java, синтаксис и семантика языка программирования;

  • технология ООП, паттерны проектирования;

  • основы программной инженерии, методологии разработки ПО.

В первой главе рассматриваются понятие архитектуры, как оно дается в программной инженерии, многослойная архитектура клиент-серверных приложений, а также термины и определения, касающиеся распределенного взаимодействия программных компонент.

Во второй главе подробно разбирается понятие протокола, определяется его специфика, приводятся основные решения, используемые на всех уровнях протокольных процессов, а также рассматриваются необходимые аспекты практического программирования протокольных процессов на Java (рефлексия, параллелизм - потоки, синхронизация, потоки данных, сериализация).

В третьей главе рассматриваются простые примеры практического программирования протокольных процессов на Java с использованием стандартных протоколов и  соответствующих им классов.

В четвертой главе обсуждаются общие аспекты проектирования прикладных протоколов, а также несколько примеров реализации протоколов как в относительно простых (учебных), так и достаточно сложных программных системах, включая  архитектурные аспекты.

В пятой главе обсуждается весь процесс разработки ПО с позиций программной инженерии, разработка прикладных протоколов рассматривается в контексте функционального, архитектурного и детального проектирования.

В лабораторном практикуме к дисциплине "сетевые протоколы" представлен цикл из 8 работ, ориентированный на изучение Java практически с нуля. Для "разгона" предусмотрено последовательное наращивание функционала разработки с включением сетевых компонент во второй половине практикума.

В лабораторном практикуме к дисциплине "программная инженерия" в цикле работ по проектированию клиент-серверной системы имеется работа по проектированию архитектуры системы клиентских приложений и сервера. В ней предполагается проработка вопросов по определению места включения, основных требований к прикладному протоколу и выбор средств его реализации.