Технологический стек

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

jsBeans

jsBeans – это изоморфный фреймворк класса full-stack для создания комплексных решений с развитым веб-интерфейсом, объектной иерархией и клиент-серверным взаимодействием на языке JavaScript.

Особенности

Главная особенность jsBeans состоит в том, что и веб-интерфейс и бизнес логика приложений разрабатываются в едином стиле – в виде иерархий объектов на языке JavaScript, напоминающих EJB-компоненты в Java EE.

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

Бины

Бины описываются в виде JavaScript-объектов. Они содержат системные поля, отражающие специфику функционирования бина, а также ряд пользовательских полей и методов для описания бизнес логики.

Клиент-серверные бины содержат несколько секций (в частности – $server и $client ). В секции $client располагаются поля и методы для взаимодействия с DOM моделью браузера, а в секции $server – серверные поля и методы, отвечающие за бизнес логику, работу с СУБД, файловой системой и другими ресурсами операционной системы.

При создании экземпляра бина на стороне клиента создается соответствующий ему серверный экземпляр и между ними устанавливается взаимодействие, характер которого (один к одному / много к одному) задается разработчиком при декларации бина. Взаимодействие между кодом из разных секций осуществляется прозрачно для разработчика, путем вызова автоматически генерируемых асинхронных proxy методов.

JSB-контейнер

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

Сервер приложений jsBeans

На стороне сервера контейнер бинов работает под управлением сервера приложений jsBeans. Сервер jsBeans, в свою очередь, реализован на Java с Rhino в качестве серверного JavaScript движка, встроенным Web сервером Jetty и сервисной шиной, разработанной с использованием Akka. Сервер jsBeans совместим с любыми Java-библиотеками и может функционировать как самостоятельное решение, так и в составе любого другого проекта, работающего под управлением JVM.

Условия использования

jsBeans распространяется свободно. Условия его использования соответствуют программному обеспечению с открытыми исходными кодами и равнозначно MIT License (MIT).
Дополнительная информация представлена на сайте jsbeans.org


jsBeans

Разработка комплексной системы с использованием jsBeans потребует от разработчика только знания JavaScript, HTML5 и CSS3

Компоненты

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

JSB.Widgets

Библиотека визуальных компонентов для создания приложений и сервисов с развитым веб-интерфейсом

DataCube

Технология формирования единой модели данных, собранной из различных источников и СУБД

JSB.Workspace

Набор компонентов для построения решений с разделением доступа к пользовательскими пространствам

JSB.Diagram

Компоненты диаграмного движка для создания конструкторов, редакторов и других инженерных решений

JSB.Parser

Набор компонентов для преобразования данных от внешних источников в структурированную форму

JSB.Workflow

Движок визуального конструирования и исполнения схем автоматизации бизнес-процессов

JSB.Queue

Движок управления очередями задач с динамической расстановкой приоритетов и виртуальными ресурсами

JSB.Crawler

Комплекс компонентов для сбора и обработки данных с новостных сайтов, социальных сетей и других источников

JSB.Ontology

Набор компонентов для редактирования структур данных и описания предметных областей

JSB.Cluster

Компоненты для построения высоконагруженных систем и систем с распределенными вычислениями

UniMap

Движок автоматического конструирования диалоговых форм на основе модели данных и правил отображения

JSB.Intelligence

Набор компонентов для создания решений в области информационной разведки

JSB.Query

Универсальная технология извлечения и анализа данных из гетерогенных источников

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