Mối quan hệ giữa portlet và servle t:

Một phần của tài liệu Tài liệu Luận văn tốt nghiệp: Thiết kế, xây dựng các cổng điện tử, đặc biệt là chính phủ điện tử, thương mại điện tử với các dịch vụ hành chính công phục vụ công dân, doanh nghiệp và các nhà đầu tư tại Việt Nam . pdf (Trang 38 - 39)

Đặc tả Servlet ver 2.3 đã định nghĩa Servlet như sau : “Một servlet là thành phần web trên nền tảng công nghệ Java, được quản lý bởi 1 container, nó sản sinh nội dung động. Cũng giống như các thành phân dựa trên Java khác, servlets là các classes Java độc lập nền được biên dịch ra mã bytecode trung gian có thể được tải một cách năng động và chạy bởi một máy chủ web hiểu Java. Containers, nhiều khi được gọi là bộ máy servlet, các mở rộng web server cung cấp chức năng servlet. Servlet tương tác với web client thông qua cơ chế yêu cầu/trả lời được cài đặt bởi servlet container”

Portlets và Servlets

ĐIỂM TƯƠNG ĐỒNG :

- Portlet và Servlet đều là thành phần web J2EE.

- Cả 2 được quản lý bởi container , điều khiển sự tương tác giữa chúng và vòng đời. - Mỗi cái sản sinh nội dung web động thông qua cơ chế request/response .

ĐIỂM KHÁC BIỆT :

- Portlet sinh ra fragments, portal sẽ tổng hợp các fragments này lại vào 1 trang portal, trong khi servlets sinh ra một tài liệu hoàn chỉnh.

- Không giống servlet, portlet không nhảy tới trực tiếp một URL. - Web Client tương tác đến portlet thông qua một hệ thống portal.

- Portlet có 1 lược đồ request phức tạp hơn với 2 loại yêu cầu là : action (hành động) - render (đáp ứng).

- Portlet gắn chặt đến 1 một tập chuẩn hoá các trạng thái, modes chúng định nghĩa các thao tác ngữ cảnh và những qui tắc đáp ứng (render).

- Portlet có thể tồn tại nhiều lần trong 1 trang portal.

ĐIỂM VƯỢT TRỘI :

- Portlet có 1 cơ chế phức tạp hơn để truy cập và cố gắng cấu hình thông tin.

- Portlet phải truy cập đến hiện trạng (profile) thông tin người dùng, ngoại trừ người dùng cơ sở và giữ chức năng cung cấp thông tin trong đặc tả servlet .

- Portlet có thể thực hiện việc viết lại URL, vì thế để tạo 1 liên kết URL bên trong nội dung portlet thì nó độc lập với việc cài đặt ứng dụng portal server ( nó có rất nhiều phương thức để theo dõi thông tin phiên làm việc do đó portal server hoàn toàn mù mờ về việc tạo liên kết và các hoạt động trong trang các fragments...)

- Portlet nhắm đến 2 sessions khác nhau trong đó lưu trữ dữ liệu các giao dịch thông qua các đối tượng : mức toàn ứng dụng và mức portlet riêng tư.

ĐIỂM YẾU HƠN :

- Portlet không thể thay đổi HTTP header hay thiết lập mã hoá các trả lời (response) - Portlet không thể truy xuất URL mà client dùng để khởi tạo các request trên portal.

Các ứng dụng portlet là mở rộng của ứng dụng WEB. Vì thế cả 2 ứng dụng được triển khai (deploy) trong file WAR (Web Archive file) và cả 2 bao gồm 1 file mô tả triển khai ứng dụng web (web.xml). Tuy nhiên 1 ứng dụng portlet còn bao gồm 1 file mô tả triển khai ứng dụng portlet (portlet.xml)

Vì 1 ứng dụng portlet là 1 mở rộng của ứng dụng web, nên logic mà nói nó có thể bao gồm những thành phần ứng dụng web khác. Portlet có thể sử dụng JSPs và servlet để cài đặt những tính năng của nó. Nhưng portlet không phải là servlets, để có thể sử dụng lại càng nhiều có thể các kiến trúc servlet đã có, đặc tả Portlet cung cấp cách cài đặt các tính năng tương tự như đặc tả servlet bao gồm : việc triển khai ứng dụng (deployment), tải các lớp thư viện (classloading), ứng dụng web, quản lý chu kỳ sống của ứng dụng web, quản lý phiên và việc gửi các yêu cầu (session management, request dispatching).

Cả portlet, servlets, các trang JSPs được bó lại trong 1 ứng dụng web mở rộng gọi là ứng dụng portlet. Chúng chia sẽ nhau bộ tải lớp thư viện (class loader), phiên và ngữ cảnh ứng dụng. (application context, session).

Cầu nối giữa portlet đến servlet/JSP

Các portlets có thể dùng servlets, JSPs và thư viện thẻ JSP để sản sinh nội dung.

Một portlet có thể triệu gọi các servlet và các trang JSPs giống như các servlet có thể triệu gọi các servlets và JSP khác sử dụng bộ gửi yêu cầu request dispatcher. Để có thể kết hợp liền mảnh giữa portlets và servlets đặc tả portlet sử dụng nhiều đối tượng servlets.

Khi 1 servlet hay 1 trang JSP được gọi bên trong 1 portlet, yêu cầu servlet được đưa đến servlet hay JSP dựa trên portlet request và servlet trả lời được đưa đến servlet hay JSP dựa và portlet response. Ví dụ :

- Tập các thuộc tính trong portlet request là phù hợp để include servlet request

- Portlet và các JSP hay servlet được include chia sẽ cùng 1 luồng ra

- Tập các thuộc tính trong portlet session là có thể sử dụng được từ servlet session và vice

versa.

Một phần của tài liệu Tài liệu Luận văn tốt nghiệp: Thiết kế, xây dựng các cổng điện tử, đặc biệt là chính phủ điện tử, thương mại điện tử với các dịch vụ hành chính công phục vụ công dân, doanh nghiệp và các nhà đầu tư tại Việt Nam . pdf (Trang 38 - 39)