Giao di n Portlet khai báo các API c b n nh t c a m t Portlet. M i Portlet đ c xây d ng đ u ph i hi n th c hoá tr c ti p ho c gián ti p giao di n Portlet.
L p GenericPortlet hi n th c hoá giao di n Portlet và đ nh ngh a các ch c n ng c b n nh t mà m t Portlet c n có. Do đó, khi xây d ng Portlet, l p trình viên nên m r ng tr c ti p ho c gián ti p l p GenericPorlet này.
M t Portlet đ c qu n lý thơng qua chu trình s ng c a nó, b t đ u t lúc Portlet đ c t i lên, t o th hi n c a nó và kh i t o, ho t đ ng đ ph n h i yêu c u c a ng i s d ng đ n lúc nó đ c lo i b . Các ph ng th c đ c g i đ n trong chu trình s ng c a Portlet là:
• G i ph ng th c init trong quá trình kh i t o c a Portlet
• N u yêu c u do máy khách g i t i là yêu c u hành đ ng (Action Request) thì ph ng th c processAction đ c g i. N u yêu c u do máy khách g i t i là yêu c u bi u hi n (Render Request) thì ph ng th c processAction đ c g i.
Phát tri n CMS module cho h th ng Intranet cu Công ty TMA
• Khi Portlet Container xác đnh m t Portlet khơng cịn s d ng n a thì g i đ n ph ng th c destroy c a Portlet đó. Khi ph ng th c destroy đ c g i thì Portlet s gi i phóng tài nguyên h th ng mà nó đang s d ng và l u l i tr ng thái hi n th i c a nó.
5. Portlet URL
M t Portlet có th t o ra URL tham chi u đ n chính Portlet đó. Khi đó các URL này đ c g i là Portlet URL.
t o ra m t Portlet URL thì Porlet c n ph i s d ng đ i t ng PorletURL. N u ph ng th c createActionURL đ c g i thì s t o ra m t URL hành đ ng và n u ph ng th c createRenderURL đ c g i thì t o ra m t URL trình di n.
6. Portlet Mode
Ki u Portlet xác đ nh ch c n ng mà Portlet hi n đang th c hi n. Thông th ng, Portlet th c hi n các tác v và t o ra n i dung tùy thu c vào ch c n ng hi n th i. Ki u Portlet cho bi t nh ng tác v nào m t Portlet c n th c hi n và nh ng n i dung nào Portlet c n ph i t o ra.
Có 3 ki u Portlet đ c quy đnh là: • VIEW
̇ Ch c n ng chính c a Portlet khi s d ng ki u VIEW là t o ra n i dung cho bi t tr ng thái c a Portlet
̇ L p trình viên s hi n th c hóa ki u VIEW b ng cách đnh ngh a l i ph ng th c doView c a l p GenericPortlet.
Phát tri n CMS module cho h th ng Intranet cu Công ty TMA
̇ M i Portlet đ u ph i h tr ki u VIEW • EDIT
̇ Trong ki u EDIT, m t Portlet s cung c p n i dung và c u hình các thành ph n c a nó đ ng i s d ng có th t i u hóa h at đ ng c a Portlet
̇ L p trình viên s hi n th c hóa ki u EDIT b ng cách đnh ngh a l i ph ng th c doEdit c a l p GenericPortlet.
̇ M i Portlet không nh t thi t ph i h tr ki u VIEW • HELP
̇ Trong ki u HELP, Portlet cung c p nh ng thông tin giúp đ ng i s d ng v Portlet. Nh ng thơng tin này có th là nh ng thơng tin chung v tồn b Portlet ho c là các giúp đ c m ng c nh (Context- sensitive help)
Các h ng s t ng tr ng cho 3 ki u Portlet đ c khai báo trong l p PortletMode
7. Window State
Tr ng thái c a s cho bi t kho ng không gian trên trang Web Portal dành cho n i dung c a Portlet.
Có 3 tr ng thái c a s đ c đnh ngh a :
• NORMAL: cho bi t Porlet có th chia s trang Portal v i các Portlet khác. Ngoài ra, tr ng thái này còn cho bi t gi i h n hi n th c a thi t b do đó Portlet s đi u ch nh kích th c phù h p v i vùng hi n th .
Phát tri n CMS module cho h th ng Intranet cu Cơng ty TMA
• MAXIMIZED: cho bi t ch có m t Portlet hi n th trên trang Portal ho c Portlet đ c u tiên hi n th n i dung nhi u h n các Portlet còn l i.
• MINIMIZED: Cho bi t n i dung c a Portlet ch đ c hi n th ít nh t có th đ c ho c không đ c hi n th .
Các tr ng thái c a s đ c đnh trong l p WindowState.
8. Portlet Request
M t yêu c u g i đ n Portlet ch a các thơng tin v u c u t phía máy khách, các tham s c a yêu c u, n i dung d li u yêu c u, ki u Portlet, tr ng thái c a s …
Yêu c u đ c đ i di n b i m t đ i t ng và đ i t ng này đ c truy n vào nh là đ i s c a ph ng th c processAction hay render.
M i đ i t ng yêu c u ch có th h at đ ng trong ph m vi c a m t ph ng th c processAction hay render
Các ch c n ng c n thi t c a đ i t ng PortletRequest đ c khai báo trong giao di n PortletRequest.
9. Portlet Response
M t ph n h i c a Portlet bao g m nh ng thông tin đ c t o ra b i Portlet g i tr v cho Portlet Container d a trên yêu c u đ c g i đ n nh : s thay đ i ki u Portlet, tiêu đ , n i dung… Portlet Container s s d ng nh ng thông tin này đ t o ra ph n h i đ n ng i s d ng, thông th ng là m t trang Web Portal.
Phát tri n CMS module cho h th ng Intranet cu Công ty TMA
M i đ i t ng ph n h i ch có th h at đ ng trong ph m vi c a m t ph ng th c processAction hay render
Các ch c n ng c n thi t c a đ i t ng Portlet Response đ c khai báo trong giao di n PortletResponse.
10. Portlet Preferences
Portlet thơng th ng đ c c u hình cho phù h p v i t ng ng i s d ng. Các thơng tin v c u hình c a Portlet đ c g i là Portlet Preference. Và Portlet Container s ch u trách nhi m l u gi nh ng thơng tin c u hình này.
Portlet có th truy c p vào các thơng tin c u hình c a nó thơng qua giao di n PortletPreferences. Và Portlet ch có th thay đ i các thơng tin v c u hình c a nó bên trong ph ng th c processAction.
nh ngh a Portlet xác đnh các thu c tính preference mà m t Portlet s d ng. nh ngh a này bao g m các giá tr kh i t o và xác đnh xem thu c tính này có ph i là thu c tính ch đ c hay không.
11. Caching
Vi c l u các n i dung c n s d ng vào vùng nh t m th i đ c th c hi n nh m m c đích rút ng n th i gian x lý c a Portlet, đ ng th i c ng rút ng n th i gian x lý c a Server.
c t Portlet xác đnh c ch h t h n vi c l u tr n i dung l u t m th i này. C ch này h at đ ng tùy thu c và t ng Portlet và t ng ng i s d ng Portlet. N i
Phát tri n CMS module cho h th ng Intranet cu Công ty TMA
dung đ c l u tr t m th i không đ c chia s gi a các ng i s d ng khác nhau đang s d ng đ ng th i cùng m t Portlet.
M t Portlet mu n t ng th i gian x lý b ng cách s d ng c ch l u tr t m th i n i dung c n ph i đnh ngh a th i gian h t h n n i dung l u t m th i (tính b ng đ n v giây) trong đ c t tri n khai c a nó. Ví d sau đây cho bi t m t Portlet mu n n i dung c a nó đ c l u tr t m th i v i th i gian h t h n là 300 giây.
... <portlet> ... <expiration-cache>300</expiration-cache> ... </portlet> ... M t Portlet n u đã đnh ngh a th i gian h t h n l u tr d li u t m th i c a nó trong đ c t tri n khai c a nó v n có th đ c l p trình viên thay đ i
Th i gian h t h n c a vi c l u tr t m th i này có th đ c thay đ i b ng cách thay đ i thu c tính c a đ i t ng RenderResponse.
N u th i gian h t h n này đ c gán b ng 0 thì vi c l u tr d li u t m th i b b qua đ i v i Portlet. N u giá tr này đ c gán b ng -1 thì các n i dung đ c l u t m th i c a Portlet s không bao gi b h t h n.
Phát tri n CMS module cho h th ng Intranet cu Công ty TMA
N u m t Portlet không đnh ngh a th i gian h t h n c a d li u l u tr t m th i trong đ c t tri n khai c a nó thì vi c thay đ i giá tr th i gian này trong đ i t ng RenderResponse s khơng có tác d ng do s b Portlet Container b qua.
N u n i dung c a Portlet đ c l u tr t m th i và ch a h t h n, đ ng th i khơng có m t yêu c u nào đ n Portlet t phía ng i s d ng thì Portlet Container s s d ng n i dung đ c l u tr t m th i khi c n thi t.
N u n i dung c a Portlet đ c l u tr t m th i và có yêu c u đ n Portlet t phía ng i s d ng thì Portlet Container s khơng s d ng n i dung t m th i đ c l u tr mà s g i đ n ph ng th c x lý yêu c u c a Portlet
12. ng d ng Portlet
12.1 Các thành ph n c a ng d ng Portlet
ng d ng Portlet là m t ng d ng Web nên ngoài vi c bao g m Portlet và đ c t tri n khai Portlet, nó cịn có th ch a các thành ph n khác nh : Servlet, trang JSP, các l p… Do đó, bên c nh các thơng tin v ng d ng Portlet, nó cịn ch a đ ng thông tin v các thành ph n đ c đ a vào ng d ng Portlet.
12.2 C u trúc cây th m c
M t ng d ng Portlet c ng có c u trúc cây th m c đ c t ch c gi ng nh m t ng d ng Web. Tuy nhiên có m t s khác bi t nh sau:
• Có thêm t p tin /WEB-INF/portlet.xml là t p tin đ c t tri n khai c a Portlet.
Phát tri n CMS module cho h th ng Intranet cu Cơng ty TMA
• Các l p đ c s d ng cho ng d ng Portlet và các tài nguyên khác đ c truy c p b i ng d ng Portlet c n ph i đ c l u trong th m c /WEB-INF/classes ho c trong các t p tin JAR đ c l u trong th m c /WEB-INF/lib.
12.3 T p tin l u tr c a ng d ng Portlet
M t ng d ng Portlet c ng đ c đóng gói nh là m t ng d ng Web. Ngh a là s d ng d ng WAR (Web Application Archive) khi tri n khai ng d ng.