Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Технология построения распределенных информационных систем (Теоретические аспекты распределительных информационных систем)

Содержание:

ВВЕДЕНИЕ

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

Системы распределенной обработки данных в сетях ЭВМ на сегодня представляют собой одну из наиболее прогрессивных форм организации средств вычислительной техники. Поскольку распределенные системы с полным основанием можно отнести к большим системам, то очевидно, что велики число и сложность проблем, возникающих при их моделировании, проектировании и реализации.

Объектом исследования в работе является распределительная информационная система.

Предметом –технология построения распределительной информационной системы.

Цель курсовой работы заключается в рассмотрении особенностей построения распределительных информационных систем.

Для достижения поставленной цели, в работе необходимо решить следующие задачи:

  1. Ознакомиться с сущностью и понятием распределительной информационной системы.
  2. Рассмотреть виды распределительных систем и особенности их функционирования.
  3. Охарактеризовать основные модели взаимодействия компонент распределительной системы.
  4. Уяснить особенности технологии Веб-сервиса.
  5. Выявить преимущества и недостатки технологии Веб-сервиса.
  6. Изучить практическое применение технологии Веб-сервиса в проектировании распределительной информационной системы.

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

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

Вторая глава курсовой работы направлена на анализ особенностей технологии Веб-сервиса как технологии проектирования распределительной информационной сети. Выявлены достоинства и недостатки технологии Веб-сервиса. Отдельное внимание уделено практическому вопросу применения данной технологии при проектировании РИС.

ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ РАСПРЕДЕЛИТЕЛЬНЫХ ИНФОРМАЦИОННЫХ СИСТЕМ

1.1.Сущность и понятие распределительной информационной системы

Сейчас используются различные понятия и определения распределенной системы (далее − РС). Обобщая, их можно свести к следующим определениям, представленным на рис. 1.

Рисунок 1. Определения распределительной информационной системы

Пользователи и приложения единообразно работают в распределенных системах независимо от того, когда и где происходит это взаимодействие.

При такой работе информационные системы должны иметь возможность скрывать от пользователей различия между компьютерами и способы связи между ними [1, c. 32].Еще одной важной характеристикой распределенных систем является способность обеспечения единообразной работы пользователей и приложений в распределенных системах.

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

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

Основными задачами распределенной обработки данных является облегчение доступа к удаленным ресурсам и контроль совместного использования компьютеров, файлов, данных в БД, веб-страницы и сети.

Для распределенной обработки данных распределенная система должна удовлетворять следующим требованиям, представленным на рис. 2.

Рисунок 2. Требования к распределительной системе

В распределенных системах процессы и ресурсы физически распределены по разным компьютерам, но пользователи этого не видят. Прозрачными называются распределенные системы, которые представляются пользователям и приложениям в виде единой системы [2, c. 47].

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

Не все эти требования могут быть полностью реализованы в распределенных системах, т. к. обеспечение прозрачности влияет на производительность.

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

Интерфейсы в распределенных системах определяют службы и компоненты, которые, как правило, описываются языком определения интерфейсов (Interface Definition Language, IDL). Интерфейс описывается с помощью синтаксиса служб – имен доступных функций, типов параметров, возвращаемых значений и др. Семантику служб описать сложнее, т. к. эти описания задаются средствами естественного языка.

Рисунок 3. Характеристика прозрачности как требования к распределительной информационной системе

Открытые распределенные системы должны обладать свойствами интероперабельности, т. е. способности к взаимодействию, возможности переноса из одной системы в другую без изменения интерфейса [3, c. 132]. Система должна обладать гибкостью и иметь возможность легкого конфигурирования. Таким образом, открытые распределенные системы расширяются аппаратно и программно.

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

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

Масштабируемость распределенных систем влияет на производительность и может ее снижать. Практическая реализация масштабируемости, как правило, рассматривается наряду с такими требованиями, как производительность и безопасность.

Примерами ограничения масштабируемости могут являться: один сервер на нескольких пользователей; телефонный справочник, доступный онлайн; организация маршрутизации данных, передаваемых по сети. Большие объемы данных передаются по множеству каналов, при этом используются децентрализованные алгоритмы.

К основным технологиям масштабирования относятся [5, c. 87]:

  1. Скрытие времени ожидания связи, которое применяется при географическом масштабировании. Основной идеей является попытка избежать ожидания ответа на запрос от удаленного сервера, что означает использование приложения-клиента с асинхронной связью.
  2. При распределении передаваемые данные разбиваются на более мелкие пакеты с последующим их распределением в системе. Например, в системе доменных имен интернета (DNS) пространство DNS организуется иерархически в виде дерева доменов (domains), которые разбиваются на зоны (по странам и областям деятельности). Отдельным сервером обрабатываются имена каждой зоны.
  3. Репликация (дублирование) применяется для повышения доступности ресурсов и помогает уравнивать нагрузку компонентов, что улучшает производительность, помогая сократить время ожидания отклика данных.

Итак, изучив сущность распределительных информационных систем, перейдем к рассмотрению основных видов распределительных систем и их характеристике.

1.2. Виды распределительных систем и особенности их функционирования

Существует несколько вариантов соединения и организации взаимного обмена процессоров в единую распределенную систему.

Распределенные системы можно разделить на две группы (рис. 4).

Рисунок 4. Группы распределительных систем

Системы, в которых компьютеры используют память совместно, называются мультипроцессорными. Если в распределенной системе каждый компьютер работает со своей памятью, то такие системы называются мультикомпьютерными. Мультипроцессорные системы имеют единое адресное пространство, которое используется всеми процессорами [4, c. 65].

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

Мультикомпьютерные системы подразделяются на гомогенные и гетерогенные. В гомогенных системах используется одна компьютерная сеть, построенная на единой топологии с использованием однотипных процессоров. Такие системы могут быть как параллельные, так и мультипроцессорные. Примером являются кластеры рабочих станций. Гетерогенные системы могут содержать независимые компьютеры, соединенные разными сетями. Например, система может состоять из нескольких локальных сетей с коммутируемой магистралью FDDI или ATM.

Наибольшее влияние на аппаратную часть распределенных систем оказывают программные решения. В первую очередь они влияют на удобство работы пользователя в распределенных системах.

Распределенные системы помогают пользователям совместно использовать общие ресурсы, такие как: память, данные, процессоры, периферийное оборудование и сеть. Распределенные системы выполняют функции менеджеров ресурсов, т. е. их работа аналогична работе операционной системы. С другой стороны, распределенные системы скрывают от пользователя гетерогенность и сложность аппаратуры, предоставляя удобный интерфейс работы. Функции распределенной системы можно сравнить с функциями операционной системы.

Операционные системы в распределенных системах делятся на две категории: сильно связанные и слабо связанные [5, c. 78]. Сильно связанными операционными системами называются распределенные операционные системы, которые используются для управления мультипроцессорными, мультикомпьютерными и гомогенными системами. Их основная их цель – скрывать подробности управления аппаратным обеспечением от пользователя.

Слабо связанными операционными системами называются сетевые операционные системы, которые используются для управления гетерогенными мультикомпьютерными комплексами [6, c. 54]. Наряду с традиционными функциями управления ресурсами они обеспечивают доступ удаленных клиентов к локальному программному, аппаратному обеспечению и данным.

При создании распределенной системы недостаточно служб сетевой операционной системы. К ним необходимо добавить дополнительные элементы для организации прозрачной структуры системы. Данные элементы образуют промежуточный уровень (middleware) системы. Таким образом, программные средства играют основную роль в построении распределенной системы промежуточного уровня, между распределенными приложениями и операционными системами. Общая структура распределенной системы с промежуточным уровнем показана на рис. 5.

C:\Users\Пользователь\Desktop\Безымянный.png

Рисунок 5. Общая структура распределенной системы с промежуточным уровнем

При разработке распределенной системы используются две модели: распределенная файловая система, когда все объекты представляются в виде файлов, и система, основанная на удаленных вызовах процедур. Примером файловой системы является файловая система Unix. Модель удаленных вызовов процедур основана на скрытии сетевого обмена, при этом процессы могут вызывать процедуры, находящиеся на удаленной машине. При вызове процедуры и ее выполнении параметры передаются на удаленную машину, далее управление передается компьютеру-клиенту [7, c. 65].

Для пользователя это выглядит как обычный вызов процедуры. Современные модели распределенных систем основаны на взаимодействии распределенных объектов. Примерами являются: DCOM и CORBA. В распределенных объектах каждый объект реализует свой интерфейс, который скрывает все внутренние детали выполнения функций системы от пользователя. Интерфейс основан на методах, реализуемых системой. Все, что видит процесс – это интерфейсы.

В системе WWW используется модель распределенных документов. В данной модели информация организуется в виде документов, размещенных, как правило, на удаленном сервере или на распределенных компьютерах-клиентах, при этом пользователь не видит, где размещен документ. Веб-страницы могут содержать гиперссылки на другие документы и страницы, видео, графику, звуковые файлы. При обращении к документу из адресной строки браузера формируется запрос серверу, на сервере выполняется код генерации страницы, веб-страница формируется «налету» и в окне браузера мы видим виртуальную страницу.

Для низкоуровневой пересылки сообщений по сети используются сервисы промежуточного уровня, которые предназначены для поддержки прозрачности доступа путем предоставления высокоуровневых средств связи. Интерфейс транспортного уровня (IP) заменяется средствами прозрачного доступа к распределенным БД, файловым системам и веб-документам [8, c. 93].

Общей службой для всех систем промежуточного уровня является именование (naming). Любой документ идентифицируется с помощью URL-адреса, содержащего имя хостинга, на котором находится документ с данным URL.

Служба обеспечения сохранности данных реализуется механизмом распределенных транзакций.

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

