
NEXTBASE FRAMEWORK
Опираясь на многолетний опыт работы нашей компании было принято решение в своих разработках использовать программную платформу с открытым исходным кодом: NextBase framework (ссылка http://sourceforge.net/projects/nextbase/), которое наиболее соответствует нашим требованиям. В NextBase реализовано несколько концептуальных моментов, которые заключаются в следующем:
- Платформа поддерживает, наряду со стандартными простыми типами данных такие как текст, число и т.д. несколько типов которые представляют с собой объекты с определенными полями и моделью поведения. Данные объекты представляют собой целостные бизнес-модули которые выполняют ряд взаимосвязанных операции и которые упрощают программирование приложении ориентированных на бизнеса. Например существуют объекты Контроль, Блок согласования, Ссылка на связанный документ и т.д.. Набор заложенных бизнесс-объектов позволяет максимально упростить разработку приложений, но при этом решать большинство задач автоматизации.
- Документы имеют разграничение прав доступа для чтения и редактирования на уровне отдельного пользователя и документа.
- Связанные документы могут иметь древовидную структуру, где наглядно можно увидеть зависимости и отследить хронологию
- В платформе предусмотрено понятие «Форма», которая является шаблоном для публикации документа. «Форма» позволяет публиковать поля документа, «на лету» вычислить способ отображения или запросить значения с других документов. Документ может иметь неограниченное количество «Форм».
- Бизнес-логика описана в правилах, которые представляют с собой XML-файлы.
- Для большей гибкости в правилах используется встроенный язык программирования на основе Groovy с удобной, собственной объектной моделью.
- Реализация MVC , где компонент «view» представляет с собой набор xsl-преобразований, которые затем используются XSLT-процессором для трансформации в HTML-страницы. Такой подход позволяет одновременно использовать несколько вариантов оформлений приложения («skin»).
- Встроенная поддержка различных языков интерфейса.
Сервер приложений
Сервер платформы является java-приложением, который включает в себя web-сервер, сервер встроенной БД и другие компоненты, обеспечивающие функционирование системы. На сервере может быть одновременно развернуто несколько независимых приложений, которые могут использовать собственные или общие БД.
Приложения описаны в правилах, где задаются необходимые параметры работы приложения: название, используемая база данных, порты и т.д. Вне зависимости от количества приложений у сервера всегда существует административный портал. С его помощью можно управлять пользователями системы, посмотреть и настроить приложения, отслеживать состояние БД и web-сервера.
Логическая единица хранения бизнес-информации: "Документ"
При работе приложения происходят различные операции с данными. Данные хранятся в виде документов. Все манипуляции с документами прозрачно протоколируются на уровне БД, т.е. незаметно для пользователей. Функциональность «Отметка о прочтении» также учитывается при протоколировании. «Документ» является документом с не жёсткой структурой (далее Документ). Документ в течение своей жизни может иметь различное количество полей с различными типами. Такой подход позволяет описывать практически любые типы данных. Количество полей и их типы задаются при сохранении формой или программным путем. Поля в течение жизненного цикла документа можно добавлять и удалять. Документ всегда имеет список читателей и список редакторов. Так же документ может иметь «потомков» или быть «родительским» документом. Связи такого рода могут быть отображены затем в виде иерархической структуры.
Распределение прав доступа
Документы имеют списки пользователей, читателей и редакторов. В течение жизни документа списки могут меняться. Таким образом, доступ к документу на разных его этапах обеспечивается только определенным пользователям. Списки могут быть описаны в формах или могут изменяться программно.
Объект «Форма»
«Форма» является объектом, посредством которого отображаются и создаются документы. Документы публикуются в системе через «Форму». Объект содержит описание способа отображения полей, сохранения полей, значения по умолчанию и т.д. «Форма» имеет «События». Сюда можно поместить скрипт, который выполнится в момент возникновения «События».
Объект «Страница»
«Запрос» является объектом, посредством которого могут выполняться целый спектр действии. Особенностью объекта "Страница" является то что Страницы могут быть вложенный друг в друга и имеют возможность кэшироваться на трех уровнях - на уровне Сервера, Приложения и Сессий пользователя.
Объект «Обработчик»
Для выполнения обработки данных по расписанию, которая необходима для обеспечения бизнес-логики, используется объект «Обработчик». В «Обработчике» посредством программирования выполняются различные действия над данными системы, а также: рассылка уведомлений, вызов других обработчиков.
Поддержка языка сценариев
Для достижения наибольшей гибкости при настройке различных приложений в системе предусмотрено использование языка сценариев Groovy. Язык имеет простой и доступный синтаксис и позволяет программировать логику приложений с использованием удобной встроенной объектной модели.
Реализация MVC
В соответствии с архитектурой MVC, «модель» в системе представлена в виде XML-документа, который затем преобразуется до нужного внешнего вида посредством XSLT. Формат «модели» и её поведение задаются с помощью специальных объектов «Форма», «Страница». Данные объекты являются в некоторых случаях связующим звеном между базой данных и приложением. Объекты описаны в правилах, которые представляют с собой XML-файлы. Так как модель данных остается неизменной, а способ отображения задается посредством XSLT, существует возможность использования различных наборов XSLT. Переключая их между собой, можно изменять способ оформления приложения («skins»). Предусмотрена возможность подключения своего набора XSLT-файлов. Он может быть разработан с учётом предпочтений пользователя, корпоративных требований к стилю, дизайну и т.д. Разработку набора XSLT-файлов без особых усилий можно делегировать различным дизайнерским студиям или собственным IT-подразделениям заказчика.
Встроенная поддержка нескольких языков интерфейса
В системе существует возможность использования неограниченного количества языков интерфейса. Слова-элементы (captions), описаны в словарях и являются частью модели (архитектура MVC). Следовательно, отображение локализованных слов-элементов задается в XSLT, в котором нет привязки к конкретному языку.
Поддержка различных RDBMS
В системе «по умолчанию» используется бесплатная система управления данными PostgreSQL, которая поставляется в одном дистрибутиве и вполне может обеспечить потребности малого или среднего предприятия. Для более масштабных возможностей в ближайших планах предусмотрена поддержка базы данных MSSQL, Oracle и DB2.
Основное преимущество платформы - использование разработок с лицензией Open Source, которая позволяет обеспечить сочетание хороших функциональных возможностей с демократичной ценой.
Платформа NextBase Framework обеспечивает:
- Гибкость архитектуры и технологии за счет использования документов-дескриптов или Правил;
- Совместное использование языков программирования Java и Groovy позволяет решать специфические для каждой Системы задачи;
- Гибкость выбора пользовательского интерфейса при помощи описания «скинов» набором XLTS-файлов;
- Мультиязычность;
Разработана с ориентиром на сектор среднего и малого бизнеса, а также органы государственного управления.
4MS Enterprise доверяют:
История номер 1
Небольшое превью истории успешного использования
История номер 2
Небольшое превью истории успешного использования
История номер 3
Небольшое превью истории успешного использования