You are on page 1of 34

NHN XT CA NGI HNG DN

............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................

LI
CM
N
TP H
Ch
Minh,
ngy thng nm 2010
Chng em xin chn thnh cm n Mt ln na, chng em xin chn thnh

Li cm n
Chng em xin chn thnh cm n qu thy c trong khoa Ton Tin hc Trng
i hc Khoa hc T nhin tn tnh dy bo cho chng em nhiu kin thc b ch
trong sut thi gian hc tp ti trng cng nh to iu kin cho chng em c
thc tp tip cn vi mi trng lm vic thc t. Knh chc cc Thy c lun di do
sc khe v thnh cng trong cuc sng.
c bit chng em xin by t lng bit n su sc n qu c quan Trung tm
ng dng cng ngh thng tin pha Nam to iu kin v mi trng cho sinh vin
chng em c lm vic nghin cu ti qu cng ty.Cng nh gi li bit n su sc n
ngi hng dn v cc anh ch trong c quan , nhng ngi tn tnh hng dn
chng em trong sut thi gian thc hin n thc tp, cho chng em s bnh tnh v t
tin, gip chng em rt ra nhiu bi hc kinh nghim qu bu mi khi chng em vp phi
nhng kh khn. Chng em kh c th hon thnh ti thc tp ny nu khng nh s
tn tnh ch bo ca qu c quan.
Xin cm n

Sinh vin thc hin


Dng Hng Tun

Mc lc
Phn 1:

NHT K THC TP .................................................................................. 4

Tun 1 (t 05/04 n 09/04): ........................................................................................ 4


Tun 2 (t 12/04 n 16/04): ........................................................................................ 4
Tun 3 (t 19/04 n 24/04): ........................................................................................ 4
Tun 4 (t 26/04 n 29/04): ........................................................................................ 4
Tun 5 (t 04/05 n 07/05): ........................................................................................ 5
Tun 6 7 (t 10/05 n 21/5): ..................................................................................... 5
Tun 8 (t 24/05 n 04/06): ........................................................................................ 5
Phn 2:

TM HIU V C QUAN THC TP.......................................................... 6

I/ Gii thiu : ............................................................................................................... 6


II/ T chc ................................................................................................................... 6
Phn 3:

NI DUNG THC TP ................................................................................ 8

I/ Cng ngh Java / J2EE ............................................................................................. 8


II/ J2EE Framework : Struts2 , Hibernate ..................................................................... 8
1/ Struts2 .................................................................................................................. 9
2/ Hibernate ............................................................................................................ 12
3/ Bi tp v d ng dng framework ...................................................................... 15
II/ Portal / Portlets ...................................................................................................... 20
1/ Gii thiu v Portal , Portlets .............................................................................. 20
2/ Hot ng ........................................................................................................... 25
3/ Bi tp v d ng dng Portlets ........................................................................... 28
Phn 4:

KT QU T C ............................................................................... 34

Phn 1:

NHT K THC TP

Tun 1 (t 05/04 n 09/04):

Lm quen ngi hng dn v nhn vin trong phng ban

Tm hiu v cng vic v cch thc lm vic trong c quan.

Tm hiu v nhng kin thc lin quan s phc v cho ti ca c quan

nh : WebService , Portal , J2EE framework ,

c hng dn v cch thc lm vic nhm trong ti

Tun 2 (t 12/04 n 16/04):

c giao tm hiu v framework Struts 2 v Hibernate .ng dng vit bi

tp cho ngi hng dn yu cu

c giao tm hiu v Axis2 Service , khi nim Portal , Portlets

c giao bi tp, chun b bo co vi ngi hng dn v ng dng

portlets

Tun 3 (t 19/04 n 24/04):

Trnh by vi ngi hng dn v Portal v Portlets

Bt u tham gia d n ca c quan thc tp

Xy dng tng ng dng d liu s dng Open Source Axis2 Service ca

Apache

Tun 4 (t 26/04 n 29/04):

Tip tc c giao xy dng tng d liu Web Services


4

Bt u nghin cu , xy dng ng dng Portlet c bn cho d n c quan

Tun 5 (t 04/05 n 07/05):

