Компания InterSystems временно не ведёт блог на Хабре
UI для Ensemble Workflow на Angular
Те, кто знаком с платформой для интеграции и разработки приложений InterSystems Ensemble, знают, что такое подсистема Ensemble Workflow и как она бывает полезна для автоматизации взаимодействия людей. Для тех же, кто не знаком с Ensemble (и/или Workflow), я кратко опишу её возможности (остальные могут пропустить эту часть и узнать, как они могут использовать пользовательский интерфейс Workflow на Angular.js).
Работа с объектами СУБД Caché на примере Delphi
Несмотря на перманентные похороны Delphi, эта платформа построения Desktop приложений живёт и здравствует, а со сменой владельца даже обретает второе дыхание и продолжает оставаться основным инструментом для тысяч разработчиков во всём мире.
Как и с любыми другими СУБД, Delphi прекрасно взаимодействует с СУБД Caché.
Из Delphi можно подключиться к Caché, используя следующие интерфейсы:
- Caché Objects (объектный, используя библиотеки CacheObject.dll/CacheActiveX.dll);
- Caché SQL (реляционный, используя драйвер ODBC);
- Caché Direct (прямой, используя библиотеку Vism.ocx);
- Веб-сервисы;
- Сокеты.
В данной статье будут рассмотрены примеры использования объектного интерфейса при работе с СУБД Caché.
InterSystems IRIS – универсальная AI/ML-платформа реального времени
Вызовы AI/ML-вычислений реального времени
Начнем с примеров из опыта Data Science-практики компании InterSystems:
- «Нагруженный» портал покупателя подключен к онлайновой рекомендательной системе. Предстоит реструктуризация промо-акций в масштабе розничной сети (допустим, вместо «плоской» линейки промо-акций теперь будет применяться матрица «сегмент-тактика»). Что происходит с рекомендательными механизмами? Что происходит с подачей и актуализацией данных в рекомендательный механизм (объем входных данных возрос в 25000 раз)? Что происходит с выработкой рекомендаций (необходимость тысячекратного снижения порога фильтрации рекомендательных правил в связи с тысячекратным возрастанием их количества и «ассортимента»)?
- Есть система мониторинга вероятности развития дефектов в узлах оборудования. К системе мониторинга была подключена АСУТП, передающая тысячи параметров технологического процесса ежесекундно. Что происходит с системой мониторинга, ранее работавшей на «ручных выборках» (способна ли она обеспечивать ежесекундный мониторинг вероятности)? Что будет происходить, если во входных данных появляется новый блок в несколько сотен колонок с показаниями датчиков, недавно заведенных в АСУТП (потребуется ли и как надолго останавливать систему мониторинга для включения в анализ данных от новых датчиков)?
- Создан комплекс AI/ML-механизмов (рекомендательные, мониторинговые, прогностические), использующих результаты работы друг друга. Сколько человеко-часов требуется ежемесячно для адаптации работы этого комплекса к изменениям во входных данных? Каково общее «замедление» при поддержке комплексом принятия управленческих решений (частота возникновения в нем новой поддерживающей информации относительно частоты возникновения новых входных данных)?
Укрощаем протоколы доверия – OAuth авторизация с InterSystems IRIS
— Сухой «мартини». В большом бокале.
— Oui, monsieur. [Да, месье (фр.)]
— Секунду, еще не все. Три пальца «Гордона», один — водки, полпальца «Кины Ликлет». Хорошо взбейте в шейкере, а потом положите большую дольку лимона. Запомнили?
Ян Флеминг, «Казино Рояль», 1953 год
Часть 1. Истории про OAuth 2.0 and OpenID Connect
Универсальная и, похоже, сегодня в XXI веке всеми любимая связка открытых протоколов делегирования доступа и идентификации называется OAuth+OIDC. Лучше для массово использования пока ничего не придумали. Особенно популярны у фронтендеров, потому что гуляют поверх протоколов HTTP(S) и используют контейнер JWT (JSON Web Token). OpenID Connect использует для своей работы OAuth или, по другому говоря, OIDC является обёрткой для OAuth.
OpenID – открытый стандарт для аутентификации и создания систем цифровой идентификации не новинка для разработчиков. В этом 2019 году ему исполняется 14 лет. В нынешней третьей версии полное название OpenID Connect или короче OIDC. Популярен как в вебе и мобильной разработке, так и в корпоративных системах.
Развёртывание приложений в InterSystems Caché
Введение
Итак, вы разработали своё приложение на технологиях InterSystems. Теперь его надо развернуть у клиента и часто не один раз. В процессе разработки у вас появилась инструкция по установке – потому что недостаточно просто импортировать классы, нужно ещё и
Для решения этих задач существует утилита %Installer. Эта статья о ней.
Релиз InterSystems Ensemble 2015.1 и 2015.2
Главное: поддержка push-уведомлений для iOS и Google-устройств, оптимизация архитектуры баз данных для Ensemble продукций, оптимизация «сквозных» (pass-through inproc) операций.
Построение RESTful web API в Caché
- разделение клиента и сервера,
- независимость от состояния (stateless),
- кэшируемая и многоуровневая архитектура,
- единый интерфейс,
- все запросы к RESTful web API состоят из корневого URL приложения плюс частные подзапросы,
- CRUD через HTTP — HTTP методы GET, PUT, POST, DELETE (RESTful web API).
Роботизация искусственного интеллекта на платформе InterSystems IRIS
Договариваемся о терминологии
Робот не обязан быть ни большим, ни человекоподобным, ни в принципе материальным (в пику википедии, которая, впрочем, спустя пару абзацев смягчает начальную формулировку и допускает нематериальность робота). Робот – это автомат в алгоритмическом смысле, автомат для автономного (алгоритмического) решения каких-то задач. Включающий вечером фонари детектор освещенности – робот. Разбирающий мэйлы на «внешние» и «внутренние» почтовый клиент – тоже.
Искусственный интеллект (в узкоприкладном понимании, википедия его снова не разделяет) это алгоритмы для извлечения зависимостей из данных. Он сам по себе никаких задач решать не будет, для этого его нужно сначала реализовать в виде конкретных аналитических процессов (входные данные, модели, выходные данные, управление процессом). Аналитический процесс, выступающий «носителем искусственного интеллекта» может быть запущен человеком, может быть запущен роботом. И остановлен тоже, или тем, или другим. И управляем тоже.
DSW Reports — генератор отчетов DeepSeeWeb
DSW Reports — генератор отчетов DeepSeeWeb
Часто в аналитических приложениях пользователям нужно периодически формировать и рассылать PDF-отчёты, состоящие из элементов аналитической панели. В разработках на технологиях InterSystems эту задачу решает проект DSW Reports, который является расширением DeepSeeWeb. В этой статье будет описано как пользоваться DSW Reports для генерации PDF-отчетов и рассылки их по электронной почте.
XData Studio Assist — автодополнение в XData блоках классов InterSystems Caché
Релиз СУБД InterSystems Caché 2015.2
В Caché 2015.2 улучшена производительность и масштабируемость, появилась поддержка русского и украинского в iKnow, реализована поддержка CORS в REST.
Книги по Caché и MUMPS
Уважаемое хабрасообщество!
Технология Caché, унаследовавшая в себе M-технологию(MUMPS), развивается уже более 30 лет. Но академических книг по MUMPS вообще и по Caché в частности известно не так много, а такие книги на русском языке — еще большая редкость.
Тем не менее, техническая литература по Caché есть, более того — появляются новые книги. В этом посте приводится обзор текущего состояния по предложению книг о Caché и M-технологиях в России и мире — те книги, которые можно приобрести в сети.
СУБД Cache + Erlang
Для взаимодействия Erlang и Intersystems Cache реализованы возможности:
- Обрабатывать в Cache сообщения из Erlang, транслируя Erlang tuples (внутренний древовидный формат данных Erlang) в глобалы Cache.
- Посылать из Cache сообщения процессам Erlang, транслируя глобалы Cache в Erlang tuples.
Разработанное MCA состоит из трёх основных компонент:
- Message Dispatcher(MD) — управляет обменом сообщениями в конкурентных условиях между различными Erlang-node(EN) и Cache-процессами, обеспечивает кэширование сообщений по определенным правилам. Запускается в соответствующем EN.
- C-node — обеспечивает подгрузку С/C++ библиотек и обмен сообщениями между ними, взаимодействие системы с shared-memory, EN, CallIn/CallOut (функциональностью, реализованной в Cache на языке С) и т.д. На данный момент к С-node, для веб-приложений, c использованием Cache, нами подключены библиотеки для поддержки XSLT преобразования, обработки регулярных выражений.
- Porte – шлюз обмена сообщениями (Messaging Gateway) c MD для Cache. Запускается как отдельный background job, который будем называть Porte-job(PJ).
Релиз InterSystems IRIS 2020.1
В конце марта вышла новая версия платформы данных InterSystems IRIS 2020.1. Даже пандемия коронавируса не предотвратила релиз.
Из важного в новом релизе — повышение быстродействия ядра, генерация REST-приложения по спецификации OpenAPI 2.0, шардинг для объектов, новый вид Портала Управления, поддержка MQTT, универсальный кеш запросов, новый фреймворк для создания элементов продукции на Java или .NET. Полный список изменений и Upgrade Checklist на английском языке можно найти по ссылке. Подробнее — под катом.
Python Gateway в InterSystems IRIS
Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использовать многочисленные готовые библиотеки для быстрого создания адаптивных, роботизированных аналитических AI/ML-решений на платформе InterSystems IRIS. В этой статье я покажу как InterSystems IRIS может оркестровать процессы на языке Python, эффективно осуществлять двустороннюю передачу данных и создавать интеллектуальные бизнес-процессы.
Представляем InterSystems API Manager
Недавно мы выпустили InterSystems API Manager (IAM) — новый компонент InterSystems IRIS Data Platform, обеспечивающий наблюдение, контроль и управление трафиком в/из web API в рамках IT-инфраструктуры.
В этой статье я покажу как настраивать IAM и продемонстрирую некоторые из многочисленных возможностей, которые доступны вам с IAM. InterSystems API Manager позволяет вам:
- Наблюдать за API, понимать кто использует API, какие API наиболее популярны, а какие требуют доработки.
- Контролировать кто использует API и ограничивать использование API от простого ограничения доступа до ограничений в зависимости от запроса — у вас есть настраиваемый контроль и вы можете быстро реагировать на изменения паттернов потребления API.
- Защищать API с помощью централизованных механизмов безопасности, таких как OAuth2.0, LDAP или Key Token Authentication.
- Упростить работу сторонних разработчиков и предоставить им превосходный опыт работы с API, открыв специальный портал для разработчиков.
- Масштабировать API и обеспечить минимальную задержку при ответе.
Управление API является необходимым для перехода к SOA либо микросервисной архитектуре, упрощая интеграцию между отдельными (микро)сервисами, делая их доступными для всех внешних и внутренних потребителей. В итоге новые API становится проще создавать, поддерживать и потреблять.