
- •Введение
- •1 Тема 1. Введение в теорию вычислительных сетей
- •1.1 Общая классификация систем обработки данных
- •1.1.1 Сосредоточенные системы
- •1.1.2 Распределенные системы
- •1.1.3 Распределенные вычислительные сети
- •1.2 Сетевые объектные системы
- •1.2.1 Классические приложения модели OSI
- •1.2.2 Распределенная вычислительная среда (DCE)
- •1.2.3 Технология CORBA
- •1.2.4 Удаленный вызов методов
- •1.3 Сервис-ориентированные технологии
- •1.3.1 Функции и сервисы
- •1.3.2 Системы midlleware
- •1.3.3 Сервисные шины предприятий
- •1.4 Виртуальные системы
- •1.4.1 Виртуальные машины
- •1.4.2 Виртуализация вычислительных комплексов на уровне ОС
- •1.4.2 Виртуализация ПО на уровне языка
- •1.4.3 Виртуальная машина языка Java
- •1.5 Итоги теоретических построений
- •Вопросы для самопроверки
- •2 Тема 2. Инструментальные средства языка Java
- •2.1 Общее описание инструментальных средств языка
- •2.1.1 Инструментальные средства командной строки
- •2.1.2 Пакетная организация языка Java
- •2.1.3 Инструментальные средства Eclipse
- •2.2 Классы и простые типы данных
- •2.2.1 Операторы и простые типы данных
- •2.2.2 Синтаксис определения классов
- •2.2.3 Синтаксис и семантика методов
- •2.2.4 Синтаксис определения интерфейсов
- •2.2.5 Объекты и переменные
- •2.3 Управляющие операторы языка
- •2.4 Потоки ввода-вывода
- •2.4.1 Стандартный ввод-вывод
- •2.4.2 Классы потоков ввода
- •2.4.3 Классы потоков вывода
- •2.5 Управление сетевыми соединениями
- •2.5.1 Адресация на базе класса InetAddress
- •2.5.2 Адресация на базе URL и URLConnection
- •2.5.3 Сокеты протокола TCP
- •2.5.4 Сокеты протокола UDP
- •2.5.5 Простейшая задача технологии клиент-сервер
- •2.6 Организация доступа к базам данных
- •2.6.1 Инструментальные средства СУБД Apache Derby
- •2.6.2 SQL-запросы и драйверы баз данных
- •2.6.3 Типовой пример выборки данных
- •Вопросы для самопроверки
- •3 Тема 3. Объектные распределенные системы
- •3.1 Брокерные архитектуры
- •3.1.1 Вызов удаленных процедур
- •3.1.2 Использование удаленных объектов
- •3.2 Технология CORBA
- •3.2.1 Брокерная архитектура CORBA
- •3.2.2 Проект серверной части приложения NotePad
- •3.2.3 Проект клиентской части приложения Example12
- •3.2.4 Генерация распределенного объекта OrbPad
- •3.2.5 Реализация серверной части ORB-приложения
- •3.2.6 Реализация клиентской части ORB-приложения
- •3.3 Технология RMI
- •3.3.1 Интерфейсы удаленных объектов
- •3.3.2 Реализация RMI-сервера
- •3.3.3 Реализация RMI-клиента
- •Вопросы для самопроверки
- •4 Тема 4. Web-технологии распределенных систем
- •4.1 Общее описание технологии web
- •4.1.1 Унифицированный идентификатор ресурсов (URI)
- •4.1.2 Общее представление ресурсов (HTML)
- •4.1.3 Протокол передачи гипертекста (HTTP)
- •4.2 Модели «Клиент-сервер»
- •4.2.1 Распределение приложений по уровням
- •4.3 Технология Java-сервлетов
- •4.3.1 Классы Servlet и HttpServlet
- •4.3.2 Контейнер сервлетов Apache Tomcat
- •4.3.3 Диспетчер запросов - RequestDispatcher
- •4.3.4 Технология JSP-страниц
- •4.3.5 Модель MVC
- •Вопросы для самопроверки
- •5 Тема 5. Сервис-ориентированные архитектуры
- •5.1 Концепция SOA
- •5.1.1 Связывание распределенных программных систем
- •5.1.2 Web-сервисы первого и второго поколений
- •5.1.3 Брокерные архитектуры web-сервисов
- •5.2 Частные подходы к реализации сервисных технологий
- •5.2.1 Технологии одноранговых сетей
- •5.2.2 Технологии GRID
- •5.2.3 Облачные вычисления и «виртуализация»
- •Вопросы для самопроверки
- •Список использованных источников
- •Алфавитный указатель

