1. Введение в Caché: платформа, Studio/VS Code, namespaces
Введение в Caché: платформа, Studio/VS Code, namespaces
InterSystems Caché — это платформа, которая совмещает СУБД и сервер приложений для выполнения кода на ObjectScript. В этом курсе мы будем писать и запускать код, поэтому в первой статье разберёмся:
Что такое InterSystems Caché как платформа
Caché можно воспринимать как готовую среду выполнения для серверных приложений:
Ключевые элементы Caché
Чтобы уверенно начать работать, достаточно понимать несколько базовых понятий.
^Имя(...). Они живут на диске и доступны между процессами.Важно: в Caché физическое хранение (файлы баз данных) отделено от логической организации (namespaces). Это одна из причин, почему namespaces — центральное понятие.
Инструменты разработки: Studio и VS Code
ObjectScript-код обычно пишут локально на компьютере, а выполняется он на сервере Caché. Поэтому любая IDE решает две задачи:
Studio
InterSystems Studio — классическая IDE для Caché (исторически самая распространённая в экосистеме Caché).
Сильные стороны Studio:
Ограничения, которые важно знать заранее:
VS Code
Visual Studio Code — универсальный редактор, который становится IDE за счёт расширений. Для ObjectScript обычно используют расширение от InterSystems.
Что VS Code обычно даёт в ObjectScript-проектах:
#### Как выглядит подключение в VS Code
Конкретная настройка зависит от инфраструктуры, но типовой подход — хранить параметры подключения в настройках проекта.
Пример (идея, а не универсальный шаблон):
Пояснения к полям:
host и port — адрес и порт инстанса Caché;ns — namespace, в который по умолчанию будут загружаться и компилироваться исходники;username и password — учётные данные пользователя Caché.На практике эти значения часто выносят в локальные настройки (чтобы не коммитить пароли), а в репозитории оставляют пример.
Namespaces: логическая организация кода и данных
Что такое namespace
Namespace — это именованная конфигурация, которая определяет:
Проще говоря:
Один и тот же физический файл базы данных может использоваться разными namespaces. И наоборот: один namespace может собирать данные и код из разных баз за счёт настроек и маппингов.
!Диаграмма связи namespace с физическими базами данных для globals и routines и пример маппинга
Типичные namespaces, которые встречаются в Caché
Названия могут отличаться в зависимости от установки, но часто вы увидите:
Практическое правило для новичка:
Зачем namespaces нужны разработчику
Namespaces решают сразу несколько задач.
Как переключиться в другой namespace
Переключение важно, потому что компиляция и запуск кода происходят в контексте текущего namespace.
В ObjectScript есть команда переключения namespace:
Идея простая:
ZN вы находитесь в одном namespace;ZN тот же процесс работает уже в другом, и поиск глобалов/рутин идёт по его настройкам.Если вы используете IDE (Studio или VS Code), там обычно задают namespace подключения, чтобы не переключать его вручную каждый раз.
Где настраиваются namespaces
Администрирование Caché обычно делают через Management Portal (веб-интерфейс).
Там можно:
Если вы учитесь на готовой установке (например, на учебном сервере), часто достаточно знать, как называется ваш namespace и какие базы ему назначены.
Документация по концепции namespaces (на примере актуальной платформы InterSystems, концепция совпадает с Caché по смыслу):
Минимальный рабочий процесс после этой статьи
После того как вы понимаете роль платформы, IDE и namespace, типовой цикл разработки выглядит так:
USER или отдельный).В следующих материалах мы начнём писать первые элементы ObjectScript-кода и разберём, как компиляция, выполнение и хранение данных связаны между собой через namespace.