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

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

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

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


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


  • Контейнеры 101
  • Контейнеры на разных этапах цикла разработки ПО
  • Continuous Delivery с контейнерами
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии6

How to write the home address right?

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

How Tax Service, OpenStreetMap, and InterSystems IRIS
could help developers get clean addresses


image
Pieter Brueghel the Younger, Paying the Tax (The Tax Collector), 1640

In my previous article, we just skimmed the surface of objects. Let's continue our reconnaissance. Today's topic is a tough one. It's not quite BIG DATA, but it's still the data not easy to work with: we're talking about fairly large amounts of data. It won't all fit into RAM at once, and some of it won't even fit on the drive (not due to lack of space, but because there's a lot of junk). The name of our subject is FIAS DB: the Federal Information Address System database — the databases of addresses in Russia. The archive is 5.5 GB. And it's a compressed XML file. After extraction, it will be a full 53 GB (set aside 110 GB for extraction). And when you start to parse and convert it, that 110 GB won't be enough. There won't be enough RAM either.
Read more →
Всего голосов 8: ↑6 и ↓2+4
Комментарии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

ZPM – менеджер пакетов для InterSystems IRIS

Время на прочтение6 мин
Количество просмотров1.1K
Менеджеры пакетов для различных платформ очень широко применяются, позволяют быстро установить и настроить многие готовые компоненты и библиотеки. А также используются для развертывания собственных решений. При этом важно, чтобы менеджер пакетов обрабатывал зависимости, т.е. если ваше приложение использует какую-то библиотеку определенной версии, то менеджер пакетов при установке вашего приложения также установит необходимую версию этой библиотеки.

Теперь для InterSystems IRIS также доступен менеджер пакетов — ZPM.

ZPM позволяет найти, установить, обновить модуль, а также может использоваться для публикации модулей. Каждый модуль может быть отдельным приложением, библиотекой, фреймворком, утилитой или примером использования технологий InterSystems.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии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

До и После полуночи

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


Резервное копирование? Опять?
Ага!


Разумеется, любой грамотный АйТи-шник прекрасно знаком с подоплёкой этого вопроса, однако, как оказалось, методология и даже простейшая алгоритмика иногда являются камнем преткновения.


Что странно. Что удивительно.
Давайте разбираться, что нужно сделать "До полуночи", чтобы спать спокойно "После полуночи"...

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

Довериться Кодду или своим объектам?

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

Хранимые объекты без головной боли: простой пример работы с объектами Caché на языках ObjectScript и Python



Замок Нойшванштайн

В июне 2020 года ровно 50 лет табличным хранилищам данных или говоря формально — реляционной модели данных. Вот официальный документ – та самая знаменитая статья. За что говорим огромное спасибо доктору Эдгару Фрэнку Кодду. И, между прочим, реляционная модель данных входит в список важнейших мировых инноваций последних 100 лет по версии Форбса.

С другой стороны, как ни странно, Кодд считал реляционные базы данных и язык SQL искаженной реализацией своей теории. В качестве ориентира, он даже разработал 12 правил, которым должна удовлетворять каждая система управления реляционными базами данных (на самом деле это 13 правил). И, по правде говоря, на сегодня, в мире не найти СУБД удовлетворяющих хотя бы «Правилу 0» Кодда и, следовательно, никто не может называть свою СУБД на 100% реляционной :) Может есть исключения, подскажите?
Читать дальше →
Всего голосов 21: ↑18 и ↓3+15
Комментарии78

Панель дополнительных инструментов для разработчика на InterSystems IRIS

Время на прочтение4 мин
Количество просмотров955
Панель дополнительных инструментов для мониторинга и исследования ошибок приложений и интеграицонных решений на платформе данных InterSystems IRIS, интеграционной платформе Ensemble и СУБД Caché, или история еще одного велосипеда.

В этой статье я хочу рассказать о приложении, которым, наряду со стандартными средствами администрирования, пользуюсь ежедневно при мониторинге приложений и интеграционных решений на платформе InterSystems IRIS и нахождении ошибок при их возникновении.
Решение включает просмотр и редактирование глобальных массивов, выполнение запросов (включая JDBC / ODBC), отправка результатов поиска по электронной почте в виде архивированных XLS-файлов. Просмотр объектов классов с возможностью редактирования. Несколько простых графиков по протоколам системы.

Это CSP-приложение, на основе jQuery-UI, chart.js, jsgrid.js
Если интересно, то прошу под кат и в репозиторий.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

Мой адрес не дом и не улица, мой адрес – Советский Союз?

Время на прочтение13 мин
Количество просмотров4K
microBIGDATA или ФИАС в кармане


Питер Брейгель Младший, Уплата налога, 1640 год

Прошлый заход на бреющем по объектам зашел. Продолжим разведку боем. Сегодня поговорим о тяжелом. Пусть ещё не о BIG DATA, но работать уже неудобно – достаточно большие объёмы данных. Не каждому влезет в оперативную память целиком, а некоторым не влезет даже на диск (не места мало, а хламу много). Имя нашему подопечному БД ФИАС — база данных федеральной адресной информационной системы. Архив в 5,5 ГБ. И это сжатый в архив XML. После распаковки будут полные 53 ГБ (для распаковки запасайте 110 ГБ). И как начнёшь его парсить да конвертить, то и 110 ГБ будет мало. О потребном размере ОЗУ тоже будет.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии7

Вызываем код на Java, C, NodeJS, C#, Python из InterSystems IRIS

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

Введение


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

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

Релиз InterSystems IRIS 2021.1

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

Этим летом вышел новый релиз платформы данных InterSystems IRIS Data Platform 2021.1.

Основные «темы» в этом релизе связаны с расширением доступности платформы для разработчиков на различных технологиях и новыми возможностями по анализу данных.

Расширяется выбор доступных языков разработки, как серверных, так и клиентских, а также новые компоненты для аналитики больших объемов данных. Но, обо всём по порядку.

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

InterSystems Reports Server

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

InterSystems Reports


InterSystems Reports – модуль InterSystems IRIS и InterSystems IRIS for Health. Это современное решение для создания и публикации отчетов, которое включает в себя:


  • Встроенную оперативную отчетность, которая может быть настроена как разработчиками отчетов, так и конечными пользователями.
  • Точное форматирование, позволяющее создавать специализированные формы, например, макеты для счетов, документов и т.д.
  • Макеты, обеспечивающие структуру для отображения как агрегированных, так и транзакционных данных.
  • Позиционирование заголовков, колонтитулов, агрегированных и подробных данных, изображений и вложенных отчетов.
  • Разнообразные типы отчетов.
  • Публикация и распространение отчетов, включая экспорт в PDF, XLS, HTML, XML и другие форматы файлов, печать и архивирование для соблюдения нормативных требований.
Читать дальше →
Рейтинг0
Комментарии0

GitLab для Continuous Delivery проекта на технологиях InterSystems

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

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


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


  • Git 101
  • Методологии разработки (Git flow)
    • GitHub flow
    • GitLab flow
  • GitLab
  • GitLab CI
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии3

Укрощаем протоколы доверия – 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

Транзакции в глобалах InterSystems IRIS

Время на прочтение8 мин
Количество просмотров1.3K
InterSystems IRIS and transactionСУБД InterSystems IRIS поддерживает любопытные структуры для хранения данных — глобалы. По сути это многоуровневые ключи с различными дополнительными плюшками в виде транзакций, быстрых функций для обхода деревьев данных, блокировок и своего языка ObjectScript.

Подробнее о глобалах в цикле статей «Глобалы — мечи-кладенцы для хранения данных»:

Деревья. Часть 1
Деревья. Часть 2
Разреженные массивы. Часть 3

Мне стало интересно как реализованы транзакции в глобалах, какие там есть особенности. Ведь это совершенно иная структура для хранения данных, чем всем привычные таблицы. Намного более низкоуровневая.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии7

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

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

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

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

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

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Четыре API для базы данных

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

Как то мы уже обращались к теме превосходства объектного/типизированного представления в реализации моделей предметной области в сравнении с SQL. И верность тех доводов и фактов на на йоту не уменьшилась. Казалось бы, зачем отступать и обсуждать технологии, которые глобально низвергают абстракции обратно в дообъектную и дотипизированную эпоху? Зачем провоцировать рост спагетти-кода, непроверяемых ошибок и упование на виртуозное мастерство разработчика?

Есть несколько соображений о том, почему стоит поговорить про обмен данными через API на основе SQL/REST/GraphQL, в противовес представлению их в виде типов/объектов:

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии12

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

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

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

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

Создание отчетов в InterSystems Reports

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

Введение


! В связи с проблемами Хабра с отображением md текстов, вы можете ознакомится с полным текстом статьи на GitHub.


В мире огромных объемов данных как никогда важно сделать информацию доступной и легко интерпретируемой. С помощью InterSystems Reports (Logi Reports) вы можете легко и эффективно представлять сложные данные. InterSystems Reports – модуль InterSystems IRIS и InterSystems IRIS for Health. Это современное решение для создания и публикации отчетов, которое включает в себя:


  • Встроенную оперативную отчетность, которая может быть настроена как разработчиками отчетов, так и конечными пользователями.
  • Точное форматирование, позволяющее создавать специализированные формы, например, макеты для счетов, документов и т.д.
  • Макеты, обеспечивающие структуру для отображения как агрегированных, так и транзакционных данных.
  • Позиционирование заголовков, колонтитулов, агрегированных и подробных данных, изображений и вложенных отчетов.
  • Разнообразные типы отчетов.
  • Публикация и распространение отчетов, включая экспорт в PDF, XLS, HTML, XML и другие форматы файлов, печать и архивирование для соблюдения нормативных требований.
Читать дальше →
Всего голосов 24: ↑8 и ↓16-8
Комментарии3

Шард-кластер InterSystems IRIS за минуту с Configuration Merge File

Время на прочтение6 мин
Количество просмотров590

В этой статье мы запустим кластер InterSystems IRIS с помощью docker и файлов Merge CPF (CMF) — новой функции, позволяющей легко конфигурировать серверы InterSystems IRIS. В UNIX и Linux вы можете изменить стандартный iris.cpf с помощью декларативного файла Merge CPF. Файл Merge CPF — это частичный CPF, который устанавливает нужные значения для любых параметров при запуске InterSystems IRIS. С помощью Merge CPF легко можно запускать сложные конфигурации InterSystems IRIS.

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