Информационные технологии в бизнес-тренинге автоматизированного управления гостиницей

В основу системы управления гостиницей положен интернет-проект модели мотеля под управлением операционной системы Microsoft Windows 7. Архитектурно интернет-проект включает серверную, на базе  IIS 7.5 (Internet Information Services - набор серверов для нескольких служб Интернета),  и клиентскую, на базе ASP.NET (Active Server Pages - технология создания веб-приложений и веб-сервисов), части.

·        Сервер IIS

В основе IIS лежит веб-сервер, включающий более 40 компонентов, которые можно объединять в компактные модули, оптимизированные для необходимой роли в топологии приложения. Компоненты позволяют разработчикам расширять или замещать практически любую функцию сервера в машинном коде или с помощью Microsoft® .NET Framework.

.NET Framework — программная платформа, основой которой  является общеязыковая среда исполнения Common Language Runtime (CLR), для разных языков программирования, например, Visual Basic и C#.NET. Функциональные возможности CLR доступны в любых языках программирования, использующих эту среду.

Рис.1 Компоненты IIS на сервере кафедры математики и информатики РМАТ

 

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

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

Рис.2 Модель мотеля «Пустошка» (Пустошка13) на сервере кафедры математики и информатики РМАТ в режиме просмотра Диспетчера служб IIS

 

         Функциональные возможности CLR используются с помощью Net.Framework.  Особенность использования в том, что только одна версия NET Framework может быть загружена в пул приложений. Пул приложений является группой нескольких URL-адресов, используемых рабочим процессом или набором рабочих процессов. Пулы приложений задают границы для содержащихся в них приложений. Это означает, что любое приложение, работающее вне определенного пула приложений, не может повлиять на приложения в этом пуле. Пулы приложения сервера кафедры математики и информатики РМАТ показаны на рис. 3

Рис.3 Пулы приложений кафедры математики и информатики РМАТ

Приложения в одном пуле должны использовать одну и ту же версию NET Framework, иначе соответствующие рабочие процессы не будут работать.

Рис.4 Изменение версии Net.Framework в Диспетчере служб IIS

Изменение версии Net.Framework в Диспетчере служб IIS показано на рис.4. Модель мотеля по состоянию на ноябрь 2014 года использует версию 4.0.3031.

·        ASP.NET

Модель мотеля базируется на СУБД (системе управления базами данных) Access 2007 пакета Microsoft Office для 64-разрядных машин. Преимущества от использования 64-разрядной версии вызвано отсутствием ограничения на размер файла. Размер базы ограничен только доступной памятью и системными ресурсами сервера. В то время как 32-разрядная версия ограничена 2 Гигабайтами виртуального адресного пространства.

Для 64 разрядной машины надо установить специально разработанный драйвер AccessDatabaseEngine_x64.exe (скачать). Установка драйвера имеет особенности: перед установкой следует удалить 32-хразрядные Office и FrontPage. Драйвер установится и будет работать даже без Access.

Поддержка 32 в пуле IIS.jpg

Рис.5 Включение поддержки 32-разрядных приложений в пуле IIS

Для сохранения работоспособности 32-хразрядных приложений необходимо включить серверную поддержку во всех пулах дополнительных свойств IIS – рис.5.

Внимание.
Иногда ПУЛ может зависать, тогда требуется перезагрузка пула на сервере - рис.5а

Рис.5а Перезагрузка пула с использованием серверной платформы PLESK

 

Ошибки установки

После загрузки в IIS проекта при попытке открыть сайт в браузере выдается сообщение:
 Обработчик "PageHandlerFactory-Integrated" содержит поврежденный модуль "ManagedPipelineHandler"
Проблема решается переустановкой ASP. Net - запуском от имени администратора aspnet_regiis.exe -i
в папке Windows\Microsoft.NET\Framework64\v4.0.30319>
Рис.6. Запуск переустановки ASPNET

Доступ к данным комбинированный: непосредственно в среде Access с помощью запросов SQL (пример показан на рис.7) и на языке C#.NET с помощью активных серверных WEB-страниц (ASP active server page).

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

