Прямой доступ к классам Caché через REST, на примере DHTMLX Grid

С выходом новой версии InterSystems Caché появилась возможность использовать технологию REST и строить приложения, с помощью различных Javascript UI библиотек, в то время как сервер Caché выступает в роли сервера данных. В данной статье будет рассмотрен очень простой пример доступа к хранимым классам Caché с помощью технологии REST.
Читать далее

Настройка Apache для работы с СУБД Caché на Linux

Вообще говоря, в поставку InterSystems Caché входит встроенный веб-сервер Apache. Встроенный сервер предназначен для разработки и администрирования инстанса Caché и собран с некоторыми ограничениями. Существуют рецепты по устранению этих ограничений, но более общий подход — использовать для продакшена полноценный веб-сервер. В статье рассмотрена настройка Apache для работы с Caché и организация https доступа. Все действия выполнялись на Ubuntu, но настройка на других Linux дистрибутивах ничем принципиально не отличается.
Читать далее

Социальные кнопки в проекте на Caché

Одной из задач в проекте Вакансии по технологиям InterSystems, было создание кнопок «поделиться» для основных, на наш взгляд, социальных сетей. А конкретно для каждой вакансии необходимо:

  • внесение её логотипа;
  • название вакансии;
  • краткое описание;
  • знать из какой соц. сети пришел пользователь.

Как ни странно, это оказалось не такой уж и простой задачей при реализации на AngularJS по следующим причинам:

Терминальный доступ к СУБД Caché – теперь и в браузере

Cache терминал в браузере

С развитием веб-технологий в окне браузера появляется всё больше полезных сервисов, приложений, программ и даже игр. Пришло время и для терминала СУБД Caché.

Под катом вы найдете описание всех прелестей приложения и историю его разработки.

Читать далее

Новое в СУБД Caché 2013.1: встроенная поддержка WebSockets

В одной из предыдущих статей уже рассматривалась работа с WebSocket на примере собственной серверной реализации этого протокола поверх обычных сокетов.

В СУБД Caché 2013.1 CSP-Шлюз теперь включает поддержку спецификации HTML 5 для WebSocket-соединений между веб-сервером и HTML 5 совместимым браузером. Эта функция доступна для Apache 2.2 и выше, и для IIS 8.0, который является частью Windows Server 2012.

Поскольку в Caché 2013.1 уже встроен Apache 2.4, мы будем наши примеры запускать именно на нём.
Для реализации клиентской части использовался фреймворк ZEN, но вы можете переделать примеры и на технологию CSP или любую другую.

Итак, приступим…

Исполнение команд операционной системы на сервере Caché

По мотивам статьи в Developer Connection написал свою реализациию класса для вызова команд операционной системы сервера, где установлена Caché или Ensemble.
Класс может пригодиться, когда нужно из Caché что-то сделать на хостовой ОС: распорядиться файлами бэкапов, настроить работу с системой контроля версий и другие полезные действия.
Класс позволяет выполнить команду на любой хостовой ОС и получить ответ в глобал или локальную переменную.
Подробности под катом

Пример работы с getUserMedia и <canvas> в Zen Framework по мотивам «HTML5 Exploding Camera Demo»

Начиная с версии 2012.1, в СУБД Caché появился встроенный ZEN-компонент <canvas>.

Примечание: скачать бесплатную однопользовательскую версию СУБД Caché можно здесь.

А в последнем релизе Opera 12 появилась встроенная поддержка функции getUserMedia (WebRTC 1.0: Real-time Communication Between Browsers), которая даёт возможность обращаться к устройствам, генерирующим медиапоток, например к веб-камере.

Примечание: Сводная таблица поддержки getUserMedia/Stream API в настольных и мобильных браузерах.

Для демонстрации обеих этих возможностей, используя встроенный в СУБД Caché фреймворк ZEN, за основу было выбрано демо: HTML5 Exploding Camera Demo.
Читать далее

Каша быстрого приготовления — делаем CRUD в Caché с помощью jqGrid

Речь пойдет о создании веб-приложения на Intersystems Caché с использованием javascript плагина для отображения табличных данных — jqGrid. Плагин часто упоминается на Хабре, поэтому основное внимание будет уделено особенностям его использования со стороны Caché
Преимущества использования jqGrid:

  • разгрузка сервера от клиентской логики
  • возможность использования различных форматов обмена данными (xml, json)
  • различные способы отображения данных (таблица, дерево, вложенные таблицы)
  • готовый функционал по изменению данных – редактирование в строках, редактирование в формах, проверка данных
  • большое количество настроек, опций и событий с документацией, примерами и исходным кодом
  • богатый пользовательский функционал — сортировка, группировка, фильтрация, поиск, итоги, настройка отображения столбцов (видимость, порядок, размеры), поддержка множества тем визуального оформления от jqueryui

Состав блюда: хранимый класс с данными, класс-страница, класс-сервис данных. Необходимые библиотеки и стили подключаются из сетей доставки данных (CDN) и с сайтов разработчиков, поэтому, для работы примера в локальной сети, их необходимо будет скачать из этих источников.

Предупреждение: пример максимально упрощен, рассматривается только малая часть возможностей плагина, но кода все равно много, хотя он и тщательно задокументирован.
Заварим кашу?

Локализация в СУБД Caché

Предположим, вы написали программу, выводящую «Hello, World!», например:
  write "Hello, World!"

Приложение работает, всё хорошо.
Но проходит время, ваше приложение развивается, становится популярным и вот, вам нужно эту строку вывести уже на другом языке, причём количество и состав требуемых языков заранее неизвестен.
Под катом вы узнаете, как задача локализации решается в Caché.

Читать далее

Работа с сокетами в СУБД Caché. Пример реализации серверной части протокола WebSocket

СУБД Caché для взаимодействия через TCP/IP с удалёнными процессами посредством сокетов предоставляет низкоуровневые команды, что может представлять собой сложность для новичков.

А есть ли возможность использовать сокеты «по-другому», не теряя при этом в гибкости, скорости и удобстве разработки?

Читать далее