Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Распределенные сервис-ориентированные системы..pdf
Скачиваний:
16
Добавлен:
05.02.2023
Размер:
9.2 Mб
Скачать

Рисунок 1.4 — Схема реализации удаленного объекта на машинах клиента и сервера [4]

 

 

 

Доступ к

Брокер

Регистрация

 

 

 

Клиент

объекту

orbd

объекта

Сервер

 

 

 

 

или

 

 

 

 

 

 

 

 

rmiregistry

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

stub

 

 

 

 

stub

 

 

 

 

Сеть

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.5 — Объектная модель взаимодействия «Клиент-сервер»

1.2 Становление систем с сервис-ориентированной архитектурой

К концу 90-х годов реализация распределенных приложений, интенсивно использующих технологии RPC, CORBA и RMI, породила различные проблемы их интеграции. Источник этих проблем кроется в самой технологии реализации основанной на том, что интерфейсы взаимодействия программ-клиентов и про- грамм-серверов, хоть описываются на универсальном языке IDL (Interface Definition Language), но в силу генерации специальных программных заглушек (stub) делает модель «Клиент-сервер» сильносвязанной.

Эта сильная связанность приводит к следующим последствиям:

12

а) вся распределенная система должна создаваться одним разработчиком, который способен согласовать интерфейсы взаимодействия программ-кли- ентов и программ-серверов;

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

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

г) разработчики РВ-сетей несут серьезные издержки по обеспечению гарантийных обязательств перед заказчиками;

д) заказчики (покупатели) имеют серьезные издержки по сопровождению купленной РВ-сети и ее развитию;

е) в сфере промышленного производства стала возникать «островная» или «лоскутная» автоматизация, препятствующая созданию комплексных систем автоматизации и принятию согласованных решений.

Перечисленные последствия привели к тому, что технологии РВ-сетей стали разделяться на два направления: распределенные высокопроизводительные вычисления и распределенные сервис-ориентированные системы.

Распределенные высокопроизводительные системы (РВПС) — технологическое направление, интегририрующее вычислительные ресурсы множества гетерогенных вычислительных систем, слабосвязанных между собой сетью ВМ. В процессе развития, за системами этого направления закрепился термин «GRID-системы», а за использующими их алгоритмами — термин «GRIDвычисления».

Распределенные сервис-ориентированные системы (РСОС) — технологическое направление, которое меняет сильносвязанную классическую модель «Клиент-сервер» (strong coupling) на слабосвязанную модель взаимодействия (loose coupling) между потребителем сервиса и поставщиком сервиса.

Потребитель сервиса — клиент (программа-клиент), осуществляющая обрашение к поставщику сервиса на основе опубликованного интерфейса сервиса (функции, метода и тому подобного действия серверного ПО).

Поставщик сервиса — сервер (программа-сервер), осуществляющая публикацию интерфейсов сервисов и доступ к их функциям или методам.

Сервис — зонтичный термин, обозначающий серверное ПО некоторой вычислительной системы, обеспечивающий функциональные потребности по-

13

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

Если технологии GRID-систем развивалось естественным путем в рамках достаточно больших и специализированных проектов, поддерживаемых группами высококлассных специалистов крупных вычислительных и научных центров, то направление РСОС вынуждено было разрабатывать и использовать технологии, ориентированные на широкий круг потребителей сервисов. Такая ситуация потребовала поиска и адаптации новых идей, не связанных напрямую с вычислительной парадигмой использования ВМ.

Начальный этап становления систем с новой сервис-ориентированной архитектурой следует рассмотреть на базе следующих вопросов:

1)развитие концепции и успехи реализации web-технологий;

2)формирование универсальной концепции SOA.

1.2.1 Развитие web-технологий

Началом становления web-технологий считается 1990 год, когда британский ученый Тимоти Джон Бернерс-Ли придумал термин «Всемирная путина» или World Wide Web.

Вспомнить базовые идеи web-технологий студент может из бакалаврского курса, изложенного в учебном пособии [1, подраздел 4].

В основу web-технологий положены три технологические новинки:

а) URI (Uniform Resource Identifier) — унифицированный идентификатор ресурса;

б) HTML (HyperText Markup Language) — гипертекстовый язык разметки;

в) Браузер (web browser) — прикладная программа для просмотра содержимого HTML-файлов, включающих файлы рисунков формата *.gif.

С позиции РСОС, web-технологии интересны прежде всего тем, что была представлена новая модель реализации архитектуры «Клиент-сервер», которая предполагает слабосвязанное взаимодействие двух групп программ: Web-сер- веров и web-браузеров.

Web-сервер — программное обеспечение, поддерживающее интерфейс

CGI (Common Gateway Interface), что предполагает:

а) возможность подключения к нему по протоколу прикладного уровня HTTP и передачу запроса на ресурс с помощью URI;

б) возможность формирования ответа на запрос в виде HTML-страницы и

14

передачи ее автору запроса по протоколу HTTP.

в) Web-браузер — программное обеспечение, способное:

г) сформированть запрос на ресурс средствами синтаксиса языка URI;

д) соединиться с web-сервером по протоколу TCP и передать ему запрос на ресурс средствами протокола HTTP;

е) принять от сервера результат запроса в виде HTML-страницы;

ж) выполнить собственными средствами отображение HTML-станицы в виде, управляемом тегами языка HTML.

Получив HTML-страницу, web-браузер проводит разбор ее состаных частей и делает дополнительные запросы на дополнительные ресурсы, например, файлы рисунков.

По получению всех необходимых ресурсов, web-браузер инициирует разрыв соединения со всеми web-серверами.

После разрыва соединения web-сервер «забывает» о выполненном запросе и не фиксирует соответствующее состояние web-браузера.

Вархитектурном плане плане, обе группы ПО (сервера и браузеры) не представляли какой-либо строго организованной системы. Они произвольно взаимодействовали в сети Интернет (Internet), опираясь на стек протоколов TCP/IP и используя средства DNS (Domain Name System) для разрешения проблем с адресацией. В таком виде web-технологии не представляли никакой конкуренции бурно развивающейся технологии CORBA и решали свои внутренние проблемы, специфичные для каждой группы ПО.

Программное обеспечение web-серверов сосредоточилось на качественной поддержке интерфейса CGI, протокола HTTP и различных версий, развивающих возможности языка HTML. В концептуальном плане возникает потребность в создании динамических HTML-страниц, обеспечивающих новый более интеллектуальный уровень доступа к ресурсам Интернет.

Виюне 1995 года, датский программист Расмус Лердорф, экспериментировавщий на языке Perl с CGI-шаблонами языка HTML, опубликовал описание языка PHP (Personal Home Page Tools) — Инструменты для создания персональных web-страниц. В дальнейшем, этот скриптовый язык стал называться «Hypertext Preprocessor» или - «Препроцессор гипертекста».

Вначале 1995 года, организация-фонд Apache Software Foundation выпустила свободный web-сервер Apache HTTP Server, написанный на языке С и расширяющий свои функциональные возможности посредством подключения различных модулей. Среди таких модулей, которых уже насчитывается более 500 единиц, одним из первых стал поддерживаться модуль языка PHP, а учитывая высокое быстродействие сервера, этот язык получил широкую популярность и стал своего рода эталонным представителем CGI-препроцессоров.

15