3.97M
Категория: Базы данныхБазы данных

Live Universal Interface (LUI), средство коллективной разработки web-приложений и интерфейса пользователя прикладных систем

1.

Live Universal Interface (LUI)
средство коллективной разработки
WEB-приложений и интерфейса пользователя
прикладных систем
для Postgres
Абдрахимов Рустам
Любушкин Александр

2.

Live Universal Interface
Назначение
Инструмент создания информационных систем с
унифицированным WEB-интерфейсом пользователя
Декларативный подход
• Основан на принципе поддержки актуальности значений
взаимозависимых Свойств
• Для разработки приложений достаточно знания SQL
Коллективная разработка с поддержкой DevOps
• Все компоненты в единой БД и доступны одновременно всем
разработчикам
• Модификации без остановки промышленной системы
Поддержка всех браузеров, Android, iOS
• Среда разработки и готовое приложение в браузере
• Разработка в облаке и готовое приложение в облаке
Что
Как

3.

Live Universal Interface
Госсектор
Область применения
Бизнес
• Внутренние системы министерств,
ведомств и учреждений
• Внутренние корпоративные системы
• Порталы для граждан и ЮЛ
• Системы управления предприятием и
производством
• Учётные и расчётные системы с
большим объёмом данных
• Деловые личные кабинеты
• Производители прикладного ПО

4.

Live Universal Interface
Типы экранных форм:
-
Бланк
-
Список
-
Древовидный список
Концепция

5.

Live Universal Interface
Таблица BOOKS
TITLE
AUTHOR
Детство
Максим Горький
Детство
Лев Толстой
Юность
Лев Толстой
Кавказский пленник
Лев Толстой
Кавказский пленник
Александр Пушкин
Метель
Александр Пушкин
Метель
Владимир Сорокин
Метель
Лев Толстой
Выстрел
Александр Пушкин
Выстрел
Анатолий Рыбаков
Бланк
Декларативное программирование
Разработка на LUI
Код поля: TITLE
Подпись: Название
Варианты для выбора: select distinct TITLE from books where AUTHOR = '{AUTHOR}' or '{AUTHOR}' = ''
Автокоррекция: {select case count(*) when 0 then '' when 1 then max(TITLE) else '{TITLE}' end
from books where AUTHOR = '{AUTHOR}'}
Код поля: AUTHOR
Подпись: Автор
Варианты для выбора : select distinct AUTHOR from books where TITLE = '{TITLE}' or '{TITLE}' = ''
Автокоррекция: {select case count(*) when 0 then '' when 1 then max(AUTHOR) else '{AUTHOR}' end
from books where TITLE = '{TITLE}'}
Традиционная разработка
Код поля: TITLE
Подпись: Название
Варианты для выбора: Select Distinct TITLE from books
Обработка события: Когда поле TITLE изменяется:
Если изменение производит пользователь Если старое значение не равно новому значению Автор = пусто; Варианты для выбора = пусто.
Курсор по запросу (select AUTHOR from books where TITLE=:NEW.TITLE)
Если Автор пусто - Автор = Курсор.AUTHOR
а если Автор не пусто - Автор = не определён
Пополнить Варианты для выбора AUTHOR значением Курсор.AUTHOR
Если Автор определён –
Установить значение поля AUTHOR = Автор
Код поля: AUTHOR
Подпись: Автор
Варианты для выбора: select distinct AUTHOR from books
Обработка события: Когда поле AUTHOR изменяется:
Если изменение производит пользователь Если старое значение не равно новому значению Название = пусто; Варианты для выбора = пусто.
Курсор по запросу (select TITLE from books where AUTHOR=:NEW.AUTHOR)
Если Название пусто - Название = Курсор.TITLE
а если Название не пусто - Название = не определено
Пополнить Варианты для выбора TITLE значением Курсор.TITLE
Если Название определено Установить значение поля TITLE = Название

6.

Принципиальная схема
Live Universal Interface
LUI
Встроенный Web-сервер
• Выполнение приложений
Редактор стилей
• Интеграция с внешними системами
Браузер
Сервер
визуализации
xml
Сервер
приложений
jdbc
Postgres
jdbc
http
Хранение
моделей
экранных
форм
СУБД Приложений
Postgres
Oracle
MySQL
...

7.

Live Universal Interface
Зона выделения строк для групповых действий
Качества приложений, созданных в LUI
Списки (Grid)
Область заголовка
Tool bar
Области
переполнения
Поле с длинным
текстом в области
переполнения
Фикс.группа. Вне
горизонтальной
проурутки
Строка с итогами

8.