Далее рассмотрим такую модель как «клиент-сервер». В данной базовой модели распределенной системы все процессы обработки данных делятся на две взаимно перекрывающиеся группы. Серверами называются любые процессы, реализующие, например, обработку удаленной файловой системы или распределенной базы данных. Сервер предоставляет свои ресурсы и хранимые данные удаленным рабочим станциям и одновременно может использовать их ресурсы и данные. Клиентами называются процессы, посылающие запрос серверу на обработку данных с последующим ожиданием ответа от сервера. Клиент получает услуги сервера.

В рамках модели «клиент – сервер» взаимодействие может быть синхронным и асинхронным. При синхронном взаимодействии клиент ожидает завершения обработки своего запроса сервером, а при асинхронном взаимодействии клиент посылает серверу запрос и, не дожидаясь ответа сервера, продолжает свою работу. Модель «клиент – сервер» является основой описания различных взаимодействий удаленных и распределенных систем (рис. 6).

C:\Users\Пользователь\Desktop\Безымянный.png

Рисунок 6. Модель взаимодействия «клиент – сервер»

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

Рассмотрим логические уровни взаимодействия пользователя с базой данных (рис. 7).

На уровне клиента реализуется интерфейс. На уровне функциональности реализуется бизнес-логика приложения. На уровне данных содержатся программы, их обрабатывающие. Этот уровень отличается требованием целостности данных [8, c. 101]. Когда приложение не работает, данные сохраняются в файле или базе данных для последующего их использования. Данный уровень, как правило, реализуется на сервере.

C:\Users\Пользователь\Desktop\Безымянный.png

Рисунок 7. Логические уровни приложения

Кроме сохранности на уровне данных обеспечивается поддержка целостности данных для различных приложений. Поддержание целостности данных означает, что на этом же уровне хранятся схемы базы данных, триггеры базы данных и хранимые процедуры.

Как правило, уровень данных реализуется в виде реляционной базы данных, что позволяет данным не зависеть от приложений [8, c. 165].

Реляционные базы данных в модели «клиент – сервер» позволяют отделить уровень обработки от уровня данных, при этом данные и их обработка рассматриваются независимо друг от друга.

Далее в рамках исследования целесообразным является рассмотрение моделей взаимодействия компонентов распределительной системы.

1.3. Характеристика моделей взаимодействия компонентов распределительной системы

В распределенной системе один компьютер является сервером, все остальные машины являются удаленными рабочими станциями. Основой сетевого взаимодействия распределенных систем является модель взаимодействия открытых систем OSI/ISO. Данная модель разделяет процесс взаимодействия клиента и сервера на семь уровней: физический, канальный, сетевой, транспортный, сеансовый, прикладной, представительский.

Алгоритм взаимодействий в открытых системах описывается стандартными протоколами. Основным стеком протоколов является протокол TCP/IP. Протоколом транспортного уровня является протокол TCP, а протоколом сетевого уровня является протокол IP [9, c. 73].

Операционная система является связующим звеном с протоколом транспортного уровня и предоставляет интерфейс для верхних уровней основанный на сокетах. Сокеты обеспечивают элементарные операции низкого уровня для непосредственного обмена потоком бит между двумя процессами. В стеке протоколов TCP/IP сеансового или стандартного представительского уровня нет. К ним относят иногда защищенные протоколы SSL/TLS.

Протоколы можно разделить на 2 основных типа: с установлением соединения и без установления соединения. При установлении соединения для передачи данных отправитель и получатель устанавливают соединение, а после завершения передачи разрывают его. Примером соединения двух абонентов является телефон [9, c. 76].

Без установки соединения отправитель сразу посылает сообщение адресату. Протокол TCP/IP на основе сокетов является стандартным, межплатформенным, но низкоуровневым сервисом для обмена данными между компонентами. Функции сеансового и представительского уровня берет на себя промежуточная среда, которая называется промежуточным программным обеспечением (рис. 8).

Промежуточная среда помогает разработчикам создавать открытые, масштабируемые и устойчивые распределенные системы. При этом проме-жуточная среда должна обеспечивать службы для взаимодействия компонент распределенной системы (рис. 9).

C:\Users\Пользователь\Desktop\Безымянный.png

Рисунок 8. Модель взаимодействия вычислительных систем

Рисунок 9. Службы, обеспечивающие взаимодействие компонент распределительной системы

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

Взаимодействие в модели OSI подразделяется на 7 уровней. На каждом уровне работает протокол, отвечающий за один аспект взаимодействия и предоставляющий интерфейс для работы с вышестоящим уровнем. Набор операций на каждом уровне определяет этот интерфейс.

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

В настоящий момент существуют две концепции организации программных компонент распределенной среды [10, c. 48]:

1) обмен сообщениями между компонентами;

2) вызов процедур или методов объекта удаленной компоненты по аналогии с локальным вызовом процедуры.

Любое взаимодействие между удаленными компонентами распределенной системы основано на протоколе TCP/IP. Низкоуровневый обмен сообщениями на основе сетевых протоколов является первичным. С точки зрения промежуточной среды данный сервис не определяет формат передаваемого сообщения. Прикладные протоколы обмена данными более высокого уровня строятся на базе протоколов TCP или HTTP [11, c. 145]. На их базе строятся прикладные протоколы обмена сообщений для реализации более сложного обмена сообщениями или удаленного вызова процедур.

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

