0
Tải bản đầy đủ (.pdf) (114 trang)

Làm việc với Liferay

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 31 -31 )

Khi truy câ ̣p giao diê ̣n mă ̣c đi ̣nh của Lifearay lần đầu tiên , bạn sẽ nhìn thấy khu vực giao diê ̣n phía trên cùng bên p hải được gọi là dockbar, đây là một trong những thành phần giao diện chính của Lifeary . Dockbar là điểm link đến các chức nă ng tổng thể của Liferay như đăng nhâ ̣p (logging in), đăng xuất (logging out) và chuyển đổi vào ra giữa cá c cô ̣ng đồng và các tổ chức. Mă ̣c đi ̣nh trình đơn dockbar hiển thi ̣ hai link :

HomeSign In. Ta có thể hiển thi ̣ các link khác bằng các bấ m chuô ̣t vào mũi tên xổ xuống bên phải dockbar này.

Hình 5. Dock bar mặc định khi lần đầu tiên truy cập vào Liferay

Ta bấm vào liên kết Sign In, trên màn hình sẽ xuất hiê ̣n portlet Sign In. Portlet này cho phép người dùng truy cập vào Liferay , tạo tài khoản người mới trên cổng điện tử, hoă ̣c cho phép người chuyển đến màn hình cung cấp thông tin để lấy la ̣i mâ ̣t khẩu nếu đã quên . Nếu truy câ ̣p lần đầu tiên , ta không thể ta ̣o được tài khoản cho chính mình, tài khoản mới chỉ được phép tạo khi ta đã truy cập thành công vào hệ thống với mô ̣t tài khoản đã có. Tài khoản được tạo mới sẽ là tài khoản mặc định trong Liferay , đây không phải là tài khoản quản tri ̣ được thiết lâ ̣p trong tổ chức của mình . Vì thế, ở đây chúng ta sử du ̣ng mô ̣t tài khoản quản tri ̣ để tìm hiểu các cách tổ chức cùng như các tính năng chính của Liferay.

Tên tài khoản: test@liferay.com Mâ ̣t khẩu: test

Khi đăng nhâ ̣p với tài khoản quản tri ̣ này, giao diê ̣n dockbar sẽ hiển thị như sau:

Trong đó:

Home: Liên kết (link) về trang chủ

Sign Out: Đăng xuất ra khỏi portal

Add Application: Mở cửa sổ giao diê ̣n cho phép thêm portlet vào trang.

Layout template: Hiển thi ̣ cửa sổ cho phép người dùng cho ̣n các layout khác nhau cho trang web.

Manage pages: Liên kết đến màn hình quản tri ̣ cho phép người dùng thêm hoă ̣c xóa trang, thay đổi thứ tự hiển thi ̣ các trang , thiết lâ ̣p hiển thi ̣/ẩn trang và thiết lập một số cấu hình khác cho trang.

Toggle Edit Controls: Cho phép người dùng tắt bật chế độ sửa trên đầu các cửa sổ portlet. Điều này giúp cho người quản tri ̣ có thể nhìn trang như kết quả hiển thi ̣ (tắt) hoă ̣c quay về chế đô ̣ được phép thực h iê ̣n các thao tác chỉnh sửa , câ ̣p nhâ ̣t trang (bâ ̣t Toggle Edit Control)

My Places: Hiển thi ̣ cô ̣ng đồng hoă ̣c tổ chức của cổng điê ̣n tử.

Nếu di chuô ̣t trên My Place, dockbar sẽ được mở rộng , hiển thi ̣ tất cả những nơi trên cổng điê ̣n tử mà ta có thể truy câ ̣p . Khởi đầu, nơi mà ta đang làm viê ̣c sẽ được đánh dấu highlight , ta sẽ nhìn thấy trang public, cô ̣ng đồng Guest cho phép thực hiê ̣n nhiều cấu hình các trang của người dùng cuối , người sử du ̣ng có thể sở hữu trang public, private hay cả hai, trên các trang này đă ̣t các ứng du ̣ng portlet ho ̣ cần , và người dùng đóng vai trò quản trị.

4. Các ứng dụng có sẵn trong Liferay Portal

