Как интегрировать или вызывать или взаимодействовать со сторонним виджетом в приложении GWT? - PullRequest
0 голосов
/ 18 февраля 2011

Я делаю приложение в GWT. Это похоже на панель инструментов и будет иметь из виджетов.

Теперь, когда мы отправляем это, есть случай, когда клиент может захотеть создать свой собственный виджет GWT и использовать его в приложении на приборной панели.

Насколько я понимаю, они не смогут этого сделать, поскольку мы не можем отправить наш исходный код, необходимый для повторной компиляции всего приложения, как только тег их виджета / модуля попадет в файл gwt.xml моего приложения.

Я не могу использовать ничего, кроме GWT, для создания этой панели. И их виджет может быть, скажем, флэш-карта, виджет / плагин jquery, другой модуль GWT, страница jsp, которая отображает визуализацию с внутреннего конца.

До сих пор я думал о том, чтобы предоставить виджет в моем приложении, который является оберткой в ​​форме Iframe, и вызвать их главную страницу (они предоставят URL), и иметь API, позволяющий моему приложению и их виджету говорить. .

Но я хотел бы знать, есть ли другие / лучшие подходы?

Ответы [ 2 ]

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

В зависимости от того, насколько закрыто ваше приложение (можно ли добавить пользовательские JS / HTML на страницы?), Вы всегда можете предоставить собственный Javascript API (JSNI) для некоторых пользовательских виджетов панели мониторинга.Самое простое решение, о котором я думаю, - это метод JSNI, который ваши клиенты могут вызывать для установки HTML-содержимого указанного виджета.Этот метод позволит им использовать различные параметры, такие как виджеты JQuery, собственный HTML-виджет, созданный GWT, или даже IFrame, указывающий на их страницы JSP и т. Д. Затем вы можете предоставить дополнительные методы API JSNI, которые позволят им взаимодействовать сВаше приложение / виджет также другими способами.Это будет лучше, чем метод IFrame, поскольку вам не придется сталкиваться с проблемами безопасности междоменных сценариев.

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

Это именно та проблема, которая решается с помощью виджетов Google OpenSocial . Существует несколько реализаций с открытым исходным кодом: http://shindig.apache.org/ - это одно. Вы можете посмотреть, как интегрировать это в свое приложение. Дополнительным бонусом является то, что вы можете отображать виджеты из других приложений (например, atlassian jira ), которые также обслуживают открытые социальные виджеты.

...