Явный обмен сообщениями между процессами является основой многих РС.

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

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

Использование очередей сообщений ориентировано на асинхронный обмен данными. Основные достоинства и недостатки таких систем представлены на рис. 10.

Идея удаленного вызова процедур (remote procedure call, RPC) появилась в середине 1980-х гг. и заключалась в том, что при помощи промежуточного программного обеспечения функцию на удаленном компьютере можно вызывать, как и функцию на локальном компьютере. Чтобы удаленный вызов происходил прозрачно с точки зрения вызывающего приложения, промежуточная среда должна предоставить процедуру-заглушку (stub), которая будет вызываться клиентским приложением [12, c.346]. После вызова процедуры-заглушки промежуточная среда преобразует переданные ей аргументы в вид, пригодный для передачи по транспортному протоколу, и передает их на удаленный компьютер с вызываемой функцией. На удаленном компьютере параметры извлекаются промежуточной средой из сообщения транспортного уровня и передаются вызываемой функции (рис. 11). Аналогичным образом на клиентскую машину передается результат выполнения вызванной функции.

Рисунок 10. Достоинства и недостатки систем очередей сообщений

C:\Users\Пользователь\Desktop\Безымянный.png

Рисунок 11. Удаленный вызов процедур

Процедура – это фрагмент программы, оформленный стандартным образом и доступный для использования другими программами с помощью стандартных операций вызова процедур.

Модель, с помощью которой реализуется такое взаимодействие, называется Удаленный вызов процедур (Remote Procedure Call, RPC).

Таким образом, идея вызова удаленных процедур RPC состоит в расширении хорошо известного и понятного механизма передачи управления и данных внутри программы, выполняющейся на одной машине, на передачу управления и данных через сеть [12, c. 387]. Средства удаленного вызова процедур предназначены для облегчения организации распределенных вычислений. Наибольшая эффективность использования RPC достигается в тех приложениях, в которых существует интерактивная связь между удаленными компонентами с небольшим временем ответов и относительно малым количеством передаваемых данных. Такие приложения называются RPC-ориентированными.

Сама идея проста, но не проста в реализации, так как процесс и процедура находятся на разных машинах в разных адресных пространствах. Имеются проблемы и при передаче параметров.

Существует три возможных варианта удаленного вызова процедур (рис. 12).

Рисунок 12. Варианты удаленного вызова процедур

Далее перейдем ко второй главе курсовой работе, которая посвящена технологии Веб-сервиса – технологии проектирования распределительной информационной системы.

ГЛАВА 2. ОСОБЕННОСИ СОВРЕМЕННЫХ ТЕХНОЛОГИЙ ПОСТРОЕНИЯ РАСПРЕДЕЛИТЕЛЬНЫХ ИНФОРМАЦИОННЫХ СИСТЕМ

2.1. Характеристика технологии Веб-сервиса

Веб-сервисы – это архитектура, обеспечивающая новый уровень распределенности доступа к данным. С помощью веб-сервисов разрабатывают и приобретают компоненты для их встраивания в ИС.

Имеется возможность покупать время их работы, формировать программную среду, осуществляющую вызовы модулей из компонентов, которые могут принадлежать и поддерживаться различными независимыми провайдерами. Таким образом, функционал любой программы в сети может стать доступным через веб-сервис. Примером веб-сервиса является система Passport на Hotmail. Она позволяет аутентифицировать пользователей на собственном сайте.

Основой веб-сервисов являются технологии: TCP/IP, HTML и XML [1, c. 68].

− TCP/IP – универсальный протокол передачи данных, понимаемый всеми сетевыми устройствами;

− HTML – универсальный язык гипертекстовой разметки

для отображения информации на устройствах пользователей;

− XML (Extensible Markup Language) – универсальный язык, поддерживающий работу с различными типами данных.

Данные технологии являются универсальными и служат основой для понимания веб-сервисов. Интернет-технологии основаны на открытых, формально независимых от поставщиков технологиях, этим достигается их главное преимущество в концепции построения распределенных ИС. Использование технологий TCP/IP, HTML, XML позволяет применять их на любых операционных системах, серверах приложений и т. д. Таким образом, веб-сервисы позволяют интегрировать приложения различной природы строить распределенные информационные системы.

Данные технологии являются универсальными и служат основой для понимания веб-сервисов. Интернет-технологии основаны на открытых, формально независимых от поставщиков технологиях, этим достигается их главное преимущество в концепции построения распределенных ИС. Использование технологий TCP/IP, HTML, XML позволяет применять их на любых операционных системах, серверах приложений и т. д. Таким образом, веб-сервисы позволяют интегрировать приложения различной природы строить распределенные ИС.

Веб-сервисы, которые организуют связь данных с программами, объектами, базами данных или деловыми операциями, называются XML-приложениями. Обмен XML-документами в виде сообщений осуществляется между веб-сервисом и программой. Формат передаваемых сообщений, интерфейс передачи сообщений, правила взаимосвязи содержания сообщения с сервисом приложения при его передаче туда и обратно, механизмы публикации и поиска интерфейсов определяют стандарты веб-сервисов.

