Specifikace Java Portlet
Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od
verze recenzované 20. listopadu 2018; kontroly vyžadují
3 úpravy .
Specifikace Java Portlet popisuje model interakce mezi portletem a kontejnerem portletu . Tato specifikace je velmi podobná specifikaci Java Servlet Specification a ve skutečnosti byla vyvinuta na základě specifikace Java Servlet Specification verze 2.3 a Java Server Pages verze 1.2 [1] .
Verze
JSR 168
První verze specifikace Java Portlet Specification (V1.0) byla vyvinuta jako součást procesu Java Community Process v reakci na požadavek na JSR 168 [1] . Žádost iniciovali zástupci IBM a Sun Microsystems, Inc. v lednu 2002 . Konečná verze specifikace byla předložena 27. října 2003 [2] .
Specifikace poskytuje popis základního programovacího modelu portletu, včetně:
- dvě fáze životního cyklu portletu: akční fáze a fáze vykreslování, která umožňuje použití návrhového vzoru Model-View-Controller
- režimy portletu, pomocí kterých může portál sdělit portletu, jakou úlohu má vykonávat a jaký obsah má zobrazovat
- zobrazit volby, které popisují umístění na stránce, kam bude umístěn obsah generovaný portletem
- datový model portletu , který umožňuje ukládat informace o zobrazení v nastavení zobrazení, data relace v nastavení relace portletu a uživatelská nastavení v nastavení portletu
- sdružování, které zahrnuje seskupení více portletů a artefaktů Java EE potřebných pro fungování těchto portletů do jediné portletové aplikace, kterou lze nainstalovat na aplikační server v jednom bloku
JSR 286
V roce 2005 zástupce IBM inicioval specifikaci JSR 286 požadující novou verzi specifikace portletu Java, aby byla v souladu s koncepty J2EE verze 1.4 a také s dalšími JSR (jako je JSR 188) a specifikací WSRP verze 2. [3] . Předchozí verze specifikace JSR 168 problémy s integrací nijak neřešila, definovala pouze model komponenty. Proto bylo navrženo v nové verzi specifikovat problematiku integrace a interportletové komunikace. Práce na druhé verzi (V2.0) trvaly do 12. června 2008 , kdy její finální vydání schválila expertní skupina zahrnující všechny významné vývojáře portálů, komerční i open source , vývojáře nástrojů pro integraci portletů a vývojáře vývojových prostředí. portlety [4] .
Druhá verze specifikace zavádí řadu nových funkcí pro vývojáře portletů, včetně:
- dva způsoby interakce mezi různými portlety:
- prostřednictvím systému událostí, který je implementován modelem volného propojení vydavatel-odběratel, kdy jeden portlet může obdržet upozornění, že jiný portlet provedl nějakou akci
- prostřednictvím publikovaných voleb zobrazení, což umožňuje sdílení voleb dotazů napříč portlety nebo jinými artefakty
- schopnost používat dynamicky generované zdroje prostřednictvím adres URL zdrojů , které podporují více úrovní ukládání do mezipaměti
- plné využití AJAX s požadavkem procházejícím přímo přes portálový servlet a v důsledku toho získání plného přístupu ke kontextu portletu – parametry zobrazení, provozní režim, stav okna, portlet a nastavení relace portletu
- schopnost přesměrování volání a plnohodnotné zařazení ze všech metod životního cyklu portletu
- rozšířený seznam posluchačů životního cyklu ve srovnání s těmi, které jsou definovány ve specifikaci Java Servlet V2.5
- nové filtry a posluchače pro portlety
- režimy spravované portletem, které nejsou definovány v portálu, ale jsou spravovány přímo portletem
- možnosti běhu kontejneru portletu
Kromě toho bylo vykonáno mnoho práce na rozšíření programovacího modelu portletu, jeho přiblížení k programovacímu modelu servletu a přidání rozšíření specifických pro portlet. Implementována práce s cookies , prvky hlavičky dokumentů a HTTP hlavičky.
JSR 362
V roce 2013 práce na specifikaci pokračovaly a verze 3.0 byla vydána v dubnu 2017. Jeho hlavní rysy byly:
- závislosti na zdrojích;
- explicitní stav vykreslování;
- integrace s CDI 1.2;
- podpora servletu 3.1;
- Portlet Hub & XHR IPC;
- integrace s FacesBridge ( JSR 378 ).
Zpětně kompatibilní
Třetí verze je binárně kompatibilní s druhou, která je zase binárně zpětně kompatibilní s první verzí a dokonce udržuje chování všech metod API konzistentní . To znamená, že všechny portlety vyvinuté ve verzi 1.0 mohou běžet bez jakýchkoli změn v kontejneru verze 2.0 [4] .
Poznámky
- ↑ 12 David DeWolf . Úvod do specifikace Java Portlet . developer.com (09/08/2005). Získáno 24. dubna 2013. Archivováno z originálu 1. května 2013.
- ↑ JSR 168: Portlet Specification Archived 27. října 2020 na Wayback Machine
- ↑ Požadavky na specifikaci Java – detail JSR# 286 Archivováno 8. června 2012 na Wayback Machine
- ↑ 1 2 Stefan Hepper. Co je nového ve specifikaci Java Portlet Specification V2.0 (JSR 286)? . developerWorks . IBM (4. 3. 2009). Získáno 25. dubna 2013. Archivováno z originálu 1. května 2013. (Ruština)
Viz také
Odkazy