Учебные курсы
10.09.2012 12540

Web-интерфейс АСУ «Гостиница-мастер» и реализация на практике

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

Обеспечение высокого уровня обслуживания в гостинице в современных условиях невозможно достичь без применения новых технологий. Результатом является автоматизации многих гостиничных процессов, электронное резервирование и т.д. Автоматизированные системы управления (АСУ) направлены на повышение производительности труда, поднятие уровня знаний у высших управленческих работников. Гостиницы еще одними из первых представителей туристической индустрии освоили преимущества использования сети Интернет. Помимо традиционного описания предоставляемых услуг, пользователи должны иметь возможность бронирования гостиничных номеров. При этом, необходимо, чтобы данные, вводимые клиентом на сайте поступали непосредственно в базу данных АСУ гостиничного предприятия.

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

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

  • выбор стабильного хостинга с досточной оперативной памятью и дисковым пространством
  • перенос структуры и данных БД АСУ «Гостиница-мастер» в формат сервера баз данных MySQL;
  • разработка шаблонов HTML-интерфейса;
  • разработка скриптов на PHP для отображения данных из базы MySQL в HTML-интерфейсе;
  • установка разработанной системы на Web-сервер и обеспечение обмена данными и их синхронизацию с АСУ «Гостиница-мастер».

Рассмотрим особенности web-интерфейса как технологии разработки. По сравнению с традиционной технологией разработки так называемых «толстых» приложений для Windows или Linux, разработка Web-интерфейса представляет собой разработку «тонкого» клиента. Следует отметить, что такие технологии как Ajax, Java-апплеты, Flash и др., позволяют расширить функционал web-интерфейса до многих возможностей классических «толстых» клиентов. Однако, в данном случае необходимо использование классической модели. В этом случае на клиентской стороне реализуется минимум функционала.

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

На уровне страниц приложение состоит из отдельных классов, унаследованных от общего класса веб-страницы – TDataPage. Поскольку данная система ориентирована на работу с базой данных, то в архитектуру вводится дополнительный класс – TDataPageFB, который позволяет все функции, которые разрешены классу TDataPage, но при этом реализует интерфейс взаимодействия с базой данных.

Каждый класс страницы связан со своим html-шаблоном. Типичная схема включения страницы в выходной формат представлена в листинге 1.

1
2
3
4
5
// Листинг 1
String s ;
TDataPage DP = new TExampleDataPage() ;
DP.Exec(s) ;
System.out.println(s) ;

Рассмотрим несколько простых типов станиц, например, вывод текста. В системе бронирования он используется, например, для вывода текста договора и условий использования сервиса. Его метод intExec, формирующий страницу представлен в листинге 2.

1
2
3
4
5
6
7
8
9
10
11
// Листинг 2
boolean intExec()
{
String s ;
TjvUIBQuery Qry = CreateOpenQueryFmt(“SELECT
textname, textdata FROM texts WHERE
id=%d”,GetCGIVarAsInt(“id”)) ;
Qry.ReadBlob(1,s) ;
ht.SetVar(“TEXT”,s) ;
ht.SetVar(“TEXTNAME”,Fields.AsString(0)) ;
}

Этот класс извлекает из базы заданный текст и включает его в заранее подготовленный шаблон страницы. Шаблон для простых текстовых страниц имеет следующий код, представленный в листинге 3.

1
2
3
4
5
6
7
8
9
10
11
12
// Листинг 3
<table class=data width=100%>
<tr>
<td align=justify vAlign=center>
<p class=title> {TEXTNAME} </p>
<table class=data width=100%>
<tr><td>
{TEXT}
</td></tr>
</table>
</td></tr>
</table>

Аналогично построены и другие, более сложные страницы. Они отличаются видом шаблона и логикой обработки данных. Система шаблонов позволяет эффективно разделить оформление интерфейса и код его генерации на изолированные части. Шаблоны представляют собой файлы с расширением .tpl, содержащие, наряду с обычным HTML-кодом, специальные коды замен. В используемом классе шаблонов FastTemplate можно использовать любую комбинацию символов для замены на другой текст. В примере на листинге 4 приводится фрагмент шаблона главной страницы:

1
2
3
4
5
6
7
// Листинг 4
<td class=content>
<table width=100% cellPadding=5><tr><td>
MENU_PAGE
</td></tr>
</table>
</td>

PHP-код для обработки такого шаблона выглядит следующим образом:

1
2
3
// Листинг 5
$tpl->define(array(menu_cont => «*.tpl»)) ;
$tpl->parse(MENU_PAGE, «menu_cont»);

Это означает, что происходит считывание файла *.tpl и вставка его содержимого вместо подстановки MENU_PAGE.

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

Клиент может нажать на кнопку «Забронировать», после чего открывается форма бронирования номера из конкретной категории (Рис. 1).

Рис. 1. Вид формы заказа номера

Рис. 1. Вид формы заказа номера

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

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

Оба вида заявок в конечном итоге попадают в панель управления АСУ «Гостиница-мастер», где оператор может присвоить им статус, в соответствии с ходом их обработки. Таким образом, система автоматизации службы бронирования мест четко разделена на административную (операторскую часть), в которой работают только корпоративные пользователи системы, и гостевую (которой пользуются только посетители сайта и клиенты системы).

Так как в системе используются важные данные о гостинице, а также конфиденциальные данные о клиенте (ФИО, телефоны, сведения о платежах), то необходимо предусмотреть эффективный механизм безопасности. Исходя из требований безопасности, при разработке web-интерфейса было реализовано два уровня защиты конфиденциальных данных:

  1. использование базовых криптоалгоритмов DES или ГОСТ для шифрования самих данных;
  2. использование стандартного протокола SSL с подписанными сертификатами X503 для шифрования канала передачи данных.

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

Таким образом, разработанный web-интерфейс позволяет привлечь клиентов через сеть Интернет, что в век повсеместной информатизации значительно расширяет потенциальные возможности гостиничного предприятия. Кроме того, web-интерфейс системы можно использовать как основу для независимого сайта, без привязки к АСУ. Это бывает удобно для небольших гостиниц, имеющих сезонную загрузку и не предполагающих использование отдельных компьютеров для операторской работы или набирающих клиентов в основном через Интернет.

Top