Liferay Portal cung cấp hơn 60 ứng dụng được tích hợp sẵn trong hệ thống . Các ứng dụng này có thể được phân loa ̣i theo ý nghĩa sử du ̣ng cho ngư ời dùng như : Các ứng dụng Quản trị hệ thống , Quản lý dữ liệu và xuất bản nội dung , Bô ̣ cô ̣ng tác, Giải trí…

5. Quản lý người dùng

5.1. Đi ̣nh nghi ̃a hê ̣ thống người dùng

Trong quá trình sử dụng Liferay, ta có thể đi ̣nh nghĩa hê ̣ thống người dùng cho hê ̣ thống của mình . Với vai trò quản tri ̣ hê ̣ thống , ta có thể dễ dàng thực hiê ̣n các chức năng quản lý như:

 Quản lý vai trò: Thêm, sửa, xóa vai trò, hiển thi ̣, tìm kiếm , đi ̣nh nghĩa quyền cho vai trò, phân quyền, gán quyền, hiển thi ̣ người dùng có vai trò tương ứng.

 Quản lý tổ chức : Thêm, sửa, xóa tổ chức, hiển thi ̣, tìm kiếm, gán người dùng vào tổ chức, quản lý các trang của tổ chức,…

 Quản lý cô ̣ng đồng: Thêm, sửa, xóa cô ̣ng đồng, hiển thi ̣, tìm kiếm, gán người dùng vào cô ̣ng đồng, quản lý các trang của cô ̣ng đồng,…

 Quản lý nhóm người dùng : Thêm, sửa, xóa nhóm người dùng , hiển thi ̣, tìm kiếm, gán người dùng vào nhóm người dùng,…

 Quản lý người dùng: Tạo tài khoản người dùng , thay đổi thông tin , xóa người dùng, hiển thi ̣ thông tin người dùng , tìm kiếm, kích hoạt/ngừng kích hoa ̣t, phân quyền cho người dùng, quản lý các trang,…

5.2. Phân quyền cho người dùng

Quyền (permission) trong portal có thể hiểu là : Ai đó được phép thực hiện một hành động (action) tác động lên một tài nguyên nào đó trên cổng điê ̣n tử .

Quyền đươ ̣c gán cho người dùng thông qua vai trò. Xem chi tiết về vai trò trong phần “2.2. Mô hình quản lý các đối tượng” phía trên.

Trong Liferay Portal, ta có thể định nghĩa quyền cho vai trò như sau:

 Kích chọn Define Permissions, bạn có thể chọn 1 trong 2 kiểu phân quyền được định nghĩa cho vai trò như là: portal permissions and portlet permissions.

Hình 7. Màn hình lựa chọn phân quyền

Portal permission: Phân quyền trên một số tài nguyên trên cổng điê ̣n tử như : community, location, organization, password policy ...

Portlet permission: Phân quyền cho từng portlet đã được cài đặt trên cổng điê ̣n tử . Kích chọn portlet permission, sau đó chọn portlet và thiết lập các quyền cụ thể trên portlet này cho role đó. Vi dụ: thiết lập quyền cho vai trò trên portlet message board.

Hình 8. Màn hình phân quyền cho ứng dụng

Với mỗi quyền được gán, ta chọn phạm vi cho quyền là: Enterprise hay community (cô ̣ng đồng). Trong đó, enterprise: trên toàn cổng điê ̣n tử , theo đó bất kỳ cộng đồng hay tổ chức nào có portlet đó đều được gán quyền này; communities: một nút lệnh xuất hiện cho phép bạn chọn các cộng đồng cu ̣ thể muốn gán quyền này .

Có thể nói , hệ thống quản lí quyền sử dụng các ứng dụng trong Liferay rất chặt chẽ, được chia làm nhiều cấp độ quản lí khác nhau.

6. Thiết lâ ̣p giao diê ̣n hiển thi ̣, khung trang (theme, layout)

Chức năng này cho phép thay đổi bộ giao diện hiển thị trên mỗi trang của cổng điê ̣n tử . Người quản trị thực hiện điều này bằng cách chọn bô ̣ giao diê ̣n (theme) đã được xây dựng sẵn trong hệ thống . Người dùng cũng có thể xây dựng các bô ̣ giao diê ̣n độc lập, sau đó tích hợp dễ dàng vào hệ thống đã triển khai. Đây là một trong những tính năng mở, đặc trưng của hệ thống cổng điê ̣n tử, rất hiệu quả khi đưa vào sử dụng.