Веб-сервисы могут использоваться во многих приложениях. Вебсервисы могут запускаться с различных рабочих станций для обращения к интернет-приложениям. Например, к системе предварительных заказов или системе контроля выполнения заказов. Вебсервисы активно используются для интеграции В2В приложений электронного бизнеса. Веб-сервисы также позволяют решать проблему интеграции приложений предприятия, осуществляя связь между несколькими приложениями как внутри предприятия, так и вне предприятия [14, c. 142]. Технологии веб-сервисов выполняют функции связующего звена между различными частями программного обеспечения.

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

Работа веб-сервисов заключается в следующем: веб-сервис получает из сетевой среды стандартное XML-сообщение, преобразует XML-данные в понятный формат для конкретной прикладной программной системы, далее отправляет ответное сообщение. Базовое программное обеспечение может быть создано на любом языке программирования с использованием любой операционной системы и любого связующего программного обеспечения. Например, взаимодействие с веб-сервисами осуществляется посредством ввода данных в HTML-формы и отправки этих данных серверу путем добавления их в строку URL адреса:

http://www.google.com/search?q=Skate+boots&btnG=Google+Search

Этот пример иллюстрирует простоту веб-взаимодействия (например, поиска, покупки акций или запроса маршрута движения), где параметры и ключевые слова внедряются непосредственно в URL. В данном случае представлен простой запрос поиска skate boots (ботинки с коньками) в строке обращения к поисковой машине Google. Ключевое слово search (искать) представляет сервис, к которому будет осуществлено обращение, а параметр Skate+boots является строкой поиска, которая была введена в HTML-форме на странице веб-сайта Google. Сервис поиска Google передаст этот запрос к различным поисковым машинам, которые вернут список URL для страниц, на которых имеется соответствие параметру поиска Skate+boots. Данный малоэффективный способ поиска в Сети полностью основан на установлении соответствия указанной текстовой строки и индексированных HTML-страниц [15, c. 254].

XML – лучший способ отправки данных. XML предоставляет значительные преимущества при передаче данных через интернет.

Отправка запроса в виде XML-документа имеет следующие преимущества: возможность определения типов данных и структур, большую гибкость и расширяемость. XML может представлять структурированные данные или данные определенного типа (например, допустимо указывать значение поля size (размер) как в виде строки цифр, так и в форме числа с плавающей точкой) и содержать больший объем информации, чем это допускает URL.

Благодаря тому, что XML-документы поддерживают разные типы данных, сложные структуры и объединение схем, современные технологии веб-сервисов обеспечивают значительное преимущество над существующими возможностями обращения к программным приложениям посредством HTML и URL.

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

Использование веб-сервисов очень выгодно с коммерческой точки зрения. За счет повсеместного распространения веб-сервисов интернет становится более эффективным, особенно при осуществлении коммерческих сделок. Сочетая прямой доступ к программным приложениям и коммерческим документам, веб-сервисы следующего поколения сети обеспечат полностью автоматическое взаимодействие, что позволит обращаться непосредственно к данным программ, игнорируя знакомые веб-страницы.

Более того, основные компоненты веб-сервисов, скорее всего, будут предоставляться и публиковаться множеством различных компаний, специализирующихся на отдельных функциональных элементах (проверка полномочий, координация сделок, ведение счетов). Это обеспечит непосредственное взаимодействие «приложение – приложение» – принцип, лежащий в основе веб-сервисов и определяющий их суть и реализацию [15, c. 264].

Технология веб-сервисов существует на очень высоком уровне абстракции, позволяя поддерживать множество одновременных определений, которые иногда бывают противоречивы. На простейшем уровне веб-сервисы могут восприниматься как интернет-ориентированные текстовые брокеры интеграции. Любые данные могут преобразовываться в ASCII-текст и обратно, и этот подход в течение долгого времени был общим знаменателем для систем графического вывода и систем управления базами данных. Ориентированные на использование текста системы также лежат в основе успешного развития интернета, на котором базируется дополнительная абстракция веб-сервисов. Любой компьютер или операционная система может поддерживать HTML, браузеры и веб-сервисы; и при получении по сети файлов им совершенно безразлично и даже неизвестно, с каким типом прикладной системы они взаимодействуют.

Веб-сервисы требуют использования нескольких смежных XML-технологий [15, c. 269].

1.Язык XML – фундамент, на котором строятся веб-сервисы. Он предоставляет язык определения данных и порядок их обработки. XML представляет семейство связанных спецификаций, публикуемых и поддерживаемых интернет-консорциумом (World Wide Web Consortium, W3C) и другими организациями.

2. SOAP (Simple Object Access Protocol), разработанный консорциумом W3C, определяет формат запросов к веб-сервисам. Сообщения между веб-сервисом и его пользователем пакуются в так называемые SOAP-конверты (SOAP envelopes, иногда их ещё называют XMLконвертами). Само сообщение может содержать либо запрос на осуществление какого-либо действия, либо ответ – результат выполнения этого действия.