Live Universal Interface
Качества приложений, созданных в LUI
QBE (Query by Example)
Режим запроса
Критерии в строке собираются по “AND”
Cтроки критериев собираются по “OR”:
where
1 USERNAME = 'lui' and CLIENT_ADDR like '172.%' and
BACKEND_START > to_timestamp('11.01.2019 13:35', 'dd.mm.yyyy hh24:mi:ss.ms')
2 or CHANGES>0
3 or USERNAME like '%common' and STATE like 'idle%' and QUERY like 'select%'

9.

Live Universal Interface
Качества приложений, созданных в LUI
Сортировки
Ввод сортировок
(ЛКМ в заголовке столбца)
Индикация сортировок
SQL:

order by
BACKEND_START desc,
CLIENT_ADDR" asc

10.

Live Universal Interface
Качества приложений, созданных в LUI
Управление отображением столбцов
(ПКМ в заголовке столбца)
Включение/Отключение
видимости столбца
Изменение порядка
столбцов и перемещение
между группами

11.

Live Universal Interface
Адаптация форм под нужды
пользователя
В пользовательской
конфигурации сохраняются:
а). Критерии отбора данных
б). Порядок сортировки
Качества приложений, созданных в LUI
Изменения, сделанные пользователем, сохраняются как
атрибуты пользовательской конфигурации и
применяются при последующих запусках этой формы
пользователем.

12.

Live Universal Interface
Качества приложений, созданных в LUI
Действия, запрограммированные
разработчиком в формах, могут:
• Вызывать другие формы
• Выполнять программы на SQL и др.
языках
• Выполнять команды ОС
• Открывать URL
Уровни действий в списках:
• Уровня списка в целом
• Уровня строки
• Уровня группы выделенных строк
• Уровня ячейки
Способы запуска действий (программ) в списках:
-
Кнопка в панели инструментов
-
Локальное меню строки/ячейки
-
Системное меню
-
Меню столбца
-
Кнопка в “подвале” списка
-
Автоматически
-
-
Позволяет организовать
формы в виде master-detail
Ежесекундно (например для автообновления данных в списке)

13.

Live Universal Interface
Сообщения и предупреждения,
Обработка ошибок и исключений:
• Типы сообщений: Error, Warning, Info
• Обработка на сервере приложений
• Обработка в СУБД
• Перехват сообщений о нарушении
ограничений
Качества приложений, созданных в LUI
ShowMessage:<код_сообщения>;p1:<параметр1>;p2:<параметр2>;...
begin
Execute lui_r_show_message(‘<код сообщения>,<p1>,….<pn>);
end;

14.

Live Universal Interface
Качества приложений, созданных в LUI
Поддержка национальных языков
• Количество языков не ограничено
• Выбор одного из языков, поддерживаемых
приложением, выполняется при входе в
приложение
• Имеется специальный тип данных –
“многоязычный текст”
• Одно поле “название” в
многоязычном
приложении
автоматически
распадается на подполя
по числу языков

15.

Live Universal Interface
Контроль вводимых данных
Контроль произвольных данных на
корректность
Качества приложений, созданных в LUI

16.

Live Universal Interface
Качества приложений, созданных в LUI
Дополнение приложений средствами администрирования
• Группы пользователей “по умолчанию”
• Типы объектов прав
• Разграничение доступа к объектам

17.

Live Universal Interface
Качества приложений, созданных в LUI
Соединения с БД
• Одно приложение – несколько БД.
Например:
- Запрос списка (БД1) – Действия (БД2)
- Мастер (БД1) – Деталь (БД2)
• Управление транзакциями.
Возможны 2 режима и их комбинации:
- «Короткие» транзакции (autocommit) для
приложений массового обслуживания
- «Длинные» транзакции (commit
программный) для особых приложений
(wizard, jobs)
• Блокировки строк списков при
попытках одновременного
редактирования

18.

Live Universal Interface
Качества приложений, созданных в LUI
Дополнение приложений средствами
управления сеансами

19.

Live Universal Interface
Группировка данных в списках
Качества приложений, созданных в LUI

20.

Live Universal Interface
Качества приложений, созданных в LUI
Группировка данных в списках
Кнопки добавления столбцов :
• в критерии для группировки
• в агрегируемые данные
Критерии для
агрегирования
Настройка
отображения
диаграмм
Перечень столбцов
списка
Агрегируемые
данные и функции
группировки

21.

Live Universal Interface
Качества приложений, созданных в LUI
Группировка данных в списках
Результат группировки
Запуск диаграмм
Интерактивная деловая графика
Критерий запроса
Клик на столбец

22.

Live Universal Interface
Группировка данных в списках
Интерактивные 3D-диаграммы
Качества приложений, созданных в LUI

23.

Live Universal Interface
Экспорт данных
Качества приложений, созданных в LUI

24.

Live Universal Interface
Качества приложений, созданных в LUI
Привязка файлов к экземплярам прикладных данных

25.

Live Universal Interface
Эргономичная подсветка данных
Качества приложений, созданных в LUI

