JSR#168 portlet f明

03-10-29 jakarta99

ch1 序言

S多大型企I的W站

uu裼昧 portal server 作殚_l的基A

至於什N是 portal 呢, 中文翻g是 "入口W站"

有人可能想..

天⒌.. 入口W站不是就是像 yahoo, pchome, yam 等等

不^, 我F在的 portal server

不是那N地,

基本上 yahoo, pchome, yam 那些只能Q樗ひ娴娜肟诰W站

如果你]有用^ portal server

或是似懂非懂..

大家可以BY到

MyNetscape ( http://www.mynetscape.com/ )

MyYahoo ( http://my.yahoo.com/ )

去]砸

因 MyNetscape 的邮奖容^好看

所以我接下砭鸵 MyNetscape 榻榻B的例

如果你第一次接|到 portal

你@的lF...

哇.. 楹我W站e面

充M了@N多小窗

我Q@些小窗叫做 "portlet"

而且每小窗都存在著立的息c热

可以放到最大化, s小, 原, P]等等

你登入之後

可以x窦罢{整自己 portlet 的配置

也可以O定自己喜好的L格c邮

更可以O定每 portlet 的Y料O定

@N以客樽鸬南到y,

就是我⒁榻B的 portal

jakarta99
2003-10-29 03:57

ch2 Portal 的M成

Portal 的M成可以分槿糠

(1) Portal Server

(2) Portlet Container

(3) Portlet

1) Portal Server 的定x是

一Portal(入口W站)就是指一 Web-based 的系y,

通常都峁人化O定、我坏侨搿

以及由各N不同碓椿虿煌W站取得各式各拥馁Y,

K且⑦@些Y放在W之中M合而成的呈F平台,

入口W站芯傻人化O定去提供客制化的W,

不同等的使用者g[面@得不同的Y热荨

2) Portlet Container 的定x是

portlet container 是提供 portlets 绦械沫h境,

包含了S多 portlets K且管理他的生命L期,

他也览m保存著 portlets 的喜好O定,

一 portlet container 接收到碜 portal 的求後,

接著⑦@求鬟fo存在 container 的 portlet 绦小

portlet container ]有x

去M合 portlets a生的Y热荩

@工作必由 portal 硖怼

portal 和 portlet container 可以

放在一起橥系y的元件,

或著分_成立的元件。

3) Portlet 的定x是

一 Portlet 是以 Java 技g榛A的 Web 元件,

由 Portlet Container 所管理,

iT砜舻 request 以及a生各NB的Y热荨

Portlets 榭刹迨 ( pluggable ) 的客艚槊嬖

提供呈F映橐Y系y。

@些由 portlet a生的热菀脖环Q槎温 (fragment),

而段落是具有一些t的Markup( HTML、XHTML、WML ),

而且可以和其他的段落M合而成一}s的文件。

而 Portlet 中的热菡碚f是

c其他 Portlet 的热菥酆隙橐 Portal W。

而 Portlet 的生命L期是被Portlet Container所管理控制的。

客舳撕 portlets 的互邮怯

portal 作透^典型的 request/response 方式,

正常碚f,客 portlets 所a生的热莼樱

e例碚f,根乱徊降倪BY或者是_J送出的表危

Y果 portal 邮盏 portlet 的幼鳎

⑦@rD向到目 portlet。

@些 portlet 热莸漠a生可能

因椴煌氖褂谜叨胁煌淖化,

完全是根哆@ portlet 的O定值。

jakarta99
2003-10-29 03:57

ch3 portlet c servlet 的PS

Portlet 和 Servlet 算是兄弟

有那N一cc相似 s又有那N一cc不同

因 Servlet 和 Portlet 不M然相同,

所以研究小MQ定 portlets 成橐新的元件,

因此定x了 portlets 一新的K且明_的介面c行椤

榱吮M可能cF有的 servlet Y合_到重}使用的目的,

portlet 的窭昧 servlet 的瘢

S多^念都U相似的,

Y合 portlets、servlets 及 jsp 在同一W站系y中,

我Q portlet application 。

在同一 portlet application 中,

他⒎窒硗 classloader,context 及 session。

1) Portlet 和 Servlet 的相似之

@ portlets 也是 Java 技g的 web 元件

@ portlets 也是有特定的 container 在管理

@ portlets 可以Ba生各N热

@ portlets 的生命L期由 container 所管理

@ portlets 和客舳说幕邮峭高^ request/response 的C制

2) Portlet 和 Servlet 也有一些不同

