В конце марта вышла новая версия платформы данных InterSystems IRIS 2020.1. Даже пандемия коронавируса не предотвратила релиз. Из важного в новом релизе — повышение быстродействия ядра, генерация REST-приложения по спецификации OpenAPI 2.0, шардинг для объектов, новый вид Портала Управления, поддержка MQTT, универсальный кеш запросов, новый фреймворк для создания элементов продукции на Java или .NET. Полный список изменений и Upgrade Checklist на английском языке можно найти по ссылке. Подробнее — под катом. InterSystems IRIS 2020.1 — это релиз с расширенной поддержкой. InterSystems выпускает два вида релизов InterSystems IRIS: Между релизами с расширенной поддержкой 2019.1 и 2020.1 выходили релизы только в образах Docker — 2019.2, 2019.3, 2019.4. Все новые функции и исправления из этих релизов вошли в 2020.1. Некоторые возможности из перечисленных ниже впервые появились в одном релизов 2019.2, 2019.3, 2019.4.  Итак. В дополнение к InterSystems API Manager, поддерживаемому с версии 2019.1.1, в релизе 2020.1 появилась возможность генерировать костяк кода для REST-сервиса по спецификации в формате OpenAPI 2.0. Подробнее смотрите в разделе документации «Creating REST Services».  Этот релиз позволяет при установке конвертировать инсталляцию Caché или Ensemble в InterSystems IRIS. Сама конвертация возможно потребует изменений в программном коде, настройках или других скриптах, но в большинстве случаев будет простой.  Перед конвертацией прочитайте InterSystems IRIS In-Place Conversion Guide и InterSystems IRIS Adoption Guide. Эти документы находятся на сайте Всемирного центра поддержки InterSystems в разделе «Документы». Низкоуровневый быстрый доступ из Python к многомерным массивам, в которых InterSystems IRIS хранит данные. Подробнее — «Native API for Python». Низкоуровневый быстрый доступ из Node.js к многомерным массивам, в которых InterSystems IRIS хранит данные. Подробнее — «Native API for Node.js». Поддержка ODBC-доступа к InterSystems IRIS для разработчиков на Node.js Соединения .NET и Java-шлюзов теперь двусторонние. То есть, программа на .NET или Java, вызванная из IRIS через шлюз, использует это же соединение для обращения к IRIS. Подробнее — «Java Gateway Reentrancy». IRIS Native API для Java и .NET поддерживает списки $LIST и передачу параметров по ссылке. В этот релиз вошли первые изменения в Портале Управления. Они пока касаются только внешнего вида и не затрагивают функционал. Универсальный кеш запросов. Начиная с 2020.1, все запросы, включая встроенные запросы и запросы классов, будут сохранятся как кешированные запросы. Раньше использование встроенных запросов требовало перекомпиляции программы для генерации нового кода запроса, например если появился новый индекс или изменилась статистика таблицы. Теперь все планы запросов хранятся в одном кеше и очищаются независимо от программы, в которой используется запрос. Большее число типов запросов теперь параллелизуется, включая запросы DML. Запросы к таблице, разделённой по шардам, теперь могут использовать неявный join "->". Запросы, запускаемые из Портала управления, теперь исполняются в фоновом процессе. Долгие запросы теперь не будут отваливаться по таймауту веб-страницы. Затянувшиеся запросы теперь можно отменять. В этот релиз вошёл новый фреймворк PEX (Production EXtension), дающий дополнительный выбор языка реализации компонентов продукции. В этом релизе PEX поддерживает Java и .NET для разработки бизнес-служб, бизнес-процессов и бизнес-операций, а также для входящих и исходящих адаптеров. Раньше можно было создавать только бизнес-службы и бизнес-операции и приходилось вызывать кодогенератор в Портале Управления. Фреймворк PEX предоставляет более гибкие средства включения кода на Java и .NET в компоненты продукции, зачастую без программирования на ObjectScript. В пакет PEX входят следующие классы: Подробнее — «PEX: Developing Productions with Java and .NET». Утилита Port Authority отслеживает порты, используемые бизнес-службами и бизнес-операциями. С её помощью можно определить доступные порты и зарезервировать их. Подробнее — «Managing Port Usage». В этот релиз входят адаптеры, поддерживающие протокол MQTT (Message Queuing Telemetry Transport), который часто используется в приложениях для Интернета Вещей (Internet of Things — IoT). Подробнее — «Using MQTT Adapters in Productions». В этом релизе появился более простой и понятный способ создания кластера — на базе отдельных серверов (node level), а не областей, как в предыдущих версиях. Новый API — %SYSTEM.Cluster. Новый подход совместим со старым — кластер на базе областей (namespace level), — и не требует изменений в существующих инсталляциях. Подробнее — «Elements of Sharding» и «Sharding APIs». В этот релиз вошли улучшения в инфраструктуре и развёртывании в облаке, включая:  Начиная с этого релиза InterSystems IRIS Business Intelligence (прежде известный как DeepSee) поддерживает выборочное построение куба — только одного показателя или измерения. Можно изменить описание куба и перестроить только то, что изменилось, сохраняя доступность всего куба, во время перестройки. Microsoft PowerBI теперь поддерживает работу с таблицами и кубами InterSystems IRIS. Коннектор поставляется с PowerBI, начиная с релиза апреля 2019 года. Подробнее — «InterSystems IRIS Connector for Power BI». В этом релизе появился новый режим предпросмотра при составлении сводных таблиц в Analyzer. Так можно быстро оценить правильность запроса, не дожидаясь его полных результатов. Если у вас есть поддержка — скачайте дистрибутив с раздела Online Distributions сайта wrc.intersystems.com Если вы только хотите попробовать InterSystems IRIS — https://www.intersystems.com/ru/try-intersystems-iris-for-free/ Ещё проще через Docker: 7 апреля в 17:00 по московскому времени пройдёт вебинар, посвящённый новому релизу. Его проведут Джефф Фрид (Director, Product Management) и Джо Лихтенберг (Director of Product & Industry Marketing). Регистрируйтесь! Вебинар будет на английском языке.