Как стать автором
Обновить

Компания InterSystems временно не ведёт блог на Хабре

Сначала показывать

Блоки. Внутреннее устройство файла базы данных Caché. Часть 2

Время на прочтение5 мин
Количество просмотров7.2K
Эта публикация – продолжение моей статьи, в которой я рассказал, как устроена база данных Caché изнутри. В ней я описал типы блоков, как они связаны, какое отношение имеют к глобалам. В той статье была теория. Я создал проект, позволяющий визуализировать дерево блоков – и в этой статье вы всё это увидите. Добро пожаловать под кат.


Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии10

UI для Ensemble Workflow на Angular

Время на прочтение21 мин
Количество просмотров6.9K


Те, кто знаком с платформой для интеграции и разработки приложений InterSystems Ensemble, знают, что такое подсистема Ensemble Workflow и как она бывает полезна для автоматизации взаимодействия людей. Для тех же, кто не знаком с Ensemble (и/или Workflow), я кратко опишу её возможности (остальные могут пропустить эту часть и узнать, как они могут использовать пользовательский интерфейс Workflow на Angular.js).
Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии2

Работа с объектами СУБД Caché на примере Delphi

Время на прочтение17 мин
Количество просмотров11K

Несмотря на перманентные похороны Delphi, эта платформа построения Desktop приложений живёт и здравствует, а со сменой владельца даже обретает второе дыхание и продолжает оставаться основным инструментом для тысяч разработчиков во всём мире.
Как и с любыми другими СУБД, Delphi прекрасно взаимодействует с СУБД Caché.

Из Delphi можно подключиться к Caché, используя следующие интерфейсы:


В данной статье будут рассмотрены примеры использования объектного интерфейса при работе с СУБД Caché.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии5

InterSystems IRIS – универсальная AI/ML-платформа реального времени

Время на прочтение23 мин
Количество просмотров24K
Автор: Сергей Лукьянчиков, инженер-консультант InterSystems

Вызовы AI/ML-вычислений реального времени


Начнем с примеров из опыта Data Science-практики компании InterSystems:

  • «Нагруженный» портал покупателя подключен к онлайновой рекомендательной системе. Предстоит реструктуризация промо-акций в масштабе розничной сети (допустим, вместо «плоской» линейки промо-акций теперь будет применяться матрица «сегмент-тактика»). Что происходит с рекомендательными механизмами? Что происходит с подачей и актуализацией данных в рекомендательный механизм (объем входных данных возрос в 25000 раз)? Что происходит с выработкой рекомендаций (необходимость тысячекратного снижения порога фильтрации рекомендательных правил в связи с тысячекратным возрастанием их количества и «ассортимента»)?
  • Есть система мониторинга вероятности развития дефектов в узлах оборудования. К системе мониторинга была подключена АСУТП, передающая тысячи параметров технологического процесса ежесекундно. Что происходит с системой мониторинга, ранее работавшей на «ручных выборках» (способна ли она обеспечивать ежесекундный мониторинг вероятности)? Что будет происходить, если во входных данных появляется новый блок в несколько сотен колонок с показаниями датчиков, недавно заведенных в АСУТП (потребуется ли и как надолго останавливать систему мониторинга для включения в анализ данных от новых датчиков)?
  • Создан комплекс AI/ML-механизмов (рекомендательные, мониторинговые, прогностические), использующих результаты работы друг друга. Сколько человеко-часов требуется ежемесячно для адаптации работы этого комплекса к изменениям во входных данных? Каково общее «замедление» при поддержке комплексом принятия управленческих решений (частота возникновения в нем новой поддерживающей информации относительно частоты возникновения новых входных данных)?

Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии2

Укрощаем протоколы доверия – OAuth авторизация с InterSystems IRIS

Время на прочтение11 мин
Количество просмотров3.4K
Как разрешить компьютерам доверять друг другу в ваше отсутствие, сохраняя безопасность и приватность?



— Сухой «мартини». В большом бокале.
— 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. Популярен как в вебе и мобильной разработке, так и в корпоративных системах.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии3

Релиз интеграционной платформы Ensemble 2016.1

Время на прочтение5 мин
Количество просмотров2.9K

