Я пытаюсь создать что-то "сервер портлета" - выход на механизме приложения Google. (как открытый исходный код)
Я хотел бы использовать стандарты JSR168/286, но я думаю, что ограничения механизма приложения сделают его где-нибудь между хитрым и невозможным.
Кто-либо попытался выполнить jetspeed или приложение, которое использует Плутон внутренне на механизме приложения Google?
На основе моих современных знаний портлетов и механизма приложения Google я ожидаю эти проблемы:
Военный файл с портлетами является с точки зрения развертывания более или менее полным веб-приложением (да, я знаю, что это действительно не работает без портального сервера). Военный файл может содержать свой собственный web.xml и т.д. Это делает развертывание на механизме приложения довольно трудным, потому что приложения не видимы друг другу, таким образом, весь портлет, содержащий архивы, должен быть включен в военный файл развернутого "приложения основанный на механизме портальный сервер".
"Портлеты" (по крайней мере, в liferay), запустился как постоянные процессы сервлета, на основе их portlet.xmls и web.xmls, который расположен в том же месте для каждого архива портлета, который загружается. Я думаю, что это может быть проблематично в механизме приложения, потому что все находится в одном большом "веб-приложении", таким образом, это может быть хитро для доступа к portlet.xmls из каждого архива.
Это предотвращает 100%-ю совместимость, по-моему.
Здесь кто-либо, у кого есть опыт с комбинацией портлетов и механизма приложения?
Вы думаете, что выполнимо изменить jetspeed, Плутон или какой-либо другой контейнер портлета, чтобы смочь выполнить его на механизме приложения?
Я рассмотрел это вкратце - ваша самая большая проблема заключается в том, что спецификация Portlet основана на некоторых ключевых элементах спецификации сервлета, но переопределяет их - в частности, обычно требуется поддержка кросс-контекстных вызовов.
Хотя можно спроектировать одно веб-приложение, содержащее несколько портлетов и контейнер сервлетов (часто это делается для портлетов администратора или, в случае Liferay, большей части их стека), это непросто.
На самом деле, если бы я смотрел на создание портального типа в AppEngine, я бы гораздо более внимательно посмотрел на размещение виджетов OpenSocial (если вам действительно нужны стандарты), возможно, работающих в Shindig или размещенных на внешнем хостинге. Это также может обеспечить совместимость с JSR-168, поскольку существует ряд (не очень хороших) портлетов-мостов для размещения виджетов, и написать такой адаптер несложно.