Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Распределённые информационные системы. Учебно-методическое пособие по дисциплине Сетевые технологии
.pdf
ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Ордена Трудового Красного Знамени федеральное государственное
бюджетное образовательное учреждение высшего образования
Московский технический университет связи и информатики
Кафедра информационных систем
Воронцов Ю.А.
Учебно-методическое пособие
РАСПРЕДЕЛЁННЫЕ
ИНФОРМАЦИОННЫЕ СИСТЕМЫ
по дисциплине
СЕТЕВЫЕ ТЕХНОЛОГИИ
Направление подготовки 09.03.03 «Прикладная информатика»
Профиль подготовки: Прикладная информатика в экономике
Квалификация выпускника: академический бакалавр
Виды деятельности: проектная
Москва 2016

2
План УМД на 2016/17 уч.г.
Учебно-методическое пособие
РАСПРЕДЕЛЁННЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ
по дисциплине
СЕТЕВЫЕ ТЕХНОЛОГИИ
Составитель Ю.А. Воронцов, д.т.н., профессор
Издание утверждено советом ФЭУ. Протокол № 6 от 20.02.2016 г.
Рецензент В.И.Ерёмичев, к.т.н., доцент

3
1. Основные определения
Информационная система — совокупность содержащейся в базах
данных информации и обеспечивающих ее обработку информационных
технологий и технических средств (Федеральный закон Российской Федерации oт 27 июля 2006 г. № 149-ФЗ).
Архитектура - 1. Формальное описание или подробный план си-
стемы на уровне компонентов для руководства в процессе ее создания.
2. Структура компонентов, их взаимосвязи, принципы и направления развития, определяющие их разработку и эволюцию.
Архитектура информационной системы – концепция, определяю-
щая модель, структуру, выполняемые функции и взаимосвязь компонентов информационной системы. Конструктивно архитектура обычно определяется как набор ответов на следующие вопросы: что делает система?
на какие части она разделяется? где эти части размещены? как эти части
взаимодействуют?
Архитектура информационной системы
Информационная модель информационной системы есть графиче-
ское представление её архитектуры – клиентских приложений, баз данных,
сетей передачи данных, комплекса технических средств, технологии решения задач пользователями.

4
Проектирование архитектуры
Распределенная информационная система состоит из совокупности взаимодействующих друг с другом программных компонент. Каждая из таких
компонент представляет собой программный модуль, исполняемый в
рамках отдельного процесса. Использование объектно-ориентированного
подхода при создании крупных информационных систем позволяет рассматривать компоненты информационной системы на различных уровнях
абстракции как объекты, каждый из которых обладал бы определенной
линией поведения. Взаимодействие таких объектов в большинстве слу-
чаев осуществляется на базе некоторой среды взаимодействия, основной
целью которой является реализация механизма обмена сообщениями в
контексте гетерогенных распределенных сред. Построение среды взаимодействия есть один из труднейших этапов разработки РИС. В качестве кандидатов, реализующих высокоуровневую среду взаимодействия, рассматриваются продукты CORBA, Microsoft DCOM, EJB, Web-сервисы XML на
базе ASP.NET.
Распределенная система (в узком смысле, с позиции КТС) – это
набор независимых компьютеров, представляющийся их пользователям
как единая система. Основной принцип - с точки зрения конечного пользователя, распределенная система должна выглядеть точно так же, как и
обычная нераспределенная система.
Распределенная информационная система (в узком смысле, с пози-
ции ПО) – это совокупность взаимодействующих друг с другом программных компонент. Каждая из таких компонент может рассматриваться как
программный модуль (приложение), исполняемый в рамках отдельного
процесса. Реализацию технологии взаимодействия обеспечивает семей-