Xy dng cc c bn Portlet cho d n c quan cng vi cc thnh vin

trong nhm

Tm hiu v s dng Struts2 plugin trong ng dng portlets

Tun 6 7 (t 10/05 n 21/5):

Tip tc xy dng cc portlets chung vi cc thnh vin , nhm c k

thut xy dng portlets sau ny p dng vo d n ca c quan

Tun 8 (t 24/05 n 04/06):

Kt thc qu trnh nghin cu xy dng portlets

Bo co vi ngi hng dn thc tp kt qu t c

Kt thc qu trnh thc tp

Bt u tin hnh xy dng d n trong c quan cng cc thnh vin trong

nhm

Phn 2:

TM HIU V C QUAN THC TP

I/ Gii thiu :
Cc Cng ngh thng tin l t chc trc thuc B Ti nguyn v Mi trng, c chc
nng gip B trng qun l, ch o v ng dng, pht trin cng ngh thng tin v t
chc thc hin cc dch v cng v ng dng, pht trin cng ngh thng tin trong cc
lnh vc thuc phm vi qun l ca B. Cc cng ngh thng tin c 5 n v qun l nh
nc: Phng K hoch Ti chnh; Phng Khoa hc, Cng ngh v Hp tc quc t;
Phng Php ch; Vn phng; Chi nhnh Cc Cng ngh thng tin ti thnh ph H Ch
Minh v 5 n v s nghip: Trung tm Chuyn giao cng ngh; Trung tm Cng ngh
phn mm v GIS; Trung tm Lu tr v Dch v thng tin ti nguyn - mi trng;
Trung tm C s h tng cng ngh thng tin; Trung tm ng dng cng ngh thng tin
pha Nam (tr s ti thnh ph H Ch Minh)
Trung tm ng dng cng ngh thng tin pha Nam l n v s nghip trc thuc Cc
Cng ngh thng tin, c chc nng gip Cc trng trin khai thc hin nhim v ng
dng v pht trin cng ngh thng tin ti nguyn v mi trng pha Nam thuc phm
vi qun l ca Cc.
Trung tm ng dng cng ngh thng tin pha Nam c tr s t ti 36 L Vn Phc,
qun 1, thnh ph H Ch Minh, c con du, ti khon ng k ti Kho bc nh nc v
ngn hng theo quy nh ca php lut.

II/ T chc
-

Trung tm c Gim c v khng qu 03 Ph Gim c.

Gim c Trung tm chu trch nhim trc Cc trng v cc nhim v c


giao; quy nh chc nng, nhim v ca cc n v trc thuc; phn cng nhim
v cho cn b, vin chc, lao ng v iu hnh mi hot ng ca Trung tm.
Ph Gim c Trung tm gip vic Gim c Trung tm, chu trch nhim trc
Gim c Trung tm v cc lnh vc cng tc c phn cng.

Cc phng ban trong trung tm


o Phng Hnh chnh tng hp.
o Phng Qun l d n.
o Phng C s d liu v chuyn giao cng ngh.
o Phng ng dng cng ngh thng tin.

Phn 3:

NI DUNG THC TP

I/ Cng ngh Java / J2EE


Java 2 Platform, Enterprise Edition (Nn tng Java, phin bn 2 - bn dnh cho kinh
doanh l cng ngh ca Sun Microsystems) hay Java EE (gi tt l J2EE) l mt nn lp
trnh dnh cho vic pht trin ng dng phn tn kin trc a tng, ch yu da vo cc
thnh phn mun chy trn cc my ch ng dng. Java EE cn c xem nh l mt
ngn ng hay mt tiu chun v c th cng b l sn phm ca h tng thch vi
Java EE, cc nh cung cp phi tun th mt s yu cu t ra.
Java EE bao gm mt s c t k thut API, nh JDBC (C cu lin ni vi c s d
liu), RMI (thi hnh phng php t xa), th in t (e-mail), JMS (Java Message
Service - Dch v thng ip ca Java), Dch v mng (Web services), XML , , v
ng thi n cn nh ngha cu trc lin ni gia nhng k thut ny vi nhau. J2EE
cn bao gm mt s c t ch tn ti trong cc thnh phn ca n. Nhng thnh phn
ny bao gm Enterprise JavaBean (ch th Bean dng trong kinh doanh), servlet, portlet,
JSP v mt s cc k thut v dch v mng (web service). iu ny cho php nh pht
trin to ra mt chng trnh ng dng kinh doanh (enterprise application) khng nhng
ch c th s dng trn cc nn tng khc nhau, m cn c th khuch trng thnh
nhng qui m ln hn v tch hp vi nhng cng ngh k tha t trc y. Trnh ch
ca Java EE c th qun xuyn cc giao dch (transactions), nhim v bo an (security),
chc nng a bin s bt nh lng (arity), tnh qui m ha (scalability), s tng tranh
(concurrency) v qun l cc thnh phn c trin khai trong mi trng ca n.