Вышла новая версия интеграционной платформы InterSystems Ensemble 2016.1. Ключевые новшества: улучшение функциональности сервисной шины предприятия (Enterprise Service Bus, ESB), мониторинга и работы с сообщениями. Подробности под катом.


image

Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии0

Развёртывание приложений в InterSystems Caché

Время на прочтение9 мин
Количество просмотров4K
Kazuya Akimoto Ten Blue Eyes

Введение


Итак, вы разработали своё приложение на технологиях InterSystems. Теперь его надо развернуть у клиента и часто не один раз. В процессе разработки у вас появилась инструкция по установке – потому что недостаточно просто импортировать классы, нужно ещё и доработать систему напильником провести тонкую настройку среды под ваши нужды.

Для решения этих задач существует утилита %Installer. Эта статья о ней.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии1

Релиз InterSystems Ensemble 2015.1 и 2015.2

Время на прочтение3 мин
Количество просмотров2.7K
В июле состоялся релиз интеграционной платформы InterSystems Ensemble 2015.2. В этой статье обзор основных улучшений 2015.2 и 2015.1.

Главное: поддержка push-уведомлений для iOS и Google-устройств, оптимизация архитектуры баз данных для Ensemble продукций, оптимизация «сквозных» (pass-through inproc) операций.
Подробности под катом
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Построение RESTful web API в Caché

Время на прочтение9 мин
Количество просмотров14K
В InterSystems Caché появилась поддержка REST. О том, что такое REST на Хабре уже писали и не раз. Если кратко — это паттерн построения RESTful web API, и ему присущи следующие свойства:
  • разделение клиента и сервера,
  • независимость от состояния (stateless),
  • кэшируемая и многоуровневая архитектура,
  • единый интерфейс,
  • все запросы к RESTful web API состоят из корневого URL приложения плюс частные подзапросы,
  • CRUD через HTTP — HTTP методы GET, PUT, POST, DELETE (RESTful web API).
Читать дальше →
Всего голосов 20: ↑15 и ↓5+10
Комментарии15

Роботизация искусственного интеллекта на платформе InterSystems IRIS

Время на прочтение10 мин
Количество просмотров2.1K
Автор: Сергей Лукьянчиков, инженер-консультант InterSystems

Договариваемся о терминологии


Робот не обязан быть ни большим, ни человекоподобным, ни в принципе материальным (в пику википедии, которая, впрочем, спустя пару абзацев смягчает начальную формулировку и допускает нематериальность робота). Робот – это автомат в алгоритмическом смысле, автомат для автономного (алгоритмического) решения каких-то задач. Включающий вечером фонари детектор освещенности – робот. Разбирающий мэйлы на «внешние» и «внутренние» почтовый клиент – тоже.

Искусственный интеллект (в узкоприкладном понимании, википедия его снова не разделяет) это алгоритмы для извлечения зависимостей из данных. Он сам по себе никаких задач решать не будет, для этого его нужно сначала реализовать в виде конкретных аналитических процессов (входные данные, модели, выходные данные, управление процессом). Аналитический процесс, выступающий «носителем искусственного интеллекта» может быть запущен человеком, может быть запущен роботом. И остановлен тоже, или тем, или другим. И управляем тоже.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

DSW Reports — генератор отчетов DeepSeeWeb

Время на прочтение5 мин
Количество просмотров2.6K

DSW Reports — генератор отчетов DeepSeeWeb


Часто в аналитических приложениях пользователям нужно периодически формировать и рассылать PDF-отчёты, состоящие из элементов аналитической панели. В разработках на технологиях InterSystems эту задачу решает проект DSW Reports, который является расширением DeepSeeWeb. В этой статье будет описано как пользоваться DSW Reports для генерации PDF-отчетов и рассылки их по электронной почте.

Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Релиз СУБД InterSystems Caché 2016.1

Время на прочтение4 мин
Количество просмотров5.6K
Всем привет! Рады представить вам новую версию Caché 2016.1, релиз которой состоялся во второй половине марта. Важных и интересных изменений действительно много, поэтому предлагаю сразу перейти к ним.

Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии3

XData Studio Assist — автодополнение в XData блоках классов InterSystems Caché

