АрхитектураОбзор архитектуры платформы

Архитектурой системы реализовано повышение уровня абстракции при разработки прикладного бизнес-решения. Это позволило перейти от низкоуровневых понятий к более содержательным и высокоуровневым.

В конечном итоге это значительно ускоряет и унифицирует разработку прикладного решения и его сопровождение.

Одновременно с этим, фреймворк решает и традиционные задачи, связанные с производительностью, эргономикой, функциональностью.

прикладные решения

В системе существует четкое разделение на платформу и прикладное решение. Платформа представляет собой фреймворк, в котором функционирует прикладное решение:

  • Платформа служит фундаментом для построения прикладных решений
  • Платформа является компонентной средой их исполнения
  • Платформа содержит инструментарий, необходимый для разработки, администрирования и поддержки прикладных решений

При этом прикладное решение является самостоятельной сущностью и может выступать в качестве отдельного программного продукта. Но полностью опирается на технологии платформы.

метаданные

Метаданные — способ описания прикладного решения.

Прикладное решение не пишется в прямом смысле на языке программирования. Язык программирования используется только там, где это действительно необходимо.

В основе прикладного решения лежат метаданные. Они представляют собой структурированное декларативное его описание.

Метаданными описываются структуры данных, состав типов, связи между объектами, особенности их поведения и визуального представления, система разграничения прав доступа, пользовательский интерфейс. В метаданных сосредоточены сведения не только о том, «что хранить в базе данных», но и о том, «зачем» хранится та или иная информация, какова ее роль в системе, и как связаны между собой информационные массивы.

Использование языка программирования ограничено решением тех задач, которые действительно требуют алгоритмического описания, например, расчета налогов, проверки корректности введенных данных, написание отчетов и т.п.

Построение прикладного решения на основе модели.

В платформе заложена ориентация на построение прикладного решения на основе определенной модели. Под моделью понимается вся идеология построения прикладного решения. Сюда относятся способы построения классов и структур данных, типы связей между данными, принципы манипулирования данными, формы описания бизнес-логики, способы связи данных с интерфейсными объектами, разделение функциональности по уровням системы и многое другое.

Важно, что все прикладные решения следуют принятой модели и этим обеспечивается единообразие и предсказуемость их поведения.

Базовые классы прикладных объектов.

В модели разработки всё прикладное решение описывается метаданными в виде совокупности прикладных объектов (классов), наследуемых из определенного набора базовых классов. Каждый такой базовый класс отвечает за отражение в прикладном решении определенной совокупности объектов или процессов предметной области, имеющих схожие поведенческие характеристики и сходную роль в общей картине решения.

Примерами таких классов являются «Справочники», «Документы», «Регистры накопления» и т.д.

Каждый базовый класс имеет некоторую базовую реализацию, которая определяет особенности функционирования создаваемых на основе данного базового класса прикладных классов: структуру хранимых сущностей вместе с некоторыми предопределенными полями, набор типов языка программирования, методы, свойства и события, а также типовые, для решаемой задачи, операции, способы отображения и редактирования, методы регулирования прав доступа и т.д.

Таким образом, всё прикладное решение, фактически, состоит из объектов, четко разделенных по тем ролям, которые они играют в прикладном решении и являющиеся моделью данных. Такой подход существенно усиливает эффект и от описания системы в терминах метаданных, и от построения приложения на основе модели.

Согласованность технологий и инструментов.

Ключевым качеством платформы является достаточность ее средств для решения задач, стоящих перед прикладными решениями. Это позволяет обеспечить очень хорошую согласованность всех технологий и инструментов, которыми пользуется разработчик.

многозвенная архитектура работы

Прикладные решения, работающие под управлением платформы, используют многозвенную архитектуру:

  • клиентское приложение — локальная база данных
  • клиентское приложение — сервер базы данных
  • клиентское приложение — серверная ферма — сервер базы данных

С одной стороны это позволяет масштабировать систему от вариантов персонального использования, до работы в крупных, территориально распределенных холдинговых компаниях.

Важным преимуществом работы в серверной ферме является обеспечение безопасного соединение клиентов с серверами, происходящим с применением технологии WCF с организацией защищенного канала, благодаря чему клиенты могут работать через интернет из любой точки земного шара с гарантией от несанкционированного доступа к данным.

отказоустойчивая ферма с балансировкой нагрузки

Ферма серверов обеспечивает отказоустойчивость системы к таким событиям как выход из строя серверного компьютера, физический разрыва соединения пользователя с сервером фермы и последующее его переподключением к другим серверам.

Ферма автоматически выполняет балансировку нагрузки между своими рабочими серверами на основе актуального анализа их доступной производительности. При этом администратор системы может корректировать нагрузку на отдельные рабочие серверы. Как за счет физического ограничения обслуживаемых информационных баз или соединений, так и за счет переназначения части функциональности фермы на другие рабочие серверы.

высокоуровневая модель интерфейса

Основной идеей построения интерфейса является максимальное использование информации из метаданных, а также объектов манипулирования данными с тем, чтобы вся конструкция не требовала детальной настройки со стороны разработчика и функционировала по большей части автоматически.

Разработчику достаточно связать такой объект с элементом формы или с самой формой, и механизм интерфейса полностью возьмет на себя организацию просмотра и модификации данных. Платформа автоматически подключит расширения, учитывающие тип данных, с которыми связан элемент управления или форма.

как мы можем помочь?

Свяжитесь с нами в офисе или отправьте запрос онлайн.

ищете первоклассное решение для разработки приложения?