6.1. Thay đổi giao diê ̣n trang trình bày (theme)

Người quản trị phải đăng nhập vào hệ thống và chọn phần quản trị trước khi thực hiện chức năng này.

 Chọn chức năng Quản lý trang

 Chọn trang cần thay đổi giao diện

 Chọn bộ giao diện (theme) muốn trình bày

 Bấm nút lệnh xác nhận thực hiện thao tác Giao diện như sau:

6.2. Layout template – Tùy biến cấu trúc trang

Trang thông tin được thiết lập có cấu trúc theo hàng /cột để tŕnh bày ứng dụng . Trong đó, mỗi ô là một ứng dụng hay một phần thông tin xác định. Người quản trị có thể thực hiện chức năng này bằng cách thiết lập khung trang. Cách thực hiện như sau:

 Chọn tính năng thiết lập khung trang.

 Chọn khung trang muốn áp dụng

 Bấm nút lệnh ghi nhận thao tác

Hình 10. Thiết lâ ̣p khung trang

Chương 3 - Phân tích hê ̣ thống, phát triển hê ̣ thống trên Liferay

Trong phần này , tôi xin đi sâu vào trình bày các vấn đề liên quan đến phát triển hê ̣ thống trên nền tảng công nghê ̣ Lifeary Portal.

1. Công nghê ̣ và các thông số kỹ thuâ ̣t ứng du ̣ng trong Liferay

Liferay sử dụng các công nghệ mới nhất của java, áp dụng các chuẩn phổ biến, và tương thích với hầu hết các máy chủ ứng du ̣ng , các hệ quản trị cơ sở dữ liệu và hệ điều hành chính với hơn 700 cấu hình triển khai . Cho đến nay , Liferay hỗ trợ cho hơn 30 ngôn ngữ với những bản di ̣ch mă ̣c đi ̣nh. Ta có thể thấy rõ hơn trong bảng tóm lược sau đây:

STT Tên thành phần Kỹ thuật, công nghê ̣ áp du ̣ng

1 Công nghệ và ngôn ngữ

lập trình Java, J2EE/EJB, JSP/Servlet, TagLib, POA 2 Các chuẩn công nghiệp TCP/IP, HTTP, FTP, SSL, LDAP, XML… 3 Các tiêu chuẩn

AJAX, iCalendar & Microformat, JSR-168, JSR- 127, JSR-170, JSR-286 (Portlet 2.0), JSF-314 (JSF 2.0), OpenSearch

4 Các chuẩn mở hỗ trợ websevice

JSON, Hessian, Burlap, REST, RMI, WSRP, WebDAV

5 Hệ điều hành

HP Tru64 Unix, HP-UX, AIX, Mac OS X, Sun Solaris, SuSE, Red Hat Linux, Ubuntu,

UnitedLinux, Window 2000, 2003 Server… 6 Java Virtual Machine JDK 1.5+

7 Java Servlet Container Tomcat, Jetty, Resin, WebSphere, Weblogic 8 Web Server Apache 2+

9 Hệ quản trị CSDL PostgresSQL, IBM DB2, Hypersonic, MySQL, Oracle, SQL Server, Sybase …

Directory Server

11 Trình duyệt web MS Internet Explorer 6, Firfox 2, Nescape 5 trở lên

12 Ngôn ngữ Tiếng Anh, Pháp, Đức, Viê ̣t Nam, ...

2. Kiến trúc logic của Liferay Portal

Kiến trúc logic của Liferay được thể hiê ̣n trong hình sau:

Hình 11. Kiến trúc logic của Liferay Liferay hỗ trơ ̣ các hê ̣ điều hành Windows, Mac and Linux.

JRE (Java Runtime Environment) được cài đặt trên hệ điều hành hỗ trợ để lưu trữ máy ảo Java JVM (Java Virtual Machine).

