Спецификация портлета Java определяет контракт между контейнером портлета и портлеты и предоставляет удобную модель программирования для разработчиков портлетов Java.
Портлеты - это подключаемые компоненты программного обеспечения пользовательского интерфейса, которые управляются и отображаются на веб-портале, например корпоративный портал или веб-CMS. Портлет может (интегрировать) и персонализировать контент из разных источников на веб-странице. Портлет отвечает на запросы веб-клиента и генерирует динамическое содержимое.
Портлеты создают фрагменты разметки (HTML, XHTML, WML ), которые объединяются в портал. Обычно, следуя метафоре рабочего стола, страница портала отображается как набор неперекрывающихся окон портлета, где каждое окно портлета отображает портлет. Следовательно, портлет (или набор портлетов) похож на веб-приложение, размещенное на портале.
Некоторыми примерами приложений с портлетами являются электронная почта, сводки погоды, дискуссионные форумы и новости.
Портлетом управляет контейнер портлета. Стандарты портлетов не зависящие от платформы интерфейсы прикладного программирования, которые позволяют разработчикам программного обеспечения создавать портлеты, которые можно подключить к любому порталу, поддерживающему стандарты. Примером может служить Спецификация портлета Java. Портлет Java похож на сервлет Java , но создает фрагменты, а не полные документы, и не привязан к URL-адресу.
A контейнер портлетов запускает портлеты и предоставляет им необходимую среду выполнения. Контейнер портлетов содержит портлеты и управляет их жизненным циклом. Он также предоставляет механизмы постоянного хранения для предпочтений портлета. Контейнер портлетов получает запросы от портала на выполнение запросов к размещенным на нем портлетам. Контейнер портлетов не отвечает за агрегирование содержимого, создаваемого портлетами; сам портал обрабатывает агрегирование. Портал и контейнер портлетов могут быть построены вместе как единый компонент пакета приложений или как два отдельных компонента приложения портала.
Спецификация портлета Java версии 1.0 была разработана в рамках процесса сообщества Java как запрос спецификации Java JSR 168 и выпущена в окончательной форме в октябре 2003 года.
Спецификация портлетов Java версии 1.0 вводит базовую модель программирования портлетов с:
Первоначально у поставщиков порталов Java была собственная среда разработки портлетов, поэтому эти портлеты были ограничены конкретным порталом серверов и не может быть развернут на остальных порталах Java. После создания JSR 168 портлеты Java могут быть развернуты на любых серверах портала Java, соответствующих спецификациям JSR 168.
Каталог портлетов - это набор портлетов, которые представляют собой готовые к использованию компоненты для корпоративных порталов. Тем, кто хочет внедрить порталы, безусловно, потребуется множество и множество разнообразных портлетов для развертывания и запуска. Здесь пригодится каталог портлетов.
Каталог портлетов JSR 168 гарантирует, что портлеты из этого каталога могут работать на любом совместимом со стандартами сервере портала Java. В этих каталогах доступны типы решений портлетов (вертикальные домены и технологии), такие как совместная работа, социальные сети, сообщество, управление контентом, служебные программы, календарное планирование, управление персоналом.
Доступно множество каталогов портлетов с открытым исходным кодом и коммерческих, но решения на основе JSR 168 встречаются редко.
Спецификации JSR 168 предлагают разработчикам возможность повторно использовать код для поддержки набора портлетов, совместимых с JSR 168. Разработчикам легко сохранить один набор решений и развернуть его на многих.
JSR-286 - это спецификация портлета Java v2.0, разработанная в рамках JCP и созданная в соответствии с обновленной версией 2.0 WSRP.. Он был выпущен в июне 2008 года. Он был разработан, чтобы исправить недостатки спецификации версии 1.0, JSR-168. Некоторые из его основных функций включают:
JSR-362 - это спецификация портлета Java v3.0, выпущенная в апреле 2017 года. Некоторые из его основных функций включают: