Открыть сервис

XPages

XPages — это технология веб-разработки, созданная компанией IBM для построения динамических веб-приложений, работающих на платформе IBM Domino (ранее Lotus Domino). XPages представляет собой фреймворк, основанный на языке Java и технологии JavaServer Faces (JSF), который позволяет разработчикам создавать веб-интерфейсы для приложений, управляемых базами данных IBM Domino, без необходимости глубокого знания традиционных веб-технологий (HTML, CSS, JavaScript на уровне сервера). Технология была анонсирована в 2007 году и стала основным инструментом для создания современных веб-решений в экосистеме IBM Domino вплоть до прекращения поддержки платформы в 2024 году.

История

Предпосылки создания

Платформа IBM Domino (ранее Lotus Notes/Domino) с середины 1990-х годов использовалась для создания корпоративных приложений, таких как системы документооборота, почтовые серверы и базы данных. Однако её веб-интерфейсы, реализованные через серверные агенты на LotusScript или Java, были сложны в разработке и не соответствовали современным стандартам веб-дизайна. К середине 2000-х годов возникла потребность в более гибком инструменте, способном интегрироваться с Ajax, CSS и JavaScript, а также поддерживать стандарты Web 2.0.

Разработка и выпуск

XPages была впервые представлена на конференции Lotusphere в 2007 году. Первая версия вошла в состав IBM Lotus Domino 8.0, выпущенного в 2008 году. Технология базировалась на JavaServer Faces (JSF) 1.2 и использовала собственную реализацию IBM — «XPages runtime». В 2010 году с выходом IBM Lotus Domino 8.5.2 были добавлены поддержка мобильных устройств и улучшенная интеграция с Eclipse.

Эволюция и прекращение поддержки

В 2013 году IBM передала разработку Domino и XPages компании HCL Technologies (по лицензионному соглашению). HCL продолжала выпускать обновления, включая HCL Domino 12.0 (2021 год) с улучшенной поддержкой XPages. Однако в 2022 году HCL объявила, что XPages не будет включена в будущие версии Domino, а основной упор делается на современные веб-фреймворки, такие как Node.js и React. В 2024 году HCL прекратила поддержку XPages в новых релизах Domino, рекомендовав миграцию на альтернативные платформы.

Архитектура и принципы работы

Компонентная модель

XPages основана на модели компонентов JavaServer Faces (JSF). Каждая страница (XPage) представляет собой XML-файл с расширением .xsp, содержащий иерархию компонентов: панели, таблицы, кнопки, поля ввода, списки и т.д. Компоненты связываются с данными из базы Domino через «источники данных» (data sources), которые могут быть документами, представлениями или папками.

Серверное выполнение

В отличие от классических веб-приложений, где логика выполняется на клиенте, XPages обрабатывает события на сервере IBM Domino. Когда пользователь взаимодействует с элементом (например, нажимает кнопку), запрос отправляется на сервер, где выполняется серверный код (на Java или JavaScript), обновляется состояние компонентов, и клиенту возвращается обновлённая HTML-разметка. Это позволяет использовать полный доступ к данным Domino (документы, ACL, сессии) без необходимости писать сложный клиентский код.

Интеграция с Domino

XPages тесно интегрирована с объектной моделью Domino:

  • Документы: компоненты могут отображать и редактировать поля документов (Rich Text, даты, числа, вложения).
  • Представления: компоненты «View» и «View Panel» отображают данные из представлений Domino с поддержкой сортировки, фильтрации и постраничного вывода.
  • ACL: управление доступом осуществляется на уровне сервера, что обеспечивает безопасность корпоративных приложений.

Клиентская часть

Несмотря на серверную модель, XPages поддерживает клиентские технологии:

  • JavaScript: для обработки событий на стороне браузера (например, валидация полей, анимация).
  • CSS: для стилизации компонентов.
  • Dojo Toolkit: встроенная библиотека Dojo (с версии 8.5.2) предоставляет готовые виджеты (календари, диалоговые окна, автозаполнение).

Классификация

По типу приложений

XPages использовалась для создания:

  • Корпоративных порталов: системы управления документами, базы знаний, интранеты.
  • Рабочих процессов: маршрутизация документов, согласование заявок, управление задачами.
  • Клиентских интерфейсов: замена устаревших клиентов Lotus Notes на веб-версии.
  • Мобильных приложений: адаптивные версии для смартфонов и планшетов (с поддержкой XPages Mobile Controls).

По версиям

  • XPages Classic (до 8.5): базовая функциональность, поддержка JSF 1.2, ограниченная клиентская настройка.
  • XPages Extension Library (с 8.5.2): набор дополнительных компонентов (диалоги, меню, диаграммы, календари), разработанный IBM и затем OpenNTF.
  • XPages for Mobile (с 8.5.3): компоненты для мобильных устройств (списки, формы, кнопки), оптимизированные под сенсорное управление.

