RU2020136739A - Система и способ создания и исполнения высоко масштабируемых облачных приложений - Google Patents

Система и способ создания и исполнения высоко масштабируемых облачных приложений Download PDF

Info

Publication number
RU2020136739A
RU2020136739A RU2020136739A RU2020136739A RU2020136739A RU 2020136739 A RU2020136739 A RU 2020136739A RU 2020136739 A RU2020136739 A RU 2020136739A RU 2020136739 A RU2020136739 A RU 2020136739A RU 2020136739 A RU2020136739 A RU 2020136739A
Authority
RU
Russia
Prior art keywords
meta
service
data
language
executor
Prior art date
Application number
RU2020136739A
Other languages
English (en)
Inventor
Дмитрий Алексеевич Голубев
Original Assignee
Общество С Ограниченной Ответственностью "Крафт Системз"
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Крафт Системз" filed Critical Общество С Ограниченной Ответственностью "Крафт Системз"
Priority to PCT/RU2020/000595 priority Critical patent/WO2022098253A1/ru
Priority to EP20960940.3A priority patent/EP4242830A1/en
Priority to CN202080107056.0A priority patent/CN116391172A/zh
Publication of RU2020136739A publication Critical patent/RU2020136739A/ru

Links

Claims (19)

1. Облачная система для разработки и исполнения программных веб-приложений, состоящая из микро-сервисов, взаимодействующих между собой посредством программного интерфейса, при этом микро-сервисы представляют собой
сервис мета-модели, включающий репозиторий мета-данных, и сервис интерфейса с мета-моделью, при этом сервис мета-моделей выполнен с возможностью дополнения по меньшей мере одним сервисом по схеме «ведущий - ведомый» для распределения нагрузки при запросах;
сервис управления мета-данными, содержащий веб-интерфейс для работы с мета-данными, взаимодействующий с сервисом мета-моделей для получения и изменения мета-данных, выполненный с возможностью предоставления средств работы с мета-данными, составляющими конфигурацию модулей приложений; реализация визуального редактора для построения интерфейсных форм приложения; предоставление визуального редактора исходного кода мета-языка; реализация механизмов работы с версиями описанных на мета-языке мета-данных, предоставление средств перевода мета-данных на другие языки для локализации приложений;
сервис кросс - компилятора мета-языка, выполненный с возможностью перевода исходного кода мета-языка, представляющего описание бизнес-логики объекта приложения, в код на языке Erlang, компиляции полученного кода на языке Erlang в бинарный код для виртуальной машины Erlang, который может быть загружен и исполнен сервисом исполнения приложений;
сервис управления сессиями, выполненный с возможностью авторизации пользователей, создания сессии, осуществления поиска сервиса исполнителя с необходимыми мета-данными, инициации сервиса исполнителя нужными мета-данными, создания процесса исполнителя и веб-интерфейса, дополнения по меньшей мере одним сервисом по схеме «ведущий - ведомый» для распределения нагрузки при запросах;
сервис исполнителя приложений, выполненный с возможностью загрузки и выполнения приложений, сохраненных в системном репозитории в виде набора мета-объектов сложной структуры, включая описание бизнес-логики в виде скомпилированного бинарного кода, в рамках конкретной рабочей сессии пользователя, дополнения по меньшей мере одним сервисом для распределения нагрузки при запросах;
сервис интерфейса с внешними данными, выполненный с возможностью работы с внешними базами данных и веб-сервисами;
сервис внешнего API системы.
2. Система по п.1, отличающаяся тем, что кросс-компилятор мета-языка содержит лексер, парсер и генератор кода Erlang.
3. Система по п.1, отличающаяся тем, что сервис исполнителя приложений содержит ядро исполнителя, кэш мета-данных, веб-интерфейс и процессы исполнения, динамически создаваемые по запросу.
4. Система по п.1, отличающаяся тем, что сервис интерфейса с внешними данными, выполненный с возможностью работы с внешними базами данных через коннекторы, учитывающие специфику соответствующего источника данных.
5. Система по п.1, отличающаяся тем, что сервис интерфейса с внешними данными выполненный с возможностью обеспечения унифицированного API работы с данными или веб-сервисами.
6. Способ разработки и исполнения программных веб-приложений, содержащий этапы:
описывают объекты приложений в виде мета-данных, хранящихся в репозитории мета-данных, посредством сервиса управления мета-данными и сервиса мета-модели, с использованием мета-языка компилирующего типа, при этом описание объектов приложений основано на описании классов мета-модели;
описанные мета-данные, представленные в виде набора мета-объектов, содержащих свойства, вложенные объекты, а также исходный код мета-языка, реализующий события и процедуры объекта, преобразовывают в код на языке Erlang, при этом осуществляют сравнение исходного кода мета-языка с грамматикой языка и выдают список лексем распознанного языка, осуществляют синтаксический разбор полученного списка лексем, получают синтаксическое дерево разбора лексем, осуществляют семантический анализ синтаксического дерева разбора лексем, получают преобразованный исходный код мета языка на языке Erlang, осуществляют компилирование полученного кода на языке Erlang в исполняемый бинарный код для виртуальной машины Erlang; записывают полученный исполняемый бинарный код в системный репозиторий;
после запуска полученного приложения, посредством сервиса управления сессиями создают сессию и осуществляют поиск сервиса исполнителя с необходимыми мета-данными, инициацию сервиса исполнителя нужными мета-данными, создание процесса исполнителя и веб-интерфейс;
осуществляют запуск и выполнение бинарного кода из системного репозитория посредством сервиса исполнителя, при этом исполнение бинарного кода осуществляется непосредственно на виртуальной машине Erlang.
7. Способ по п.6, отличающийся тем, что мета-модель содержит классы, суб-классы, атрибуты, поведение, типы и субтипы.
8. Способ по п.6, отличающийся тем, что описание классов объектов включает добавление новых классов и наследование существующих классов.
RU2020136739A 2020-11-09 2020-11-09 Система и способ создания и исполнения высоко масштабируемых облачных приложений RU2020136739A (ru)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/RU2020/000595 WO2022098253A1 (ru) 2020-11-09 2020-11-10 Система и способ создания и исполнения высоко масштабируемых облачных приложений
EP20960940.3A EP4242830A1 (en) 2020-11-09 2020-11-10 System and method for creating and executing highly scaled cloud applications
CN202080107056.0A CN116391172A (zh) 2020-11-09 2020-11-10 用于创建和执行高度扩展的云应用的系统和方法

Publications (1)

Publication Number Publication Date
RU2020136739A true RU2020136739A (ru) 2022-05-11

Family

ID=

Similar Documents

Publication Publication Date Title
Agrawal et al. TensorFlow Eager: A multi-stage, Python-embedded DSL for machine learning
US20210279045A1 (en) Integrated development environment for developing and compiling query language schemas for application program interfaces
Martinez et al. CU2CL: A CUDA-to-OpenCL translator for multi-and many-core architectures
JP4183399B2 (ja) 複数言語のコンパイル方法及びシステム
US8850414B2 (en) Direct access of language metadata
EP2827244A1 (en) Extension mechanism for scripting language compiler
Grimmer et al. Cross-language interoperability in a multi-language runtime
Marlow et al. The glasgow haskell compiler
US20120198416A1 (en) Support for heterogeneous database artifacts in a single project
US20090328016A1 (en) Generalized expression trees
US20240028307A1 (en) Notebook for navigating code using machine learning and flow analysis
Biboudis et al. Streams à la carte: Extensible pipelines with object algebras
CN110851142A (zh) 一种将Transact-SQL程序转换为Java程序的方法
Viglas Just-in-time compilation for SQL query processing
CN111771186A (zh) 编译器生成的异步可枚举对象
Bourgeois et al. Extending executability of applications on varied target platforms
RU2020136739A (ru) Система и способ создания и исполнения высоко масштабируемых облачных приложений
CN110874213A (zh) 一静态强类型语言的运行时类型扩展与反射方法
US11442712B2 (en) Leveraging unspecified order of evaluation for compiler-based program optimization
EP4242830A1 (en) System and method for creating and executing highly scaled cloud applications
McNamara Rust in Action
Varsha et al. A Review of Existing Approaches to Increase the Computational Speed of the Python
Castro et al. Landscape of High-Performance Python to Develop Data Science and Machine Learning Applications
Hackman et al. mel-model extractor language for extracting facts from models
Liang et al. An OpenMP programming environment on mobile devices