3. WSDL (Web Services Description Language) – технология, основанная на XML, определяющая интерфейсы веб-сервисов, типы данных и сообщений, а также модели взаимодействия и протоколы связывания. Перед развертыванием сервиса разработчик составляет его описание на языке WSDL, указывает адрес веб-сервиса, поддерживаемые протоколы, перечень допустимых операций, форматы запросов и ответов.

4. Технология UDDI (Universal Description, Discovery and Integration) – реестр веб-сервисов и механизм поиска. Он используется для хранения и упорядочения деловой информации, а также для нахождения указателей на интерфейсы Веб-сервисов.

2.2. Преимущества и недостатки Веб-сервисов

К преимуществам веб-сервисов можно отнести следующее:

− веб-сервисы позволяют компании интегрировать свои бизнес-процессы с бизнес-процессами бизнес-партнеров и клиентов при меньшей стоимости, чем с использованием других интеграционных технологий. Стоимость подобных решений на основе веб-сервисов доступна даже для SMB (Small and Medium Business), что откроет для таких компаний новые перспективы развития;

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

− веб-сервисы обеспечивают преемственность в отношении уже имеющихся в информационной системе компании, т. е. можно сказать, что веб-сервисы надстраиваются над существующими ИС, но не вместо них [16, c.151]. Таким образом, обеспечивается сохранность уже сделанных инвестиций в IT-инфраструктуру и не идет увеличения требуемых, поскольку нет необходимости в радикальных изменениях;

− построение новых корпоративных решений с применением веб-сервисов реализуется быстрее и совокупно дешевле, поскольку основное внимание сосредотачивается на создании бизнес-логики решения, программирование самих веб-сервисов лишь по необходимости «обрамляет» этот процесс, не требуя больших трудозатрат за счет эффективного применения повторно используемого кода и адаптированных средств разработки (IDE и SDK).

К недостаткам (минусам) веб-сервисов можно отнести [16, c. 157]:

− стандарты интеграции бизнес-процессов, вопросы управления транзакциями и выработка единых бизнес- и IT-политик, взаимодействующих посредством веб-сервисов компаний, находятся пока на стадии разработки корпорациями IBM, XLANG и Microsoft, и спецификации WS-Coordination и WS-Transaction – результат сотрудничества IBM, Microsoft и BEA. Очевидно, без их четкой формализации и опубликования построение ИС на основе веб-сервисов может идти лишь с переменным успехом;

− динамическое использование информации бизнес-реестров веб-сервисов, вызов веб-сервисов требует решения вопросов доверительности отношений между различными бизнес-реестрами.

Кроме того, есть трудности в совместном использовании бизнесреестров различных форматов (например, задача поиска определенного веб-сервиса в UDDI-реестре и ebXML-реестре требует различных подходов в силу различия XML-документов, описывающих один и тот же веб-сервис в каждом из этих реестров). Надо отметить, что есть попытки решить эту проблему созданием единого браузера реестров [16, c. 168]. Например, графическая утилита Registry Browser корпорации Sun Microsystems, реализующая набор интерфейсов JAXR (Java API for XML Registries);

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

− вопросы безопасности функционирования информационной системы на основе веб-сервисов пока не урегулированы до конца.

Спецификация WS-Security – продукт деятельности корпораций IBM и Microsoft – в настоящее время достаточно молода, не «устоялась» и частично все еще дорабатывается. Однако в силу общности положений спецификации WS-Security уже готовится к выпуску следующий слой спецификаций, посвященных вопросам безопасности: Web Services Policy Assertions, Web Services Policy Attachments, Web Services Policy Framework, Web Services Trust, Web Services Secure nversation, Web Services Federation.

Итак, преимущества представляют собой стратегические бизнес-преимущества компаний, а недостатки имеют технологический характер и обусловлены новизной технологий, решение этих проблем лишь вопрос времени.

2.3. Практическое применение технологии Веб-сервиса в проектировании распределительной информационной системы

Стандарты веб-сервисов обычно используются совместно и согласованно. После обнаружения WSDL в UDDI или другом месте генерируется SOAP-сообщение для отправки на удаленный сайт [17].

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

C:\Users\Пользователь\Desktop\Безымянный.png

Рисунок 13. Веб-сервисы используют XML-документы и осуществляют преобразование данных

SOAP-процессор отправляющего компьютера преобразует данные из собственного формата в тип данных, предопределенный в соответствии с содержащейся в WSDL-файле XML-схемой на основе таблиц преобразования для текстов, значений с плавающей точкой и других данных. Таблицы преобразования «связывают» собственные типы данных с соответствующими конкретной XMLсхеме. (Стандартное преобразование типов широко используется в Java, Visual Basic, CORBA и других известных системах [17]. Многие средства XML позволяют настраивать специальные преобразования типов.) SOAP-процессор получающего компьютера выполняет обратное преобразование данных из типов XML-схемы в собственные типы данных.

