
- •Введение
- •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 Облачные вычисления и «виртуализация»
- •Вопросы для самопроверки
- •Список использованных источников
- •Алфавитный указатель
198
5 Тема 5. Сервис-ориентированные архитектуры
Вподразделе 1.3 первой главы, уже была дана достаточно емкая характеристика понятию «Сервис-ориентированные технологии». В частности, на рисунке
1.1была приведена обобщенная схема соотношения объектно-ориентированного и сервисного подходов в создании прикладных систем. Дополнительно, было дано разъяснение понятию «Сервис-ориентированная архитектура» и была отмечена значимость систем типа Middleware, использующих модель SOA и обеспечивающих взаимодействие распределенных приложений на основе протокола SOAP.
Вобщем случае, тема сервисно-ориентированных технологий, далее — СОТ, требует отдельного учебного пособия, раскрывающего все многообразие подходов и методов реализованных в них. В данной главе мы отметим, что СОТ является дальнейшим продолжением и развитием ранее изученной концепции «Объектные распределенные системы», а также основным трендом современного развития компьютерных технологий.
Учебный материал данной главы ограничен теоретическим описанием двух аспектов СОТ: общей концепции SOA и частных подходов к реализации сервисных технологий.
Общая концепция SOA охватывает теоретические аспекты рассматриваемой технологии, которые детализируются в трех направлениях:
•в первом направлении рассматриваются вопросы связывания распределенных программных систем;
•во втором направлении обсуждаются web-сервисы, которые условно подразделяются на первое и второе поколения;
•в третьем направлении рассматриваются три брокерные архитектуры, которые в настоящее аремя используются web-сервисами.
Вподразделе, посвященном частным подходам к реализации сервисных технологий, внимание уделяется следующим направлениям:
•технология одноранговых сетей становится все более популярной в различных общественных сервисах ориентированных на культуру, личные контакты и индустрию развлечений; первичным здесь является отказ от централизованных средств учета и управления адресами ресурсов Интернет;
•технология GRID, которая ориентирована на создание некоторого большого «виртуального суперкомпьютера», обслуживающего множество организаций и научных коллективов;
•технология облачных вычислений, ориентированных на учет используемых ресурсов ЭВМ и обеспечивающих построение как коммерческих, так и общественных распределенных сервисных ресурсов.
Вцелом, обсуждаемые технологии рассматриваются в теоретическом плане и не привязываются к конкретным языкам программирования или конкретным фреймворкам.