Một máy chủ ứng dụng đươ ̣c yêu cầu để chứa các thực thể Liferay . Các máy chủ đươ ̣c hỗ trợ chính thức bao gồm Apache Tomcat , Glassfish, Geronimo, Jetty, JOnAS, JBoss, và Resin. Hầu hết các máy chủ có sẵn phiên bản đóng gói , người dùng có thể tải về và triển khai trong JVM container . Các máy chủ cung cấp kết nối và khả năng tương tác bằng cách sử dụng một Enterprise Service Bus (ESB), và có nhiều dịch vụ

được cung cấp bởi các máy chủ được thừa hưởng bởi Liferay . Một số các dịch vụ chủ yếu được sử dụng bởi Liferay trên máy chủ ứng dụng , bao gồm : JNDI, JDBC, JTS, JMS, JAAS, JDO, JWS, JSP/Servlets, JavaMail.

Các ứng dụng có thể được triển khai trên máy chủ giống như bô ̣ máy (engine) tìm kiếm SOLR, hoă ̣c bô ̣ máy Rule DROOLS , hoặc Servlets Tunneling mà hơn nữa nó có thể cung cấp mở rộng hoặc tích hợp các ứng dụng bên ngoài với Liferay.

Liferay sử dụng một số công nghệ trong lõi (core) của nó để cung cấp nhiều dịch vụ khác nhau. Những công nghệ này bao gồm EJB, Hibernate, Spring và JBPM. Liferay cài đă ̣t bô ̣ máy t ìm kiếm Lucene mặc định và có thể được cấu hình để sử du ̣ng bô ̣ máy tìm kiếm SOLR , SOLR là bô ̣ máy tìm kiếm được xây dựng trên Lucene để mở rộng khả năng cung cấp phân nhóm (clustering), tìm kiếm bề mặt , lọc với những cải tiến bổ sung và mở rộng . Các portlet bridge được cung cấp để triển khai các portlet theo chuẩn JSR 168/286 và hỗ trợ các ứng dụng RIA. Liferay có chứa các bô ̣ thích ứng (adaptors) ngôn ngữ như Python , Ruby và PHP cho phép các portlet viết bằng các ngôn ngữ này được tích hợp dễ dàng vào Liferay.

Lõi quản trị (Administration Kernel ) cung cấp nền tảng cơ sở cho viê ̣c tí ch hợp và hỗ trợ tất cả các mô -đun, các công cụ hỗ trợ , các trình wizard , các dịch vụ , các thông số cấu hình listeners and runtime , để tinh chỉnh các ứng dụng máy chủ trong thời gian cha ̣y . Các s ervices builder cung cấp nền t ảng cơ bản để xây dựng và triển khai các di ̣ch vu ̣ sử du ̣ng phương pháp tiếp câ ̣n Model Driven Development (MDD)

Portlet plug -in thúc đẩy các portlet bridge nhằm sinh các portlet tự đô ̣ng cho người dùng cuối và gia tăng tích hợp RIA.

Hooks plug-in cung cấp truy cập thuận tiện để ngăn chă ̣n và thay thế các di ̣ch vu ̣ và chức năng chuẩn của Liferay (cho phép “móc” vào hê ̣ thống các thành phần xây dựng bên ngoài).

Bằng cách phát triển các đă ̣c điểm , chức năng mở rô ̣ng của Liferay , lớp Enterprise Services nằm trên cùng cung cấp các giải pháp mở rô ̣ng , đó là quản lý portal (Portal Management), quản lý nội dung (Web Content Management), quản lý tư liệu (Document Management), quản lý người dùng (User Management), quản lý luồng (Workflow Management), quản lý bảo mật (Security Management ). Những di ̣ch vu ̣ này lần lượt cung cấp các tính năng như cá nhân hóa , cô ̣ng tác, ảo hóa, mạng xã hội và tích hợp các kênh phân phối năng động, và các dịch vụ Tunneling.

3. Phát triển hệ thống trên nền tảng Liferay

Các portlet thể hiện chức năng của portal , và do đó trọng tâm của việc phát triển hê ̣ thống cổng điê ̣n tử chính là xây dựng các ứng du ̣ng porlet này.

Cổng điê ̣n tử có thể được phát triển theo hai cách sau : mô ̣t là các portlet được viết cung cấp số lươ ̣ng nhỏ các chức năng , nhiều portet được kết hợp với nhau trong portal ta ̣o thành mô ̣t ứng du ̣ng lớn; hoă ̣c hai là toàn bô ̣ ứng du ̣ng có thể được viết trong chỉ một hay một vài portlet . Trọng tâm của viê ̣c xây dựng portal chính là xây dựng các ứng dụng porlet này. Các nhà phát triển chỉ cần quan tâm đến những vấn đề xử lý xảy ra trong chính portlet ; portal server Liferay điều khiển viê ̣c thể hiê ̣n các trang và hiể n thị trên trình duyệt người dùng.

Người sử du ̣ng có thể dàn trang , sắp xếp các portlet , thay đổi giao diê ̣n trên toàn trang bằng cách cấu hình để cho ̣n khung trang (layout template) và bộ giao diện sẵn có (theme). Theme và layout template cũng có thể được tạo và tích hợp dễ dàng vào hệ thống.

Như ứng du ̣ng servlet, ứng dụng portlet trở thành chuẩn java được cài đă ̣t bởi rất nhiều nhà cung cấp portal server . Chuẩn java đi ̣nh nghĩa đă ̣c tả portlet . Chuẩn portlet JSR 168 hoă ̣c JSR 268 (JSR 268 được hỗ trợ từ Liferay 5.x trở lên) được triển khai trên bất kỳ portlet container nào hỗ trợ những chuẩn này .

Viê ̣c xây dựng các ứng du ̣ng portlet , portlet theo chuẩn java có thể được viết bởi bất kỳ nhà phát triển java nào có kinh nghiê ̣m xây dựng các ứng du ̣ng web . Liferay cung cấp mô ̣t bô ̣ plugin (Plugin Software Development Kit ) sử du ̣ng phát triển dự án portlet mô ̣t cách dễ dàng. Ta có thể xem kỹ hơn trong chương 3, phần hướng dẫn “Xây dựng ứng du ̣ng portlet trong Liferay”.

Hơn thế, Liferay hỗ trơ ̣ viết portlet trên nhiều ngôn ngữ lâ ̣p trình khác nhau như PHP, Ruby, Groovy, hay Python . Ta có thể xem và download các ví du ̣ trên

Sourceforce (http://sourcefore.net/projects/lportal).

4. Cơ chế sinh mã tự đô ̣ng

Liferay Portal hỗ trơ ̣ rất tốt khả năng sinh mã tự đô ̣ng bằng cách sử du ̣ng mô ̣t tiê ̣n ích là Service Builder. Service Builder đươ ̣c d ùng để sinh tự động tất cả mã lệnh mức thấp làm viê ̣c với CSDL . Điều này cho phép các nhà phát triển tự đô ̣ng sinh m ã tất cả các thành phần “ model” của mô ̣t portlet . Các lớp tầng bussiness và persistance được sinh mã tự đô ̣ng dựa trên file service.xml. Mỗi portlet có mô ̣t file service .xml, file này đi ̣nh nghĩa portlet và từng thực thể (entity) trong portlet. Mỗi entity tương ứng với mô ̣t bảng trong CSDL , bao gồm mô ̣t khóa chính , các trường kiểm toán (đó là các trường companyId, userId, creatDate, modifiedDate), các trường khác trong bảng, các phương thức tìm kiếm, các biệt lệ . Service builder không chỉ sinh tự đô ̣ng các interfaces cho mã lệnh java mà còn có thể sinh tự độngcả các web service và javascript.

5. Mô hình dữ liệu


Liferay đưa ra mô hình Cơ sở dữ liệu lõi như sau [27]:

6. Cài đặt, triển khai portal

6.1. Công cu ̣, môi trường phát triển

Công cu ̣ phát triển Tên công cu ̣ áp du ̣ng Miêu tả

Quản lý source code SVN Lưu trữ tài liệu, code dùng chung của nhóm

JDK 1.5.0 jdk-1_5_0_06-windows-i586-

p.exe

Application Server Tomcat 6.0.10

Database

Postgre install postgresql-8.4.2- 1-windows hoặc

SQLServer2005

Ant Ant 1.6.5/Ant 1.7.0

Dùng để deploy ứng dụng. Đã được tích hợp vào trong eclipse

IDE Eclipse

Đây là môi trường lập trình

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 31 -31 )

×