Рубрика «Ensemble»

Как я реализовал GraphQL для платформ компании InterSystems - 1

О GraphQL и о том как им пользоваться мной уже было рассказано в этой статье. Здесь же я расскажу про то, какие задачи стояли передо мной, и о результатах, которых удалось добиться в процессе реализации GraphQL для платформ InterSystems.

Читать полностью »

GraphQL для платформ компании InterSystems - 1

GraphQL — это стандарт декларирования структур данных и способов получения данных, который выступает дополнительным слоем между клиентом и сервером. Если вы впервые слышите о GraphQL, то вот пара хороших ресурсов: раз и два.

В этой статье я расскажу как вы можете использовать GraphQL в своих проектах на технологиях InterSystems.

Читать полностью »

image
В догонку к списку изменений СУБД Caché 2017.1 публикуем аналогичный список для Ensemble.

Список изменений на английском

На русском – под катом.

Читать полностью »

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

image

Читать полностью »

Во многих мобильных приложениях, которые позволяют узнавать штрафы и оплачивать их, есть возможность получать информацию о новых штрафах. Для этого удобно реализовывать отправку Push-уведомлений на устройства клиентов.

Наше приложение по оплате штрафов не стало исключением. Серверная часть у нас реализована на платформе Ensemble, в которой с версии 2015.1 очень вовремя появилась встроенная поддержка push-уведомлений.

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

Push-уведомления — это один из способов распространения информации, когда данные поступают от поставщика к пользователю на основе установленных параметров.

В общем случае для мобильных устройств процесс уведомления выглядит так:

Push-уведомления на Android в InterSystems Ensemble на примере Штрафов ГИБДД - 1

Для уведомления пользователей мобильных приложений используются сервисы доставки уведомлений, данные с которых получают устройства. Причем просто так отправить уведомление нельзя. Пользователь должен быть подписан на канал push-уведомлений или на уведомления от конкретного приложения.
Читать полностью »

image


Предыстория: у нашей небольшой, но очень амбициозной компании «Black Mushroom Studio» появилась идея создания e-commerce проекта и реализации мобильного приложения для оплаты некоторых товаров/услуг через платежного агрегатора.

Что было на входе: каркас приложения на Android, которому, само собой, удобно общаться по HTTP и JSON, и платежная система, предоставившая свое API — web-сервисы с SOAP-содержимым.

Задача: подружить одно с другим.

На выбор технологии повлияли следующие моменты: скорость разработки и возможность быстрой реакции на изменения. Проект должен был выстрелить. Пока конкуренты производят оценку сроков, мы хотели уже запустить продукт. Пока конкуренты ищут разработчиков, мы уже должны были получать прибыль. При этом ограничительном факторе, все же необходим был серьезный подход, так как вопрос связан с деньгами инвесторов, а это требует повышенного внимания.

Можно долго говорить о достоинствах и недостатках конкретных технологий конкретных вендоров и преимуществах open source, но везде есть свои минусы и плюсы. Проанализировав несколько продуктов (материал для отдельной статьи), мы пришли к выводу, что для решения наших задач, InterSystems Ensemble подходит больше других.
Читать полностью »

UI для Ensemble Workflow на Angular - 1

Те, кто знаком с платформой для интеграции и разработки приложений InterSystems Ensemble, знают, что такое подсистема Ensemble Workflow и как она бывает полезна для автоматизации взаимодействия людей. Для тех же, кто не знаком с Ensemble (и/или Workflow), я кратко опишу её возможности (остальные могут пропустить эту часть и узнать, как они могут использовать пользовательский интерфейс Workflow на Angular.js).
Читать полностью »

Несколько лет назад заказчик, крупный медицинский центр федерального значения, поручил нам разработать софт, обслуживающий информационные киоски. Внешне киоск напоминает платёжный терминал (только без купюроприёмника), его основная функция, как следует из названия, — предоставление пациентам различной информации, такой как расписание приёма врачей, услуги и их стоимость, и так далее.
По понятным причинам для киоска потребовалось разработать упрощённый интерфейс пользователя, который было решено реализовать как web-приложение. Имея в штате опытных web-программистов, уверенно владеющих php, решили (для скорости) поручить им его написание, организовав связь с базой данных нашей медицинской системы. Рассматривалось 3 варианта взаимодействия:

  • ODBC
  • JDBC
  • web-сервисы.

Web-программисты предпочли ODBC как наиболее простой с их точки зрения вариант, и альфа-версия киоска довольно быстро увидела свет. Однако вскоре выяснилось (surprise!), что php-код должен работать не под Windows, как это было у разработчика, а под Linux, несмотря на то, что в те годы наша медицинская система эксплуатировалась заказчиком на платформе Windows 2008. Чтобы «подружить» всех членов триады (Linux – ODBC-драйвер Caché — php5) потребовались определённые усилия. Последовательность проделанных действий я зафиксировал в виде наброска к данной статье, которую и предлагаю вашему вниманию.
Читать полностью »

При работе с GUI и терминальными приложениями нередко случается, что пользователь, работая в режиме удаленного доступа (как правило, через Интернет), покинув компьютер минут на 15, по возвращении обнаруживает, что программа зависла. На любое действие она отвечает ошибкой, содержащей примерно такие фразы: «Потеряна связь с сервером», "[WINSOCK] virtual circuit reset by host" и т.п. Наблюдается такое и при выполнении «долгоиграющих» методов (запросов к серверу), в которых не предусмотрен вывод прогресс-бара или какая-либо интерактивность.

Данная проблема характерна не только для GUI и терминальных решений на базе СУБД Caché и Ensemble компании InterSystems, а вообще для любого клиент-серверного взаимодействия по протоколу TCP/IP. Обычно она решается на прикладном уровне путём периодического обмена пустыми сообщениями специального вида, предназначенными лишь для того, чтобы просигнализировать о том, что приложение «живо».

Ниже о том, как можно решать эту проблему без программирования.
Читать полностью »

image
Уважаемые студенты, читатели !
Закончилось скоротечное и беззаботное лето — впереди два долгих семестра напряженной учебы, гранита науки и адреналиновых сессий.
Компания InterSystems предлагает разнообразить учебный процесс и совместить полезное с прибыльным —
принять участие в грантовой программе InterSystems Campus, научиться новым технологиям и заработать неплохую прибавку к стипендии собственным умом.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js