Спецификация Java-портлетовСпецификация Java-портлетов (англ. Java Portlet Specification) описывает модель взаимодействия между портлетом и портлетным контейнером. Эта спецификация очень похожа на спецификацию Java-сервлетов (англ. Java Servlet Specification) и, фактически, разработана на основе Java Servlet Specification версии 2.3 и Java Server Pages версии 1.2[1]. ВерсииJSR 168Первая версия спецификации Java-портлетов (V1.0) была разработана в рамках Java Community Process, как ответ на запрос на спецификацию JSR 168[1]. Запрос был инициирован представителями компаний IBM и Sun Microsystems, Inc. в январе 2002 года. Финальная версия спецификации была представлена 27 октября 2003 года[2]. Спецификация предоставляет описание базовой программной модели портлета, в том числе:
JSR 286В 2005 году представителем компании IBM был инициирован запрос на спецификацию JSR 286, в котором предлагалось создать новую версию спецификации Java-портлетов для согласования с концепциями J2EE версии 1.4, а также другими JSR (например, c JSR 188) и спецификацией WSRP второй версии.[3]. Предыдущая версия спецификации JSR 168 никак не затрагивала проблемы интеграции, определяя только компонентную модель. Поэтому вопросы интеграции и межпортлетной коммуникации предлагалось специфицировать в новой версии. Работы над второй версией (V2.0) продлились до 12 июня 2008 года, когда её финальный релиз был утверждён экспертной группой, включающей в себя всех значимых разработчиков порталов, как коммерческих, так и с открытым кодом, разработчиков средств интеграции портлетов и разработчиков сред разработки портлетов[4]. Вторая версия спецификации привносит целый ряд новых возможностей для разработчиков портлетов, в том числе:
Кроме этого, была проделана большая работа по расширению программной модели портлетов, приблизив её к программной модели сервлетов и добавив специфические для портлетов расширения. Реализована работа с cookies, элементами заголовка документа и HTTP-заголовками. JSR 362В 2013 году работа над спецификацией была продолжена, и в апреле 2017 года была выпущена версия 3.0. Основными её особенностями стали:
Обратная совместимостьТретья версия бинарно совместима со второй, которая, в свою очередь, бинарно обратно совместима с первой версией и даже сохраняет совместимость поведения всех методов API. Это значит, что все портлеты, разработанные в рамках версии 1.0, могут быть запущены без всяких изменений в контейнере версии 2.0[4]. Примечания
См. такжеСсылки |