Файлы описаний веб-сервисов обычно регистрируются с помощью URL. URL, повсеместно используемый в сети, указывает на IPадрес, соответствующий веб-ресурсу. Схемы веб-сервисов являются одной из форм веб-ресурса, они содержатся в доступных через интернет файлах и к ним применим тот же механизм, что используется при загрузке HTML-файлов. Главное отличие между загрузкой HTML-файла и обращением к ресурсу веб-сервиса заключается в том, что веб-сервис оперирует XML-документами, а не HTML документами и опирается на соответствующие технологии, такие как использование схем, преобразование, проверка подлинности, что и обеспечивает поддержку удаленного соединения приложений. Но способ, согласно которому схемы веб-сервисов публикуются и загружаются, одинаков: HTTP-операция по указанному URL.

Для проверки достоверности сообщений веб-сервисы используют XML-схемы. После получения документа реализация веб-сервиса сначала должна проанализировать XML-сообщение и удостовериться в корректности данных, выполнить проверку качества услуг (Quality-of-Service), такую как проверку политики безопасности или соглашений торговых партнеров, а затем произвести последовательность связанных с данным документом коммерческих операций. Веб-сервис на вымышленном нами сайте skateboots.com размещен в папке skateboots.com/order, на которую и указывает URL [18].

Веб-сервис, доступный по данному интернет-адресу, идентифицируется с помощью публичного WSDL-файла, который может быть загружен на отправляющий компьютер и использоваться при генерации сообщения. Компания Skateboots Company также осуществляет отправку в общедоступный каталог UDDI-листинга, позволяющего клиентам находить компанию с помощью технологии UDDI. В общем случае любой, кто хочет взаимодействовать с веб-сервисом, размещающим или контролирующим по сети заказы для Skateboots Company, для генерации сообщения должен найти способ получения и использования WSDL-файла.

Размещенные по адресу skateboots.com программы представляют собой прослушивающий HTTP-процесс, связанный с соответствующими веб-сервисами для распознавания XML-сообщений, определенных в данном формате [18]. Эти программы включают в себя XML-анализаторы и преобразователи. Кроме того, они осуществляют конвертацию данных SOAP-сообщения в форматы, необходимые для системы ввода заказов компании Skateboots Company.

Технологии веб-сервисов сформировались из основных структур. Этих технологий достаточно для построения, развертывания и публикации базовых веб-сервисов. Необходим лишь базовый протокол SOAP. С момента появления веб-сервисов к ним все время добавляются другие технологии. Хотя для деловой связи, а также для создания «моста» с несовместимыми технологиями вполне достаточно базовых принципов, данная форма веб-взаимодействия тем не менее была одобрена очень быстро.

SOA, будучи практической концепцией, должна соответствовать определенным требованиям, предъявляемым к ней современным состоянием бизнес-отношений и информационных технологий, а также тенденциями их совместного развития [18]:

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

2) обеспечивать реализацию различных типов интеграции:

a) пользовательская интеграция (user integration) – обеспечение взаимодействия информационной системы с конкретным пользователем;

b) интеграция приложений (application connectivity) – обеспечение взаимодействия приложений;

c) интеграция процессов (process integration) – интеграция бизнес-процессов;

d) информационная интеграция (information integration) – интеграция с целью обеспечения доступности информации и данных;

e) интеграция новых приложений (build to integrate) – интеграция новых приложений и сервисов в существующие информационные системы.

3) обеспечивать поэтапность внедрения вновь созданных и миграции существующих информационных систем;

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

5) позволять реализацию различных моделей построения информационных систем, в особенности таких, как портальные решения, grid-системы.

Сегодняшний уровень развития SOA позволяет утверждать, что все указанные требования в той или иной мере выполняются.

Необходимо отметить, что SOA – не синоним веб-сервисов, а веб-сервисы – не единственный способ реализации SOA. SOA не является технологией или набором технологий, это – концепция, абстрактное представление реализации информационных систем с помощью сервисов безотносительно конкретных технологий [18]. Как нетрудно заметить, в SOA присутствуют элементы объектного подхода к построению информационных систем: декомпозиция (приложений на отдельные функции) и инкапсуляция. Однако подчеркнем, термин «объектно-ориентированный» по отношению к SOA не является корректным, т. к. в SOA отсутствуют все необходимые элементы объектно-ориентированной парадигмы. Более правильно называть SOA концепцией, использующей объектный подход.

Веб-сервисы, в свою очередь, являются лишь технологиями, с помощью которых можно эффективно реализовать сервисно-ориентированную архитектуру. Существуют и другие технологии, с применением которых можно реализовать SOA, например, упомянутая выше CORBA.

Концепции SOA и Веб-сервисов не новы; на протяжении последних десяти лет были и другие технологии построения распределенных информационных систем, например, CORBA и DCOM [17]. Однако, со временем решения, построенные на их основе, перестали удовлетворять основным требованиям, предъявляемым к бизнесрешениям: максимально низкая TCO, максимально высокий ROI, короткий цикл разработки и внедрения информационной системы, широкие возможности интеграции разнородных систем.

