Платформа Diasoft Framework: новые возможности Верюгин Борис Руководитель управления развития платформы Diasoft Framework Компания «Диасофт» Новые возможности платформы Diasoft Framework Слой представления (веб-клиент и портал): • Портальная подсистема; • более 20 новых визуальных компонент; • Задание размеров компонентов в процентах. Layoutконтейнеры; • поддержка «шкурок» • встроенная подсистема вывода уведомлений; • Функционал всплывающих подсказок; • отказ от Apache Wicket, переход на Smart GWT (с версии 7.03) Новые возможности платформы Diasoft Framework Модуль “администратор” и системные механизмы: • Оповещения о назначении задач по SMS и E-mail • Указание PageFlow для типа задачи, которое исполняется при взятии задачи в обработку • Возможность указать заместителя для пользователя: заместитель будет видеть задачи замещаемого пользователя • Модель состояний у узлов орг.структуры. При удалении ург.структура переходит в состояние “DELETED”, физического удаления из БД не происходит • Расширенная модель прав доступа • Централизованное журналирование по пользователю • BPM-процессы Новые возможности платформы Diasoft Framework Сервис аудита: • Повышена производительность сервиса аудита (от 2 до сотен раз, в зависимости от входных данных) • Возможность инсталляции БД сервиса аудита на отдельную схему или базу данных. • Гибкое управление аудитом: фильтрация поступающих на вход событий в разрезе методов, типов событий, групп событий, бизнес-модулей, бизнес-объектов,бизнесопераций. • Реализованы новые методы чтения данных аудита: dsAuditFindByID, dsAuditFindListByParam, dsAuditBrowseListByParam, dsAuditFindListByParamExtended. Новые возможности платформы Diasoft Framework Инструментарий технолога: • • • • Валидация Javascript-кода Предпросмотр в веб-клиенте Локализация форм Более 10 доработок по повышению удобства работы в инструментарии Портальная подсистема (8.01) Портальная подсистема позволит оператору, не имеющему специальной IT-подготовки создавать новые порталы, используя специальный мастер, который в ходе своей работы запросит у пользователя необходимые для этого параметры (такие как имя портала, параметры «темы оформления», влияющие на его внешний вид и стилевое оформление страниц, реквизиты пользователей, допущенных к вводу данных, состав задействованных функциональных блоков). Портальная подсистема Портальные компоненты • «Каталог документов» – список документов с возможностью их поиска по заданному набору признаков, скачивания и просмотра. • «Каталог ссылок» - список ссылок на внешние или внутренние HTTP-ресурсы • Модуль «Общественное обсуждение» - возможность проводить формальные процедуры сбора общественного мнения или поправок, и их формальное рассмотрение по утвержденной процедуре • «Новости и события» - каталог ссылок на новости и/или на описание событий • «Баннер» - возможность циклического показа пользователю коллекции графических рисунков и описаний к ним, с возможностью перехода к связанным с ними материалам • «Форум» - премодерируемый форум для общения посетителей друг с другом. • «Календарь событий» - представление событий в сетке календаря с возможностью листания по месяцам и перехода к описанию событий • «Контакты» - форма для отображения контактных сведений, включая ссылку на карту. • «Облако тегов» - возможность представления коллекции ссылок на определенные страницы портала в виде «облака тегов». • «Форма обратной связи» - возможность быстрой связи с оператором портала • «Обращение гражданина» - возможность направления персонифицированного обращения гражданина в органы гос. власти РК. • «Голосование» - возможность быстрого опроса посетителей (выбор одного из предложенных вариантов, отображение результатов). • «Анкета» - возможность быстрого сбора данных с посетителей путем заполнения ими формы или последовательности форм с преднастроенным списком вопросов. • «Управление личными данными» - возможность для посетителя зарегистрироваться на портале и в дальнейшем управлять параметрами, влияющими на его взаимодействие с порталом Портальная подсистема 8 Портальная подсистема 9 Портальная подсистема Шаблон портала Статический заголовок HTML Добавлено в глобальный шаблон портала с помощью стандартной разметки HTML Верхнее меню Добавлено в глобальный шаблон портала с помощью специального тэга Страница Место, где будет выводится содержимое конкретных страниц, должно быть помечено с помощью специального тэга в глобальном шаблоне портала. Левое меню Добавлено в шаблон с помощью тэга Список статей Добавлено на страницу при помощи визуального конструктора портала Список событий. Добавлено в глобальный шаблон портала с помощью специального тэга Список файлов Добавлено на страницу при помощи визуального конструктора портала Статический футер HTML Добавлено в глобальный шаблон портала с помощью стандартной разметки HTML Layout-компоненты. Задание размеров в процентах • • • • TWHPanel – горизонтальная растягивающая Layout-панель TWHStackPanel – горизонтальная нерастягивающая Layout-панель TWVPanel – вертикальная растягивающая Layout-панель TWVStackPanel - вертикальная нерастягивающая Layout-панель 11 Новые визуальные компоненты. TWTileGrid 12 Новые визуальные компоненты. TWMultiButtonComboboх 13 Динамическое создание визуальных компонетов в Javascript. FLEX-компоненты. Реализована JS-функция getFlexComponent(String objectType, String id, JSHashMap dataMap, String parent), позволяющая создать динамически любой поддерживаемый платформой визуальный компонент: var flexObjectMap = getNewMap(); flexObjectMap.put('Left', 250); flexObjectMap.put('Width', 121); flexObjectMap.put('Height', 18); flexObjectMap.put('Top', 10); flexObjectMap.put('Caption', 'Button1'); getFlexComponent('TWButton', 'myButton1‘, flexObjectMap, null); 14 Возможности стилизации. Новый дизайн Diasoft Framework 7.03 Возможности стилизации. Новый дизайн Diasoft Framework 7.03 Поддержка процессов BPMN 2.0 •Встроенный BPMN2.0 – движок (BPMS), сделанный на основе JBPM •Опциональная поддержка IBM BPM и Oracle BPM Возможности системы: •Интеграция пользовательских задач бизнес-процесса с клиентскими PageFlow и задачами FLEXTERA. •Вызов из BPMS прикладных сервисов FLEXTERA; •Вызов из BPMS серверных процессов FLEXTERA; •Запуск бизнес-процессов из PageFlow; •Генерация управляющих событий для бизнес-процесса из PageFlow. •Последовательное исполенние нескольких PageFlow без перехода к списку задач Поддержка процессов BPMN 2.0 Поддержка процессов BPMN 2.0 Поддержка процессов BPMN 2.0 Централизованное журналирование по пользователю Технология позволяет: • Настроить уровни журналирования без перезагрузки сервиса(сервисов); • Настроить уровни журналирования по конкретному пользователю или нескольким пользователям; • Централизованно хранить всю журналируемую информацию в отдельной базе данных; • Настроить уровни журналирования через визуальный интерфейс в модуле ”Администратор”; • Просмотреть журналируемые данные через визуальный интерфейс в модуле ”Администратор” Централизованное журналирование по пользователю Централизованное журналирование по пользователю Расширенная модель прав доступа •Введена возможность параметризации ролей и групп пользователя параметрами связи •Параметр связи выполняет функцию выключателей ролей и групп •Методы расчета прав доступа с учетом параметров связи (adminws): •dsUserCheckAccountEffectiveRight •dsUserFindAccountEffictiveRight Расширенная модель прав доступа Пример использования параметров связи ООО “Рога и копыта” ID = 1 ООО “Ромашка” ID = 2 Роль = “бухгалтер” Роль = “директор” Пользователь •Имя параметра связи – “CompanyID” •Значение параметра связи – идентификатор организации •Роль пользователя в контексте конкретной организации определяется по имени параметра связи и его значению Международная поддержка 1. Локализован пользовательский интерфейс модуля “Администратор”. Метаданные переведены на базовый английский язык. 2. Доработана утилита “metadata-qa”: •Доработана возможность генерации исходных property-файлов напрямую из форм,меню и pageFlow; •Реализована возможность переводить property-файлы c любого исходного языка на любой язык. Ранее поддерживался перевод только с русского языка •Разработана утилита “DatabaseLocalizator” для локализации данных в базе. Программа позволяет делать автозамену значений в таблицах БД по словарю. 3. Реализована поддержка региональной зависимости форматов чисел и дат: значения компонентов TWAmountEdit и TWCalendar зависят от локали. Международная поддержка Малоизвестные возможности предыдущих версий • Автоматизированное сканирование документов • Построение MS.Office-отчетов на клиентской стороне • Архивация данных • Интеграция с электронными кассирами (commons-cashdisp) • Интеграция с чековыми принтерами (commonsprint) 28 Сканирование документов с использованием ABBYY Document Reader Server Работа с Document Reader Server осуществляется с помощью 2 JavaScript функций: InitScan(servName) – инициализация клиента. servName – адрес сервера в формате http://name:port AbbyyScan(docType) – сканирование документа в автоматическом режиме. docType – тип документа, настраивается в интерфейсе «Станция администрирования» Перед работой требуется установить ABBYY плагин ABBYY ScanScr. 29 Сканирование документов с использованием ABBYY Document Reader Server 30 Клиентские отчеты в MS-office В системной платформе существует возможность генерации отчетов на стороне клиента в MS.Word и MS.Excel по шаблонам. Отчеты строятся на стороне клиента с использованием API объектной модели MS Word и Excel. На клиентской машине должен быть установлен и проинтегрирован в используемый браузер JRE версии 1.6. Для настройки и использования механизма нужно подготовить каталог храниения шаблонов на сервере – шаблоны отчетов должны быть сохранены в подкаталоге reportTemplates каталога, заданного в параметре staticResourcesPath файла конфигурации webclient-config.xml. Затем на уровне pageflow нужно настроить следующие параметры узла «Формирование клиентского отчета»: 31 Клиентские отчеты в MS-office • ReportType (String) – тип отчета (Text или Table). • TemplateFileName (String) – имя файла шаблона отчета • Pagging (Boolean) – признак постраничной генерации отчета - данные одной Map списка будут использованы для генерации блока документа, отделяемого переходом на новую страницу. Если признак равен True, обязательно в Map, возвращаемый скриптом MappingScript должен присутствовать ключ типа List<Map<String, Object>>. • Merge (Boolean) – выполнять построение слиянием (для отчета типа Word) • Print (Boolean) – печать отчета без вывода на экран • SheetNumber (Integer) – номер страницы (для отчета Excel) • ClientScript (TSourceCode) – скрипт для построения отчета, выполняется на клиенте. Если не определен, то отчет строится автоматически в зависимости от параметра ReportType • MappingScript (TSourceCode) – обязательный для отчетов типа Word или Excel скрипт для сопоставления данных полям отчета, выполняется на сервере. Должен завершаться оператором return data; data (Map<String, Object>) – маппинг данных на поля и таблицы отчета. Для отчетов типа Text ключи data должны совпадать с именами полей отчета. Для отчетов типа Table ключи data для заполнения ячеек отчета должны иметь вид «row_col», где row – номер строки, а col – номер столбца (нумерация начинается с 1). 32 Клиентские отчеты в MS-office msOfficeReport( function(a){ var excel = a.getOfficeComponent('Excel.Application'); a.showWindow(excel); } ); msOfficeReport( function(OfficeReport){ var excel = OfficeReport.getOfficeComponent("Excel.Application"); var sheet1 = OfficeReport.getNewTableDocument(excel, "test.xlt", "1"); OfficeReport.put(OfficeReport.call(sheet1, "Cells", [9, 3]), "Value2", "Test data"); OfficeReport.showWindow(excel); } ); 33 DSARCH: генерация CRUD операций в сервисах Автоматическая генерация описания 9 операций простых бизнес-объектов: • • • • • • • • • Insert; FindByID; Update; Delete; MassInsert; FindListByID; FindListByParam; MassUpdate; MassDelete Данный функционал позволяет значительно повысить эффективность работы аналитиков, проектирующих сервисы. Прочие функциональные доработки Было реализовано более 400 функциональных доработок. Среди них: • • • • Возможность экспорта данных таблиц (TWTable, TWDBTable) в EXCEL Сохранение файлов в БД (помимо ранее поддерживающегося файлового хранилища) Отправка файлов со вложениями по Email Доработки по повышению удобства работы с редактором метаданных Нужна дополнительная информация – посетите наш сайт: http://platform.diasoft.ru