Tải bản đầy đủ (.doc) (60 trang)

Tìm hiểu về portlet và ứng dụng trong cổng giao tiếp điện tử

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.17 MB, 60 trang )

Đồ án tốt nghiệp

Ngành Công nghệ thông tin

Mục lục
Mục lục................................................................................................................1
Lời cảm ơn...........................................................................................................3
Lời nói đầu..........................................................................................................4
Chương I: Giới thiệu cổng giao tiếp điện tử...................................................5
1. Định nghĩa............................................................................................5
2. Lịch sử phát triển.................................................................................5
3. Phân loại Portal....................................................................................6
4. Thuộc tính cơ bản của Portal...............................................................7
5. Chức năng của Portal...........................................................................8
6. Kiến trúc của Portal..............................................................................9
7. Các mơ hình phát triển.......................................................................12
Chương II: Tìm hiểu về Portlet......................................................................21
1. Định nghĩa..........................................................................................21
2. Định dạng chung của một Portlet.......................................................21
3. Giới thiệu về chuẩn JSR 168..............................................................23
3.1. Những nền tảng chung của Portlet..............................................23
3.2. Định nghĩa....................................................................................24
3.3. Portlets và Servlets ……………..……………………………....24
3.4. Những tương tác trong Portal.......................................................25
3.4.1. Portlet Interface và lớp GenericPortlet.........................26
3.4.2. Vòng đời của Portlet......................................................27
3.4.3. Các trạng thái thực thi Portlet........................................27
3.4.4. Quản lý yêu cầu Portlet .................................................28
3.5. Các yếu tố khác của Java Portlet API ...........................................34
3.5.1. PortletConfig .................................................................34
3.5.2. PortletURL ....................................................................35


3.5.3. Các chế độ của Portlet ..................................................36
3.5.4. Các cửa sổ trạng thái .....................................................37
3.5.5. Ngữ cảnh của Portlet .....................................................38
3.5.6. Ngữ cảnh của Portal ......................................................38
3.5.7. Các tham chiếu Portlet...................................................38
3.5.8. Phiên làm việc ...............................................................39
1
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Công nghệ thông tin

3.5.9. JSPs và Servlet ..............................................................40
3.5.10. Cấu tạo ứng dụng Portlet .............................................44
4. Phát triển ứng dụng và Workflow cho Portal ...................................44
4.1. Kiến trúc Portlet..........................................................................45
Chương III: Mơ hình kiến trúc tối ưu để xây dựng ứng dụng Portal........48
1. Giới thiệu qua về các mơ hình phát triển Web thơng dụng hiện nay 48
1.1. Mơ hình tổng quan trong phát triển Web ...................................48
1.2. Mơ hình JSP ...............................................................................49
1.3. Mơ hình MVC ............................................................................50
1.3.1. Định nghĩa ....................................................................51
1.3.2. Mơ hình JSP Model 2 architecture ……………..…….51
2. Đặc điểm của các ứng dụng chạy trên nền Portal (Portlet) ...............52
2.1. Mơ hình hoạt động của Portlet ...................................................52
2.2. Các yêu cầu đặt ra đối với ứng dụng Portlet ………….……….53
2.2.1. Tính độc lập với các Portal Engine ……..……….…...53
2.2.2. Hệ thống phải hoạt động được với các hệ quản trị cơ sở

dữ liệu khác nhau…………………..………………………………………….53
3. Mô hình truy xuất cơ sở dữ liệu……………………...………….…...53
3.1. Mơ hình truy xuất cơ sở dữ liệu theo kiểu truyền thống……….53
3.2. Mô hình truy xuất dữ liệu sử dụng Hibernate Framework……..54
3.2.1. Sơ lược về Hibernate Framework…………….………..54
3.2.2. Đề xuất mơ hình truy xuất cơ sở dữ liệu……………....53
3.3. Các yêu cầu đối với mô hình kiến trúc………………………....56
3.4. Lựa chọn mơ hình kiến trúc tối ưu …………….…………...…..56
Kết luận ...........................................................................................................59
Tài liệu tham khảo ..........................................................................................60

2
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Công nghệ thông tin

Lời cảm ơn
Trong suốt quá trình học tại trường Đại học Dân lập Hải Phịng, em đã
được các thầy cơ hướng dẫn và truyền đạt những kiến thức chun mơn cần
thiết. Ngồi ra, em cịn được làm việc nghiêm túc, tích cực trên tinh thần độc lập
sáng tạo. Đây là những kinh nghiệm quý báu trước khi bắt tay vào làm việc trong
tương lai.
Thời gian làm luận văn vừa qua là cơ hội để em có thể áp dụng những kiến
thức mà trong suốt 4 năm qua em đã được học tập, cùng với sự hướng dẫn tận
tình của thầy Trần Minh và thầy Nguyễn Hồi Thu cùng các thầy các cơ trong
trường, em đã hoàn thành tốt đề tài tốt nghiệp của mình.
Một lần nữa, em xin chân thành cảm ơn các thầy các cơ. Kính chúc thầy

