• Построение RESTful web API на платформе InterSystems — 3: Разработка от спецификации

      В этой статье я хотел бы рассказать о подходе от спецификации (spec-first) при разработке REST API на платформе InterSystems IRIS, который ускоряет разработку приложений в рамках микросервисной архитектуры и решение интеграционных задач. Эта статья является продолжением моей предыдущей статьи про разработку REST API на платформе InterSystems IRIS.

      Читать дальше →
    • Вызываем код на Java, C, NodeJS, C#, Python из InterSystems IRIS

      • Translation
      • Tutorial

      Введение


      Одно из ключевых направлений развития платформы данных InterSystems IRIS — открытость. Открытость во взаимодействии с языками программирования, технологиями и протоколами. Поддержка языков программирования двусторонняя — возможен как вызов кода из InterSystems IRIS, так и предоставляется API для работы с InterSystems IRIS извне. В этой статье речь пойдёт о первом варианте — вызове кода из InterSystems IRIS. Целью этого небольшого повествования является демонстрация того, как просто и удобно можно это сделать. Я не буду сравнивать различные языки программирования (хотя в конце есть таблица по скорости работы различных имплементаций), всё зависит от решаемых вами задач и требований, предъявляемых к результату разработки. В этой статье я продемонстрирую несколько различных подходов к вызовам сторонних библиотек, а реализовывать мы будем одну и ту же функциональность — вызов функции DELFATE из библиотеки zlib.

      Читать дальше →
    • Шлюзы Java/.Net в интеграционных решениях на InterSystems IRIS

      • Translation

      Шлюзы в InterSystems IRIS это механизм взаимодействия между ядром InterSystems IRIS и прикладным кодом на языках Java/.Net. С помощью шлюзов вы можете работать как с объектами Java/.NET из ObjectScript так и с объектами ObjectScript и глобалами из Java/.NET. Шлюзы могут быть запущены где угодно - локально, на удаленном сервере, в докере.

      В этой статье я покажу, как можно легко разработать и контейнеризовать интеграционную продукцию с .Net/Java кодом. А для взаимодействия с кодом на языках Java/.Net будем использовать PEX, предоставляющий возможность реализовать любой элемент интеграционной продукции на языках Java/.Net.

      Для нашего примера мы разработаем интеграцию с Apache Kafka.

      Читать далее
    • Python Gateway в InterSystems IRIS

      • Translation
      • Tutorial

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

      Читать дальше →
    • Представляем InterSystems API Manager

      • Tutorial

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

      Читать дальше →
    • GitLab для Continuous Delivery проекта на технологиях InterSystems: Контейнеры

      • Tutorial

      Эта статья — продолжение статьи про организацию процессов Continuous Integration / Continuous Delivery, автоматизирующих сборку, тестирование и доставку приложений применимо к решениям на платформе InterSystems.


      Рассмотрим такие темы как:


      • Контейнеры 101
      • Контейнеры на разных этапах цикла разработки ПО
      • Continuous Delivery с контейнерами
      Читать дальше →
      • +15
      • 5.8k
      • 6
    • GitLab для Continuous Delivery проекта на технологиях InterSystems

      • Tutorial

      В данной статье хотелось бы рассказать про организацию процессов Continuous Integration / Continuous Delivery, автоматизирующих сборку, тестирование и доставку приложений на платформах InterSystems.


      Рассмотрим такие темы как:


      • Git 101
      • Методологии разработки (Git flow)
        • GitHub flow
        • GitLab flow
      • GitLab
      • GitLab CI
      Читать дальше →
    • Построение RESTful web API на платформе InterSystems — 2

        Введение


        Четыре года назад я написал свою первую статью на Хабре и она была посвящена созданию RESTful web API на платформе InterSystems. С тех пор прошло немало времени и вышло несколько новых релизов, которые значительно упростили работу по созданию RESTful web API. Вот об этих изменениях я и хочу рассказать в этой статье, а также дать несколько советов по созданию RESTful web API на платформе InterSystems.

        Читать дальше →
        • +15
        • 3.8k
        • 2
      • Визуализация данных Ensemble Workflow с помощью InterSystems DeepSee

        • Translation
        • Tutorial

        DeepSeeWeb

        При автоматизации бизнес-процессов предприятия часть задач всё равно должен выполнять человек: это согласование различной информации, обогащение данных из аналоговых источников и многое другое. В интеграционной шине InterSystems Ensemble для решения данного класса задач есть подсистема Ensemble Workflow, позволяющая людям участвовать в автоматизированных бизнес-процессах. В результате работы подсистемы Ensemble Workflow накапливается большой объём информации о том кто и сколько выполнял поставленные задачи. В этой статье с использованием BI-технологии InterSystems DeepSee, про которую я недавно уже писал на Хабре мы проанализируем и визуализируем эту информацию.

        Читать дальше →
      • Визуализация данных Московской Биржи с помощью InterSystems DeepSee

        • Tutorial

        Введение


        В стеке технологий InterSystems есть технология для разработки аналитических решений DeepSee. Это встраиваемая аналитическая технология и набор инструментов для создания систем поддержки принятия эффективных решений, в том числе, и с применением прогнозных моделей. DeepSee работает со структурированными и неструктурированными данными. Она предназначена для создания OLAP-решений для баз данных Caché и любых реляционных СУБД. InterSystems DeepSee предоставляет разработчикам средства для внедрения в свои приложения аналитической OLAP-функциональности, которая способна работать на оперативных базах данных приложений без создания отдельной инфраструктуры для решения аналитических задач.


        В статье рассматривается пример создания в OLAP-куба, работа со средствами аналитики и построение пользовательского интерфейса на примере анализа котировок акций торгуемых на Московской Бирже.

        Читать дальше →
      • RESTForms — REST API для ваших классов InterSystems Caché

        • Translation

        В этой статье я хотел бы представить проект RESTForms — универсальный REST API бэкэнд на InterSystems Caché 2016.1+ для современных веб-приложений. Идея проекта проста — после написания нескольких REST API стало понятно, что, как правило, REST API состоит из двух частей:


        • Работа с хранимыми данными
        • Пользовательская бизнес-логика

        И, хотя вам придется писать свою собственную бизнес-логику, RESTForms предоставляет все необходимое для работы с хранимыми данными из коробки.

        Читать дальше →
        • +17
        • 3.6k
        • 2
      • Как я разбирал docx с помощью XSLT

        • Tutorial

        Задача обработки документов в формате docx, а также таблиц xlsx и презентаций pptx является весьма нетривиальной. В этой статье расскажу как научиться парсить, создавать и обрабатывать такие документы используя только XSLT и ZIP архиватор.

        Читать дальше →
      • Аутентификация пользователей на Arduino с RFID

          Arduino

          Введение


          В предыдущей статье я только начинал работать с Arduino, в результате чего закономерно получилась метеостанция. В этой статье пойдём дальше — будем делать аутентификацию с помощью RFID карт и Arduino в приложении InterSystems Caché.
          Читать дальше →
          • +11
          • 21.1k
          • 7
        • Новые динамические объекты и поддержка JSON в InterSystems Caché

          • Tutorial
          Dynamism of A Dog on a Leash (1912) Giacomo BallaВообще, в InterSystems Caché и динамические объекты, и поддержка JSON есть уже достаточно давно, но в версии 2016.1 они были переосмыслены, а код реализации переведён с COS уровня на уровень ядра/С, что позволило добиться существенного повышения производительности в этих областях. О том, что есть нового и как переходить (а также о том, как сохранить совместимость с предыдущими версиями) я расскажу в этой статье.

          Возможности по работе с JSON


          И начну с примера. Теперь такой синтаксис — работает и это самое большое нововведение в синтаксисе COS:
          Читать дальше →
        • Метеостанция на Arduino с визуализацией данных

          • Tutorial
          Paul Klee In The Style Of Kairouan

          Введение


          Про метеостанции на Arduino писали и не раз. В своё оправдание скажу, что был хакатон — а нашей команде (в составе меня и хабраюзера ViArt) хотелось попробовать работу с Arduino. Кроме того к нашей метеостанции прикручена визуализация данных. Если хотите узнать, какая база данных может получать данные по com-порту без промежуточных звеньев в виде web-сервера, файлов или ещё каких-то ухищрений, добро пожаловать под кат.
          Читать дальше →
        • Запросы классов в InterSystems Caché

          • Tutorial
          Andre Derain Landscape ear Chatou

          Введение


          Запросы классов InterSystems Caché — это полезный инструмент, используемый для абстракции от непосредственно SQL запросов в COS коде. В самом простом случае это выглядит так: допустим вы используете один и тот же SQL запрос в нескольких местах, но с разными аргументами.

          Для того чтобы не писать его каждый раз, вы можете обозначить текст запроса как запрос класса и в дальнейшем обращаться к этому запросу по его имени. А ещё есть кастомные запросы, в которых логику получения следующей строки результатов вы пишете сами. Под катом я расскажу о том, как этим всем можно пользоваться.
          Читать дальше →
        • Развёртывание приложений в InterSystems Caché

          • Tutorial
          Kazuya Akimoto Ten Blue Eyes

          Введение


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

          Для решения этих задач существует утилита %Installer. Эта статья о ней.
          Читать дальше →
          • +10
          • 3.6k
          • 1
        • Удалённое выполнение кода в InterSystems Caché (RCE)

            Van Gogh Fishing Boats on the Beach

            Введение


            В том случае, если вы управляете более чем одним сервером Caché может возникнуть задача выполнения произвольного кода из одного сервера Caché на другом. Кроме того, может потребоваться выполнение произвольного кода на удалённом сервере Caché, например, для нужд сисадмина… Для решения этих задач была разработана утилита RCE.

            Какие вообще есть варианты решения подобных задач, и что предлагает RCE (Remote Code Execution) – под катом.
            Читать дальше →
            • +12
            • 4.2k
            • 8
          • Пишем систему логирования в InterSystems Caché

              Monet impression sunrise

              Введение


              В предыдущей статье мы рассмотрели основные варианты использования макросов, теперь перейдём к написанию более обширного примера, использующего макросы. Писать будем систему логирования.
              Читать дальше →
            • Макросы в InterSystems Caché

              • Tutorial
              Monet tulips in holland

              Введение


              Хочу рассказать про использование макросов в InterSystems Caché. Макрос — это символьное имя, заменяемое при компиляции исходного кода на последовательность программных инструкций. Макрос может «разворачиваться» в различные последовательности инструкций при каждом вызове, в зависимости от сработавших разветвлений внутри макроса и переданных ему аргументов. Это может быть как статический код, так и результат выполнения COS. Рассмотрим, как их можно использовать в вашем приложении.
              Читать дальше →