Kiến trúc Liferay Portal

Một phần của tài liệu Nghiên cứu xây dựng công nghệ Liffray Portal xây dựng cổng giao tiếp điện tử (Trang 26)

Trước khi đi sâu vào nghiên cứu giao diê ̣n người dùng để thêm mới và quản lý các nguồn tài nguyên của portal , chúng ta xem xét kiến trúc, các tổ chức quản lý các đối tươ ̣ng của cổng điê ̣n tử.

2.1. Cấu trúc Liferay Portal mức tổng quan

Máy chủ Liferay có thể bao gồm một hoặc nhiều cổng điện tử . Ta có thể đi ̣nh nghĩa nhiều cổng điện tử trên máy chủ portal. Mỗi cổng điê ̣n tử có tâ ̣p người dùng khác nhau, đươ ̣c phép truy câ ̣p khai thác, sử du ̣ng nô ̣i dung thông tin khác nhau.

Hình 2. Cấu trúc mô ̣t Lifearay Portal mức cao

Những người dùng này được tổ chức theo : Vai trò người dùng , tổ chức , cô ̣ng đồng, nhóm người dùng. Các ứng dụng portlet và tài nguyên có thể được sử dụng trên nhiều cổng điê ̣n tử khác nhau với nô ̣i dung tùy theo nhu cầu của người sử du ̣ng.

2.2. Mô hình quản lý các đối tượng

Có thể hiểu đơn giản là, cổng điê ̣n tử được truy cập bởi người dùng và có rất nhiều cách nhóm những người dùng này la ̣i với nhau.

Mô hình kiến trúc như sau:

Trong đó:

- Người dùng (user): Là thành viên sử dụng hệ thống

- Tổ chức (organization): Sử dụng để phân cấp quản lý người dùng.

- Cộng đồng (community): Tập hợp những người cùng chung sở thích hay mối quan tâm phổ biến.

- Nhóm người dùng (user group): Tập hơ ̣p những người dùng có chức năng nhiê ̣m vu ̣ giống nhau

- Vai trò: Được dùng để định nghĩa, phân quyền cho người dùng.

Trong hình trên, mỗi mũi tên có thể hiểu như cụm từ “là thành viên của”. Vì thế, ta có thể hiểu là: Tổ chức (organization) có thể là thành viên của cộng đồng (community), cô ̣ng đồng có thể là thành viên của vai trò (role), người dùng (user ) có thể là thành viên của tất cả các đối tươ ̣ng khác ,… Qua đó, Liferay cung cấp cho người quản trị sức mạnh to lớn trong việc quản lý và bảo mật tài nguyên và hệ thống người dùng một cách mềm dẻo và hiệu quả.

Ta phân tích kỹ hơn tương tác của từng đối tượng trong kiến trúc portal như sau :

2.2.1. Người dùng (user)

Người dùng có thể được tâ ̣p hợp theo nhiều cách khác nhau.

Người dùng có thể được tập hợp vào một nhóm người dùng . Chẳng ha ̣n nhóm

Message Board Administrators, đươ ̣c lâ ̣p thành từ những người dùng thuô ̣c nhiều cô ̣ng đồng và tổ chức, được phép quản lý bản tin trong portal.

Người dùng có thể được tâ ̣p hợp vào tổ chức. Mỗi người dùng có thể thuô ̣c mô ̣t hay nhiều tổ chức khác nhau.

User có thể được tâ ̣p hợp vào cô ̣ng đồng. Mỗi người dùng có thể thuô ̣c mô ̣t hay nhiều cô ̣ng đồng khác nhau.

Người sử du ̣ng có thể được gán vai trò xác đi ̣nh quyền khai thác và sử du ̣ng hê ̣ thống, thể hiê ̣n chức năng của người dùng đó trong hê ̣ thống.

2.2.2. Tổ chức (organization)

Tổ chức được tổ chức theo phân cấp đă ̣c thù . Chẳng ha ̣n khi triển khai Liferay cho một tổ chức lớn, ta có thể xác đi ̣nh người dùng A thông qua vi ̣ trí của anh ta trong tổ chức. Nếu người dùng A là kỹ sư bán hàng , làm việc ở văn phòng tại Hà Nội , phụ trách bán hàng khu vực phía bắc thì người dùng A có thể là thành viên củ a các tổ chức: Kinh doanh, văn phòng Hà Nô ̣i, khu vực phía bắc.

Tổ chức là mô ̣t trong hai kiểu tài nguyên cổng điê ̣n tử có các trang (pages). Tổ chức có thể là thành viên của cô ̣ng đồng và vai trò.

Liferay có một kiểu tổ chức đặc biệt là location, kiểu tổ chức này xác đi ̣nh đi ̣a phương của những người dùng.

2.2.3. Cô ̣ng đồng (community)

Cô ̣ng đồng là mô ̣t trong hai tâ ̣p hợp có các trang. Cô ̣ng đồng mă ̣c đi ̣nh của Liferay là Guest, bởi vì tất cả mo ̣i người, bất kể là người dùng vô danh hay thành viên của cổng điện tử đều có cùng mối quan tâm chung được mă ̣c đi ̣nh trước , các trang public. Có ba kiểu cộng đồng:

- Open – Cô ̣ng đồng mở

- Restricted – Cô ̣ng đồng có ràng buô ̣c, giới ha ̣n - Hidden – Cô ̣ng đồng ẩn (adsbygoogle = window.adsbygoogle || []).push({});

Trong đó, cộng đồng mở(mă ̣c đi ̣nh) cho phép người dùng gia nhâ ̣p hay rời khỏi cô ̣ng đồng khi ho ̣ muốn , cung cấp quyền truy câ ̣p và làm viê ̣c trên các portlet trong cô ̣ng đồng đó. Cô ̣ng đồng có ràng buộc, giới ha ̣n yêu cầu người dùng phải thuô ̣c cô ̣ng đồng đó, vì thế trước đó người dùng phải được thêm vào cộng đồng bởi người quản trị cô ̣ng đồng. Cộng đồng ẩn là một cộng đồng có ràng buộc , giới ha ̣n, trong đó các ứng dụng portlet không được hiển thị trong cộng đồng.

Cô ̣ng đồng có thể là thành viên của vai trò.

2.2.4. Nhóm người dùng (user group)

Nhóm người dùng là tập hợp người dùng bất kỳ , đươ ̣c ta ̣o bởi người quản tri ̣ hê ̣ thống. Họ có thể là thành viên của các cô ̣ng đồng hoă ̣c các vai trò.

2.2.5. Vai trò (roles)

Vai trò được sử du ̣ng nhằm mu ̣c đích phân quyền . Vai trò là tâ ̣p hợp các quyền . Trong Liferay, vai trò được phân loa ̣i theo phạm vi sử du ̣ng trong hê ̣ thống, bao gồm:

- Portal roles - Các vai trò có phạm vi sử dụng là cổng điê ̣n tử. - Organization roles - Các vai trò có phạm vi sử dụng là tổ chức. - Community roles - Các vai trò có phạm vi sử dụng là cô ̣ng đồng.

Vai trò đi ̣nh nghĩa quyền xu yên suốt pha ̣m vi sử du ̣ng : cổng điê ̣n tử , tổ chức , cô ̣ng đồng. Chẳng ha ̣n, ta xem xét mô ̣t vai trò là gán quyền ta ̣o chuyên mu ̣c bản tin ; mô ̣t portal role sẽ gán quyền truy cập xuyên suốt cổng điê ̣n tử; mô ̣t community role sẽ chỉ được truy câ ̣p trong cô ̣ng đồng đó ; mô ̣t organization role cũng chỉ được truy cập bên trong tổ chức đó.

Vai trò có thể được gán cho người dùng, tổ chức, cô ̣ng đồng, nhóm người dùng . Nếu một vai trò được gán cho tổ chức, cô ̣ng đồng, nhóm người dùng thì tất cả những người dùng là thành viên của nó sẽ có vai trò này.

Vai trò được sử du ̣ng nghiêm ngă ̣t trong bảo mâ ̣t cổng điê ̣n tử , chúng cũng không có trang như tổ chức hay cô ̣ng đồng.

2.3. Cách tổ chức, quản lý thông tin với trang trong Liferay

Có 3 kiểu tâ ̣p hợp trong Liferay không chỉ có người dùng mà còn được sở hữu các trang. Đó là tâ ̣p hợp các trang, tổ chức và cô ̣ng đồng. Các tổ chức và cô ̣ng đồng có thể có nhiều trang. Các trang này được đưa vào các layout. Có 2 kiểu layout khác nhau là publicprivate. Vì thế một tổ chức hay cô ̣ng đồng có nhiều trang public, các trang này được truy cập bởi bất kỳ người dùng nào là thành viên của hệ thống hay không . Tổ chức hay cô ̣ng đồng cũng có thể có nhiều trang private, các trang này dành riêng cho người dùng là thành viên và được phân quyền của tổ chức hay cô ̣ng đồng đó.

Mỗi người dùng được cung cấp mô ̣t cô ̣ng đồng cá nhân riêng . Người dùng được phép thiết lập, cấu hình, tổ chức trang, thay đổi nô ̣i dung tùy theo ý muốn trên site cá nhân này.

Nhóm người dùng không có các trang nội dung như trên nhưng có các trang template. Các trang template này được ta ̣o bởi người quản tri ̣ hê ̣ thống và phân quyền cho nhóm người dùng . Khi người quản trị hệ thống thiết lập quyền sử dụng template cho nhóm người dùng thì template này sẽ được sao chép một bản sang cô ̣ng đồng cá nhân riêng của từng user thuô ̣c nhóm người dùng đó. Chẳng ha ̣n, nếu mô ̣t nhóm người dùng muốn có trang blog, người quản trị h ệ thống chỉ cần tạo trang blog cho nhóm người dùng này, hê ̣ thống sẽ tự động sao chép trang blog cho từng user thuô ̣c nhóm, và cho phép ho ̣ có thể bắt đầu sử du ̣ng blog ngay sau đó.

Mỗi trang bao gồm các ứng du ̣ng portlet khác nhau , người sử du ̣ng cũng có thể dàn trang , cấu hình thay đổi giao diê ̣n trên toàn trang portal . Chi tiết được trình bày trong các phần tiếp theo.

2.4. Portlet trong Liferay Portal

2.4.1. Portlet, thành phần chức năng của portal

Liferay là mô ̣t portal server, điều này có nghĩa là Liferay được thiết kế là mô ̣t môi trường đơn có thể tích hợp và cha ̣y tất cả các ứng dụng porlet trên đó một cách có hệ thống. Để đa ̣t được điều đó , các chứ c năng ứng du ̣ng của Liferay portal được phân chia thành từng phần trên trang , được go ̣i là các portlet . Các portlet chính là các ứng dụng web.

Hình 4. Mô ̣t trang có thể chứa một hay nhiều portlet khác nhau

2.4.2. Phạm vi của porlet

Phạm vi của hệ thống được thể hiện thông qua vai trò . Vai trò người dùng có thể đươ ̣c ta ̣o dưới mô ̣t trong 3 phạm vi , đó là portal roles, organization roles hay community roles. Ta có thể xem thêm trong phần trình bày về vai trò phía trên.

Phạm vi hệ thống cũng có thể được thể hiện với các portlet đã được xây dựng sẵn trong Liferay. Có hai kiểu portlet thể hiện phạm vi là instanceable và n on-instanceable portlet đươ ̣c phân biê ̣t bởi 2 loại biểu tượng (icon) khác nhau trên trình menu (dockbar) quản lý các ứng dụng portlet . Trong đó, non-instanceable portlets được thể hiê ̣n duy nhất trên mô ̣t cô ̣ng đồng hoă ̣c tổ chức, trái lại instanceable có thể có nhiều thể hiê ̣n trên cùng mô ̣t cô ̣ng đồng hoă ̣c tổ chức nào đó.

Một phần của tài liệu Nghiên cứu xây dựng công nghệ Liffray Portal xây dựng cổng giao tiếp điện tử (Trang 26)