RU2020136739A - Система и способ создания и исполнения высоко масштабируемых облачных приложений - Google Patents
Система и способ создания и исполнения высоко масштабируемых облачных приложений Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims 4
- 230000000007 visual effect Effects 0.000 claims 2
- 230000003190 augmentative Effects 0.000 claims 1
- 230000006399 behavior Effects 0.000 claims 1
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, отличающийся тем, что описание классов объектов включает добавление новых классов и наследование существующих классов.
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 |