Espresso Logic представила новый инструмент командной строки администратора для создания и поддержки проекта и внутренних компонентов проекта для работающего сервера REST. В предыдущем блоге мы говорили об инструменте командной строки для выполнения REST-вызовов к ресурсам на работающем сервере Espresso. Понимание административной командной строки требует определенных знаний о базовой организации метамодели (схемы) Espresso Logic, используемой внутри для управления REST API, соединениями с базами данных, ресурсами, безопасностью, бизнес-логикой и определениями приложений. После запуска устройства, установки или облачного сервера вы можете использовать основанную на браузере Espresso logic Design Studio или интерфейс командной строки Node.js, найденный на GitHub., Сервер организован в проекты, и каждый проект имеет набор свойств и служб, используемых для создания, защиты и обслуживания конечных точек REST.
Монтаж
$npm install espresso-admin-cli
Вход в систему
После того, как вы установили командную строку администратора, вы начинаете с учетных данных, предоставленных Espresso Logic.
espressoadmin login <url> -u <user-name> -p <password> [-a <alias>]
схема
Интерфейс командной строки и студия веб-дизайна предоставляют интерфейсы уровня обслуживания для перечисления, создания, обновления и удаления различных элементов проекта. Эти элементы показаны ниже в схеме и включают поставщиков аутентификации, пользователей и роли, ресурсы и бизнес-правила.
Службы командной строки
Службы командной строки предоставляют способ добавлять, изменять, перечислять или удалять различные компоненты вашего REST-сервера Espresso Logic.
$ espressoadmin --help Usage: espressoadmin [options] [command] Commands: login [options] <url> Login to an Espresso Logic server logout [options] [url] Logout from the current server, or a specific server use <alias> Use the specified server by default status Show the current server, and any defined server aliases database [options] <list|create|update|delete> Administer databases within a project. resource [options] <list> Administer resources within a project. rule [options] <list|create|delete> Administer rules within a project. authprovider <list> Administer authentication providers for an account. Options: -h, --help output usage information -V, --version output the version number
проект
Сервер может иметь один или несколько проектов. Проект — это контейнер, который используется для всех остальных сервисов. Все содержимое проекта может быть импортировано или экспортировано в файл JSON.
espressoadmin project create --project_name <name> --url_name <url_name> [--status <A|I>] [--comments <comments>] [--verbose]
Соединения с базой данных
Espresso Logic поддерживает множество типов баз данных. Соединение с базой данных используется для чтения информации о схеме и создания конечных точек RESTful для таблиц, представлений и хранимых процедур (если поддерживается базой данных). Смотрите страницу GitHub для получения подробной информации о поддерживаемых типах баз данных. Каждый проект имеет основную базу данных (вы также можете интегрировать базы данных MongoDB и использовать JavaScript для интеграции других источников данных). Вы можете определить несколько активных баз данных, каждая со своим собственным префиксом. Неактивные базы данных могут иметь префиксные значения, которые не являются уникальными. Когда неактивная база данных становится активнойлюбая активная база данных с таким же префиксом становится неактивной. Несколько записей с одинаковым префиксом могут использоваться для тестирования, разработки, производственных сред. Для получения дополнительной информации о поддержке нескольких баз данных и отношений смотрите страницы онлайн- документации .
espressoadmin database create --name <name> --user_name <db-user-name> --password <db-password> --url <db-url> --dbasetype <type> [--prefix <prefix>] [--catalog_name <catalog>] [--schema_name <schema>] [--port_num <port>] [--comments <comments>]
Правила и события
Бизнес-правила автоматически вызываются, когда на сервер REST отправляется POST / PUT или DELETE. Механизм реактивной логики серверов будет определять, какие выводы, проверки и события следует обрабатывать в многотабличной транзакции.
Правило командной строки
Интерфейс командной строки позволяет просматривать, создавать и управлять различными типами правил. Правила (иначе говоря, Live Logic) могут применяться на уровне атрибутов столбцов (называемых деривациями для выполнения сумм, подсчета, формулы, репликации) и проверок объектов объектов таблицы. События можно добавлять с помощью JavaScript и применять в разных точках транзакции бизнес-логики.
Usage: rule [options] <list|create|delete> Options: -h, --help output usage information --ruletype [type] The type of the rule, can be: sum,formula,validation,parentcopy --entity_name [prefix:table] The table, qualified with a prefix, for the rule --attribute_name [name] The name of the attribute whose value is computed by the rule. Required for sum, count, formula, minimum, maximum. --role_name [name] The role name - required for sum, count, minimum, maximum --clause [clause] The clause - required for sum, count, minimum, maximum --child_attribute [name] The name of the child attribute - required for sum, minimum, maximum --parent_attribute [name] The name of the parent attribute - required for parent copy --expression [code] The code for the rule - required for formula,events and validations --error_message [message] The error mesaage for the rule - required for validations --rule_name [name] Optional: a name for the rule. If not specified, a name will be generated. --comments [comments] Optional: a comment for the rule --active [true|false] Optional: whether the rule should be active, true by default --project_ident The ident of a project, if other than the current project --ident [ident] For delete, the ident of the rule to delete
Поставщики аутентификации
Все взаимодействие с сервером Espresso Logic осуществляется через вызовы API с использованием JSON / REST. Поставщик аутентификации — это способ общения с сервером Espresso Logic. В результате проверки подлинности пользователя создается новый ключ API, который передается на все последующие запросы и связывается с набором ролей безопасности, которые определяют, на что авторизован ключ API. Подробнее о добавлении пользовательских служб аутентификации, таких как Active Directory, LDAP, REST, SQL или Stormpath, см. На страницах документации .
espressoadmin authprovider list
Выйти
Используйте команду выхода из системы, чтобы завершить рабочий сеанс.
espressoadmin logout [-a <alias>]
Резюме
Espresso Logic предоставляет Node.js SDK для разработчиков для работы с конечными точками REST, а также интерфейсный модуль командной строки Node.JS в GitHub . Эта ранняя версия командной строки администратора Node.JS не имеет всех функций и возможностей, доступных в студии веб-дизайна. Сама студия дизайна основана на вызовах REST API к мета-схеме. Все сервисы и функции могут быть вызваны напрямую из сервисов REST API.