Crossinform Simplex – программная платформа для создания многоуровневых приложений, удовлетворяющая всем современным требованиям по производительности, масштабируемости, безопасности, расширяемости, удобству сопровождения, надежности и доступности.

Описание платформы

Crossinform Simplex – программная платформа для создания многоуровневых приложений, удовлетворяющая всем современным требованиям по производительности, масштабируемости, безопасности, расширяемости, удобству сопровождения, надежности и доступности.

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

Преимущества

  • Используется для разработки бизнес-логики клиент-серверных и многоуровневых приложений.
  • Позволяет значительно сократить сроки разработки.
  • Обеспечивает высокий уровень операционной поддержки приложений (обработка и логирование ошибок, безопасность и контроль доступа на уровне отдельных объектов, модулей, включая гибкую программную настройку).
  • Используются проверенные практики и шаблоны проектирования, что снижает вероятность возникновения ошибок при разработке самого приложения.
  • При разработке приложений позволяет сосредоточиться на бизнес-логике и пользовательском интерфейсе, а не технических аспектах реализации.
  • Встроенная поддержка масштабируемости приложения: приложение может быть развернуто как на одном сервере, так и на фермах и кластерах серверов.
  • Встроенная поддержка работы с распределенными базами данных: нагрузка на сервера/кластера БД может быть распределена за счет горизонтальной фрагментации.
  • Возможность построения отказоустойчивых, географически распределенных систем.
  • Благодаря заложенным архитектурных принципам достигается высокий уровень поддерживаемости разрабатываемого кода и его возможных доработок.
  • Высокий уровень расширяемости приложений, за счет модульной структуры и возможности взаимодействия между модулями посредством общей сервисной шины.
  • Слабая связанность отдельных компонентов, что позволяет отключать или заменять отдельные модули без влияния на функциональность остальных модулей приложения.
  • Платформа обеспечивает гибкость разработки на всех уровнях.
  • Приложения, разработанные на основе платформы, соответствуют концепциям Test Driven Approach и Domain Driven Design.
  • Платформа хорошо задокументирована и имеет множество описанных реальных примеров и вариантов использования, что позволяет при необходимости оперативно вовлекать в работу над проектами новых сотрудников.

Архитектура

Crossinform Simplex Architecture

Платформа построена на многослойной, многоуровневой архитектуре.

Слой представления (Presentation Layer) может представлять собой как мобильное приложение (PDA, Smartphone, Tablet PC, Windows Phone, iPhone), десктоп приложение, так и веб-приложение, работающее на веб-ферме (Web Farm).

Доступ к бизнес-слою осуществляется исключительно через Simplex SI (Service Interface) – компонент, построенный на базе REST сервиса. Взаимодействие происходит по защищенному протоколу. Так как бизнес слой может располагаться на ферме, то все его компоненты являются stateless – работают без сохранения состояний.

Бизнес-слой, помимо SI компоненты платформы, включает в себя непосредственно сами бизнес компоненты BC (business components) отвечающие за логику разрабатываемого приложения.

Бизнес-слой (Business Layer) и слой доступа к данным (Data Access Layer) физически располагаются на том же сервере или, в общем случае, на ферме приложений (Application Farm). Слой доступа к данным включает в себя компоненты работы с базой данных DAC (Data Access Components) и SA компоненты (Service Agent) – необходимые в случае интеграции со сторонними сервисами поставщиками данных или услуг.

На последнем, третьем уровне, находится кластер (failover cluster) базы данных, отвечающий за хранение информации и обеспечивающий доступ к CRUD (create read update delete) операциям. Приложение, построенное на платформе, может быть развернуто как целиком на 1 сервере (в этом случае SI компонента разворачивается непосредственно в процессе приложения, без сервиса), так и на множестве серверов в случае высоконагруженных систем.

Также имеется мощный инструмент конфигурации распределения нагрузки на сервера БД за счет горизонтальной фрагментации данных, как на модульной основе (разные модули могут работать с разными серверами БД, и при этом без проблем взаимодействовать друг с другом), так и на основе настраиваемых критериев, к примеру, в зависимости от логина или местоположения пользователи будут работать с разными серверами (кластерами) БД.