Для справочной информации в модели используются статические WEB-страницы - гипертекстовые файлы. Файл содержит код на языках HTML, JavaScript  структурированный, как показано на рис.8

Принципиальное отличие активной серверной страницы от статической – в указании до тега <html> тегов выбора языка программирования (C# -  латиница!) и рабочего пространства Namespace в оперативной памяти компьютера:

<%@ Page Language="C#" Debug="true" %>
 <%@ Import Namespace="System.Data" %>

Доступ к рабочему пространству реализуется с помощью серверных элементов управления (контролов), которые обозначаются тегами <asp: ЭлементУправления ПараметрыСвойствЭлементаУправления> </asp: ЭлементУправления >. Например, свойства контрола DataGrid (табличное представление данных) описываются так:

<asp:DataGrid id="dgAuctionItem" width="100%"
autogeneratecolumns="true"
 backColor="#FFFFCC" BorderColor="#003366" ShowFooter="False"
 CellPadding=3 CellSpacing=0 runat="server">
 </asp:DataGrid>

 

<!-- статическая страница-->
<html>
<!--зона информации-->
<!--заголовочная зона-->
<head>
<!--теги локализации-->
<meta http-equiv="Content-Language" content="ru">
< meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<!--Заголовок страницы-->
<title>О нас</title>
</head>
<!--зона гипертекста (содержание страницы)-->
<body>
О НАС
</body>
<!--зона управления-->      
<script>
alert("(C) Я, ЛЮБИМЫЙ");
< /script>
</html>

Рис.8 Структура статической страницы  WEB

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

<script runat="server">  
void Page_Load(object sender, EventArgs e)
     {//КодСобытия
}
</script>

Современная практика программирования серверных страниц предусматривает раздельное размещение  кодов HTML и обработки событий серверных элементов. Код события может быть очень сложным и для удобства отладки хранится в отдельной папке на сервере. На общую скорость работы приложения подобное разделение влияния практически не оказывает. На рис.9 показаны файлы серверных страниц (*.aspx) и кодов событий серверных элементов (*.aspx.cs) в редакторе MS Visual Studio 10.      

Рис.9. Код события, которое будет происходить при загрузке серверной страницы, в отдельном файле редактора MS Visual Studio 10.

         Отметим, что интернет-проект модели мотеля разработан и структурирован в среде редактора MS Visual Studio 10, что гарантирует высокую надежность модели. Структура рабочего пространства модели на сервере кафедры информатики и математики показана на рис.10.

Рис.10 Файловая структура модели мотеля Пустошка на сервере кафедры математики и информатики РМАТ

Сетевое взаимодействие компьютеров и интернет-проектов (приложений) организуется с помощью протокола передачи данных TCP/IP (Transmission Control Protocol/Internet Protocol) по URL(Uniform Resource Locator)-адресам клиентских компьютеров и серверов и портам приложений на серверах. Каждый сервер может поддерживать множество сайтов, каждый из которых работает на другом порту или с другим IP-адресом. Каждый сайт может иметь множество файлов и каталогов (рис.8), и сочетание этих элементов предоставляет информацию о URL-адресе. Для того, чтобы прослушивать запросы, поступающие от клиентов в IIS осуществляется привязка интернет-проекта к порту по IP-адресу сервера  – рис.11. Для интернет-проектов тип привязки http. Сетевой интерфейс, который сервер будет прослушивать на предмет запросов - Все неназначенные.  IIS будет прослушивать все интерфейсы за исключением тех, где другой сайт должен обслуживаться через этот же порт TCP. В общем случае каждый сайт должен обслуживаться через уникальный порт, поэтому, во избежание конфликтов с подключенным интернет-проектом по умолчанию к порту 80, для нашей модели мотеля выбран порт 8002.

 

Рис.11 Привязка сайта к порту 8002 по IP-адресу сервера кафедры

Таким образом, информационная система модели мотеля – это клиент-серверная распределенная система, в которой сервер кафедры выполняет запросы клиентских компьютеров с использованием протокола TCP/IP.

Яндекс.Метрика