cơ cùng gia đình mạnh khỏe, hạnh phúc, chúc thầy cô tiếp tục đạt được những
thành công mới trong sự nghiệp giảng dạy và nghiên cứu khoa học.
Em xin chân thành cảm ơn !
Sinh viên
Nguyễn Thị Mai

3
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Cơng nghệ thơng tin

Lời nói đầu
Chúng ta đã biết, website đã và đang đóng góp rất lớn vào việc phổ cập
thông tin, như giới thiệu tin tức, các cơ sở dữ liệu, và một số chương trình ứng
dụng trên mạng, đã làm thay đổi cả thế giới từ khi xuất hiện vào đầu những năm
90 của thế kỷ trước. Ngày nay, mọi giao tiếp thông qua website đã trở thành phổ
biến. Tuy nhiên chúng ta có thể mạnh dạn gọi một số lớn các website là “website
truyền thống” bởi những mặt tồn tại do công nghệ cũ để lại như: sự quá tải thông
tin; thông tin khơng được phân lọai; khó khăn trong việc duy trì bảo quản; khó
tích hợp thơng tin, dịch vụ; khơng có khả năng cung cấp một nền tảng để có thể
phát triển và mở rộng.
Công nghệ Portal (Cổng điện tử) phát triển sau thời kỳ này khoảng 7-8
năm như một tất yếu xuất phát từ nhu cầu thực tế. Portal là một bước tiến hóa
của website truyền thống. Nó ra đời để giải quyết những vấn đề mà website
truyền thống gặp phải.
Là “siêu website”, gọi đầy đủ là Portal Website, gọi tắt là Portal, đối với
người dùng vẫn chỉ là trang web qua browser.

Là đích quy tụ hầu hết các thơng tin và dịch vụ cho người sử dụng cần.
Thông tin và dịch vụ được phân loại nhằm thuận tiện cho tìm kiếm và vùi lấp các
thơng tin.
Bảo tồn đầu tư lâu dài. Có nền tảng cơng nghệ đảm bảo.
Mơi trường chủ động dùng cho việc tích hợp ứng dụng.
Sự ra đời và phát triển của Portal đã dẫn tới sự phát triển tất yếu của các
chuẩn được sử dụng hoạt động trên nền Portal, đó là các chuẩn Ichannel, Portlet,.
. . và giới thiệu về chuẩn Portlet JSR 168 của Java Community.

4
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Công nghệ thông tin

Chương I: Giới thiệu cổng giao tiếp điện tử
1. Định nghĩa
Cổng giao tiếp điện tử - Portal: Là một khái niệm thường được nhắc đến
nhiều trong những năm gần đây của thị trường tin học. Bởi vì phạm vi áp dụng
của Portal là rất rộng, bao gồm các hệ thống bên trong (internal), bên ngoài
(external), đằng sau bức tường lửa và nằm rải rác khắp nơi trên internet, do vậy
khó có được định nghĩa hồn chỉnh và chính xác về Portal. Một cách chung nhất,
có thể tạm định nghĩa portal như sau:
Portal là một phần mềm ứng dụng cung cấp một giao diện mang tính cá
nhân hóa cho người sử dụng. Thơng qua giao diện này, người dùng có thể khám
phá, tìm kiếm, giao tiếp với các ứng dụng, với các thông tin, và với những người
khác.
Sự ra đời và phát triển của portal đã dẫn tới sự phát triển tất yếu của các

chuẩn được sử dụng để xây dựng các ứng dụng hoạt động trên nền Portal, đó là
chuẩn Ichannel, Portlet ,. . .
2. Lịch sử phát triển
Website đã và đang đóng góp rất lớn vào việc phổ cập thơng tin, như giới
thiệu tin tức, các cơ sở dữ liệu, và một số chương trình ứng dụng trên mạng, đã
làm thay đổi cả thế giới từ khi xuất hiện vào đầu những năm 90 của thế kỷ trước.
Ngày nay mọi giao dịch thông qua web đã trở nên phổ biến.
Công nghệ Portal (Cổng điện tử) phát triển sau thời kỳ này khoảng 7-8
năm như là một tất yếu xuất phát từ nhu cầu thực tế. Portal là một bước tiến hóa
của web truyền thống. Nó ra đời để giải quyết những vấn đề mà website truyền
thống gặp phải.
- Portal (cổng giao tiếp điện tử) là một bước tiến hóa của website truyền
thống.
- Là “siêu website”, gọi đầy đủ là Portal Website, gọi tắt là Portal, đối
với người dùng vẫn chỉ là sử dụng trang web thơng qua trình duyệt (tức
là web browser), nhưng đằng sau nó là sự thay đổi thuật ngữ và quan
niệm mới về triết lý phục vụ thay cho cách hiểu “tuyên truyền“ thông
qua website như trước đây.

5
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Công nghệ thông tin

- Là điểm đích quy tụ hầu hết các thơng tin và dịch vụ cho người sử
dụng cần, là điểm đích đến thực sự. Thông tin và dịch vụ được phân
loại nhằm thuận tiện cho tìm kiếm và hạn chế vùi lấp các thơng tin.