26.

Live Universal Interface
Качества приложений, созданных в LUI
Редактор форматированного текста в поле экранной формы

27.

Live Universal Interface
Качества приложений, созданных в LUI
Альтернативный “не оконный” режим работы интерфейса

28.

Live Universal Interface
Качества среды разработки
Доступность
Среда разработки – это тоже одно из приложений LUI, и оно так же доступно через WEB.
Среда разработки создана с помощью самой среды разработки.

29.

Live Universal Interface
Качества среды разработки
Типы данных
• Поддержка основных типов данных PostgreSQL
Типы данных, которые
поддерживаются в LUI по
умолчанию

30.

Live Universal Interface
Качества среды разработки
Типы данных
• Поддержка основных типов данных PostgreSQL
Матрица возможных
преобразований
(СУБД<->LUI)
Настройка
преобразований

31.

Live Universal Interface
Качества среды разработки
Типы данных
• Поддержка основных типов данных PostgreSQL
Настройка операторов
языка запросов для
конечного пользователя

32.

Live Universal Interface
Качества среды разработки
Типы данных
• Поддержка основных типов данных PostgreSQL
Ссылка на программу
проверки и помощи ввода
данных
Настройка раскраски
данных в поле
Пример ввода диапазона дат
Настройка шаблонов полей форм
для типов данных

33.

Live Universal Interface
Подсветка программного кода
Качества среды разработки

34.

Live Universal Interface
Быстрое создание элементов формы
Качества среды разработки

35.

Live Universal Interface
Коллективная разработка
Все данные, изменяемые
разработчиками, хранятся в БД
Приложение, и даже форма, могут
разрабатываться несколькими
разработчиками одновременно
Роли:
Архитектор (может создавать
прикладные системы)
Разработчик (может участвовать
в разработке одной или более
систем)
Качества среды разработки

36.

Live Universal Interface
Управление версиями форм.
Режимы Version Control:
1.
Не используется
2.
Одна форма – один разработчик
3.
Одна форма – несколько
разработчиков (по приглашению)
История версий
Сохранение версии
Восстановление версии
Изучение старой версии
Качества среды разработки

37.

Live Universal Interface
Качества среды разработки
Выпуск изменений:
1. Генерация
микроизменений
2. Генерация формы
Генерация скрипта для всех отмеченных форм
3. Массовая
генерация форм

38.

Live Universal Interface
Средства отладки
Режим отладки:
Включаем режим отладки
Выполняем исследуемые действия
Открываем список событий
Упрощает поиск ошибок
и общение Заказчика
со службой поддержки

39.

Live Universal Interface
Средства отладки
Дамп области памяти приложения
Вызывается из системного меню
Отображает все свойства
всех элементов
всех запущенных форм
Отображает текущие
значения, зависимости и
статистику вычислений

40.

Live Universal Interface
Редактор стилей
Внешний вид элементов интерфейса можно изменить под свой стиль

41.

Live Universal Interface
Почему мы это применяем
Порог вхождения
Java, html, css, xml, C, C++, SQL
Доступность
IDE на локальных АРМ, WWW
Коллективность
Файлы на АРМ разработчика, Всё в одной БД, Version Control
DevOps
Компиляция, Сборка, Разворачивание, Остановка системы,
Применение релиза, Быстрый выпуск и применение версий
Средства отладки
Остановка системы, Перевод в режим отладки, Моделирование
проблемы на тестовой системе, On-line просмотр всех
выполняемых операций, Исправление «на лету»
Качество приложений
QBE, Транзакции, MuitiConnect, Настройка под пользователя,
Деловая Графика, Управление правами на элементы форм…
Программирование, программирование, программирование
Расширяемость функций
Переработка идеологии и архитектуры
Модульность, Plug-in, Интеграция
Масштабируемость
Общий сервер-гигант, Масштабирование на трёх уровнях:
База данных, Сервер приложений, Сервер отображений

42.

Live Universal Interface
1.
Направления развития
Code assistant (помощник разработчика).
Формирование подсказок для языков
SQL: Объекты схем, столбцы, параметры, ключевые слова
JS: Ключевые слова
LUI: Функции, параметры, операторы
2.
Мастер создания форм
3.
Новые типы диаграмм
4.
Список
Бланк
Календарь
Матрица
Гео диаграммы
Графики в реальном времени
Средство разработки отчётов
XML/XSLT
Шаблоны в Open Office
Tables
Views
Functions

43.

Скачать текущую версию LUI можно на сайте:
lui.fors.ru
КОНТАКТЫ
129272, Москва, Трифоновский тупик, дом 14к2
+7 (495) 913-75-75
[email protected]
http://lui.fors.ru
http://demo.fastcom.fors.ru:8083/demo/
English     Русский Правила