47
2.1.3 Инструментальные средства Eclipse
Возможности командной строки - достаточно широки, но в плане разработки программного обеспечения значительно уступают интергированным инструментальным средствам IDE (Integrated Development Environment). В данном пособии будет использоваться IDE Eclipse EE, которое ориентировано на разработку приложений уровня предприятия средствами технологий языка Java. Мы будем придерживаться варианта ПО установленного в учебном программном комплексе [6], поэтому отметим, что упомянутый инструмент установлен опционально в среду ОС Linux и монтируется в директорию /opt/eclipseEE. Запуск инструмента осуществляется специальным значком, размещенным на рабочем столе пользователя, или эквивалентной командой:
/opt/eclipseEE/eclipse -data rvs
Поскольку студенты хорошо знакомы с инструментальной средой Eclipse в процессе изучения курса «Операционные системы», программируя на языках С/С++, поэтому уделим внимание только тем аспектам технологии IDE, которые связаны с реализацией проектов на языке Java. Для конкретизации примера, создадим проект с именем proj1, реализующим программу с исходным текстом листинга 2.3.
В главном меню запущенной IDE, выберем: File→New→Java Project. Появится окно рисунка 2.7, в котором укажем имя проекта proj1 и создадим проект, нажав кнопку «Finish».
Рисунок 2.7 — Выбор названия проекта
В окне «Package Explorer» выделим мышкой proj1/src и правой кнопкой

48
активируем меню New→Class, а появившееся окно заполним, как показано на рисунке 2.8.
Рисунок 2.8 — Окно создания класса Example1 в проекте proj1
Завершив создание класса кнопкой «Finish», мы получаем в среде IDE вкладку Example1.java с шаблоном исходного текста класса Example1. Внесем в этот шаблон изменения согласно листингу 2.3 и сохраним результат. Проект готов к запуску.
Запустив программу на выполнение, мы по содержимому рисунка 2.9 убеждаемся, что результат ее работы полностью совпадает с результатом рисунка 2.3.

49
Рисунок 2.9 — Результат запуска проекта proj1
Теперь проведем анализ каталога /home/vgr/rvs/proj1, где расположены каталоги нашего проекта:
•директория bin соответствует дереву каталогов для классов проекта;
•директория src соответствует дереву каталогов для исходных текстов проекта;
•рисунок 2.10 показывает места хранения Example1.class и Example.java.
Рисунок 2.10 — Места хранения файлов Example1.class и Example.java
Убедившись, что Eclipse также придерживается правил хранения классов, задаваемых оператором package, и приступим к созданию jar-архива нашего проекта. Для этого, в окне «Package Explorer» выделим мышкой проект proj1 и правой кнопкой активируем меню «Export...».
Далее, в появившемся окне «Export» выбираем «Runnable JAR file» и кнопкой «Next» переходим к окну, показанному на рисунке 2.11 и заполняем его с учетом того, что архив имеет имя proj1.1.jar, а директория - /home/vgr/src/rvs.
Теперь, нажав кнопку «Finish», можно сравнить полученный архив с архивом proj1.jar.

50
Рисунок 2.11 — Выбор местоположения архива проекта proj1
Запустив программу командой java -jar proj1.1.jar, убеждаемся, что она работает также, как и программа архива proj1.jar. Можно еще распаковать архивы командами:
jar xf proj1.jar jar xf proj1.1.jar
и сравнить их содержимое.
Теперь, завершая данный подраздел, можно находиться в уверенности, что студенту представлены все инструменты языка Java, необходимые для изучения последующего материала этой главы.