- Bảo tồn đầu tư lâu dài. Có nền tảng công nghệ đảm bảo, do công
Internet đã phát triển rất cao so với thời kỳ xuất hiện Word Wide Web
vào đầu những năm 90 của thế kỷ trước. Những cơng nghệ tạo nên thời
đại portal đều hỗ trợ tính mở và kế thừa rất mạnh, sao cho việc mở
rộng quy mô phục vụ bằng các phần mềm ứng dụng mới được “lắp
rắp” vào Portal đang có mà khơng phải hủy bỏ hoặc sửa chữa lớn như
những website trước đây.
- Mơi trường chủ động dùng cho việc tích hợp ứng dụng.
- Xu hướng “tiến hóa” chung của website theo hướng tiến đến Portal
được trình bày trong hình vẽ:
Platform cộng tác điều hành
Tích hợp nội dung và dịch vụ
Nạp, thu thập các ứng dụng
q Người dùng và qui trình

Thu thập nội dung

q Tích hợp
q Nhiều loại User
q Thêm ứng dụng dần dần

q Web truyền thống và dịch vụ
q Tập trung vào nội dung
q Cá nhân hóa
q Rất nhiều Vendor ra đời

1998 - 1999

q Cộng tác xuyên suốt các áp
dụng và địa bàn

q Sử dụng tối đa các áp dụng
trong các cơ quan

q Nỗ lực E-Gov, E-Biz

q Tập trung vào nền công
nghệ (platform) và workflow

q Quan tâm đến một vài
hãng về Portal

q Portal frond-end với qui
trình tác nghiệp chính

q Chuẩn và tương tác được
(Standard and
Interoperability)

q Bắt đầu tổng hợp kết quả

q Các platform của các
vendor sẽ thống trị

q Dùng Webservice

và nâng cấp

2000 - 2001

2002 - 2003


2003 +

Phát triển của Portal

Hình 1.1: Lịch sử phát triển của Portal
3. Phân loại Portal
Sau đây là một vài kiểu điển hình của Portal.
- Vertical portal. Thuật ngữ này được sử dụng để chỉ những Portal mà
nội dung thơng tin cùng các dịch vụ của nó được thiết kế để phục vụ
cho một lĩnh vực xác định, cho một chuyên ngành xác định, do vậy
khách hàng của nó là diện hẹp. Theo đánh giá, hiện nay trên thế giới,
Vertical portal là loại hình Portal có tốc độ phát triển nhanh nhất
- Horizontal portal. Thuật ngữ này được sử dụng để chỉ những Portal mà
nội dung thông tin cùng các dịch vụ của nó bao trùm nhiều chủ đề,
6
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Công nghệ thông tin

nhiều lĩnh vực, do vậy nó mang tính diện rộng, phục vụ cho nhiều loại
khách hàng khác nhau. Các Portal nổi tiếng như Yahoo, NetCenter,
Altavista,. . .
- Information portal. Xây dựng hệ thống cung cấp thông tin trên cơ sở
thu gom số liệu từ nhiều nguồn khác nhau. Các nguồn dữ liệu này nằm
rải rác trên mạng toàn cầu Internet, từ các CSDL của các mạng nội bộ
Intranet, và thậm chí cả từ các Portal khác.

- Community portal. Xây dựng “một vị trí ảo” trên Internet cho các cá
nhân, các doanh nghiệp “tụ tập” để giúp đỡ lẫn nhau và để hợp tác với
nhau trong cùng một mục đích xác định. Community portal mang lại
cơ hội cộng tác cho các cá nhân, tổ chức doanh nghiệp mà ranh giới địa
lý khơng có ý nghĩa ở đây.
- Corporate portal (or Enterprise portal). Corporate portal thường được
dùng bởi các nhân viên trong một cơ quan hay tổ chức sử dụng để chia
sẻ thông tin với nhau, cộng tác với nhau để cùng giải quyết một cơng
việc, qua đó nâng cao năng suất lao động và hiệu quả giải quyết cơng
việc của mình.
- Commercial portal. Cung cấp “chợ điện tử” (e-mail) trong thị trường
thương mại điện tử.
- Goverment portal. Cung cấp các “cổng hành chính cơng điện tử” để
chính quyền (Trung ương và địa phương) thực hiện các chức năng của
mình đối với dân chúng thơng qua việc cung cấp thông tin và các dịch
vụ hành chính cơng.
4. Thuộc tính cơ bản của Portal
- Cá nhân hóa giao diện người sử dụng (Personalization)
- Tổ chức phân loại thơng tin (Categoize)
- Hỗ trợ khả năng tìm kiếm nhanh thơng tin (Search)
- Thơng tin được tích hợp từ nhiều nguồn khác nhau (Intergration)
- Hỗ trợ mơ hình làm việc cộng tác (Collaboration)
- Hỗ trợ mơ hình tự động xử lý cơng việc theo quy trình đã xác định từ
trước (Workflow)
- Khả năng bảo mật cao, hỗ trợ đăng nhập hệ thống một lần duy nhất
(Single-Sign-On)
5. Chức năng của Portal
7
Nguyễn Thị Mai_Lớp CT701



Đồ án tốt nghiệp

Ngành Công nghệ thông tin

- Khả năng cá nhân hóa (Customization hay Personalization) :
Cho phép thiết đặt các thông tin khác nhau cho các loại đối tượng sử dụng
khác nhau theo yêu cầu. Tính năng này dựa trên hoạt động thu thập thông tin về
người dùng và cộng đồng người dùng, từ đó cung cấp các thơng tin chính xác tại
thời điểm được yêu cầu.
- Tích hợp và liên kết nhiều loại thông tin (Content aggregation):
Cho phép xây dựng nội dung thông tin từ nhiều nguồn khác nhau cho
nhiều đối tượng sử dụng. Sự khác biệt giữa các nội dung thông tin sẽ được xác
định qua các ngữ cảnh của người dùng.
- Xuất bản thông tin (Content syndication):
Thu thập thông tin từ nhiều nguồn khác nhau, cung cấp cho người dùng
thông qua các phương pháp hoặc giao thức (protocol) một cách thích hợp. Một
hệ thống thơng tin chun nghiệp phải có khả năng xuất bản thơng tin với các
định dạng quy chuẩn.
- Hỗ trợ nhiều môi trường hiển thị thông tin (Multidevice support):
Cho phép hiển thị cùng một nội dung thông tin trên nhiều loại thiết bị khác
nhau như: màn hình máy tính (PC), thiết bị di động (Mobile phone, PDA. . . ) sử
dụng để in hay cho bản fax. . . một cách tự động bằng cách xác định thiết bị hiển
thị thông qua các thuộc tính khác nhau.
- Khả năng đăng nhập một lần (Single Sign On):
Cho phép dịch vụ xuất bản thông tin hoặc các dịch vụ khác của portal lấy
thông tin về người dùng khi hoạt động mà không phải yêu cầu người dùng đăng
nhập lại mỗi khi yêu cầu. Đây là một tính năng rất quan trọng vì các ứng dụng và
dịch vụ trong portal sẽ phát triển một cách nhanh chóng khi xuất hiện nhu cầu,
mà các ứng dụng và dịch vụ này tất yếu sẽ có nhu cầu về xác thực hoặc truy xuất

thông tin người dùng.
- Quản trị portal (Portal administration):
Xác định cách thức hiển thị thông tin cho người dùng cuối. Tính năng này
khơng chỉ đơn giản là thiết lập các giao diện người dùng với các chi tiết đồ họa
(look-and-feel), với tính năng này người quản trị phải định nghĩa được các thành
phần thông tin, các kênh tương tác với người sử dụng cuối, định nghĩa nhóm
người dùng cùng với các quyền truy cập và sử dụng thông tin khác nhau.
- Quản trị người dùng (Portal user management):
8
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Công nghệ thông tin

Cung cấp các khả năng quản trị người dùng cuối, tùy thuộc vào đối tượng
sử dụng của portal. Tại đây, người sử dụng có thể tự đăng ký trở thành thành
viên tại một công thông tin công cộng (như Yahoo, MSN. . .)hoặc được người
quản trị tạo lập và gán quyền sử dụng tương ứng đối với các công thông tin
doanh nghiêp. Mặt khác, tùy thuộc vào từng kiểu Portal mà số lượng thành viên
có thể từ vài nghìn tới hàng triệu. Hiện tại phương pháp phân quyền sử dụng dựa
trên vai trò (Role-based security) được sử dụng như một tiêu chuẩn trong các
hoạt động xác định quyền truy cập và cung cấp thông tin cho các đối tượng khác
nhau trong các Portal cũng như các ứng dụng web.
6. Kiến trúc của Portal
Web browsers

Client


PDA browser

WAP browser

