Я планирую создать веб-приложение, используя XPages для дизайна (плюс элементы Lotus Notes), но вместо хранения данных в Lotus Notes я буду хранить данные в СУБД (в частности, в базе данных Oracle). Как видите, я хочу создать четкое разделение между дизайном и данными. Есть ли способ сделать это? Я имею в виду, есть ли способ использовать Oracle в качестве источника данных и XPages/Lotus Notes только для пользовательского интерфейса? Большое спасибо!
Lotus Notes XPages для проектирования и Oracle (или другая СУБД) для данных
Ответы (4)
На самом деле с июля 2011 года в Xpages существует встроенная поддержка подключения RDBMS/JDBC. Взгляните на библиотеку расширений в OpenNTF (http://extlib.openntf.org/) и прочитайте сообщение в блоге, объявляющее о функциональных возможностях: http://www.openntf.org/blogs/openntf.nsf/d6plinks/NHEF-8JYMXE а>.
IBM пока официально не поддерживает его (не входит в пакет обновлений 1 — http://www-01.ibm.com/software/lotus/notesanddomino/nd85-UpgradePack853-1.html), но поддержка для него будет реализована в будущем.
Короткий ответ, кажется, «да, но нет».
XPages совместим с JDBC, поэтому вы можете подключаться ко всему, включая Oracle. Загвоздка в том, что вам, вероятно, придется писать код самостоятельно. По-видимому, есть планы открыть исходный код реляционной базы данных XPages DataSource на основе JDBC, но как таковой активности не было. Подробнее
XPages101.net может быть хорошим сайтом для того, чтобы освоить Xpages. У них есть 60 уроков, на которые вы можете подписаться. Они настоятельно рекомендуются. Вас может особенно заинтересовать урок 55.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: я никоим образом не связан с XPages101.net.
Среда XPages не имеет особой поддержки реляционных источников данных, но есть два жизнеспособных варианта в зависимости от того, насколько осторожно ваша организация относится к использованию последних и бета-версий программного обеспечения и сколько кода поддержки вы готовы написать.
В первом случае библиотека расширений XPages (http://extlib.openntf.org/) добавляет поддержку реляционных баз данных для версии Domino 8.5.3, выпуск которой запланирован на начало следующего месяца. Я не в бета-версии 8.5.3, поэтому не видел этого в действии, но видео на их странице выглядит многообещающе, а библиотека расширений в целом качественная. Поэтому, если вы хотите развернуть 8.5.3, когда он выйдет, и использовать библиотеку расширений, он, скорее всего, будет делать именно то, что вам нужно.
Если вы не собираетесь сразу обновлять или не хотите развертывать библиотеку, вы можете написать свой собственный код с помощью драйверов JDBC; здесь есть пример этой техники: http://www-10.lotus.com/ldd/ddwiki.nsf/dx/xpage_integration_rdb.htm . Хотя вы не можете, например, просто передать RecordSet в элемент управления Repeat на XPage, если вы хотите написать свой собственный ORM, вы можете заставить свои объекты реализовывать интерфейс List с использованием имен в стиле Java-Bean, который позволит вам использовать их в стандартных элементах управления и написать язык выражений, например "#{someRecord.someField}".