Использование GWT в качестве замены JSR-286 и связи между портлетами - PullRequest
1 голос
/ 23 февраля 2011

Я хотел бы реализовать или имитировать поведение спецификации портлета JSR286 и функции связи между портлетами, используя только GWT (без гаджета Google).

Вот мой пример использования:
-У меня есть GWT App-1, размещенное на site1.abc.org
-У меня есть GWT App-2, размещенное на site2.abc.org
-У меня есть GWT App-Portal (т.е. приложение, похожее на My Portal-a), размещенное на site-portal.abc.org

Мой GWT App-Portal должен отображать на той же странице, что и GWT App-1 и GWT-App2.Кроме того, приложение-1 должно взаимодействовать и отправлять данные (через вызов или события) в приложение 2.

Вопросы :
1) Возможно ли это технически возможно?
2) Как бы вы это реализовали?

PS: Если это сработает, возможно, нам придется закрыть нашу инициативу «Большой поставщик - горизонтальный портал».

1 Ответ

0 голосов
/ 23 февраля 2011

Я размышлял над таким проектом и экспериментировал с тех пор, как начал использовать GWT 2 года назад, и я верю, что то, что вы хотите, возможно, однако существуют некоторые технические препятствия. Основное техническое препятствие заключается в том, что компоновщики не предназначены для динамической загрузки модулей (сценарий загрузки зависит от события onLoad), поэтому вам придется либо написать собственный компоновщик, либо запустить сценарий загрузки для каждого установленного портлета, который может появиться в страницы (что не очень сильно сказывается на производительности, если у вас есть разделение кода в функции загрузки. Реализация портала GWT будет сильно зависеть от GWT-Exporter Рэя Кромвеля . Вам нужно будет реализовать API портлетов, используя это позволяет установить связь между порталом и портлетами. Кроме того, поскольку портлеты должны загружаться при запуске с компоновщиком по умолчанию, вам необходимо будет экспортировать функцию из портлета, которая принимает элемент DOM в качестве аргумента, чтобы портал мог указать портлету загрузить экземпляр портлета в определенный элемент.

...