`

Presentation Services

Portal
Server

Personalization

Search &
Categorize

Collaboration

Applications &
Workflow

Intergration

Public &
Subscribe

Portlets/
Channels

Sercurity &

SSO

Portal Infrastructure

Enterprise
Resources

Portal
Database

Structured &
Unstructured Data

Intergated
Database

Hình 1.2: Mơ hình kiến trúc Portal
Được xây dựng dựa trên mơ hình Web ba tầng (Web Application 3-tier):
tầng trình diễn (Client), tầng ứng dụng (Portal Server) và tầng cơ sở dữ liệu
(Enterprise Resources).
9
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Cơng nghệ thơng tin

6.1 Tầng trình diễn (Client):
Người dùng có nhiều lựa chọn về nền trình diễn (Internet, Mobile,

PDA,. .. ).Hệ thống sẽ tự động gọi các tệp cấu hình sẵn cho tầng nền thơng qua
lớp Presentation Services.Tầng trình diễn chịu trách nhiệm về cung cấp giao diện
cho nhiều loại người dùng khác nhau, có nhiệm vụ lấy các yêu cầu, dữ liệu từ
người dùng, có thể định dạng nó theo những qui tắc đơn giản (dùng các ngơn
ngữ Script) và gọi các thành phần thích hợp từ tầng Business Logic để xử lý các
yêu cầu. Kết quả sau xử lý được trả lại cho người dùng.
6.2 Tầng ứng dụng (Portal Server):
Là môi trường hoạt động và là nơi chứa các ứng dụng của Cổng giao tiếp
điện tử. Là đầu mối tiếp nhận và xử lý yêu cầu của người dùng đầu cuối, phân
tích, tiền xử lý yêu cầu và chuyển yêu cầu đã xử lý cho phần ứng dụng tương
ứng xử lý. Tầng này bao gồm 3 thành phần chính: dịch vụ phục vụ trình diễn,
phần ứng dụng, kiến trúc hạ tầng
- Dịch vụ phục vụ trình diễn (Persentation Services): Đảm nhận nhiệm
vụ đón các u cầu từ tầng trình diễn (u cầu phía client) và trả về kết quả cho
phía client. Đồng thời có nhiệm vụ thực thi các thành phần điều khiển trình diễn
của ứng dụng chủ cũng như thực thi các modules giao tiếp với các Server khác
(Email, LDAP server).
- Phần ứng dụng (Bussiness Logic): Thực hiện các quy trình xử lý
nghiệp vụ và điều khiển. Phần này bao gồm tập các API để thực hiện các luồng
công việc, tập các API dùng để tạo ra các dữ liệu và sau đó thông qua
Presentation Services xuất ra XHTML, HTML, WML, … tùy theo nền trình diễn
mà phía client u cầu. Phần này bao gồm các khối chức năng chính sau:
+ Khối bảo mật (Sercurity & SSO – Single Sign-On): Khối này bao gồm
các chức năng cơ bản liên quan đến việc đăng ký, quản lý tài khoản (tạo
mới, sửa đổi, xóa, ...) của người sử dụng hoặc nhóm người sử dụng, phân
quyền cho người dùng hoặc nhóm người dùng truy cập tới tài nguyên và
dịch vụ của hệ thống. Với quan điểm thông tin và dịch vụ chỉ được truy
nhập bởi người dùng hợp lệ, Portal cần thiết duy trì hệ thống kiểm tra và
xác thực người dùng truy cập. Thêm nữa để tránh cho người dùng phải
nhớ quá nhiều tên và mật khẩu khi truy nhập tài nguyên của mình, Portal

cũng được cài đặt khả năng xác thực một cửa theo đó người sử dụng (đã
10
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Công nghệ thông tin

được đăng ký và có tài khoản) chỉ cần đăng nhập một lần, nhưng có thể
truy cập tới thơng tin và dịch vụ (theo quyền truy cập) có trên Portal.
+ Cá nhân hóa người dùng (Personalization): Một trong những đặc tính
của Portal là khả năng cá nhân hóa. Một người dùng sau khi đăng nhập
vào hệ thống thì có thể tự thay đổi giao diện trình bày như bố cục và giao
diện trình bày, thành phần thông tin hiển thị, …
+ Khối tổ chức, quản lý và tìm kiếm nội dung thơng tin (Search &
Categorize): Để giảm thiểu tình trạng q tải thơng tin của người sử dụng,
thông tin cần được quản lý bởi Portal phải được phân loại và sắp xếp theo
các chủ đề (topics, subtopics, ...) sao cho người dùng có thể nhanh chóng
tìm thấy thơng tin mà mình cần. Trong mục quản lý nội dung cịn có các
chức năng xuất bản thông tin bao gồm các bước tạo, phê duyệt và xuất bản
thơng tin, nhưng do vai trị quan trọng của khối này nên đã tách riêng.
+ Khối xuất bản thông tin (Publish & Subscribe): Khối này cung cấp các
chức năng cơ bản thể hiện qui trình xuất bản thơng tin với sự tham gia của
các bộ phận khác nhau như: tạo lập, biên tập nội dung bằng một hệ soạn
thảo văn bản, và phê duyệt xuất bản.
+ Khối tích hợp ứng dụng (Intergration): Cung cấp các giao thức chuẩn,
mà thơng qua đó các ứng dụng được tích hợp vào Portal, hoặc tạo lập các
mối liên kết (links) với các trang thơng tin điện tử/website khác.
+ Khối mơ hình làm việc cộng tác (Collaboration): Khối này cung cấp và

thực hiện quản lý các phần mềm công cụ nhằm tăng cường khả năng trao
đổi thông tin 2 chiều giữa các thành viên của Portal, giữa thành viên và
người quản trị Poral trong q trình xử lý cơng việc.
+ Khối mơ hình xử lí cơng việc theo qui trình định trước (Applications &
Workflow): Khối này cho phép xây dựng nên các quy trình xử lý cơng việc
theo các bước định trước, và áp dụng các quy trình này vào xử lý các công
việc một cách tự động.
+ Khối ứng dựng xây dựng (Portlets/Channels): Là khối bao gồm các
ứng dựng xây dựng theo các chuẩn Portlets và Channels là những chuẩn
ứng dụng Portal hỗ trợ để thực hiện những chức năng cụ thể, riêng biệt.
- Kiến trúc hạ tầng (Portal Infrastructure): Là những kiến trúc bên dưới

11
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Công nghệ thông tin

giúp cho Portal giao tiếp với tầng Cơ sở dữ liệu, các ứng dụng bên ngoài Portal
và với người dùng khác.
6.3 Tầng cơ sở dữ liệu (Enterprise Reources):
Bao gồm các hệ thống CSDL lưu trữ dữ liệu chính của Portal, CSDL
chuyên nghành và CSDL tích hợp sẵn sàng phục vụ cho các hoạt động truy cập,
xử lý, kiết xuất và trình diễn thơng tin ở các tầng trên.
- CSDL Portal (Portal Database): gồm hệ thống CSDL chính của Portal
phục vụ lưu trữ các thơng tin dữ liệu về cấu hình, các tham số của hệ thống, dữ
liệu người dùng, dữ liệu bản tin, các thông tin, dữ liệu phục vụ điều hành,… Các
CSDL này được liên thông với nhau và tạo thành một hệ thống phục vụ điều

hành, quản lý Portal.
- CSDL ứng dụng (Structured & Unstructured Database): là hệ thống
các CSDL phục vụ quản lý một lĩnh vực hoặc đối tượng đặc thù của từng Đơn vị
sử dụng hệ thống Portal. Đây cũng chính là hệ thống CSDL chung phục vụ một
ngành dọc liên quan đến Đơn vị đó. Khi có yêu cầu, hệ thống sẵn sàng cho việc
kết xuất và tổng hợp thơng tin để cung cấp cho Portal.
- CSDL tích hợp (Intergrated Database): Đây là hệ CSDL của Portal và
các hệ thống khác cần liên thông dữ liệu với nhau. Hệ CSDL hoạt động theo
nhiều cơ chế (như LDAP, Active Directory, …), cho phép tích hợp thơng tin hệ
thống của các hệ CSDL nền khác nhau.
7. Các mơ hình phát triển
7.1 Portal theo chuẩn Ichannel
IChannel là một chuẩn phát triển kênh ứng dụng dựa trên mơ hình kiến
trúc MVC, và áp dụng cơng nghệ XML/XSLT trong trình diễn và chuyển đổi dữ
liệu. IChannel được dùng trong framework uPortal để phát triển các kênh ứng
dụng, chúng ta sẽ đi sâu nghiên cứu về framework uPortal trong những phần
dưới đây:
a. uPortal
- Giới thiệu
uPortal là một dự án được bắt đầu và phát triển bởi JA-SIG. Mục đích
chính của uPortal là đưa ra một bộ khung (framework) cho phép tích hợp các
thơng tin, ứng dụng vào trong một giao diện web nhằm tạo ra một cổng truy

12
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Công nghệ thông tin


nhập duy nhất đáp ứng yêu cầu sử dụng của một cộng đồng người dùng muốn
chia sẻ, trao đổi các thông tin trực tuyến trên Internet.
Công nghệ nền tảng mà uPortal tuân theo là các chuẩn được đặc tả trong
kiến trúc hệ thống mở J2EE, bao gồm Applet, Servlet, JSP, EJB, JTA, JMS, ...
uPortal thao tác với các object của một web-page theo đặc tả DOM (Document
Object Model), và sử dụng Java, XML, XSLT.
Cơng nghệ XML/XSLT được sử dụng cho phần trình diễn đối với người
sử dụng. Cơng nghệ này cho phép trình diễn cùng một nội dung thông tin trên
nhiều thiết bị khác nhau như máy vi tính cá nhân PC, các thiết bị di động cầm tay
như Mobile, PDA, và v.v.
Kiến trúc trong đặc tả J2EE làm uPortal trở thành một hệ thống mở và
mềm dẻo, có khả năng tích hợp với các hệ thống hạ tầng và các ứng dụng dịch
vụ hay các nguồn dữ liệu khác nhau. Theo như kiến trúc đó, uPortal cung cấp
một tập các giao diện để tích hợp với các hệ thống và ứng dụng bên ngồi.
Cơng nghệ Java là một cơng nghệ cho phép xây dựng các phần mềm “viết
một lần, chạy mọi nơi” tức là các ứng dụng được viết bằng Java chạy được trên
nhiều nền hệ thống khác nhau Windows, Linux, Unix,… Do đó uPortal cũng là
một hệ thống mà chạy được trên nhiều mơi trường hệ điều hành khác nhau. Nó
cũng có thể chạy với nhiều web server và kết nối đến nhiều hệ cơ sở dữ liệu khác
nhau như Oracle, SQL Server, My SQL, DB2,… nhờ vào một lớp (một thành
phần) chuyên đảm nhận kết nối cơ sở dữ liệu để đảm bảo các lớp phía trên của
uPortal hoạt động độc lập không phụ thuộc vào loại cơ sở dữ liệu.
- Lịch sử của uPortal
Phiên bản đầu tiên của uPortal – uPortal 1.0 với tên gọi Monterey 1.0
được đưa ra vào năm 2000. Sau đó đến phiên bản uPortal 1.5 với tên gọi Destin
với việc bổ sung hệ thống kiểm soát quyền truy cập. Ở các phiên bản uPortal 1.x,
việc biểu diễn nội dung nhờ vào các thành phần JSP. Các thành phần này nhận
trực tiếp dữ liệu và sinh ra các trang HTML.
Nhưng đến các phiên bản uPortal 2.x đưa ra một kiến trúc mới dựa trên

chuẩn XML/XSLT. Đồng thời các mẫu thiết kế (design pattern) được áp dụng
nhiều hơn để tổ chức các thành phần phần mềm của uPortal mang tính mềm dẻo
và tính mở cao. Từ phiên bản uPortal 2.1.3 được đưa ra ngày 23 tháng 6 năm
2003 đã tăng cường thêm nhiều tính tăng như quản lý nhóm, kênh từ xa (remote
13
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Công nghệ thông tin

channel),… Và đến phiên bản 2.3.5 ra ngày 14 tháng 9 năm 2004 đã hỗ trợ
chuẩn portlet JSR-168.
Các phiên bản và thời điểm phát hành có thể tóm tắt bằng bảng dưới đây.
Phiên bản
uPortal 1.0
uPortal 1.5
uPortal 1.6
uPortal 2.0
uPortal 2.0.3
uPortal 2.1.3
uPortal 2.1.5
uPortal 2.2.1
uPortal 2.3.5
uPortal 2.4.3.1
uPortal 2.5.2

Thời điểm phát hành
07 – 2000

02 – 2001
06 – 2001
07- 2001
06-12-2003
23-06-2003
14-01-2004
05-04-2004
24-09-2004
28-10-2005
02-03-2006

- Mơ hình
Portal Container quản lý các u cầu từ phía client và quản lý việc chạy
của các kênh IChannel trong Portal. Khi Portal Container nhận được yêu cầu từ
client nó sẽ phân tích, xử lý và đưa u cầu tới kênh ứng dụng được yêu cầu để
thực thi, và trả về kết quả cho Portal Container. Khi nhận được kết quả từ kênh
ứng dụng Portal Container sẽ kết hợp với các nội dung khác của trang để trả về
HTML cho client.

14
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp
Presentation
Layer

Ngành Công nghệ thông tin
Web browsers


PDA browser

WAP browser

`

Internet

Internet

Web Server
Portal Container

Business Logic
Layer

Channel 1

Channel 2

Channel 3

Data Access Object layer

RDBMS Layer
Database Server

Database

Hình 1.3:Mơ hình của Portal

- Cơng nghệ xử lý dựa trên mơ hình kiến trúc MVC
uPortal là web-based application, được kiến trúc dựa trên mơ hình MVC.
Khi triển khai Portal được đóng gói lại theo dạng web archive(.war) và được đặt
trong một thư mục trên web server. Mối liên hệ giữa web server và các vai trị
của mơ hình MVC trong uPortal được mơ tả trong hình vẽ sau:

15
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

: Nguoi dung

Ngành Công nghệ thông tin

Web Server

Controller

Modul lay du lieu - Http
Request

Modul xu li du lieu Object Model

Modul hien thi View

1: Yeu cau - Http request
2: Chuyen yeu cau
3: Lay du lieu nhap vao tu nguoi dung internet

4: Thuc hien cac chuc nang he thong

5: Tao du lieu - XML data
6: Chon kieu hien thi - stylesheet

7: Goi modul hien thi qua Web Server

8: Gui yeu cau hien thi den modul hien thi

9: Lay du lieu

10: T ao trang web tra loi

11: T ra loi - Http reponse

