Разработки на базе WEBтехнологий. Подходы и решения ОАО «Конструкторское бюро системного программирования», г. Гомель, Беларусь План презентации Преимущества и недостатки WEB-технологий Классическая организация WEB-приложения WEB-приложение, использующее метаописания Структура системы Метаописания Примеры решений в разработанных системах Выводы Основные преимущества WEB-технологий распределенность (пользователь может работать с системой из любого места, связанного с WEB-сервером по сети, находясь в любой точке земного шара); переносимость (Web-клиенты (браузеры) существуют для любых платформ, от настольных компьютеров до сотовых телефонов. Web-сервера используются для большинства платформ, а Web-приложения обычно пишутся на переносимых языках); привычность интерфейса (почти каждый пользователь компьютера хотя бы раз запускал браузер и работал в нем); простота установки и обслуживания (новую версию web-приложения не надо устанавливать на все компьютеры – достаточно установить на сервер). Особенности WEB технологий Простота интерфейса • Пользователи не любят гигантских окошек с сотнями полей ввода, а программисты и разработчики интерфейсов почему-то любят. Web как раз не поощряет сложный интерфейс, скорее поощряет простой. Простота программирования интерфейса • Создавать HTML из шаблонов куда проще и удобнее, чем создавать графические приложения визуальными редакторами интерфейсов Простота программирования вообще • 3х-уровневая архитектура: база данных – логика приложения (сервер) – логика представления (клиент, браузер) Недостатки WEB-технологий недостаточно развитый интерфейс HTML; необходимость программирования на разных языках (Java (CGI, Perl, ASP.NET и т.д.), HTML, JavaScript и другие); написание переносимых страниц с помощью HTML/CSS/JavaScript довольно сложная задача (каждый браузер, а иногда и каждая версия браузера имеет свою модель документа и событий, свою реализацию стилей); не запоминается состояние сеанса; инициатор событий всегда клиент. Вывод Преимущества облегчают работу пользователей и администраторов систем! Недостатки осложняют труд разработчика Прикладные данные Страницы формирования форм ввода Отчетные документы и т.д... запрос HTML формы ввода Страницы формирования отчетов запрос запрос Клиент Веб-сервер Сервер БД Классическая организация структуры WEB-приложения и т.д... каждой форме ввода, отчету соответствует HTML-страница; при изменении формы ввода, отчета необходимо изменять соответствующую страницу в программе; изменения в системе должен производить программист Структура WEB-приложения с использованием метаописателей Метаописатели HTML формы ввода Страницы формирования отчетов Отчетные документы и т.д... запрос Страницы формирования форм ввода запрос Отчетные документы, HTML, Графики, и т.д. Прикладные данные запрос Универсальные страницы формирования контента на основе метаописателей запрос Клиент Веб-сервер Сервер БД ЯДРО СИСТЕМЫ и т.д... описание форм ввода, отчетов содержится в метаописателях, для их изменения обычно достаточно исправить описание (записи в базе данных); при изменении формы ввода, отчета часто достаточно изменить описание, исправления в программе не производятся; внести изменения в системе может и опытный пользователь Наиболее распространенные задачи АИС: аутентификация и авторизация пользователей; ведение журналов доступа к системе; внесение новых и корректировка имеющихся данных; обработка и обобщение данных, получение отчетных данных на основе учетной информации; планирование различного рода процессов и работ на основе имеющейся в базе данных информации; формирование выходных документов, отчетов; экспорт-импорт данных между распределенными узлами системы, не включенными в одну сеть; прием и передача данных, взаимодействие со сторонними системами; документооборот. Структура системы Клиент Ядро системы обеспечивает автоматизированное создание, модификацию, развитие системы с использованием тех же механизмов, которые обеспечивают решение прикладных задач Клиент Web Браузер Клиент Web Браузер Web Браузер jsp и сервлеты ядра системы Модуль безопасности jsp и сервлеты прикладного ПО системы Вспомогательные классы ядра системы Модуль протоколирования Библиотека классов прикладного ПО системы Модуль формирования отчетов Модуль визуализации картографической информации Модуль обработки данных. Кэш данных. Шлюзы обмена данными с существующими системами WEB Сервер Процедуры и функции работы с данными Метаописания Справочные данные Ядро системы Сервер БД Оперативные данные Метаописания Метаописание- набор таблиц системы, содержащих описание самой системы структур данных отчетов форм ввода данных запросов на данные Метаописания Описание структур данных содержит физическое представление информации (в терминологии БД) прикладное, пользовательское представление информации (в терминологии пользователя) Описатель структур Оперативные данные Описатель схем Схема описания структур данных и использования описаний запросов на данные Перенастраивать формы ввода, изменять структуры отчетов, формировать произвольные отчеты может пользователь системы без участия разработчика Схема 1 Описатель таблиц Описатель запроса Общая информация Описатель полей запроса Схема 3 Таблица 1 Таблица M Таблица 1 Таблица N Таблица 1 Таблица J Поля таблицы Описатель полей Схема 2 Поля таблицы Поля таблицы Поля таблицы Поля таблицы Поля таблицы Среда функционирования мультиплатформенная Web-сервер: Apache Tomcat Язык программирования: Java Клиент: браузер Mozilla FireFox* СУБД: PostgreSQL* OpenOffice 3 для отчетов* * либо другие – по желанию заказчика Средства развития системы включают возможности: корректировки структур данных путем редактирования описаний таблиц и полей таблиц; создания произвольных пользовательских запросов на данные по таблицам; подключения запросов на данные к макетам в формате OpenOffice. Структурная схема организации распределенной системы Узел Центр. Узел областной Узел районный Узел ... районный ... ОАИС Узел областной Узел районный ... Узел районный Обобщенная схема обмена информацией в системе Упрощенная функциональная схема Районный уровень Областной уровень Республиканский уровень Планирование ресурсов Планирование ресурсов по районам Планирование ресурсов по областям Обобщение по району Обобщение по области Обобщение по республике Учет ресурсов Ведение НСИ Преимущества используемых решений Все преимущества, которые дает использование интернеттехнологий Пользователь системы имеет возможность самостоятельно без участия разработчика формировать собственные запросы на данные. Опытный пользователь системы может переформировывать отчеты, изменять расположение данных на форме ввода без участия разработчика Администратор системы, обладающий высокой квалификацией, имеет возможность самостоятельно без участия разработчика модифицировать структуры данных системы без изменения программного кода системы.