Как стать автором
Обновить
0
Orienteer
Open Source Business Application Platform

Свой BaaS c моделированием предметной области, скриптами и многим другим за полчаса

Время на прочтение4 мин
Количество просмотров7.9K
Сегодня расскажем и покажем как за полчаса поднять свой Backend as a Service (BaaS) с весьма интересными возможностями.



BaaS — это веб-приложение, которое работает в облаке и предоставляет все необходимое для бизнес/мобильных приложений и сайтов (front-end). BaaS как минимум позволяет:

  • Управлять пользователями и ролями
  • Моделировать предметную область
  • Получать доступ к данным через REST
  • Управлять самими данными (база данных)

Вот здесь уважаемый yurash собрал основные на 2012 год BaaS-системы. Сейчас их значительно больше, но в плане вопросов, которые задают люди о BaaS-платформах, статья актуальна. Кстати, если интересует текущий рынок BaaS (и BAP — business application platform), то могу поделиться в следующей статье.

Что берем для создания BaaS


  • Orienteer — конструктор бизнес-приложений (business application platform) с открытым исходным кодом. В своей основе Orienteer использует OrientDB — NoSQL мульти-парадигмная база данных с крутыми возможностями прямо из коробки.

  • Docker Cloud — свободная платформа для развертывания в облаке контейнеров с приложениями Docker. На Хабре много статей про Docker.

BaaS на основе Docker-Orienteer позволяет быстро создавать приложения и быстро вносить изменения в уже имеющиеся приложения. При этом у системы низкий порог вхождения: простейшее приложение может создать человек, не знакомый с базами данных и программированием.
Связка BaaS-Docker может быть полезна и сервис-провайдерам, малым дизайн студиям и менеджерам in-house дата-систем.

Что получим в итоге


  1. Конструктор модели данных
  2. Широкий список типов данных: от примитивных (INTEGER, STRING и т.п.) до комплексных (LINK, EMBEDDED, LINKMAP, EMBEDDEDMAP), SPATIAL
  3. Экранные формы и виджеты для создания объектов спроектированной модели
  4. Управление пользователями и ролями
  5. Серверные скрипты на JavaScript/SQL
  6. REST-интерфейс с динамическим добавлением/изменением/удалением своих функций
  7. Проектирование и исполнение бизнес-процессов BPMN на основе Camunda
  8. Модульная архитектура для гибкого расширения через java, если очень понадобится

Развертываем


Вот он наш план на ближайшие полчаса

  1. Регистрируемся на Docker Cloud
  2. Регистрируемся на Digital Ocean (AWS, Azure и т.п.)
  3. Связываем Docker Cloud и Digital Ocean: создаем свою ноду
  4. Создаем и запускаем свой сервис Orienteer
  5. Настраиваем под себя

Регистрация на Docker Cloud


Docker Cloud в плане процедуры регистрации не отличается чем-то особенным от других сервисов в интернете.

  1. Заходим на Docker Cloud
  2. Придумываем Docker ID (aka username). Рекомендую использовать только нижний регистр со знаком “-”: если в будущем захотите использовать Docker весьма тесно и будете выпускать свои образы для контейнеров, будет проще адресовывать
  3. Задаем email и пароль
  4. Подтверждаем email, и всё: вы зарегистрированы!

Регистрация на Digital Ocean


  1. Идем на Digital Ocean. Рекомендую использовать эту реферальную ссылку, так как это даст вам дополнительные $10
  2. Регистрация еще проще чем на Docker Cloud: задаете email и пароль
  3. При регистрации рекомендую использовать promo-code от Docker Cloud, который даст вам еще $20. Чтобы узнать его, зайдите в Cloud Settings на Docker Cloud. Вы увидите что-то типа этого:



  4. Подтверждаете email и всё: вы зарегистрированы

Связываем Digital Ocean и Docker Cloud


  1. Идем на знакомую страницу Docker Cloud > Cloud Settings (см. картинку выше)
  2. В строке Digital Ocean нажимаем на перечеркнутую розетку
  3. Авторизуем Digital Ocean для Docker Cloud’а (то есть, вводим email и пароль докера)
  4. Готово

Создаем свой сервис Orienteer


  1. Прежде всего надо создать как минимум одну ноду, на которой будем запускать наш BaaS. Для этого на Docker Cloud:

    • Идем в Node Clusters и нажимаем Create
    • В пункте Providers выбираем Digital Ocean
    • Указываем регион
    • Выбираем тип ноды. Рекомендую выбирать с не менее чем 1 Гб памяти
    • Жмем Create. Вы увидите что-то вроде картинки ниже. Docker Cloud сам закажет, установит, настроит и запустит ноду на Digital Ocean



  2. Осталось совсем чуть-чуть: запустить свою копию Orienteer из образа Docker. Orienteer — гомогенное приложение: все свое носит с собой. Поэтому создавать Docker Stack не понадобится. Нужен лишь сам сервис.

    • Идем в Services и нажимаем Create
    • В предложенном списке сверху выбираем Public Services
    • В блоке слева вводим критерий поиска: orienteer/orienteer
    • Выбираем именно orienteer/orienteer и попадаем на такую страницу:



    • Из всего множества настроек единственное, что обязательно необходимо настроить — это порты, доступные снаружи. Например, так:



    • Жмем Create & Deploy

  3. Придется подождать, пока образ Docker будут скачан на нашу ноду и запущен. Обычно это занимает не больше 3 минут. В итоге вы увидите что-то как на картинке ниже.


    Жмем на ссылку и попадаем на наш собственный BaaS на основе Orienteer. Чтобы войти в систему используйте логин/пароль по умолчанию: admin/admin



Настраиваем под себя




Для настройки крайне рекомендую обратиться к официальной документации, а в частности к главе по созданию собственного бизнес приложения (в формате walkthrough).

Настройку под конкретное ваше приложение можно условно разделить на следующие шаги:

  1. Создать модель данных
  2. Сконфигурировать модель ролей и пользователей
  3. Раздать права по ролям/пользователям
  4. Добавить необходимые скрипты исполняемые на серверной стороне
  5. Настроить интерфейс: виджеты, отчеты, графики, перспективы и т.д.

Нет предела совершенству, поэтому доводить напильником можно до бесконечности: вводя свои виджеты, свои форматы экспорта, бизнес процессы, печатные отчеты, нотификации и т.д. Если есть вопросы по дальнейшей настройке под ваши нужды: всегда рады помочь!
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
О чем вам было бы интересно почитать в следующий раз в нашем блоге?
50.85% Подробнее об Orienteer30
33.9% О ныне активных BaaS20
47.46% Как создать собственную CRM, ERP, XXX на основе Orienteer без навыков кодирования28
16.95% Apache Wicket10
25.42% OrientDB15
28.81% Camunda17
22.03% Docker и Docker Cloud в частности13
1.69% Другое (напишу в комментариях)1
Проголосовали 59 пользователей. Воздержались 16 пользователей.
Теги:
Хабы:
Всего голосов 12: ↑11 и ↓1+10
Комментарии11

Публикации

Информация

Сайт
orienteer.org
Дата регистрации
Дата основания
Численность
2–10 человек
Представитель
OrienteerBAP

Истории