II/ J2EE Framework : Struts2 , Hibernate


8

1/ Struts2
a/ Gii thiu

Apache Struts (trc y l thuc d n Apache Jakarta, Struts by gi l mt d n c


lp) l mt b khung m ngun m cho vic pht trin cc ng dng web bng J2EE. N
s dng v m rng Java Servlet API gip cho cc nh pht trin p dng kin trc
MVC (Model-view-controller). Struts ra i bi Craig McClanahan v cng hin cho T
chc Apache vo thng 5, 2000.
B khung (framework) cho php thit k v hin thc cc ng dng web qui m ln c
th c m nhim bi nhiu nhm khc nhau. C th hn, cc nh thit k trang, cc
nh pht trin thnh phn v cc nh pht trin khc c th x l phn vic ca h mt
cch trnh t v c lp. N h tr I18N (h tr quc t), mt th vin th ty bin
phong ph, hin th theo dng lt gch v kim chng ni dng (form validation). N
cng h tr nhiu lp hin th khc nhau (presentation layers), bao gm JSP,
XML/XSLT, JavaServer Faces (JSF), v Velocity, cng nh nhiu lp m hnh khc
nhau, bao gm JavaBeans v EJB.

Struts 2 l mt phin bn nng cp so vi framework Struts truyn thng , Struts v


webwork kt hp vi nhau pht trin nn Struts 2 Framework. Struts 2 Framework
rt thch hp v d dng m rng pht trin cc ng dng web vi mc khc nhau.
Struts 2 c nhng thay i ng k, to iu kin cho vic pht trin ng dng web d
dng nhanh chng, gim thiu thi gian vit code v hiu qu hn. V c bn th Struts 2
vn l MVC c tch hp thm nhiu h tr t cc framework khc nh Dojo (Ajax ) ,
JasperReport ,

b/ Hot ng

Quy trnh hot ng ca Struts 2 :

1)Ngi s dng gi yu cu n server yu cu mt s ti nguyn ca ng dng


2)B iu khin lc (FilterDispatcher) xem xt yu cu v sau xc nh mt Action
thch hp
3)Cc b chn (Interceptors) c ng dng: cc cu hnh b chn p dng cho cc chc
nng chung nh: lung cng vic, thm nh, ti file c t ng ng dng vo yu
cu
4)Thc thi Action: sau khi phng thc action c thc thi thc hin cc hot ng
lin quan n c s d liu nh sp xp hoc nhn d liu t c s d liu
5)Sinh kt qu
6)Sau kt qu yu cu c tr v thng qua b chn theo chiu ngc li. Kt qu
tr v cho php chng ta thc hin thu dn hoc thm qu trnh x l
7)Hin th kt qu cho ngi s dng: vic iu khin cui cng c tr v cho trnh
cha servlet, n s gi kt qu tr v cho trnh duyt ca ngi s dng

10

Action ContextCleanUp filter: l mt ty chn v n c s dng khi tch hp vi cc


cng ngh khc nh SiteMash Plugin
FilterDispatcher: tip n, FilterDispatcher (b iu khin lc) c gi, n quay li s
dng ActionMapper xc nh Action no c triu gi. Nu action c yu cu
c triu gi th FilterDispatcher y nhim vic iu khin li cho ActionProxy.
ActionProxy:ActionProxy nhn s gip t b qun l cu hnh file (Configuration
Files manager), c khi to t file struts.xml. Sau ActionProxy to ra mt
ActionInvocation, thc thi (implement) t mu lnh. ActionInvocation x l triu gi b
chn (Interceptors) nu n c cu hnh v sau triu gi Action. ActionInvocation
tm kim kt qu thch hp, sau kt qu c thc thi, n triu gi vic sinh ra trang
cc JSP hoc cc mu.
11

Sau , cc Interceptor c thc thi mt ln na theo th t ngc li. Vic tr v kt


qu cui cng thng qua cc b lc c cu hnh trong file web.xml. Nu b lc
ActionContextCleanUp c cu hnh, th FilterDispatcher khng dn dp ThreadLocal
ActionContext. Nu b lc ActionContextCleanUp khng c th FilterDispatcher s dn
dp tt c cc ThreadLocal tn ti

2/ Hibernate
a/ Gii thiu

Hibernate l mt framework c mt sinh vin Chu u ngh ra n gin ha , t


ng ha qu trnh kt ni v thao tc trn C S D Liu (CSDL)
Da vo nhng cu trc nh ngha bng file .xml thc hin vic to CSDL, bng, cc
rng buc trn bng, cc quan h tham chiu ...
iu c ngha l vic kt ni ti CSDL khi dng Hibernate gip ngi lp trnh t
quan tm hn ti vic thao tc trn d liu m quan tm ti nhng rng buc d liu
nhiu hn, thng qua cc annotation (quy c t tn) c nh ngha, lm cho vic
thao tc CSDL hng i tng hon ton
Dng Hibernate l dng cc file config v cc lp lin kt to CSDL ch ko dng
tay hay lp DAO bnh thng
Hibernate gip chng ta pht trin cc lp dng lu tr d liu theo cch thc hng
i tng: association, inheritance, polymorphism, composition v collections
Hibernate cho php bn thc hin cc cu truy vn d liu bng cch s dng ngn ng
SQL m rng ca Hibernate (HQL) hoc l ngn ng SQL nguyn thy cng nh l s
dng cc API.

12

Hibernate c cp giy php LGPL (Lesser GNU Public License). Theo , ta c th


dng Hibernate trong cc d n open source hoc cc d n thng mi (commercial).
b/ Hot ng

V mt vt l, theo m hnh d liu quan h, d liu ca chng ta s bao gm cc thc


th (entity) c quan h vi nhau. V khi hin thc c th hn mc database, chng s
c i din bi cc table, bi cc rng buc kha ngoi, kha chnh, Hibernate
cng nh vy.
Mi table trong database l mt object trong Hibernate. Do , ta cn c mt java object
cho mi table trong database. Cc java object ny s c cc getters / setters v mt s
ngoi l theo quy c ca Hibernate.
Tip theo Hibernate bit mt object c nh x (mapping) nh th no vi table
trong database, Hibernate yu cu ta cung cp tp tin c t gi l mapping file. Theo
quy c ca Hibernate, cc mapping file ny c ui l .hbm.xml v phi hp l vi
DTD (Document Type Definition) m Hibernate a ra. Trong cc mapping file ny,
ta s c t cc mi quan h gia property ca object vi field ca table. Tc l ta gip
cho Hibernate hiu mi quan h gia cc object tng ng nh th no vi mi quan
h gia cc field.
Tip theo na, ta cn c 1 tp tin Hibernate bt u: hibernate.cfg.xml. C th ni tp
tin ny c load ln u tin khi bn khi ng Hibernate.
Tp tin hibernate.cfg.xml dng nh ngha cc kt ni CSDL cho ng dng :

13

o hibernate.connection.driver_class
o hibernate.connection.url
o hibernate.connection.username
o hibernate.connection.password
o hibernate.connection.pool_size
o show_sql
Tng t nh hibernate.cfg.xml, hibernate.properties cng khai bo cc thng s,
nhng hibernate.properties thng c kt hp vi spring config.

Cc tp tin nh x : name_class.hbm.xml .Bn trong ta cu hnh nhng thnh phn d


liu tng ng gia java object v entity nh column , primary key , relationship one-tomany many-to-many one-to-one.c bit Hibernate cn cho php ta cu hnh nh x
(mapping) quan h many gia cc entity thnh cc kiu d liu collections trong java
s dng Hibernate trong ng dng J2EE :
Ta gi i tng SessionFactory , load cc file cu hnh Hibernate ln server sn
sng cho vic gi ly d liu t CSDL . V vic khi to i tng SessionFactory kh
chm , v ch c np 1 ln lc khi to .Sau ny ta khng cn khi to m ch cn gi
cc Sessions ly d liu

SessionFactory sessionFactory = new


Configuration().configure().buildSessionFactory();
Khi ta c nhu cu ly d liu hay lu d liu , ta cn to session t SessionFactory v
thao tc CSDL thng qua i tng session

14

//open a session
Session session = sessionFactory.openSession();
//begin a transaction
Transaction tx = session.beginTransaction();
//
//do sth with session here
//
//commit
tx.commit();
//close session
session.close();
Sau khi ta thao tc xong th cn ng session tit kim ti nguyn , cng nh khng
nh hng n ln thao tc session ln sau .Bn trn l nhng khi nim , cng nh cc
s dng c bn nht s dng Hibernate

3/ Bi tp v d ng dng framework
Bi tp c giao lm mt ng dng da trn framework struts2 v hibernate
Sau y l m hnh CSDL s s dng Hibernate mapping a vo ng dng s dng:

15

BANGPHANQUYEN
PK

MaPQ
TenPQ
MotaPQ
TrangthaiPQ

NHANVIEN
PK

PHONGBAN
PK

MaPB
TenPB
DienthoaiPB
TrangthaiPB

MaNV
TenNV
NgaysinhNV
DiachiNV
DienthoaiNV
Chucvu
EmailNV
TrinhdoNV
Tendangnhap
MatkhauNV
Ngaycaptaikhoan
Nguoicaptaikhoan
TrangthaiNV

Tng ng trong ng dng Hibernate s to ra 3 file config v 3 java object tng ng :

Bn cnh , s dng cc lp DAO khi sessionFactory v Session kt ni CSDL

16

Nh vy Hibernate x l xong phn CSDL , tip n ta s dng Struts2 xy dng


cc ng dng CRUD (create,update,delete) c bn trn cc i tng
Ta cc action trong package action v nh ngha cc action dnh cho cc i tng :

K n ta cu hnh trong struts.xml thc thi nhng action

Ta chn namespace,package , actionClass , method thc thi cho cc action , result tr v


cho tng action.nh ngha name cho action c gi

17

Ta s vit code cho tng action , nu trong action cn gi CSDL th s gi cc class


DAO m ban u ta define cho Hibernate
Bn trn l nhng iu c bn nht trong vic s dng , trong qu trnh vit ng dng
nghin cu thm mt s tnh nng ca struts 2 v hibernate
Sau y l giao din ca ng dng :

18

Giao din danh sch nhn vin

Giao din chi tit nhn vin

19

Giao din tm kim theo cc tiu ch

Tuy ng dng pht trin bng 2 framework trn kh phc tp v tn nhiu cng sc ,
nhng nu trong nhng d n ln th n gip chng ta pht trin ng dng nhanh hn ,
r rng hn.

II/ Portal / Portlets


1/ Gii thiu v Portal , Portlets
a/ Portal :

Portal hay Cng thng tin in t c hiu nh l mt trang web xut pht m t
ngi s dng c th d dng truy xut cc trang web v cc dch v thng tin khc trn
mng my tnh. L im ch qui t hu ht cc thng tin v dch v cho ngi s dng

20

cn, l im ch n thc s. Thng tin v dch v c phn loi nhm thun tin cho
tm kim v hn ch vi lp cc thng tin. L im ch qui t hu ht cc thng tin v
dch v cho ngi s dng cn, l im ch n thc s. Thng tin v dch v c
phn loi nhm thun tin cho tm kim v hn ch vi lp cc thng tin.

Hin nay c kh nhiu loi Portal: Portal cng cng, Portal ring ca cng ty hoc t
chc, Portal chuyn ngnh..., v gn y cn xut hin cc siu Portal l Portal dn n
cc Portal mc di. Hy ch cp n cc Portal cng cng. Khc vi cc Portal
chuyn ngnh thng tp trung vo mt lnh vc hp nhng su hn, thng tin do mt
Portal cng cng cung cp bao trm nhiu lnh vc, hoc nhiu ch trong mt lnh
vc ln nh kinh t, khoa hc, cng ngh, y hc, th thao, m nhc... Portal tch hp
thng tin t rt nhiu ngun khc nhau. V d mt Portal tm quc gia phi tch hp
thng tin t trung ng v cc b, ngnh, a phng. Portal ca mt thnh ph phi tch
hp c thng tin t cc qun, huyn v cc s, ban, ngnh.
Xy dng Portal l qu trnh rt phc tp v i hi u t lu di. Nhn chung, phi chia
thnh nhiu bc: lp k hoch, thc hin th im, nh gi, iu chnh, duy tr, pht
trin v m rng... Mt yu t khng th thiu l phi c s ch o tp trung v phi
hp cht ch gia cc thnh vin tham gia trong h thng Portal ngay t u m bo
tnh tng thch v hp chun ca cc thnh phn Portal.
Cc tnh nng m Portal cn phi c :
C nhn ha (Personalization) : thng tin khc nhau cho cc loi i tng s
dng khc nhau
Tch hp nhiu loi thng tin (Content aggregation) : ni dung thng tin t
nhiu ngun khc nhau cho nhiu i tng
H tr nhiu mi trng hin th thng tin (Multidevice support)

21

ng nhp mt ln (Single Sign On SSO) : cc dch v ca portal ly thng tin


v ngi dng khi hot ng m khng phi yu cu ngi dng phi ng nhp
li mi khi c yu cu.
Qun tr portal (Portal administration) : xc nh cch thc hin th thng tin
cho ngi dng cui
Qun tr ngi dng (Portal user management) xc nh cch thc hin th
thng tin cho ngi dng cui
Xut bn thng tin (Content syndication) : cung cp cho ngi dng thng qua
cc phng php hoc giao thc (protocol) mt cch thch hp nh XML , RSS ,
RDF
b/ Portlets :

l mt web component c dng trin khai vo trong mt portlet container v to ra


ni dung ng. V mt cng ngh, portlet l mt class vit theo chun giao din ca
javax.portlet.Portlet interface v c ng gi, trin khai trong mt file .war v trong
mt portlet container.
Portlet c my im ging servlet l :
-

c qun l bi mt container chuyn dng.

Kh nng x l request v sinh ra ni dung ng.

Vng i c qun l bi container

Lm vic vi client thng qua m hnh request/response.

C mt vi im khc l:
-

Portlet ch to ra nhng mnh ni dung ch khng to ra mt trang web hon

chnh.
-

Portlet khng c URL trc tip.

Portlet khng b b buc vo ni dung to ra. Ni dung to ra c th l html/text

22

Portlet cung cp thm mt s hm chc nng sau:


-

Persistent storage for preferences : Portlet cung cp mt i tng

PortletPreferences dnh cho vic lu tr nhng d liu ca ngi s dng. Mt v d v


d liu m portlet c th lu li l look and feel ca mt portlet cho tng user. Nhng d
liu ny s c lu tr v kho d liu ng b. Chng khng b mt i khi khi ng
li server. L mt nh pht trin bn khng cn phi suy ngh v cch lu tr ca chng.
-

Request processing : So vi servlet th portlet c mt b x l request phc tp

hn. Nu trong servlet, vng i ca mt request c gi gn trong method service ()


th vng i ca mt request trong mt portlet c chia ra lm hai giai on (phases).
Giai on mt l x l request v giai on hai l tr li kt qu.
Giai on mt : V trong mt trang web portal, chng ta c th c nhiu portlet nn h
iu hnh portal s phi tm ra portlet no m ngi s dng gi request ti v gi
phng thc processAction. Tt cc cc business logic ca mt portlet thng c x l
trong giai on ny. Kt qu tr v c cha trong portlet session hay actionResponse.
Giai on hai: Portal s i qua tng portlet trong trang web portal v gi phng thc
render. giai on ny, mt portlet thng ly kt qu cha trong portlet session hay
response v chuyn kt qu ny thnh nhng mng html m ngi s dng c th c
hiu.
-