5
ство взаимодействующих протоколов. Современные распределённые
информационные системы рассматриваются как распределенные системы программного обеспечения. Связь между процессами — суть
распределенных систем.
Иногда распределенной информационной системой называют такую распределённую систему, в которой функционирует более одного сервера БД.
Это применяется для уменьшения нагрузки на сервер и обеспечения работы территориально удаленных подразделений.
Типовые архитектуры информационных систем (c точки зрения
программно-аппаратной реализации) - Файл-серверная архитектура;
Клиент-серверная архитектура; Сервис - ориентированная архитектура;
Сетецентрическая архитектура; Облачная архитектура на основе Internet/Intranet; Архитектура P2P «клиент - клиент». Примеры – FTP, WWW,
Портал госуслуг, Skype.
Модели взаимодействия компонентов РС - обмен сообщениями
между компонентами (непосредственный обмен сообщениями и использование очередей сообщений); - вызов процедур или методов объекта
удаленной компоненты (удаленный вызов процедур (remote procedure
call, RPC); синхронный вызов; однонаправленный асинхронный вызов;
асинхронный вызов). В настоящий момент в Microsoft.NET Framework Class
Library присутствует поддержка четырех промежуточных сред для построения распределенных систем:
– Среда Microsoft Message Queuing (MSMQ) поддерживает обмен со-
общениями между программными компонентами на основе очередей.
– Среда Microsoft Enterprise Services основана на модели COM+, которая позволяет использовать удаленные объекты и распределенные
транзакции в локальной сети.
– Среда ASP .NET Web Services позволяет организовать удаленный
вызов на основе общепринятых стандартов интернет, базирующихся на
языке XML.
- Среда .NET Remoting была разработана как универсальная проме-
жуточная среда для использования удаленных объектов.
Web-service (Веб-служба, веб-сервис) — это удаленная бизнесфункция, к которой можно обратиться через Web IE, передав некоторый
набор входных параметров и получив в ответ выходные значения. Создаётся на основе веб-стандартов. Консорциум W3C определяет веб-сервис,
как "программную систему, разработанную для поддержки интероперабельного межкомпьютерного (machine-to-machine) взаимодействия через
сеть». Web-сервисы рассматриваются как эффективный инструмент для
интеграции приложений, в том числе для взаимодействия процессов, выполняемых в различных компаниях. По сути, веб-сервисы — это реализа-
ция абсолютно четких интерфейсов обмена данными между различ-

6
ными приложениями, которые написаны не только на разных языках,
но и распределены на разных узлах сети.
Архитектуры Web-сервисов основаны в настоящее время на трех
компонентах: запрашивающем службу клиенте, поставщике служб и реестре служб, что весьма близко к модели "клиент/сервер" с явно выделенной службой именования (регистрации). Основные компоненты сетевых служб: способ взаимодействия приложений (протокол SOAP доступа к
поставщикам сервиса, используемый поверх HTTP), язык описания сервиса
(WSDL, предназначенный для унифицированного описания программных
интерфейсов веб-службы: где находится, как вызвать) и сервер именования (UDDI, представляющий собой сетевой реестр (службу каталогов для
регистрации и поиска сервисов), представляющий данные и метаданные о
веб-сервисах).
Стек протоколов web-сервисов
Технологический фундамент веб-сервисов образуется следующими технологиями:
eXtensible Markup Language (XML);
Simple Object Access Protocol (SOAP);
Universal Description, Discovery and Integration (UDDI);
Web Services Description Language (WSDL).
В основе Web-сервисов лежат несколько простых принципов. Возможные для вызова команды описываются на языке WSDL(XML файл); непосредственная активизация команд происходит в виде посылки SOAPсообщений (XML файл) по адресу, где располагается Web-служба (используется стандартный протокол HTTP); для поиска Web-служб существуют
глобальные или локальные (внутренние) каталоги, поддерживающие
стандартные службы обнаружения UDDI. Все современные инструменты
разработки ведущих производителей поддерживают создание Web-служб,
а программные платформы (будь то серверные операционные системы
или серверы приложений) обеспечивают выполнение Web-служб.

7
В Web-службах везде используется язык XML. Он служит, в частности,
для описания сообщений, которыми могут обмениваться Web-службы и их
потребители. SOAP-сообщение — это XML-документ, состоящий из трех
базовых элементов: <Envelope>, <Header> и <Body>. Язык WSDL базируется
на языке XML и позволяет создавать XML-документы, описывающие методы Web-служб, параметры методов, способы их вызова и т.п. Для того чтобы воспользоваться специализированными Web-службами в рамках механизмов обнаружения UDDI, следует составить SOAP-сообщения и интерпретировать возвращаемые XML-документы.
Различные компании по-разному обеспечивают поддержку стандартов
в своих продуктах, средствах разработки и программных платформах.
Например, компания Microsoft выпускает бесплатные программные компоненты под названием Web Services Enhancements, которые доступны
для загрузки с Web-сайта компании, расположенного
http://msdn.microsoft.com/webservices/downloads/default.aspx.
2. Практическая реализация Web-сервисов
Постановка задачи (пример): Практически реализовать на ПЭВМ SOAP
Web-сервис, работающий по следующему сценарию. Центральный офис
последовательно отсылает через интернет SOAP-запрос к веб-сервисам,
установленным в офисах компаний-заказчиков, для получения аналитических данных. Каждый веб-сервис заказчика согласно полученному SOAPзапросу формирует SQL-запрос к заданной Базе Данных, находящейся с
ним в одной ЛВС, обрабатывает полученные в результате SQL-запроса
данные и формирует SOAP-ответ, который возвращается через интернет в
БД центрального офиса. На основании ответов в центральном офисе спе-
циалистами формируется аналитический (например, маркетинговый) отчёт
о работе компании-заказчика.
Структура отчёта по практической реализации Web-сервисов
Введение
1. Разрабатываем проект информационной системы
1.1. Постановка задачи
1.2. Задание
1.3. Информационная модель ИС
2. Реализуем структуру информационной системы
2.1. Устанавливаем VM WARE , серверы, СУБД и базы
2.2. Соединяем центр и филиалы виртуальной ЛВС
3. Устанавливаем серверы управления БД
SQL,
mySQL,
Access

8
4. Разрабатываем сетевую модель сервисов
5. Web программирование клиента, поставщика и сервера SOAP
5.1. SOAP клиент-потребитель услуг
5.2. SOAP- сервер-поставщик услуги
5.3. SOAP- сервер web-услуги
Приложение
1. Листинги программ
2. Основные скриншоты
Список использованной литературы
Перечень задач с использованием Web-сервисов
1. Web–портал госуслуг (авторизация, заказ услуги, получение услуги);
2. Web–служба для вывода котировки акций;
3. Web–служба для вывода цены на определенный продукт;
4. Web–служба для сохранения записи в календаре встреч;
5. Web–служба для проверки номера кредитной карточки;
6. Web–служба для доступа к БД;
7. Web–служба для вывода из БД всех покупателей магазина;
8. Web–служба для проверки имени пользователя и пароля;
9. Web–служба для использования какого-либо метода оптимизации;
10. Web–служба для маркетинга;
11. Web–службы для добавления в базу данных заявок на перевозку груза
и предложений транспорта. В виде Web-службы также реализован доступ
к транспортным новостям сайта, тематика которых охватывает вce виды
перевозок и сопутствующие области — таможню, страхование и т.д.
(http://www.perevozki.ru/);
12. Web-службы для получения оперативной информации об актуальном
расписании, прилете/вылете самолетов, состоянии рейсов. Сервис
«Справка о рейсе/Табло аэропорта» предоставляет набор функций
( http://webservices.aeroflot.ru/);
13. Web–служба для извлечения информации из поисковой системы
Google (http://www. google.com/apis).
Пример. Задача создания WEB-сервиса сети бензозаправок. Имеется
центральный офис и несколько автозаправочных станций. Цены на топливо устанавливает маркетинговый отдел центрального офиса сети АЗС.
Каждый филиал (АЗС) в начале рабочей смены обращается к сайту центрального офиса, получает информацию по ценам на бензин на текущий
день и устанавливает эту цену на бензоколонках. WEB-сервис также
предоставляет доступ всем желающим (потенциальным клиентам) к ценам на бензин. Цены на бензин хранятся в БД на SQL сервере, установленном в центральном офисе. Доступ к серверу извне на изменение данных
заблокирован для безопасности. Изменением цен занимаются менеджеры

9
маркетингового отдела (через web страницу доступа к базе на SQL серве-
XML
SOAP запрос
XML
SOAP ответ
HTML
Http запрос
HTML
Http ответ
SOAP Server
11111111111111111111111111111
SOAPSOAP
Сборка / разборка
SOAP конвертов
ре). На сайте должен быть выпадающий список всех имеющихся типов
топлива, который будет подгружаться каждый раз, когда пользователи заходят на сайт. Это необходимо для возможности добавления новых и удаления старых типов топлива. Также после выполнения запроса цены пользователю должно выдаваться сообщение с благодарностью за интерес к
компании. Необходимо также учесть, что пользователь может сделать несколько запросов цены на разные типы топлива без обновления страницы.
Модель распределенной системы программного обеспечения WEBсервиса доступа к ценам на топливо сети автозаправок - SOAP клиент,
SOAP поставщик сервиса, SOAP сервер.

10
Архитектура информационной системы доступа к ценам
SQL сервер 2005
Приложение Web-Сервис.asmx
Служба IIS Web-форма.aspx
Браузер Internet Explorer
ЛВС
Виртуальная машина 1
Виртуальная машина 2
БД
SOAP,HTTP POST
HTTP
Http://localhost/WebServiceBD/WebForm1.aspx
SOAP,HTTP GET
SOAP
SOAP запрос
на топливо сети автозаправок
SqlConnection MyConnection = new SqlConnection ("Serv-
er=192.168.192.22;database=price;uid=sa1;pwd=Evg120120");
SqlDataAdapter myData = new SqlDataAdapter("CustOrdersOrdersDetails",
MyConnection);
SOAP ответ
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