Hình 1.4: Mối liên hệ giữa web server và các vai trị của mơ hình MVC
+ Controller có nhiệm vụ nhận các request từ người dùng do web server
chuyển tới, nhận model là kết quả từ các business logic, sau đó gọi View để tạo
response trả lời request.
+ View trong uPortal là các stylesheet. Controller gọi view để hiển thị dữ
liệu XML trong Model. Dữ liệu XML của model được tạo ra từ domain logic
layer.
+ uPortal sử dụng các bộ thư viện mã nguồn mở như xalan.jar, xerces.jar
(Apache Group – www.apache.org) và JAXP (Sun – www.sun.com) để chuyển
đổi các dữ liệu từ domain-logic thành XML và từ XML thành HTML.
- Sử dụng cơng nghệ XML/XSLT trong trình diễn, chuyển đổi dữ liệu
uPortal áp dụng cơng nghệ XML/XSLT trong trình diễn và chuyển đổi dữ
liệu, hình dưới đây mơ phỏng cho cơ chế trình diễn này.

16

Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Công nghệ thông tin

Layout
XML
XML
XML

XSLT

Channel 1
Render

Channel 2
Render

Channel 3
Render

Hình 1.5: Sơ đồ mơ phỏng cơ chế trình diễn thơng tin của
uPortal
+ Tạo trình diễn
Bộ khung phần mềm uPortal là một bộ khung để phân phối các thông
tin/dịch vụ tích hợp được thu thập từ các loại nguồn thơng tin được phân loại.
Chức năng chính của bộ khung là cung cấp một bộ máy hiệu quả và mềm dẻo
cho việc tạo một trình diễn. Cho trước một tập nguồn tài nguyên thông tin (các

kênh), và một chỉ dẫn cách sắp xếp và bộ khung trình diễn (stylesheets), bộ
khung uPortal sẽ phối hợp để tạo thành một tài liệu tổ hợp cuối cùng.
Điểm bắt đầu cho bất cứ một sự tạo trình diễn ln là một tổ chức trừu
tượng của các kênh: tài liệu bố cục người dùng (user layout document). Tiến
trình tạo trình diễn tổ hợp chuyển đổi user layout document theo ba giai đoạn
chính để đạt được tài liệu cuối cùng dưới dạng một ngôn ngữ đánh dấu XML
(markup language):
Giai đoạn đầu là chuyển một hệ thống trừu tượng bố cục của người dùng
(user layout) sang dạng một trình diễn có cấu trúc - gọi là chuyển đổi cấu trúc
(structure transformation), và lơgic của nó được định nghĩa bởi structure
stylesheet (sử dụng XSL). Ví dụ, the structure stylesheet cho biểu diễn “tab và
cột” mặc định sẽ chuyển cấu trúc user layout trừu tượng thành một cấu trúc của
17
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Công nghệ thông tin