@ portlets 只有a生 markup Y段落,不是完整的W文件。而 Portal ⑺械 Portlet markup Y段落放到一完整的 Portal W。

@ portlets 不 URL ]有直接的PS

@ 客舳吮仨透^ portal 系y才能和 portlets 互

@ portlets 有一些定x好的 request 恚action request 以及 render request。

@ portlets A先定x portlet modes 及窗B可以指出在W中 portlet 的哪功能正在绦屑艾F在的B。

@ portlets 可以在同一 portal W之中存在多。

3) Portlet 有一些附加的功能是 Servlet 所]有的

@ Portlets 能虼嫒〖Υ嬗谰迷O定n及客制化Y料。

@ portlets 可以存取使用者Y料

@ portlets 具有 URL 的重功能在文件中去B建立BY,允S portal server 不用去知道如何在W的段落之中建立BY及幼鳌

@ portlets 可以Υr性的Y料在 portlet session 之中,碛不同的 :

application-wide scope 及 portlet private scope 。

4) Portlet 不具有一些功能, 但是 Servlet s有提供

@ servlet 具有O定出的文字a( character set encoding)方式

@ servlet 可以O定 HTTP 出的 header

@ servlet 才能蚪邮湛 portal l出的 URL 求

jakarta99
2003-10-29 03:58

ch4 RI - pluto 冥王星

JSR 是由 JCP ( www.jcp.org )

@ Java M所定x出淼囊

乎每 JSR 都a出 TCK* 及 RI**

*TCK ( Technology Compatibility Kit ) 相容性y元件

*RI ( Reference Implementation ) 作⒖

2003/10/27 JSR#168 Portlet Spec 1.0 已正式公

未, 大家就可以_始根@_l相容性的a品

而@室 RI

就是裼 Apache Jakarta Pluto 冥王星

( http://jakarta.apache.org/pluto/ )

至於楹谓凶鲒ね跣,

我猜是 Sun 想要把光芒射到冥王星都l光吧 :P

目前 pluto 尚未有正式的版本出

未碛信d趣的人可以 jakarta W站下d

不^目前我由 CVS 取得版本

已可以正常\作了

安b的方法十分..

只需要绦 %pluto%/bin/install 就可以安b了

安b^程你 tomcat 的目

假O你 tomcat 根目是 c:\tomcat4.1.27

你就打 c:\tomcat4.1.27 就可以了

接著 http://localhost:8080/pluto/portal

就可以看到很春的 portal 介面

至於操作模式c方法非常

多加操控就可以慢慢了解 portlet 的控制方法了

在 portlet spec 中定x的控制有分

1) 基本的 Portlet Modes

VIEW - 你]有做任何幼HH做热蒿@示

EDIT - 相P的O定

HELP - で助

2) 基本的 Window States

NORMAL - 原 portlet 窗

MAXIMIZED - 最大化 portlet 窗

MINMIZED - 最小化 portlet 窗

其, @些幼鞫家呀由 portal 所作

portlet container ⒔邮张c回嚓P的幼

真正在程式_l上

K不]到@些

除非你要做一 portlet container

而_l上要考]的是

什N人能蜃鍪颤N事情

例如f 尚未登入的人

只能 doView / doHelp

s不能 doEdit @N嘞薰芸C制的_l

jakarta99
2003-10-29 03:58

ch5 RI - pluto 冥王星

每通^JC的使用者

就可以使用相P的 portlet 外^ ( Look&Feel )O定

而@些O定就是透^ css 砭

在]有 portlet spec 之前

各家S商都自行蛴 ISV 各自完成

造成了S多 portlet o法共用同一份 CSS 作

移植上性S多}l生

因此 css 的定x毒哂

客制化功能的 portal 是相重要的

0) Anchor

<a ...> @K]有定x :P

1) Fonts ( font )

portlet-font

portlet-font-dim

2) Message ( paragraph .. )

portlet-msg-status

portlet-msg-info

portlet-msg-error

portlet-msg-alert

portlet-msg-success

3) Sections ( table, div, span ... )

portlet-section-header

portlet-section-body

portlet-section-alternate

portlet-section-selected

portlet-section-subheader

portlet-section-footer

portlet-section-text

4) Forms ( form )

portlet-form-label

portlet-form-input-field

portlet-form-button

portlet-icon-label

portlet-dlg-icon-label

portlet-form-field-label

portlet-form-field

基本上, 你要了解什N地方用什N css

@些 css 名Q套用在你_l的 portlet 之中

你就可以移植到其他支援 jsr#168 的系y

不需要在花rg去更改成樗的 Look&Feel

3Go 1 2 3 下一页