В отличие от известных моделей технологии веб-сервисов и SOA:

− являются open-source;

− основаны на общепринятых и общеупотребимых технологиях и стандартах: XML, HTTP, TCP/IP;

− позволяют достичь наилучших показателей TCO и ROI, нежели какие-либо иные существующие на сегодняшний день интеграционные технологии;

− находятся на уровне зрелости, необходимом и достаточном для успешного применения большим количеством ISV (англ. Independent Software Provider) по всему миру.

ЗАКЛЮЧЕНИЕ

По итогам выполнения исследований на тему «Технология построения распределенных информационных систем» были получены следующие результаты:

Распределенные системы – совокупность независимых компьютеров соединенных сетью с программным обеспечением, которое обеспечивает их совместное и одновременное функционирование. Распределенные системы помогают пользователям совместно использовать общие ресурсы, такие как: память, данные, процессоры, периферийное оборудование и сеть. Распределенные системы выполняют функции менеджеров ресурсов, т. е. их работа аналогична работе операционной системы. С другой стороны, распределенные системы скрывают от пользователя гетерогенность и сложность аппаратуры, предоставляя удобный интерфейс работы. Функции распределенной системы можно сравнить с функциями операционной системы.

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

Вторая часть исследования была направлено на анализ особенностей технологии проектирования распределительных информационных систем, а именно технологии Веб-сервисов. Веб-сервисы – это архитектура, обеспечивающая новый уровень распределенности доступа к данным. С помощью веб-сервисов разрабатывают и приобретают компоненты для их встраивания в ИС.

Основой веб-сервисов являются технологии: TCP/IP, HTML и XML.

− TCP/IP – универсальный протокол передачи данных, понимаемый всеми сетевыми устройствами;

− HTML – универсальный язык гипертекстовой разметки

для отображения информации на устройствах пользователей;

− XML (Extensible Markup Language) – универсальный язык, поддерживающий работу с различными типами данных.

Было установлено, что веб-сервисы позволяют интегрировать приложения различной природы строить распределенные информационные системы.

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

Таким образом, можно сделать вывод, что цель курсовой работы достигнута, а поставленные во введении задачи решены.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Бабич В. Н. Инновационная модель бизнес-процесса: учебное пособие. – Екатеринбург: Изд-во Урал. ун-та, 2018. – 184 с.
  2. Брейер М. Автоматизация проектирования вычислительных систем. Языки, моделирование и базы данных. - М.: Мир, 2015. - 463 c.
  3. Вендров А. М. Практикум по проектированию программного обеспечения экономических информационных систем. - М.: Финансы и статистика, 2017. - 192 c.
  4. Головицына М.В. Проектирование радиоэлектронных средств на основе современных информационных технологий: Учебное пособие. - М.: Бином, 2016. - 503 c.
  5. Горев А. Эффективная работа с СУБД. - СПб.: Питер, 2014. – 219 с.
  6. Демина А.В. Распределенные системы : учебное пособие для студентов, обучающихся по направлению подготовки. – Саратов : Саратовский социально-экономический институт (филиал) РЭУ им. Г.В. Плеханова, 2018. – 108 с.
  7. Ипатова Э. Р. Методологии и технологии системного проектирования информационных систем. - М.: Флинта, 2016. - 256 c.
  8. Коваленко В.В. Проектирование информационных систем: Учебное пособие. - М.: Форум, 2018. - 976 c.
  9. Мартишин С.А. Проектирование и реализация баз данных в СУБД MySQL с использованием MySQL Workbench: Методы и средства проектирования информационных систем и техноло. - М.: Форум, 2018. - 61 c.
  10. Нетёсова О. Ю. Информационные системы и технологии в экономике: учебное пособие для вузов. — М.: Издательство Юрайт, 2019. — 178 с.
  11. Одинцов Б.Е. Информационные системы управления эффективностью бизнеса: Учебник и практикум для бакалавриата и магистратуры. - Люберцы: Юрайт, 2017. - 206 c.
  12. Перлова О.Н. Проектирование и разработка информационных систем: Учебник. - М.: Academia, 2017. - 416 c.
  13. Приходько Р.А. Анализ «управляемой поведением разработки» программного обеспечения // Информационные системы и технологии. - 2018. – № 4. – С. 75-79.
  14. Раскин Д. Интерфейс: новые направления в проектировании компьютерных систем. - М.: Символ-плюс, 2017. - 272 c.
  15. Фаулер М. Предметно-ориентированные языки программирования. – М.: Вильямс, 2017. –576 с.
  16. Цимбал А.А. Технологии создания распределенных систем. - СПб. : Питер, 2018. – 215 с.
  17. Основы методологии проектирования ИС [Электронный ресурс]. URL: http://www.citforum.ru/ ну database/case/glava1_1.shtml (дата обращения: 18.07.2020)
  18. Основы методологии проектирования ИС [Электронный ресурс]. URL: http://www.citforum.ru/ database/case/glava1_1.shtml. (дата обращения: 18.07.2020)