các yếu tố “tab” và “cột”. Sau chuyển đổi cấu trúc, hệ thống khởi tạo vịng đời
trình diễn của các kênh mà sẽ được hợp thành vào trong trình diễn cuối cùng.
Giai đoạn thứ hai của tiến trình sẽ chuyển kết quả của giai đoạn chuyển
đổi cấu trúc sang giao thành một ngôn ngữ đánh dấu (như HTML). Chuyển đổi
này gọi là chuyển đổi nền (theme transformation) và lơgic của nó được định
nghĩa bởi theme stylesheet.
Nội dung được cung cấp bởi mỗi kênh riêng biệt sẽ được sát nhập vào
trong kết quả của chuyển đổi cấu trúc.
Giai đoạn cuối cùng là xuất bản kết quả của chuyển đổi nền với nội dung
của kênh vào trong một luồng các ký tự theo các luật của ngơn ngữ đánh dấu và

phương tiện biểu diễn.

header/footer

User
Layout

Structur
ed
Layout

Page
Content

Final
Documen
t
presentation

content

Hình 1.6: Các giai đoạn tạo trình diễn
+ Chuyển đổi
uPortal là framework, trong đó các thực thể tạo nên framework được thiết
kế và implement như một kênh độc lập trong kiến trúc hệ thống. Cụ thể, các
chức năng của uPortal được kiến trúc như một kênh trong hệ thống. Người dùng
hệ thống sử dụng kênh phụ thuộc vào vai trò và quyền. Một kênh được
implement theo mơ hình MVC, controller thực hiện business logic của kênh, kết
quả của business logic được mô hình trong model, và controller gọi view để hiển
thị kết quả trong model. Business logic của kênh được mơ hình hố trong Model

dưới dạng dữ liệu XML, view được mơ tả trong các stylesheet bằng XSL.
Trang web trong kiến trúc portal được thiết kế dựa trên việc bố trí các
kênh trên một kiểu layout. Có hai engine chính được thực hiện khi tạo một trang
web trong kiến trúc portal:
18
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Công nghệ thông tin

* Channel Renderer Engine: Liên quan đến từng kênh cụ thể trong hệ
thống. Engine này sử dụng mơ hình Two step view để chuyển đổi dữ liệu kênh
từ domain logic sang XML, tiếp đó từ thực hiện chuyển đổi từ XML sang dữ liệu
HTML. Dưới đây là mơ hình thể hiện cơ chế chuyển đổi này.
Channel Data (From
Domain logic)

First stage: using XML parser
Channel Data (XML)

Second stage: using XSLT processor
Channel Data (HTML)

Hình 1.7: Mơ hình chuyển đổi theo cơ chế Channel Renderer
Engine
* Layout Renderer Engine: Liên quan đến từng layout của kênh cụ thể
trong hệ thống. Engine này cũng sử dụng mơ hình Two step view để chuyển đổi
dữ liệu layout từ domain logic sang XML, tiếp đó từ thực hiện chuyển đổi từ

XML sang dữ liệu HTML.

19
Nguyễn Thị Mai_Lớp CT701


Đồ án tốt nghiệp

Ngành Công nghệ thông tin
Layout data (from Domain
Logic)

First stage: using XML parser
input: business logic data

Layout data (oriented - XML)

Second stage: using XSLT processor
input: XML data, XSL location

Layout data (oriented HTML)

Hình 1.8: Mơ hình chuyển đổi theo cơ chế Layout Renderer Engine

20
Nguyễn Thị Mai_Lớp CT701




×