Portlet modes: n gin ha cng vic pht trin portlet cho nh lp trnh cng

nh vic s dng portlet cho ngi dng, chun portlet chia portlet content ra nhiu
trng thi (mode) . Mi mt trng thi s c lm nhng cng vic nht nh. V d khi
mt ngi s dng chuyn ti mt portlet v h khng bit s dng h c th chuyn
qua mode tr gip (help) v c nhng hng dn s dng. Sau quay tr li mode
view s dng. Trong chun portlet chng ta thng tm thy 3 modes bt buc m nh
pht trin portal phi h tr l : mode view, mode help, mode edit.
Mode help: a ra nhng hng dn s dng cho ngi dng.
Mode view: Hin th ni dung ng dng ca portlet.
23

Mode edit: Cho php ngi dng cu hnh portlet lm vic theo mun ca h. V d,
khi ngi s dng chuyn ti mail portlet, h phi ni cho portlet bit h mun ly mail
message t mail server no v user name, password ra sao. Tt c nhng thng tin nh
vy thng c lm trong portlet edit mode v lu li trong Portlet References.
Ngoi ra chun portlet cn khuyn khch cc nh pht trin portal nn h tr nhng
mode nh admin/config, mode ny ch cho php nhng power user nh moderator,
admin truy nhp. Mt v d cho mode ny l user portlet, trong ngi s dng bnh
thng c th vo view mode tm ra nhng thng tin ca mt user khc . Nhng mt
admin hay moderator c th vo admin mode ca user portlet xa hay sa nhng
thng tin.
Mt portal h tr admin mode s n gin cng vic lp trnh cho mt lp trnh vin rt
nhiu v h khng phi lo lng v vic qun l ngi dng cho portlet. Nhng nhng lp
trnh vin cng cn phi lu trong vic s dng nhng mode m rng ny v c th
portal khng h tr. Vic ny ng ngha vi vic th phn cho portlet ca h s b thu
hp.
-

Window state : L trng thi ca s xc nh khng gian xut hin ca ni dung

c to ra bi portlet trong mt trang ca portal. Nu nh bn click vo nt maximize,


portlet s hin th ton b v khi khng gian lm vic ca bn s ch c mt portlet .
Nu bn click vo nt minimized, portlet s ch hin th thanh tiu . L mt nh pht
trin, bn s ty bin ni dung hin th thch hp vi bn.
User information: Thng thng, portlet cung cp ni dung c tnh c nhn do nhng
yu cu t ngi s dng. lm vic ny, chng cn i hi nhng truy cp vo nhng
thng s ca ngi s dng nh tn, email, s in thoi,Portlet API cung cp khi
nim user attributes lm vic ny. Lp trnh vin c th truy cp vo nhng thng tin
ny theo nhng cch chun v trch nhim ca qun tr l a nhng thng s vo
kho thng tin thc ca ngi s dng (thng l mt LDAP server).
Trn y l s lc mt s nhng c trng c bn ca portlet

24

2/ Hot ng
a/ Portal : C rt nhiu loi Open Source Portal cng nh Commercial Portal trn th

gii .Trong ni dung thc tp ti c quan th c sn ng dng IBM Portal Websphere


.
b/ Portlets :

Ging ng dng Web


-

C th bao gm servlets, JSPs, .classes, files JAR (java archives), v cc file tnh
khc

C th mc WEB-INF/classes lu gi cc lp c lp c th ti bi classloader
(cc class portlet)

C th mc WEB-INF/lib lu gi Java Archives (JAR) c th ti bi


classloader.

C file web.xml m t ng dng web

C file porlet.xml m t v ng dng portlet (gm title , cc mode , )

ng dng c ng gi thnh file WAR v a vo Portal s dng

25

Portlets c Container load ln v hin th trn portal


C 2 loi request c a cho portlet : action request v render request
Request c dn bi cc URL tng ng : action URL v render URL
Action Request c gi n phng thc processAction()v Render Request c gi
n render() trong portlet
Khc nhau gia Action request v Render Request
26

Action Request : hnh ng thay i trng thi ca Portlet

Render Request : pht sinh ni dung ca Portlet da trn trng thi hin ti

Generic Portlet :
L 1 Abstract class c implements interface portlet
Cc nh pht trin c th to nn Portlet bng cc k tha Generic Portlet
Generic Portlet k tha phng thc render() , xc nh mode ca portlet t
gi cc phng thc thch hp , tng ng vi cc mode : doView() , doEdit() ,
doHelp()
Khi xy dng 1 portlet , ta s k tha abstract class GenericPortlet

public class HelloWorldPortlet extends GenericPortlet {


/**
* The portlet's main view prints "Hello, World"
*/
public void doView(RenderRequest request, RenderResponse response)
throws PortletException, IOException
{
PrintWriter out = response.getWriter();
out.println("Hello, World");
}
}
Phng thc doView() s c gi khi portal load li , thc cht khi portal load li th s
thc thi renderRequest , trong genericPortlet th Phuong thc doView s c gi khi
renderRequest c truyn

public void processAction(ActionRequest request, ActionResponse response)


throws PortletException, IOException
{
// get the values submitted with the form
String identity = request.getParameter("identity");

27

String color = request.getParameter("color");


}
Khi cn c nhu cu cn thay i trng thi ca portlet th portal s gi actionRequest n
cho portlet , lc phng thc processAction() ca genericPortlet s c gi .Sau khi
phng thc processAction() thc hin xong th phng thc doView() ca nhng
portlet khc cng c gi (c portlet )
Trn y l nhng c bn xy dng portlet , p dng nhng c bn trn xy dng
nn ng dng portlets chy trn portal

3/ Bi tp v d ng dng Portlets
Bi tp c giao l xy dng c bn mt BookmarkPortlet dng lu nh du cc
trang web
Trong modeView ca portlet s hin th danh sch cc bookmark , modeEdit dng
thm v chnh sa cc portlet c sn.Trong ng dng th danh sch bookmark s c
lu trong kho cha session trong portlet
Trc tin ta xy dng java object bookmark cha cc bookmark

K tip l to class portlet c k tha trong GenericPortlet

28

Khai bo v portlet trong file portlet.xml

Khi ngi dng lm vic vi portlet th phng thc doView s c , y ta s


dispatch doView sang trang jsp hin th

Trong phn jsp , ta ly d liu t session ra v hin th

29

Tng t trong modeEdit , ta hin th form thm bookmark trong trang jsp dnh cho edit

Khi action c gi th phng thc processAction s c gi

30

Trong phng thc ta s xc nh action no c thc thi , y l action edit v


add new
Sau y giao din ca ng dng
Sau khi portlet c hon thnh s c ng thnh file war v up ln ng dng portal

Upload file war ln portal

31

Portlet trn portal s c dng :

modeView ca ng dng . chuyn sang modeEdit , ta chn Personalize

Giao din thm bookmark

Tr li giao din modeView , ta chn back

32

Giao din sau khi thm d liu

Load d liu ln khi chn edit

ng dng Portal/Portlet kh phc tp , trong qu trnh xy dng cn nhiu thi gian


nghin cu s dng ti a ht nhng tnh nng ca n.Bn trn l nhng c bn nht
trong qu trnh xy dng ng dng Portal/Portlet

33

Phn 4:

KT QU T C

Qua qu trnh thc tp ti c quan , em hc tp c nhiu iu quan trng v b ch


V kin thc chuyn mn , em c hng dn , tm hiu , v xy dng nn ng dng
s dng cc cng ngh mi nh struts 2 , hibernate , services , portal/ portlets , t
nng cao kh nng chuyn mn ca c nhn. Sau ny c th s dng nhng kin thc
b ch phc vc cho vic xy dng cc ng dng trong d n ca c quan
V mi trng lm vic thc t , em c lm vic trong mi trng lm vic thc t
, nh mt nhn vin chnh thc , theo quy nh lm vic ca c quan ra . c tham
gia lm vic nhm vi ngi hng dn c kinh nghim , v c hng dn nhng
quy tc chung trong lm vic nhm vi nhau. t tng kinh nghim v kh nng lm
vic ng i
Mt ln na em xin cm n nh trng cng nh c quan thc tp to c hi cho sinh
vin chng em c tip cn v lm vic trong mi trng thc t.

34

You might also like