Разработка и инструменты

Среда разработки

Основным инструментом для создания XPages является IBM Domino Designer (позже HCL Domino Designer) — среда на базе Eclipse, входящая в состав клиентского пакета Domino. Разработчик может:

  • Создавать XPages в визуальном редакторе (drag-and-drop компонентов).
  • Редактировать XML-код страницы вручную.
  • Писать серверный код на Java (через «Java-бины») или JavaScript (серверный JavaScript, SSJS).
  • Использовать библиотеки Dojo и Extension Library.

Языки программирования

  • Java: для создания управляемых бинов (managed beans), серверных обработчиков событий, интеграции с внешними системами.
  • Server-Side JavaScript (SSJS): упрощённый язык для быстрой разработки, похожий на JavaScript, но выполняемый на сервере Domino.
  • Client-Side JavaScript: для клиентской логики (валидация, анимация, вызовы Ajax).
  • XPages Expression Language (EL): для связывания компонентов с данными (например, #{document1.fieldName}).

Расширения и библиотеки

  • OpenNTF XPages Extension Library: бесплатный набор компонентов от сообщества OpenNTF, включающий диаграммы, календари, меню, панели вкладок.
  • Domino REST API: для интеграции XPages с внешними приложениями через REST-сервисы (доступен с Domino 10.0).
  • Bootstrap for XPages: адаптация CSS-фреймворка Bootstrap для стилизации XPages.

Применение

Корпоративный сектор

XPages активно применялась в крупных организациях, использующих IBM Domino:

  • Государственные учреждения: системы электронного документооборота (например, в России — платформа «Дело» на базе Domino).
  • Финансовые организации: банки, страховые компании — для управления клиентскими данными, заявками и отчётами.
  • Производственные компании: системы управления проектами, базы знаний, интранеты.

Примеры приложений

  • Система согласования договоров: XPages-форма с workflow, где документ проходит по этапам утверждения.
  • База знаний сотрудников: XPage с поиском по документам, категориям и тегам.
  • Портал самообслуживания: для сотрудников — просмотр личных данных, заявок на отпуск, заказ канцелярии.

Преимущества и недостатки

Преимущества

  • Быстрая разработка: визуальный редактор и готовые компоненты сокращают время создания веб-интерфейсов.
  • Интеграция с Domino: прямой доступ к данным, безопасности и бизнес-логике платформы.
  • Серверная безопасность: данные не передаются на клиент без необходимости, что снижает риски утечек.
  • Кроссплатформенность: приложения работают в любом современном браузере без установки клиента Lotus Notes.

Недостатки

  • Зависимость от платформы: XPages работает только на сервере IBM/HCL Domino, что ограничивает миграцию на другие технологии.
  • Сложность отладки: серверная модель затрудняет диагностику ошибок, особенно при большом количестве компонентов.
  • Устаревшая архитектура: к 2020-м годам XPages уступает современным фреймворкам (React, Angular, Vue) по производительности и гибкости.
  • Прекращение поддержки: с 2024 года HCL не выпускает обновления для XPages, что вынуждает организации мигрировать на альтернативы.

Критика и перспективы

Критика

Критики XPages отмечали:

  • Высокий порог входа: разработчики, не знакомые с Domino и JSF, сталкивались с трудностями при освоении технологии.
  • Производительность: при большом количестве пользователей серверная обработка могла приводить к задержкам.
  • Закрытость: технология была привязана к продуктам IBM/HCL, что ограничивало сообщество разработчиков.

Перспективы

С прекращением поддержки XPages организации, использующие Domino, вынуждены выбирать:

  • Миграция на HCL Domino REST API: создание новых веб-интерфейсов с помощью современных фреймворков (React, Angular) при сохранении серверной части Domino.
  • Переход на альтернативные платформы: такие как Microsoft SharePoint, Alfresco, или Open Source-решения (Nextcloud, OnlyOffice).
  • Полный отказ от Domino: замена на облачные сервисы (Google Workspace, Microsoft 365) или ERP-системы.

См. также

  • IBM Domino
  • JavaServer Faces
  • Lotus Notes
  • HCL Domino REST API

Источники

  • IBM Redbooks: «XPages Extension Library: A Practical Guide» (2011).
  • HCL Domino Documentation: «XPages Overview» (2021).
  • OpenNTF: «XPages Extension Library» (2023).
  • Статья «The End of XPages: What’s Next for Domino Developers?» на портале «Domino Developer» (2022).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →