CHƢƠNG 2 KIẾN TRÚC PORTAL VÀ NHỮNG THÀNH PHẦN CƠ BẢN
2.1. Cỏc thành phần cơ bản của Portal
2.1.2. Phõn loại Portlet và cỏc dịch vụ Web
Giống nhƣ dịch vụ web hƣớng dữ liệu, cỏc Portlet dựa trờn kiến trỳc hƣớng dịch vụ, nú cho phộp cỏc cụng ty sử dụng lại cỏc thành phần của phần mềm để nhanh chúng xõy dựng cỏc ứng dụng trong cỏc Portal mới.
Khụng giống nhƣ cỏc dịch vụ web hƣớng dữ liệu, cỏc Portlet túm lƣợc cỏc dịch vụ tỏc nghiệp ở mức cao bao gồm cỏc tƣơng tỏc ngƣời dựng, cỏc lƣu đồ và cỏc trỡnh diễn tựy biến.
2.1.2.1. Cỏc Portlet địa phương
Cỏc Portlet địa phƣơng (Local Portlet) là cỏc Portlet thực thi ở bờn trong một mỏy chủ Portal. Khi một mỏy chủ Portal sinh ra một trang và những thứ cần thiết trong một đoạn trang, nú gọi mó Portlet và sử dụng giao diện đó đƣợc định nghĩa trƣớc gọi là cỏc Portet API.
JSR 168 định nghĩa một giao diện Portlet địa phƣơng chuẩn cho mụi trƣờng J2EE.
2.1.2.2. Portlet từ xa
Portlet từ xa (remote Portlet) là cỏc Portlet thực thi bờn ngoài một mỏy chủ từ xa, hoặc là bờn trong một mỏy chủ của một tổ chức hoặc ở một vị trớ từ xa. Khi mụt Portal cần đoạn trang, nú sẽ gọi Portlet từ xa thụng qua SOAP.
Hỡnh 2.4 : Trang Portal gọi đến từ một Portlet từ xa
Giao thức WSRP cung cấp định nghĩa một chuẩn giao diện SOAP cho cỏcc Portlet từ xa.
Vấn đề quan trọng của Portlet từ xa:
Bằng việc tỏch cỏc Portlet ra khỏi tổ chức và mụi trƣờng Portal cú thể:
Sử dụng cỏc Portlet thành phần thứ ba để tạo thành cỏc Portal mới.
Làm cho chức năng và dữ liệu ứng dụng đƣợc host và đƣợc bảo trỡ tại cỏc vị trớ địa lý khỏc nhau.
Phõn bổ trỏch nhiệm tạo và bảo trỡ cỏc chức năng ứng dụng giữa cỏc đơn vị khỏc nhau.
Sử dụng cỏc cụng cụ phỏt triển, cỏc phƣơng thức và cỏc kiến trỳc khỏc nhau để tạo ra cỏc chức năng Portlet.
Đạt đƣợc cỏc cụng cụ tốt hơn thụng qua mụi trƣờng phỏt triển trong vấn đề tải, thực thi, quản lý và bảo mật.
2.1.2.3. WebService cho cỏc Portal từ xa (WSRP)
Chuẩn WSRP là giao thức định nghĩa giao diện SOAP tạo khả năng cho cỏc Portal và cỏc ứng dụng khụng phải là Portal kết nạp vào cỏc Portlet từ xa. WSRP đƣợc định nghĩa bởi tổ chức OASIS, một tổ chức phi lợi nhuận toàn cầu cú chức năng phỏt triển, tập hợp, và thụng qua cỏc chuẩn. Đặc biệt WSRP đƣợc thực hiện khi SOAP gọi phiờn HTTP. Cỏc đoạn trang, đặc biệt là HTML đƣợc trả lại nhƣ là một thành phần của payload SOAP.
Hỡnh 2.5: Cỏc ứng dụng khụng phải là Portal được kết nạp vào Portal thụng qua WSRP
WSRP và cỏc chuẩn WSIA cú liờn quan
Sự ra đời của định nghĩa WSRP là kết quả làm việc của ủy ban OASIS và WSIA (dịch vụ web cho ứng dụng hợp tỏc).
Phần lớn cỏc nhà sản xuất đều tuyờn bố dự định của họ sẽ hỗ trợ Portal thụng qua chuẩn WSRP. Ủy ban WSRP và WSIA bao gồm BEA, Bowstreet, CA, Epicentric, Fujitsu, IBM, Novell, Oracle, Plumtree, SAP, Sun, TIBCO, WebCollage, và một số hóng khỏc,...
Cỏc chi tiết kỹ thuật của chuẩn WSRP
Một tập hợp giao diện hỗ trợ sự kết hợp ban đầu giữa Portal và Portlet.
Một giao diện cho phộp một Portal yờu cầu một đoạn trang từ một Portlet.
Một giao diện cho phộp một Portal đƣa tƣơng tỏc của ngƣời sử dụng vào Portlet.
Một tập hợp cỏc giao diện cho phộp Portal và Portlet cộng tỏc và lƣu trữ đa cấu hỡnh của một Portlet.
WebCollage Syndicator and Portlets
Webcollage đƣợc coi là mụi giới của WSRP, nú cho phộp biến đổi cỏc ứng dụng web thành cỏc Portlet từ xa bằng cỏch:
Đƣa cỏc ứng dụng web dựa trờn chuẩn HTTP thời gian thực vào cỏc Portlet, yờu cầu WSRP làm cho chỳng cú khả năng tớch hợp vào Portal.
Tạo khả năng tổng hợp cỏc Portlet từ xa vào Portal, từ cỏc ứng dụng web khụng phải Portal, khụng hỗ trợ chuẩn WSRP.
Hỡnh 2.6: Cơ sở hạ tầng web chuẩn được biến đổi thành cỏc Portlet từ xa thụng qua WebCollage Syndicator
Với xử lý Portlet của Webcollage, cỏc tổ chức cú thể :
Xỏc định lại mục đớch của cỏc ứng dụng đang tồn tại khi mà cỏc Portlet thay thế cỏc tớnh năng phỏt triển.
Giữ lại đƣợc cỏc ƣu điểm của cơ sở hạ tầng dựa trờn HTTP đang tồn tại để bỏo cỏo, quản lý, bảo mật. Điều này sẽ trỏnh đƣợc việc phải tạo lại cơ sở hạ tầng khi triển khai cỏc Portlet.
2.1.2.4. Portlet Container
Cỏc khung làm việc cung cấp mụi trƣờng thực thi thời gian thực cho cỏc Portlet đƣợc biết đến nhƣ là một Portlet container. Thụng qua mụi trƣờng này, cỏc Portlet cú thể xuất bản nội dung trờn giao diện Portal. Sự tổng hợp nội dung khụng phải là chức năng liờn kết với Portlet container nhƣng nú lại liờn kết với Portal hoặc Portal server.
Hỡnh 2.7: Mụ tả ngữ cảnh trong đú tồn tại một Portlet
2.1.2.5. Portal Service
Portlet dựa vào container để cung cấp hạ tầng cơ sở cần thiết để đỏp ứng cho một mụi trƣờng Portal. Cơ sở hạ tầng Portal cung cấp tập hợp cỏc dịch vụ cốt lừi đƣợc yờu cầu bởi cỏc Portlet.
Dịch vụ cỏ nhõn hoỏ tạo khả năng cho cỏc Portlet sử dụng cỏc cụng cụ và cỏc thụng tin profile để sửa đổi nội dung nhằm mục đớch thoả món ngƣời dựng.
Dịch vụ thụng bỏo sự kiện tạo khả năng cho cỏc Portlet đỏp ứng nhiều yờu cầu trong một kiểu tỏch khỏi mụi trƣờng Portal.
Quản trị nội dung đỏp ứng kết nối đễ dàng tới tài nguyờn ứng dụng hay nội dung ảo nào đú.
Cỏc dịch vụ tỡm kiếm đỏp ứng việc tỡm kiếm hỗn độn trờn rất nhiều nguồn tài nguyờn dữ liệu.
Dịch vụ hợp tỏc tạo khả năng cho ngƣời dựng liờn lạc và tham dự vào cỏc cộng đồng ngƣời sử dụng cựng quan tõm đến một lĩnh vực.
Dịch vụ quản trị ngƣời dựng và nhúm ngƣời dựng cho phộp ngƣời sử dụng gia nhập vào một Portal và tự quản lý tài khoản và cỏc thụng tin mà mỡnh ƣa thớch.
Dịch vụ biến đổi trang đỏp ứng rất nhiều thiết bị client. Cỏc dịch vụ khỏc cung cấp hoặc quản ký:
Profile ngƣời dựng và cỏc kiểu dữ liệu liờn tục.
Dịch vụ điều khiển truy cập và bảo mật bao gồm chứng thực và cấp quyền ngƣời dựng.
Quản ký thực thi, cõn đối và sao chộp đệm nội dung.
2.1.2.6. Portal Server
Portal Server là một mỏy chủ ứng dụng chuyờn biệt cung cấp logic tỏc nghiệp cho một ứng dụng Portal. Đặc biệt đƣợc xõy dựng trờn nền mỏy chủ ứng dụng J2EE, Portal cung cấp sự phỏt triển và cơ sở hạ tầng thời gian thực cho Portal. Một Portal server thƣờng làm việc liờn kết với một Webserver để xử lý yờu cầu của client. Portlet cú thể đƣợc xem nhƣ là một cỏch mở rộng chức năng của Portal server.
Hỡnh 2.8: Mỏy chủ Portal mở rộng một mỏy chủ ứng dụng để hỗ trợ ứng dụng Portal
Theo vớ dụ dƣới đõy Portal yờu cầu xử lý một kịch bản. Đõy là kịch bản đƣợc sinh ra khi ngƣời sử dụng yờu cầu trang Portal từ thiết bị phớa khỏch.
Một thiết bị client ( vớ dụ nhƣ trỡnh duyệt hoặc PDA) gửi một yờu cầu HTTP cho trang Portal tới mỏy chủ Web.
Mỏy chủ Web nhận ra yờu cầu cho trang Portal và gửi tiếp yờu cầu đú tới mỏy chủ Portal.
Mỏy chủ Portal quyết định nếu yờu cầu này chứa một hành động hƣớng mục đớch tới một Portlet trờn trang Portal. Portal sẽ yờu cầu Portlet container gọi Portlet xử lý hành động này. Điều này chỉ xảy ra khi cú một yờu cầu tới một Portlet nào đú.
Portlet container yờu cầu mỗi Portlet liờn kết đến trang Portal gửi một đoạn (fragment) nội dung động.
Cỏc đoạn nội dung này đƣợc trả về mỏy chủ Portal và ở đú chỳng đƣợc tổng hợp để tạo nờn một trang Portal.
Trang Portal đƣợc trở lại thiết bị client để hiển thị.
Hỡnh dƣới đõy sẽ trỡnh bày cỏc bƣớc xử lý kịch bản thụng thƣờng của một hệ thống Portal
Hỡnh 2.9: Trang Portal yờu cầu xử lý kịch bản
2.1.3. Khung làm việc của hệ thống Portal
Hỡnh ảnh về khung làm việc của hệ thống Portal đƣợc mụ tả nhƣ sau:
Hành động xử lý
Gửi đoạn trang
Trả lại trang Portal Trả lại trang Portal Tổng hợp cỏc đoạn trang Trả lại đoạn trang Trả lại đoạn trang Hành động yờu cầu
Gọi yờu cầu Gửi yờu cầu
Yờu cầu HTTP Thiết bị Client Mỏy chủ Web Mỏy chủ Portal Portlet Container Portlet Nếu cú y/c hành động tới một Portlet Bỏo cho mỗi Portlet trờn trang 1 2 3 4 5 6 7 1 2 3 4 5
Trong đú:
1: Là cỏc nguồn dữ liệu cú cấu trỳc, khụng cấu trỳc, dữ liệu ứng dụng hoặc nội
dung đƣợc cung cấp.
2: Tầng truy cập thụng tin, làm nhiệm vụ truy cập tới mọi nguồn tài nguyờn dữ
liệu.
3: Tầng dịch vụ Portal, những dịch vụ đặc trƣng tiờu biểu của Portal nhƣ: cỏ nhõn húa, tớch hợp, dịch vụ tỡm kiếm và phõn loại, dịch vụ xuất bản và đặt bỏo, dịch vụ hợp tỏc, cỏc ứng dụng, xử lý, quản trị và bảo mật.
4: Tầng trỡnh diễn, ở đú Portal cú nhiệm vụ tổng hợp thụng tin thành một trang
web và hiển thị theo yờu cầu của ngƣời dựng.
5: Cỏc thiết bị truy cập mạng; Cỏc thiết bị này truy cập Portal thụng qua cỏc
kờnh của Portal đú là cỏc kờnh dành cho mạng Intranet, mạng Internet, mạng khụng dõy, v.v…
2.2. Cỏc dịch vụ cơ bản của Portal
Tuy cú nhiều loại cổng thụng tin tớch hợp, cung cấp nhiều loại dịch vụ và ứng dụng khỏc nhau, nhƣng tất cả cỏc loại cụng thụng tin tớch hợp đều cú chung một số dịch vụ đặc trƣng. Cỏc dịch vụ này đƣợc sử dụng nhƣ một tiờu chuẩn để phõn biệt giữa cụng thụng tin điện tử tớch hợp với một website hoặc một ứng dụng chạy trờn nền tảng Web. Cỏc dịch vụ đú bao gồm:
2.2.1. Cỏ nhõn hoỏ
Thực hiện tớnh năng cỏ nhõn hoỏ (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 ngƣời dựng khỏc nhau dựa trờn nhu cầu sử dụng riờng. Tớnh năng này thụng qua việc tập hợp thụng tin về ngƣời dựng và nhúm ngƣời dựng, từ đú cung cấp cỏc nội dung chớnh xỏc tại thời điểm đƣợc yờu cầu.
Cỏ nhõn hoỏ cỏc dịch vụ là đặc trƣng quan trọng của Portal. Trờn cơ sở cỏc thụng tin của từng khỏch hàng cụ thể, nhà cung cấp cú thể tạo ra cỏc dịch vụ mang
tớnh định hƣớng cỏ nhõn, phự hợp với yờu cầu, sở thớch của từng khỏch hàng riờng biệt của mỡnh. Thụng qua đú cỏc nhà cung cấp cú khả năng tăng cƣờng đƣợc mối quan hệ với khỏch hàng, duy trỡ đƣợc sự tớn nhiệm của khỏch hàng đối với nhà cung cấp.
Cỏ nhõn hoỏ cỏc dịch vụ đƣợc tiến hành thụng qua dữ liệu thụng tin cỏ nhõn về khỏch hàng (customer profiles). Dữ liệu này chứa cỏc thụng tin mang tớnh cỏ nhõn nhƣ nghề nghiệp, thúi quen, sở thớch của khỏch hàng,…Từ thụng tin cỏ nhõn này, cỏc nhà cung cấp sẽ giới hạn cung cấp cỏc thụng tin và cỏc dịch vụ mà khỏch hàng thực sự quan tõm và muốn cú, cú nghĩa là trỏnh đƣợc việc cung cấp cỏc thụng tin và dịch vụ khụng cần thiết cú thể gõy khú chịu cho khỏch hàng, và thậm chớ dẫn đến quyết định ngừng sử dụng dịch vụ của nhà cung cấp.
2.2.2. Tớch hợp và liờn kết nhiều loại thụng tin
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 cỏc đối tƣợng sử dụng khỏc nhau. Sự khỏc biệt giữa cỏc nội dung thụng tin đƣợc cung cấp sẽ đƣợc xỏc định qua cỏc ngữ cảnh hoạt động riờng của ngƣời dựng (userspecific context). Đối với từng đối tƣợng sử dụng sau khi thụng qua quỏ trỡnh xỏc thực sẽ đƣợc cung cấp cỏc nội dung khỏc nhau; hoặc nội dung thụng tin sẽ đƣợc cung cấp khỏc nhau trong quỏ trỡnh cỏ nhõn hoỏ thụng tin.
2.2.3. Xuất bản nội dung
Dịch vụ xuất bản nội dung (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 xuất bản thụng tin chuyờn nghiệp phải cú khả năng xuất bản thụng tin với cỏc định dạng đó đƣợc quy chuẩn, vớ dụ nhƣ RDF (Resource Description Format), RSS (Rich Site Summary), NITF (News Industry Text Format) và NewsXML. Ngoài ra, cỏc tiờu chuẩn dựa trờn XML cũng phải đƣợc ỏp dụng để quản trị và hiển thị nội dung một cỏch thống nhất, xuyờn suốt
ra giải phỏp nhanh nhất để khai thỏc và sử dụng thụng tin trờn cỏc Website khỏc nhau thụng qua quỏ trỡnh thu thập và búc tỏch thụng tin với cỏc định dạng đó đƣợc quy chuẩn.
2.2.4. Hỗ trợ nhiều loại thiết bị
Khả năng hỗ trợ nhiều loại thiết bị (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ỏy tớnh (PC), thiết bị di động (Mobile phone, Wireless, 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. Vớ dụ: cựng một nội dung đú, khi hiển thị trờn màn hỡnh mỏy tớnh thỡ sử dụng HTML, nhƣng khi hệ thống xỏc định đƣợc thiết hiển thị là PAD hay mobile phone, hệ thống sẽ bị loại bỏ cỏc ảnh cú trong nội dung và tự động chuyển nội dung đú sang định dạng WML (Wireless Markup Language) để phự hợp cho việc hiển thị trờn thiết bị di động.
2.2.5. Đăng nhập một lần
Đă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 phải đăng nhập lại mỗi khi cú 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ú cỏc nhu cầu về xỏc thực hoặc truy xuất thụng tin ngƣời dựng.
2.2.6. Quản trị Portal
Chức năng quản trị Portal (Portal administration) quyết định cỏch thức hiển thị và nội dung thụng tin đối với ngƣời dựng. 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 thấy và cảm nhận đƣợc(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 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.
2.2.7. Quản trị ngƣời dựng
Chức năng quản trị ngƣời dựng (Portal user management) cung cấp cỏc khả năng quản trị ngƣời dựng cuối, tuỳ 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 phải đƣợ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. Ngoài ra, tuỳ 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. Trong trƣờng hợp đú, ngƣời quản trị phải phõn loại ngƣời dựng thành cỏc nhúm, đến mức Portal cú thể chuyển đƣợc nội dung thụng tin phõn loại dựa trờn vai trũ, sự quan tõm, vị trớ, chức năng của đối tƣợng sử dụng.
Hiện tại phƣơng phỏp bảo mật dựa trờn vai trũ (Role-basedsecurity) đƣợ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.
2.2.8. Vấn đề bảo mật trong Portal
Cú đặc điểm hoạt động trờn diện rộng cựng với những tớnh năng đƣợc cung cấp, Portal cần cú một cơ chế bảo mật đầy đủ cho một mảng rộng lớn cỏc dịch vụ nhằm đảm bảo an toàn cho thụng tin cỏ nhõn ngƣời dựng cũng nhƣ an toàn dữ liệu.
Một Portal sẽ sử dụng cỏc cơ chế sau để xõy dựng hệ thống bảo mật cơ bản của mỡnh:
2.2.8.1. Chứng thực
Là việc kiểm nghiệm một cỏch rừ ràng cỏc đặc tớnh của ngƣời dựng, của một