Доступ к информационной системе на основе web-сервисов
Скребцов В.И., 2005
Цели проекта:
- Защищенный удаленный доступ к ресурсам существующей информационной системы (ИС) через сеть Internet/Intranet.
- Реализация удаленного клиента с поддержкой полнофункционального графического интерфейса пользователя (GUI)
и векторной 2D-графики.
Требования к реализации:
- Кроссплатформенность функционирования клиента (Linux, Unix, Windows 98/2000/XP) как в среде WWW-броузера,
так и в виде отдельного приложения.
- Компактность клиента с возможностью оперативной его загрузки через сеть Internet/Intranet.
- Универсальность клиента, обеспечивающая организацию доступа к ИС вне зависимости от использованных
для ИС решений и СУБД.
- Простота и компактность языковых конструкций входных спецификаций клиента,
единообразно описывающих GUI и 2D-графику
Исходные условия:
- Предполагается, что ИС уже создана, реально функционирует и имеет шлюз с сетью Internet/Intranet.
В нашем случае проект разрабатывался под Медицинскую информационную систему (МИС), функционирующую в ряде
лечебных учреждений г.Ульяновска с 1996г. МИС имеет CGI-шлюз к серверу Apache.
Для достижения поставленных целей с учетом требований решены следующие задачи:
- Разработан простой и компактный язык разметки LuaGML на основе GML-нотаций (декларативная семантика)
со встроенным скриптингом на языке Lua (процедурная семантика). Язык LuaGML предназначен для единообразного
описания GUI, 2D-графики, динамики их поведения, взаимодействия компонентов.
- Реализован интерпретатор языка LuaGML на Java в J2SE 5.0 в виде апплета/приложения с подключением
"движка" Lua через механизм LuaJava. Интерпретатор находится в файле
luagml.jar
- Разработаны прикладные спецификации для генератора отчетов МИС, позволяющие по запросу через шлюз
динамически формировать для интерпретатора luagml входные спецификации на языке LuaGML.
- Разработан комплект документации, включающий в себя:
- Руководство по языку LuaGML.
- Демонстрационные примеры спецификаций на LuaGML.
- Инструкция по применению интерпретатора luagml.