Время на прочтение12 мин
Количество просмотров2.4K
Эта статья – перевод моей статьи, опубликованной на новом портале InterSystems Developer Community. В ней рассказывается о ещё одной возможности в Studio — поддержке автодополнения при создании XML документов в XData. Эта статья развивает идею, поднятую Альбертом Фуэнтесом, об использовании XData и кодогенераторов, для упрощенного создания неких правил. Вы уже могли сталкиваться с автодополнением в XData при разработке ZEN приложения, %Installer-манифеста или REST брокера. Называется это Studio Assist. Я расскажу, как можно настроить и использовать такую возможность.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии3

А вы уже поменяли $Increment на $Sequence?

Время на прочтение8 мин
Количество просмотров10K
Если бы это была запись для твиттера, то она была бы следующей: «Программисты на Caché ObjectScript! Используйте $Sequence вместо $Increment для генерации Id». Но тут Хабр, поэтому придётся развернуть мысль – добро пожаловать под кат.


Читать дальше →
Всего голосов 21: ↑15 и ↓6+9
Комментарии23

Релиз СУБД InterSystems Caché 2015.2

Время на прочтение4 мин
Количество просмотров3K
Корпорация InterSystems на Global Summit 2015 приняла социалистическое обязательство объявила о политике частых релизов — выпуск новых версий как минимум 4 раза в год. В исполнение этого обета, 8 июля вышел релиз СУБД InterSystems Caché 2015.2 через 3 месяца после релиза Caché 2015.1. Видео о релизе.
В Caché 2015.2 улучшена производительность и масштабируемость, появилась поддержка русского и украинского в iKnow, реализована поддержка CORS в REST.
Подробности
Всего голосов 11: ↑10 и ↓1+9
Комментарии1

Книги по Caché и MUMPS

Время на прочтение3 мин
Количество просмотров8.6K
image
Уважаемое хабрасообщество!
Технология Caché, унаследовавшая в себе M-технологию(MUMPS), развивается уже более 30 лет. Но академических книг по MUMPS вообще и по Caché в частности известно не так много, а такие книги на русском языке — еще большая редкость.
Тем не менее, техническая литература по Caché есть, более того — появляются новые книги. В этом посте приводится обзор текущего состояния по предложению книг о Caché и M-технологиях в России и мире — те книги, которые можно приобрести в сети.
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии4

СУБД Cache + Erlang

Время на прочтение3 мин
Количество просмотров6.8K
В этой статье я расскажу о том, как мы подружили Cache + Erlang, и зачем нам это нужно. СУБД Cache была выбрана в качестве хранилища данных. Также мы создали и эксплуатируем MCA(Middleware for Cache Applications) — промежуточное программное обеспечение, обеспечивающее конкурентную модель взаимодействия Erlang и Cache.

Для взаимодействия 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).

Как это работает?
Всего голосов 15: ↑12 и ↓3+9
Комментарии20

Релиз InterSystems IRIS 2020.1

Время на прочтение7 мин
Количество просмотров1.1K


В конце марта вышла новая версия платформы данных InterSystems IRIS 2020.1. Даже пандемия коронавируса не предотвратила релиз.


Из важного в новом релизе — повышение быстродействия ядра, генерация REST-приложения по спецификации OpenAPI 2.0, шардинг для объектов, новый вид Портала Управления, поддержка MQTT, универсальный кеш запросов, новый фреймворк для создания элементов продукции на Java или .NET. Полный список изменений и Upgrade Checklist на английском языке можно найти по ссылке. Подробнее — под катом.

Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Python Gateway в InterSystems IRIS

Время на прочтение18 мин
Количество просмотров2.1K

Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использовать многочисленные готовые библиотеки для быстрого создания адаптивных, роботизированных аналитических AI/ML-решений на платформе InterSystems IRIS. В этой статье я покажу как InterSystems IRIS может оркестровать процессы на языке Python, эффективно осуществлять двустороннюю передачу данных и создавать интеллектуальные бизнес-процессы.

Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Представляем InterSystems API Manager

Время на прочтение7 мин
Количество просмотров1.2K

Недавно мы выпустили 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 становится проще создавать, поддерживать и потреблять.

Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии0