Электронный научный журнал «Век качества» ISSN 2500-1841 http ://www .agequal.ru 2016, № 2 http://www.agequal.ru/pdf/2016/AGE QUALITY 2 2016.pdf Ссылка для цитирования этой статьи:
Воронцов Ю.А., Козинец А.В. Пример построения распределенной информационной системы на AJAX с использованием PHP и IIS (Internet Information Services) // Электронный научный журнал «Век качества». 2016. №2. С. 66-87. Режим доступа: http://www.agequal.ru/pdf/2016/216005.pdf (доступ свободный). Загл. с экрана. Яз. рус., англ.
Пример построения распределенной информационной системы на AJAX с использованием PHP и IIS (Internet Information Services)
Воронцов Юрий Алексеевич
заведующий кафедрой информационных систем, профессор, доктор технических наук, Московский технический университет связи и информатики 125993, Москва, ул. Народного Ополчения, 32, каб.409а
yvorontsov. 1943@mail. ru Козинец Артур Валерьевич заведующий лабораториями кафедры информационных систем Московский технический университет связи и информатики 125993, Москва, ул. Народного Ополчения, 32, каб.407
kozinets@mtuci2. ru
В статье рассматривается пример построения распределенной информационной системы (РИС) с использованием подхода AJAX. В качестве средств реализации используются скриптовый язык PHP и веб-сервер IIS (Internet Information Services), входящий в состав серверных операционных систем семейства Windows. При построении инфраструктуры информационной системы применены средства виртуализации VMware.
УДК 004.7
Аннотация
Ключевые слова: распределенные информационные системы; веб-сервисы; веб-службы; PHP; Internet Information Services.
Распределенная информационная система в узком смысле, с позиции программного обеспечения (ПО) - это совокупность взаимодействующих друг с другом программных компонент. Каждая из таких компонент может рассматриваться как программный модуль (приложение), исполняемый в рамках отдельного процесса [1]. Реализацию технологии взаимодействия обеспечивает семейство взаимодействующих протоколов. Современные распределённые информационные системы рассматриваются как распределенные системы программного обеспечения. Связь между цепочкой взаимодействующих процессов — суть распределенных систем.
Иногда распределенной информационной системой называют такую распределённую систему, в которой функционирует более одного сервера БД. Однако в рамках нашей статьи мы рассмотрим только простейший вариант.
В рамках статьи будет рассмотрено решение следующей задачи. Таблица бензин-цена (HTML страница) находится н веб-сервере. Администратор бензоколонки ежедневно обновляет её вручную - меняет цену бензина, заходя по ip адресу через браузер на HTML страницу (адрес известен администратору). Администратор в интерактивном режиме меняет только значение цены -бензин-цена, через браузер и результат изменений возвращает на сервер. Таблица целиком не копируется, копируются только изменения.
Клиент работает только в режиме чтения таблицы бензин-цена (HTML страница размещается на сервере).
Концептуальная модель статического и интерактивного сервиса распределенной информационной системы представлена на рисунке 1.
^Браузер-^
Клиент 1]_
WS2
Схема обозначений
HTML страница | | Скрипт на клиенте | | Скрипт на сервере |
Рис. 1. Концептуальная модель. Разработано автором.
Прикладная архитектура информационной системы представлена на рисунке 2. Система состоит из двух компонентов: браузера, размещающегося на рабочих станциях и веб-сервера, размещающегося на сервере.
Рис. 2. Прикладная архитектура решения. Разработано автором. Реализация инфраструктуры ИС.
Рассмотрим построение виртуальной инфраструктуры, которая по своему составу будет повторять состав ИС, описанный выше в постановке задачи. Системная архитектура решения представлена на рисунке 3.
Виртуальная рабочая станция ws2
Рис. 3. Системная архитектура решения. Разработано автором.
Виртуализация — процесс представления набора вычислительных ресурсов, или их логического объединения, который даёт какие-либо преимущества перед оригинальной конфигурацией. Обычно виртуализированные ресурсы включают в себя вычислительные мощности и хранилище данных. Практически это выглядит следующим образом. Сначала на физический сервер устанавливается специальная операционная система, которая называется гипервизором. Затем "поверх" гипервизора устанавливается одна или несколько гостевых операционных систем, в каждой из которых может быть развернуто свое приложение.
С точки зрения гостевой операционной системы сервер с гипервизором выглядит как сервер, который состоит из "виртуальных" стандартизованных
серверных компонентов (процессоры, память, контроллеры дисковой подсистемы, жесткие диски и так далее), хотя "реальные" компоненты физического сервера могут быть какими угодно. Совокупность таких "виртуализированных" серверных компонентов, гостевой операционной системы и приложения называется виртуальной машиной(VM). На одном физическом сервере может быть размещено несколько виртуальных машин.
Рис. 4. Архитектура виртуализированных вычислительных ресурсов. [2]
Таким образом, гипервизор изолирует гостевые операционные системы от аппаратного обеспечения и обеспечивает разделение ресурсов физического сервера между виртуальными машинами.
Виртуализация сервера с использованием VMware Workstation.
Для виртуализации сервера воспользуемся программным обеспечением компании VMware, доминирующей на рынке продуктов виртуализации серверов и рабочих станций. Дистрибутив VMware Workstation поставляется в виде одного исполняемого файла: VMware_Workstation.exe. После запуска исполняемого файла на экране появляется окно, показывающее процесс подготовки к установке программы. Выбираем установку стандартного пакета VMware. В будущем всегда можно будет добавить компоненты, которые не
входят в стандартный пакет. Для начала установки нажимаем кнопку «Install», откроется окно, показывающее процесс установки.
VMware Workstation Setup
TT
Welcome to the installation wizard for VMware Workstation
The installation wizard will install VMware Workstation on your computer. To continue, dick Next.
WARNING: This program is protected by copyright law and international treaties.
vmware Workstation
Next > Cancel
VMware Workstation Setup VMware Workstation Setup
Performing the Requested Operations о Setup Wizard Complete
Please wait while the wizard performs the requested operation. This may take several minutes. The setup wizard has successfully completed its operations related to VMware Workstation. Click Finish to exit the wizard.
Status: Installing packages on the system Preparing list of required operations
vmware
Workstation
< Back | [ Next > ] [ Cancel Finish
Рис. 5. Установка Vmware [3]
При первом запуске программы будет предложено создать новую виртуальную машину. После выбора этого варианта откроется окно мастера создания виртуальных машин, который поможет быстро и просто создать и настроить виртуальную машину.
Гостевая операционная система на виртуальную машину ставится практически так же, как и на обыкновенную ЭВМ. Установка операционной системы начнется автоматически после завершения создания виртуальной машины, и через несколько секунд на экране откроется окно с мастером установки Windows Server 2003. Согласившись на установку операционной
системы, попадаем в меню менеджера дисков, выбираем нужный нам вариант и ждем, пока закончится процесс форматирования. Происходит копирование файлов и компьютер перезагружается.
Мастер создания новой виртуальной машины
Мастер
vmware Workstation
Вас приветствует мастер создания виртуальной машины
Какой тип конфигурации нужно создать?
Ш Обычный (рекомендуется) Создание виртуальной машины Workstation 10.0 за несколько шагов,
О Выборочный (дополнительно)
Создание виртуальной машины с дополнительными параметрами, такими как тип контроллера SCSI, тип виртуального диска и совместимость со старыми продуктами VMware.
Мастер
создания новой виртуальной машины
Все готово для создания виртуальной машины
Нажмите кнопку Готово, чтобы создать виртуальную машину. Затем можно начать установку Windows Server 2003 Enterprise Edition.
Виртуальная машина будет создана со следующими параметрами:
|имя: Windows Server 2003 *
Расположение: D:\VM
Версия: Workstation 10.0
Операционная.., Windows Server 2003 Enterprise Edition E
Жесткий диск: 40 GB, Разделить
Память: 384 МБ
Сетевой адапт... NAT
Другие устрой... CD/DVD, USB-контроллер, Принтер, Звуковая карта
Настройка оборудования...
I < Назад I I Готово | | Отмена
Рис. 6. Установка новой виртуальной машины [3]
Начинается процесс установки.
Server HUSH, Enterprise Edition
рогрлннл устлнапкк Пйдготлплнплет nicrnxnlt Uli .йпипн поппьишре.
ристчпмть к установке Uindous, намните <ВВОД>. овлвмня. намните <В>.
ыи I и hi п рш рапны, не ¡ici лиавлнван Windows,
Ус I аниона Hindoo! Server 2003, Enterprise Editiuii
¡Остановил Uindous Server 2003, Enterprise Edition
* Чти ftN УСТАНОВИТЬ Uindnux п пыдглвннпм рпцглг, нпжннт* (ItllflJl).
* Чтосн создать раздел а нврдзначенной области диска, на«ннте <с>.
* Чтили УЛАДИТЬ выделенный рлчцг*, илкнитг <».
Нпдпкднте, ппкп прпгрлмнл лг.тпнппнн ллплринт «ппнрпплнне «пнлпп п плпгн лг.тпнппнн Vinson*. Или этого иожет потребоваться несколько иннут.
Ilporpaiwia установки колирует оайли:
Рис. 7. Процесс форматирования диска [4]
*£ Windows
0 Сбор ^ Семейство Windows Server 2003 обеспечивает наиболее
^ обмоемте 0 дагг производительную инфраструктуру для поддержки сетей, приложений и веб-еггужб
^ у-:та«сео1 I ^ 1
Гстшн» 6уМЯ1
ЭТИМ, ЛР
■
Рис. 8. Установка ОС [4]
Виртуализация рабочих станций.
Виртуализация рабочих станций выполняется аналогично виртуализации сервера.
Соединение и настройка соединения рабочих станций.
Заходим в Панель управления -> Сетевые подключения.
Щелкаем по подключению к локальной сети правой кнопкой мыши и кликаем на "Свойства". Выбираем "Протокол интернета (TCP/IP)" и щелкаем на "Свойства".
Указываем IP-адрес. Можно указывать любой из диапазона 192.168.ххх.ххх. Главное, чтобы на двух компьютерах они не повторялись. То есть, если на одной 192.168.1.48, то на другой 192.168.1.68.
. Подключение по локальной сети - свойства
Общие j Проверка подлинности | Дополнительно] Подключение через:
Intel(R) PR0/1000 МТ сетевое под
Настроить...
Компоненты, используемые этим подключением:
ЙЦ Клиент для сетей Microsoft □ ^Балансировка нагрузки сети 0 ¿Ц Служба доступа к Файлам и принтерам сетей Micro... И 1
Протокол Интернета (TCP/IP)
Установить...
Удалить
Свойства
Описание-
Протокол ТСР/1Р - стандартный протокол глобальных сетей, обеспечивающий связь между различными взаимодействующими сетями.
При подключении вывести значок в области уведомлений Уведомлять при ограниченном или отсутствующем
подключении
□К
Отмена
войства: Протокол Интернета (TCP/IP)
^JxJ
Общие J
Параметры 1Р могут назначаться автоматически, если сеть поддерживает эту возможность. В противном случае параметры 1Р можно получить у сетевого администратора.
С" Получить 1Р-адрес автоматически (* Использовать следующий 1Р-адрес: — 1Р-адрес: | 192 . 168 . 1 .48
Маска подсети: | 255 . 255 . 255 . О
Основной шлюз: | \ !
С Получить адрес DWS-сервера автоматически (* Использовать следующие адреса DNS-серверов:
Предпочитаемый DNS-сервер: | 8 Г"8 Г~8 ! 8~~ Альтернативный DNS-сервер: |
Дополнительно.
Рис. 9. Настройка сети. Разработано автором.
Далее необходимо чтобы оба компьютера были в одной Рабочей группе. Для настройки рабочей группы надо щелкнуть на Моем компьютере правой кнопкой и перейти в "Свойства":
Нажимаем "Изменить" на вкладке Имя компьютера и вводим название рабочей группы.
Два компьютера в сети должны иметь одно и то же название Рабочей группы.
На этой же вкладке можно указать название компьютера в сети.
Рис. 10. Настройка рабочей группы. Разработано автором.
Чтобы проверить, действительно ли два компьютера теперь находятся в одной ЛВС, нужно запустить Командную строку и ввести команду ping, с указанием ip-адреса другого компьютера в сети. Например, ping 192.168.1.48, или ping 192.168.1.68.
Рис. 11. Проверка отправки IP-пакетов. Разработано автором.
Все IP-пакеты достигли машины с указанным адресом и вернулись обратно.
Установка WEB-сервера
Для создания Web-сервиса [1] нужно будет установить на компьютер SRV1 локальный Web сервер. Для начала серверу необходимо добавить роль Web-сервера. В Windows Server 2008 эта роль называется Internet Information Services или IIS. Для добавления заходим в «Пуск» — «Администрирование» — «Диспетчер сервера». Раскрываем вкладку «Роли» и нажимаем «Добавить роли».
Рис. 12. Меню ролей [5]
Запустится «Мастер добавления ролей», нажимаем «Далее» и в списке выбираем «Веб-сервер (IIS)».
Рис. 13. Добавление роли IIS [5]
Нажимаем 2 раза «Далее» и попадаем на страницу выбора служб ролей. Помимо уже отмеченных служб, отмечаем «ASP.NET», «Расширяемость .NET», «CGL», «Расширения ISAPI», «Фильтры ISAPI», нажимаем «Далее» и «Установить».
Рис. 14. Атрибуты роли IIS [5]
После завершения установки в Ролях появилась вкладка «Веб-сервер (IIS)», в которой содержится «Диспетчер служб IIS» (Также он доступен через «Пуск» — «Администрирование» — «Диспетчер служб IIS»)
Рис. 15. Результаты установики IIS [5]
В диспетчере мы видим наш сервер, и вкладку «сайты», по умолчанию содержащую «Default Web Site». Этот сайт состоит из приветственной страницы IIS. Мы можем просмотреть ее открыв Internet Explorer и в строке адрес введя http://localhost
Рис. 16. Вид сайта по умолчанию в IIS [5]
Можно сразу удалить эту страницу, кликнув в «Диспетчере служб IIS» по ней правой кнопкой и выбрав «Удалить».
Рис. 17. Удаление сайта по умолчанию в IIS [5]
Разработка HTML страницы для клиента.
Создать HTML-страницу можно в обычном блокноте (Пуск > Все программы > Стандартные > Блокнот > Создать новый файл > Сохранить с расширением файла .php).
HTML-документ должен заключаться в теги <html> и </html>. Они обозначают границы документа. HTML-документ делится на две части: голову документа <head> и тело <body>. Для них также обязательны закрывающие теги: </head> и </body> соответственно. Тег <head> записывается сразу после тега <html> и в нем заключена информация о названии страницы, мета-теги, и т.д. Сразу за </head> следует тег <body>, в котором будет само содержание сайта и страницы: текст и таблицы.
Сама таблица в HTML создаётся тегами <TABLE> и </TABLE> (помещаются между тегами <body> и </body>), строки таблицы (помещаются между тегами <TABLE> и </TABLE>) тегами <TR> и </TR>, а столбцы таблицы (помещаются между тегами <TR> и </TR>) тегами <TD> и </TD>. Создадим таблицу, состоящую из двух строк и двух столбцов. HTML-код будет выглядеть так:
<html> <head> </head> <body> <table> -<tr> -
<td^eH3MH</td> -<td>^Ha</td> -</tr> - конец строки <tr> -
^>АИ-95<^> -<td>37.60</td> -</tr> -
</table> - конец таблицы
</body>
</html>
начало
начало начало
конец
первый второй
первый второй
таблицы строки столбец столбец
строки столбец столбец строки
Открыв страницу Default.php, увидим следующее:
Бензин Цена АИ-95 37.60
Если есть другие типы горючего то повторяем строки. По умолчанию, таблица в браузерах представляется без рамки. Чтобы рамка таблицы была видна, используется атрибут «border»:
<html>
<head> </head> <body>
<table border="1">
<tr>
<td>Бензин</td> <td>Цена</td>
</tr>
<tr>
<td>АИ-95</td> <td>37.60</td>
</tr>
</table>
</body>
</html>
Проверим набранный код на ошибки и сохраним в папке C:\inetpub\wwwroot в файл с именем Бе£аик.рЬр. Только сделаем при этом две важные вещи.
1. Сохраним HTML-код в кодировке UTF-8. Для этого в диалоговом окне сохранения файла Блокнота найдем раскрывающийся список Кодировка и выберем в нем пунктЦТЕ-8.
2. Заключим имя файла в кавычки. Иначе Блокнот добавит к нему расширение txt, и наш файл получит имя Default.php.txt.
Теперь осталось открыть Default.php в Web-обозревателе и посмотреть на результат. В браузере клиента набираем ip адрес сервера 192.168.0.1 с
указанием требуемой страницы default.php. Должны увидеть актуальную таблицу с марками топлива и их ценами.
Разработка HTML страницы для администратора
Разрабатываем интерактивную страницу для ежедневной актуализации в
блокноте и помещаем C:\inetpub\wwwroot\admin. Пример:
<!doctype html> <html>
<head> <title>123 </title>
<sc ri pt type="text/j avasc ri pt"
s rc="http://yandex.st/jque ry/1.6.0/jque ry.min.js"></scri pt> <script
s rc="http://aj ax.googleapi s.com/aj ax/li bs/jque ry/1/jque ry.min.js"> </script>
<meta charset="utf-8"> <style> .filterInput{ margin: 0; padding: 0; width: 50%; margin-left:10px; border: 0px;
}
.btn {margin-left:630px; margin-top:20px;}
</style> </head> <body>
<?php
$texttest= $_POST['texttest']; //получаем значение ячейки $file = fopen("primer.txt", "w"); //открытие нового файла пример тхт для записи
$file2 = fopen("primer.txt", "r"); $text = $texttest;
$con = fwrite ($file, $text); //производится запись в файл параметра цена бензина
$val = fgets($file2); //получение данных из файла fclose($file); //закрытие файла
$texttest1= $_POST['texttestl']; $file1 = fopen("pn'mer2.txt", "w"); $file3 = fopen("primer2.txt", "r"); $text1 = $texttest1; $con1 = fwrite ($file1, $text1); $val1 = fgets($file3);
fclose($file3); ?>
<form name="test" method="post" action="">
<table border="1px" id="editable" style="width:300px;" align="center"> <tr>
<td>Бензин</td> <td>Цена</td>
</tr> <tr>
^>АИ-95<^>
<td> <input type="text" name="texttest"
class="filterinput" value="<?echo $val; ?>"></td> </tr> <tr>
<td>АИ-98</td>
<td> <input type="text" name="texttest1"
class="filterinput" value="<?echo $val1; ?>"></td> </tr> </table>
<input type="submit" name="tests" class="btn" value="Сохранить" >
</form> </body> </html>
Проверка работоспособности
В 121
Тестирование работоспособности информационной системы. Клиент - адрес набора - скрин
V_
С D 192.168.200.154/Default.php
|Бензнн J Цена
АИ-95 ] 47.577В8ВВВ
АИ-98 ] 54.47В8
Администратор - адрес набора - скрин
Список литературы
1. Воронцов Ю.А., Козинец А.В. Стандарты веб-сервисов для создания распределенных информационных систем / Ю.А.Воронцов, А.В.Козинец, // Век качества. 2015. №3. С. ...
2. Введение в виртуализацию [Электронный ресурс]. - Режим доступа: http://www.team.ru/virt_intro.php (дата обращения 19.10.16г.).
3. Установка VMware Tools на различные типы ОС [Электронный ресурс]. - Режим доступа: http://www.it-grad.ru/articles/ustanovka-vmware-tools/ustanovka-vmware-tools-na-razlichnye-tipy-os/ (дата обращения 19.10.16г.).
4. Установка Windows Server в картинках [Электронный ресурс]. -Режим доступа: http://win-server.ru/p/11 (дата обращения 19.10.16г.).
5. Установка веб-сервера в Windows Server [Электронный ресурс]. -Режим доступа: http://tavalik.ru/hosting-na-svoyem-servere/ (дата обращения 19.10.16г.).
6. Architecture of user applications for network with mobile nodes / Vorontsov Y.A., Farkhadov M.P., Blinova O.V., Abramenkov A.N. // 18-я международная конференция «Распределенные компьютерные и коммуникационные сети: управление, вычисление, связь» (DCCN-2015). С 460-465.
An example of the construction of a distributed information system for AJAX using PHP and IIS (Internet Information Services)
Vorontsov Yuri Alexeevich
Head of the Department of information systems, Professor, Doctor of technics, Moscow Technical University of Communications and Informatics #32, Narodnogo Opolcheniya street, Moscow, 123993, Russain Federation
[email protected] Kozinets Arthur Valerievich Head of laboratories of the Department of information systems Moscow Technical University of Communications and Informatics #32, Narodnogo Opolcheniya street, Moscow, 123993, Russain Federation
kozinets@mtuci2. ru
Abstract. The article describes an example of building of a distributed information system (RIS) with AJAX approach. As the implementation uses the scripting language PHP and the web server IIS (Internet Information Services) included with server operating systems family of Windows. In constructing the infrastructure of information systems applied virtualization VMware.
Key words: distributed information systems; web services; PHP; Internet Information Services.
1. Vorontsov Yu.A., Kozinets A.V. Standarty veb-servisov dlya sozdaniya raspredelennykh informatsionnykh sistem / Yu.A.Vorontsov, A.V.Kozinets, // Vekkachestva. 2015. №3. S. ...
2. Vvedenie v virtualizatsiyu [Elektronnyy resurs]. - Rezhim dostupa: http://www.team.ru/virt_intro.php (data obrashcheniya 19.10.16g.).
REFERENCES
3. Ustanovka VMware Tools na razlichnye tipy OS [Elektronnyy resurs]. -Rezhim dostupa: http://www.it-grad.ru/articles/ustanovka-vmware-tools/ustanovka-vmware-tools-na-razlichnye-tipy-os/ (data obrashcheniya 19.10.16g.).
4. Ustanovka Windows Server v kartinkakh [Elektronnyy resurs]. - Rezhim dostupa: http://win-server.ru/p/11 (data obrashcheniya 19.10.16g.).
5. Ustanovka veb-servera v Windows Server [Elektronnyy resurs]. - Rezhim dostupa: http://tavalik.ru/hosting-na-svoyem-servere/ (data obrashcheniya 19.10.16g.).
6. Architecture of user applications for network with mobile nodes / Vorontsov Y.A., Farkhadov M.P., Blinova O.V., Abramenkov A.N. // 18-ya mezhdunarodnaya konferentsiya «Raspredelennye komp'yuternye i kommunikatsionnye seti: upravlenie, vychislenie, svyaz'» (DCCN-2015). S
460-465.