Mục tiêu của khóa luận
Tìm hiểu từ khái quát đến cụ thể những tính năng nổi bật nhất của công nghệ Liferay portal để từ đó ứng dụng công nghệ này vào xây dựng môi trường làm việc cộng tác giúp cho các cán bộ, chiến sĩ, nhân viên dễ dàng trao đổi tài liệu, phối hợp thực hiện các công việc, lấy ý kiến thăm dò về một quy định, chính sách, Qua đó nâng cao hiệu quả công việc, giảm bớt thời gian xử lý các công việc cũng như thủ tục không cần thiết.
Nội dung của khóa luận
Nội dung bài khóa luận này là giới thiệu một cách tổng quan về Cổng thông tin điện tử, công nghệ Liferay portal và trình bày cụ thể những tính năng hữu dụng của Liferay portal đối với việc xây dựng một môi trường làm việc cộng tác khi được triển khai trên hệ thống.
Phần cuối của bài khóa luận em cũng giới thiệu một ứng dụng nhỏ sau khi tìm hiểu công nghệ Liferay portal để xây dựng môi trường làm việc cộng tác cho các Phòng ban, đơn vị trong ngành Công an như: Soạn chung tài liệu, văn bản; Phê duyệt đơn từ, đề xuất; Chia sẻ lịch công tác, sự kiện; Lấy ý kiến thăm dò; Bảng tin, thông báo, hoạt động.
Trên cơ sở đó, nội dung của bài khóa luận này gồm có 3 chương sau:
- Chương 1: Cổng thông tin điện tử (portal).
- Chương 2: Liferay portal – Cổng thông tin điện tử mã nguồn mở.
- Chương 3: Xây dựng ứng dụng “Môi trường làm việc cộng tác cho các Phòng ban, đơn vị”.
Phương pháp tiếp cận
Sưu tập và nghiên cứu tài liệu, đánh giá – xem xét – lựa chọn những tính năng đáp ứng được các yêu cầu của ứng dụng, xây dựng ứng dụng.
Với hướng đi đó bước đầu khóa luận đã tìm hiểu được khá nhiều kiến thức và xây dựng được một chương trình ứng dụng cho kết quả tốt, phần nào chứng tỏ phương pháp tiếp cận là đúng đắn và có hiệu quả.
6 CỔNG THÔNG TIN ĐIỆN TỬ (PORTAL) 6 1.1 Khái niệm
Đặc điểm chính của Cổng thông tin điện tử
Cho phép người dùng quyết định ứng dụng nào sẽ được khởi tạo để hiển thị lên trang Cổng thông tin điện tử, cấu hình lại trang Cổng thông tin điện tử vào bất cứ lúc nào bằng cách thêm hoặc gỡ bỏ những ứng dụng trên đó 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.
Cổng thông tin điện tử cung cấp cơ chế đăng nhập một cửa (Single sign- on), tiến hành xác thực người dùng một lần và áp dụng kết quả xác thực này với tất cả các ứng dụng khác hiển thị trên Cổng thông tin điện tử Cụ thể là, cho phép các dịch vụ xuất bản thông tin hoặc lấy thông tin của người dùng đang hoạt động mà không bắt buộc 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 giúp rút ngắn thời gian xác thực, truy xuất cũng như bảo mật thông tin Bởi vì, số lượng các ứng dụng và dịch vụ trong Cổng thông tin điện tử ngày càng tăng lên một cách nhanh chóng do nhu cầu từ người dùng ngày càng tăng, vì vậ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 của người dùng
Cổng thông tin điện tử lấy nội dung từ các website tĩnh hay website động về làm nội dung của nó 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 khác nhau Sự khác biệt giữa các nội dung thông tin sẽ được xác định qua ngữ cảnh hoạt động của người dùng (user-specific context) Ví dụ, đối với từng đối tượng người sử dụng sau khi vượt qua quá trình xác thực thì những thông tin về họ (cung cấp trong quá trình cá nhân hóa) sẽ được dùng làm cơ sở để Cổng thông tin trả về nội dung hoặc thông tin họ đã đăng kí.
Đặc điểm khác của Cổng thông tin điện tử
Ngoài 3 đặc điểm cơ bản nêu trên, Cổng thông tin điện tử còn có một vài đặc điểm riêng lẻ khác mà tùy từng loại Cổng thông tin điện tử có hay không có Những đặc điểm này thường là không bắt buộc, bao gồm các đặc điểm sau đây:
1.3.1 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) phù 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 khác nhau đã được quy chuẩn, ví dụ như RDF (ResourceDescription Format), RSS (Really Simple Syndication), NITF (News IndustryText 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 trong quá trình xuất bản thông tin Các tiêu chuẩn dựa trên XML này hỗ trợ đưa 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.
1.3.2 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, Wireless 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 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à Smartphone, PDA hay Mobilephone hệ thống sẽ loại bỏ hình ả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 màn hình của thiết bị di động.
1.3.3 Quản trị Cổng thông tin điện tử (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 giao diện người dùng với các chi tiết đồ hoạ (look-and-feel) mà còn giúp người quản trị định nghĩa được thành phần thông tin, 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 quyền truy cập và sử dụng thông tin khác nhau.
1.3.4 Quản trị người dùng (Portal user management):
Là 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 Cổng thông tin điện tử 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,iGoogle) 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 vào từng kiểu Cổng thông tin điện tử 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) được sử dụng như một tiêu chuẩn để cung cấp thông tin phân quyền sử dụng cho các đối tượng khác nhau trong Cổng thông tin điện tử cũng như ứng dụng web.
Ứng dụng của Cổng thông tin điện tử
Hiện nay trên thế giới Cổng thông tin điện tử đã được áp dụng khá rộng rãi và phổ biến Một số rất gần gũi mà chúng ta thường dùng hàng ngày trong số đó phải kể đến một vài Cổng thông tin điện tử nổi tiếng như: iGoogle trên Google.com; Yahoo.com
Hình 1.1 Cổng thông tin điện tử iGoogle của hãng Google
Cùng với iGoogle, Yahoo cũng là một loại Cổng thông tin công cộng thu hút một lượng lớn người dùng truy cập trên toàn cầu Đây đều là những Cổng thông tin hoàn chỉnh nhất mang đầy đủ các đặc điểm đã nêu bên trên; Đặc biệt những đặc điểm chính: Cá nhân hóa, xác thực hóa và tập hợp nội dung biểu hiện rất rõ ràng, giao diện đẹp mắt, thân thiện, dễ sử dụng.
Hình 1.2 Cổng thông tin điện tử của hãng Yahoo
Và một số Cổng thông tin điện tử khác khá nổi tiếng như: Netscape, AOL, MSN, Lycos, AltaVista, Excite,… Ở Việt Nam, Cổng thông tin điện tử cũng đang là hệ thống được nhiều tổ chức, cơ quan và đặc biệt là doanh nghiệp muốn đưa vào khai thác thay cho các website giao dịch thông thường Dưới đây là một vài ví dụ về Cổng thông tin điện tử ở Việt nam:
- Cổng thông tin điện tử Chính phủ http://www.chinhphu.vn/cttdtcp/
- Cổng thông tin điện tử của Bộ Công an http://www.mps.gov.vn
- Cổng thông tin điện tử Bộ Xây dựng www.moc.gov.vn/
- Cổng thông tin điện tử Bộ Tư Pháp http://www.moj.gov.vn/
- Cổng thông tin điện tử Bộ Y tế http://moh.gov.vn
- Cổng giao tiếp điện tử TP Hà nội http://www.hanoi.gov.vn
Phân loại Cổng thông tin điện tử
Cổng thông tin điện tử có nhiều loại, tuy nhiên thì có 6 loại thông dụng thường dùng, đó là:
- Cổng thông tin cá nhân.
- Cổng thông tin của các Bộ, Ban, Ngành, các trường Đại học, Cao đẳng.
- Cổng thông tin của các tỉnh, địa phương.
- Cổng thông tin của Chính phủ.
- Cổng thông tin của các Tập đoàn, doanh nghiệp, công cộng.
- Cổng thông tin Thể thao.
Lợi ích của Cổng thông tin điện tử
Nhìn chung, một Cổng thông tin điện tử là ứng dụng web ứng dụng các hệ thống và các quy trình với nhau để tạo ra một vùng làm việc cộng tác tập trung có chiều sâu Cổng thông tin điện tử tích hợp những công nghệ mới nhất để xây dựng vùng làm việc cá nhân hoá và cộng đồng để tăng năng suất làm việc cho người sử dụng Cổng thông tin điện tử được xây dựng để kết hợp các mạng nội bộ - intranets, mạng bên ngoài -extranets, cộng đồng, trang web, và dự án Tùy thuộc vào loại nhu cầu nghiệp vụ và Cổng thông tin điện tử mà mọi người dùng có thể để đạt được một số lợi ích từ việc sử dụng Cổng thông tin điện tử ở bất kỳ môi trường nào Một số lợi ích trong đó là:
- Hiệu quả cung cấp thông tin cho các đối tượng.
- Tăng năng suất cho người sử dụng đầu cuối.
- Cung cấp những tính năng tùy chỉnh và phát triển của các công cụ.
- Tăng cường khả năng tương tác giữa khách hàng với nhân viên, giữa nhân viên với nhân viên trong cùng cơ quan, đơn vị.
- Cá nhân hoá môi trường làm việc cho người sử dụng cuối cùng.
- Tích hợp các ứng dụng bên ngoài và dịch vụ bởi các portlet.
Xây dựng Cổng thông tin điện tử
Chúng ta đã tìm hiểu khá cụ thể về Cổng thông tin điện tử như : Cổng thông tin điện tử là gì, đặc điểm của Cổng thông tin điện tử, phân loại Cổng thông tin điện tử, Và một câu hỏi đặt ra lúc này là: “Làm thế nào để xây dựng nên Cổng thông tin điện tử?”.
Câu trả lời là có rất nhiều cách để xây dựng Cổng thông tin điện tử. Chúng ta có thể tự mình xây dựng Cổng thông tin điện tử đơn giản bằng ngôn ngữ Java, Perl, Python,… Tuy nhiên, đối với Cổng thông tin điện tử phức tạp và đặc thù công việc thì người ta thường sử dụng các công cụ hỗ trợ xây dựng
Cổng thông tin điện tử (portal building toolkits) bao gồm 2 loại chính sau đây:
- Công cụ hỗ trợ xây dựng mất phí, phải mua bản quyền sử dụng (Commercial Open Source and Proprietary) như:
- Công cụ hỗ trợ xây dựng miễn phí mã nguồn mở (Free / Open Source) như:
• Alfresco ECM (http://www.alfresco.com).
• Apache Pluto (http://portals.apache.org/pluto).
• Apache Jetspeed-2 (http://portals.apache.org/jetspeed-2).
• eXo Platform (http://www.exoplatform.com).
• Hippo Portal 2 (http://www.onehippo.com/en/products/portal).
• InfoGlue (http://www.infoglue.org).
• Jahia (http://www.jahia.com).
• JBoss GateIn (http://www.jboss.org/gatein).
• Liferay Portal (http://www.liferay.com).
• OpenPortal (http://en.wikipedia.org/wiki/OpenPortal).
• uPortal (http://www.jasig.org/uportal).
Rõ ràng, việc sử dụng công cụ hỗ trợ luôn luôn là phương án tốt nhất giúp cho người dùng xây dựng Cổng thông tin điện tử có tính phức tạp hoặc đặc thù công việc Nhưng, hiện nay có rất nhiều công cụ hỗ trợ, người sử dụng nên chọn công cụ nào cho phù hợp và đạt hiệu quả cao? Để trả lời cho câu hỏi này, chúng ta sẽ cùng xem kết quả thăm dò đánh giá về các công cụ hỗ trợ xây dựng Cổng thông tin điện tử vào tháng 6/2011 của website: http://holisticsecurity.wordpress.com (website chuyên đưa ra đánh giá về : Mã nguồn mở, bảo mật, độ tin cậy và tính tiện lợi của các công nghệ) với các tiêu chí và thang điểm như sau:
• 1 Content Management (Quản trị nội dung)
• 5 Integration Platform (Tích hợp Platform)
• 6 Extendibility and easy Development (Mở rộng và Phát triển)
• 7 Ready to Mobility (Tính lưu động)
• 8 Community (user forums, documentation, wiki, etc.) (Cộng đồng)
• 9 License type (Free Open Source, Commercial Open Source, Proprietary) (Kiểu đăng kí bản quyền).
• Not have: 0 (Không đáp ứng yêu được)
Và kết quả cuối cùng như sau:
Hình 1.3 Kết quả đánh giá các công cụ hỗ trợ xây dựng Cổng thông tin điện tử (Nguồn : http://holisticsecurity.wordpress.com/2011/06/14/which-portal-solution-should-i-use/)
Nhìn vào hình 1.3 ta thấy Liferay Portal đứng ở vị trí đầu tiên so với những công cụ hỗ trợ khác Liferay Portal đáp ứng rất tốt các tiêu chí đưa ra. Với Liferay portal người dùng có thể xây dựng được bất kì Cổng thông tin điện tử nào như: social network, e-learning portal, e-commerce portals,… dành cho cả doanh nghiệp lẫn người dùng thông thường Nhưng điều đặc biệt nhất Liferay portal là mã nguồn mở và miễn phí sử dụng.
Trong đề tài khóa luận này, em lựa chọn Liferay portal để xây dựng
“Môi trường làm việc cộng tác cho các Phòng ban, đơn vị”.
Tóm lược nội dung Chương 1
Chương 1 giới thiệu một cách khái quát nhất về Cổng thông tin điện tử; những đặc điểm, phân loại và tình hình ứng dụng Cổng thông tin điện tử. Chương này cũng đề cập phương pháp xây dựng Cổng thông tin điện tử, trong đó thông dụng nhất là dùng công cụ hỗ trợ Ở cuối chương này đã đưa ra kết quả so sánh giữa các công cụ hỗ trợ xây dựng Cổng thông tin điện tử phổ biến hiện nay với nhiều tiêu chí đánh giá khắt khe từ phía người sử dụng. Kết quả, Liferay portal xếp vị trí đầu tiên; Qua đó thêm một lần nữa khẳng định Liferay portal là Cổng thông tin điện tử mã nguồn mở điển hình nhất hiện nay, là sự lựa chọn hàng đầu dành cho các Cơ quan, tổ chức, doanh nghiệp và cá nhân.
Nắm vững khái niệm và đặc điểm của Cổng thông tin điện tử sẽ là cơ sở vững chắc để tiến tới tìm hiểu hiệu quả nội dung Chương 2:“Liferay portal - Cổng thông tin điện tử mã nguồn mở”.
16
Thuận lợi của Liferay portal
- Chạy trên tất cả các hệ thống máy chủ, Servlet container, cơ sở dữ liệu và hệ điều hành với hơn 700 khối thực thi.
- Sử dụng các phiên bản mới nhất của Java, J2EE, và công nghệ web 2.0.
- Sử dụng mã nguồn mở OSA (OpenSource Alliance).
- JSR-168/JSR-286 compliant (Java Specification Requests).
- Với trên 60 portlet tiện ích.
- Có khả năng thiết kế, dàn trang theo sở thích riêng của mỗi người sử dụng.
- Được tích hợp bộ Cộng tác (Collaboration) và Hệ thống quản lý dữ liệu (CMS).
- Đồng bộ đầy đủ giao thức truy cập cấu trúc thư mục LDAP (LightweightDirectory Access Protocol).
- Hỗ trợ bảo mật với cơ chế đăng nhập một cửa Single Sign-On (SSO) trong xác thực hóa, cũng như tập hợp nội dung.
2.2.2 Về triển khai và sử dụng trên hệ thống
Liferay portal là một trong những framework Cổng thông tin hoàn chỉnh nhất trên thị trường (được phát triển từ năm 2000) và cung cấp những lợi ích cơ bản như:
- Bộ công cụ cộng tác trực quan dành cho nhiều loại đối tượng người sử dụng khác nhau.
- Tổ chức sắp xếp hợp lý dữ liệu và ứng dụng của người dùng, qua đó giúp giảm bớt đáng kể thời gian truy xuất.
- Tối ưu hóa cơ sở hạ tầng Công nghệ thông tin sẵn có.
- Có khả năng điều chỉnh, thích ứng với những yêu cầu thường xuyên thay đổi của thị trường.
- Sắp xếp hiệu quả hoạt động làm việc của người dùng, giảm thiểu tối đa sự ảnh hưởng đến cơ sở hạ tầng Công nghệ thông tin có sẵn.
2.2.3 Tiện ích của Liferay portal
Liferay portal cung cấp một giao diện thân thiện dễ sử dụng với người dùng, bao gồm:
- Kéo-thả, chỉnh sửa vị trí đặt cũng như cấu hình dễ dàng các ứng dụng (portlet) trên một trang Cổng thông tin.
- Người dùng tự xây dựng hoặc tải về, và triển khai nhanh chóng các ứng dụng tương thích với phiên bản đang sử dụng từ trang chủ Liferay.
- Look and feel (Cảm quan) - Người dùng có thể sửa đổi màu sắc, kiểu chữ và liên kết tới các ứng dụng mà không cần phải có trình chỉnh sửa CSS hay HTML.
Công cụ phát triển giao diện:
- Tất cả các trang trong Liferay đều sử dụng chuẩn CSS để đơn giản hóa việc phát triển giao diện cho đội ngũ lập trình viên và nhà thiết kế.
- Quản lý hiệu ứng giao diện theo quyền sử dụng hệ thống.
- Áp dụng hiệu ứng web cho một loạt trang khác bằng việc sử dụng Xuất/Nhâp tệp tin lưu trữ LAR (Liferay Archives).
- Thư viện thiết kế Javascript của Liferay portal dựa trên jQuery với sự hỗ trợ cho dịch vụ Web JSON giúp tạo ra giao diện thân thiện, gần gũi.
WebDAV là một giao thức cho phép chuyển dữ liệu, tệp tin, thư mục một cách dễ dàng từ máy tính cá nhân lên thư mục tài nguyên trên không gian làm việc hay trên một site bất kỳ của người dùng WebDAV là tập hợp các phần mở rộng cho giao thức HTTP trợ giúp người dùng cộng tác sửa chữa và quản lý tập trung trên máy chủ từ xa.
Một khi đã thiết lập WebDAV, máy tính sẽ xử lý tài nguyên của người dùng giống như là trên hệ thống nội bộ bình thường Người dùng có thể kéo thả tệp tin, thư mục từ nguồn dữ liệu như là đang làm với Windows, Linux hay một hệ điều hành bất kỳ.
Người sử dụng sẽ quản lý chặt chẽ hơn nội dung Cổng thông tin bằng những quy ước hệ điều hành quen thuộc cho các tài liệu và thư mục.
2.2.3.3 Hệ thống quản lý quyền sử dụng chặt chẽ
- Kiểm tra, cung cấp các chức năng và thông tin đúng với quyền sử dụng của từng thành viên.
- Kiểm tra quyền sử dụng có khả năng mở rộng hoặc sử dụng lại hay không Việc kiểm tra diễn ra thường xuyên trong Cổng thông tin và có thể áp dụng cho từng thành phần của ứng dụng trên Cổng thông tin như nút bấm điều khiển, cấu hình, thông báo,
2.2.3.4 Tích hợp Liferay portal vào IDE
- NetBeans IDE: Để giảm bớt thời gian phát triển một ứng dụng Cổng thông tin mới, Liferay portal được hỗ trợ tích hợp trong NetBeans IDE – một môi trường phát triển tích hợp rất mạnh của Java nhanh chóng trợ giúp người lập trình xây dựng được Cổng thông tin như ý muốn Chi tiết các bước tích hợp Liferay portal vào trong NetBeans IDE sẽ được trình bày ở mục 2.4.
- Eclipse: Liferay portal cũng hỗ trợ kết hợp với Eclipse để tạo ra những tập tin cấu hình XML tự động và cho phép phát triển JSP/những lớp xử lý hành động chỉ bằng một vài thao tác nhấn chuột đơn giản.
Triển khai Liferay portal
Tính linh hoạt của Liferay portal cho phép nó được triển khai theo nhiều cách khác nhau để đáp ứng nhu cầu cụ thể của từng cơ quan, tổ chức, cá nhân và cộng đồng Dưới đây là một số mô hình Liferay portal đang sử dụng:
- Kết hợp mạng bên ngoài (-Extranet).
- Mạng nội bộ công ty, cơ quan (-Intranet)
- Quản lý dữ liệu và công bố web.
- Cộng tác giữa người dùng với nhau.
- Cổng thông tin cơ sở hạ tầng.
NetBeans IDE và tích hợp Liferay portal vào NetBeans IDE
NetBeans IDE là một “môi trường phát triển tích hợp“ (Integrated Development Environment) kiểu như Visual Studio của Microsoft và được xem là một một bộ ứng dụng “must-download” (cần phải có) dành cho các nhà phát triển phần mềm.
NetBeans IDE hỗ trợ nhiều hệ điều hành khác nhau như Windows, Mac,Linux, và Solaris NetBeans bao gồm một IDE mã nguồn mở và một nền tảng ứng dụng giúp nhà phát triển nhanh chóng tạo nên các ứng dụng dành cho website, doanh nghiệp, cơ quan, tổ chức, ứng dụng desktop và thiết bị di động bằng các ngôn ngữ lập trình Java, C/C++, JavaScript, Ruby, Groovy, PHP hay một số ngôn ngữ khác trong những phiên bản mới ra của NetBeans IDE Phiên bản NetBeans IDE 7.0.1 cung cấp nhiều tính năng mới như shortcut tìm kiếm trong toàn bộ IDE gọi là QuickSearch, giao diện thân thiện hơn với người dùng, và tính năng tự động biên dịch khi lưu (Compile on Save) Ngoài việc hỗ trợ Java mọi phiên bản (Java SE, Java EE, Java ME), NetBeans IDE còn là công cụ lý tưởng cho việc phát triển phần mềm bằng các ngôn ngữ PHP, C/C++, Groovy and Grails, Ruby and Rails, Ajax và JavaScript Ngoài ra, từ các phiên bản 7.0 trở đi còn tăng cường hỗ trợ cho web framework (Hibernate, Spring, JSF, JPA, Portlet, Struts, JavaServer Faces), trình ứng dụng máy chủ GlassFish và cơ sở dữ liệu.
2.4.2 Tích hợp Liferay portal vào NetBeans IDE
2.4.2.1 Phần mềm và plug-in cần dùng
- Bộ jdk, ở đây sẽ chọn bộ jdk7u2 sử dụng cho hệ điều hành windows 32bit Có thể tải theo đường link: http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2- download-1501626.html
- Bản cài đặt NetBeans 7.0.1 Có thể tải theo đường link: http://netbeans.org/downloads/7.0.1/index.html
- Gói Liferay portal Tomcat Có thể tải theo đường link: http://www.liferay.com/downloads/liferay-portal/available-releases
- Liferay Server plug-in cũng như các plug-in cần thiết khác như: Generic Portlets (JSR 168/286), Spring MVC Portlet Plug-in,… Có thể tải toàn bộ gói plug-in trên theo đường link: http://contrib.netbeans.org/portalpack/pp30/download305.html
2.4.2.2 Các bước tích hợp Liferay portal vào NetBeans IDE
JDK(Java Development Kit) là bộ công cụ phát triển Java Nó bao gồm nhiều chương trình tiện ích như trình biên dịch javac (java compiler), chương trình gỡ lỗi, appletviewer, trình phát sinh tài liệu javadoc, đóng gói dữ liệu jar v.v Ngoài ra còn có JRE (Java Runtime Enviroment) môi trường thực thi Java Tiến hành cài đặt jdk7u2 theo mặc định.
Hình 2.1 Cài đặt ban đầu và kết thúc jdk7u2
Tiến hành cài NetBeans như mặc định, tuy nhiên trong Runtimes ta chọn thêm Apache Tomcat như hình bên dưới.
Hình 2.2 Cài đặt ban đầu và kết thúc NetBeans 7.0.1
Bước 3: Cài đặt Liferay portal Tomcat
Tạo một thư mục bất kì tại ổ đĩa C\: với tên tùy ý Ở đây tạm chọn tên thư mục là Liferay Portal 2012 Giải nén gói Liferay portal Tomcat tải được ở bên trên vào thư mục này.
Hình 2.3 Tạo thư mục Liferay Portal 2012 và giải nén gói Liferay portal Tomcat
Bước 4: Tích hợp các plug-in vào trong NetBeans
- Tạo một thư mục có tên Portal plug-in bên trong thư mục Liferay Portal
- Giải nén gói plug-in tải được bên trên vào thư mục Portal plug-in vừa tạo.
- Khởi động NetBeans 7.0.1 Chọn Tools\Plugins\Downloaded\Add plugins\Chọn toàn bộ (Ctrl+A) các file có đuôi nbm bên trong thư mục
Portal plug-in\Click Open\Install\Next\Tích đồng ý khi được hỏi Chờ cài đặt.
Hình 2.4 Tích hợp các plug-in vào NetBeans
- Khởi động lại NetBeans để các plug-in có hiệu lực.
Bước 5: Tích hợp Liferay Portal Server vào NetBeans IDE
- Sau khi khởi động lại NetBeans IDE Nhấn tổ hợp phím Ctrl+5 để xuất hiện cửa sổ Services.
- Chuột phải vào Servers\Add Server…\Liferay Portal Server
- Trong server type chọn Tomcat 6.x\Ở Catalina home chọn đường dẫn đến tận thư mục Tomcat-6.0.29\OK\Next\Finish.
Hình 2.5 Tích hợp Liferay Portal Server vào NetBeans IDE
Bước 6: Kiểm tra việc tích hợp Liferay Portal Server vào NetBeans IDE Để kiểm tra xem việc tích hợp Liferay portal vào NetBeans IDE có thành công hay không ta làm như sau:
- Tổ hợp phím Ctrl+5\Kích đúp vào tab Servers\Chuột phải vào LiferayPortal Server 5.1.x/5.2.x/6.x\Start Như hình 2.6
Hình 2.6 Kiểm tra việc tích hợp Liferay portal vào NetBeans IDE
- Chờ khoảng 2-3 phút, nếu thấy có một tam giác nhỏ màu xanh lá cây xuất hiện phía trước dòng chữ Liferay Portal Server 5.1.x/5.2.x/6.x của tab Servers thì tức là ta đã tích hợp thành công Như hình 2.6
- Mở cửa sổ trình duyệt web Gõ dòng chữ http://localhost:8080 vào thanh url sẽ xuất hiện màn hình welcome của Liferay.
Portlet
Portlet là một web component được dùng để triển khai vào trong một portlet container và tạo ra nội dung động Về mặt công nghệ, portlet là một class viết theo chuẩn giao diện của javax.portlet.portlet interface và được đóng gói, triển khai thành một file war bên trong một portlet container.
Chúng ta có thể ví Cổng thông tin điện tử như một hệ điều hành mà trên nền nó ta xây dựng rất nhiều ứng dụng nhỏ khác nhau bởi portlet Khi đó các portlet nằm ở những vùng khác nhau trong một trang Cổng thông tin điện tử.
Hình 2.7 Các portlet nằm bên trong một trang Cổng thông tin điện tử
Một cửa sổ của trình duyệt khi truy cập đến một trang Cổng thông tin điện tử, chúng ta có thể thấy vùng thông tin thời tiết, vùng tin tức kinh doanh, vùng video của youtube, hay vùng tin tức thể thao,… Nếu chỉ một trong chúng được cập nhật thì những cái còn lại cũng được cập nhật theo Những vùng thông tin đó là một portlet, các portlet có title bar, một vài nút như đóng, phóng to, thu nhỏ, lên xuống,…(Như hình 2.8 ).
Portlet container là chương trình quản lý các portlet, nó có nhiệm vụ khởi tạo, sử dụng và thực thi portlet
Portal server có nhiệm vụ điều khiển các trang của Cổng thông tin lên trình duyệt web.
Hình 2.8 Các portlet trên trang iGoogle và các nút điều khiển portlet
Portlet container và portal server đều là các thành phần thiết yếu của một trang Cổng thông tin khi được triển khai trên hệ thống.
Hình 2.9 Cấu trúc của một Cổng thông tin bao gồm cả portal server và portlet container
2.5.3 Cách tạo portlet dùng NetBeans IDE
- File\New Project \Java Web\Web Application\Next\Đặt tên project và xác định nơi lưu project đó\Next\Trong pop-up Server ta chọn Liferay Portal Server 5.1.x/5.2.x/6.x\Next\ Trong Framework tích chọn Portlet Support\Tích vào Create portlet\Tiến hành đặt tên portlet, gói đặt portlet\Finish.
- Việc sử dụng NetBeans IDE hỗ trợ người lập trình rất nhiều đối việc xây dựng portlet, nền tảng cơ bản của các trang Cổng thông tin Tạo điều kiện thuận lợi cho người lập trình quản lý nội dung và có giao diện trực quan để lập trình portlet.
Liferay portal với môi trường làm việc cộng tác
Cộng tác (Collaboration) là các cá nhân cùng nhau làm theo một mục tiêu chung và cùng nhau giải quyết vấn đề nhằm nâng cao hiệu quả, lợi ích của công việc đồng thời rút ngắn thời gian thực hiện công việc Điều này đòi hỏi phải có sự bằng lòng để làm rõ vấn đề và phải tuân theo các kế hoạch, luật lệ cũng như những đòi hỏi cần thiết.
Liferay portal chứa một bộ các ứng dụng cộng tác mạnh mẽ mà chúng ta có thể sử dụng để xây dựng cộng đồng người dùng cho trang web của mình. Tất cả những ứng dụng này kế thừa và phát triển từ những thế mạnh nền tảng của Liferay Vì vậy chúng ta có thể sử dụng kết hợp các tính năng quản lý người dùng và quản lý nội dung để xây dựng một trang web đa dạng về nội dung với môi trường làm việc cộng tác
Trước khi đi sâu vào tìm hiểu Liferay portal với môi trường làm việc cộng tác thì đầu tiên chúng ta sẽ tìm hiểu qua tổng quan cấu trúc tổ chức của một trang Cổng thông tin điện tử
- Trang Cổng thông tin được truy cập bởi các User.
- Mỗi User có thể được tập hợp bên trong User Group (Nhóm người dùng).
- Mỗi User có thể thuộc một Organization (Tổ chức).
- Các Organization có thể được nhóm trong một phả hệ nào đó
VD: Học viện ANND ← Khoa Toán-Tin ← Lớp B1TinD39.
- User, User Group, Organization có thể thuộc về một Community (Cộng đồng).
- Và một User bên trong Organization hoặc Community có thể lại thuộc về một Team (Đội), những người này được nhóm lại dựa vào một chức năng cụ thể ở trong Organization hoặc Community.
Có thể thấy, đối tượng đơn giản nhất khi chỉ là User và phức tạp hơn nhiều khi những User được nhóm lại với nhau Việc nhóm này có thể do Administrator của trang Cổng thông tin, cũng có thể do chính User tạo ra, thậm chí thông qua vai trò là Administrator của một Organization hay Community,… mà một User nào đó có quyền làm được việc này.
Do cấu trúc tổ chức của trang Cổng thông tin điện tử khá phức tạp, các đối tượng có liên quan, tác động chồng chéo lên nhau nên chúng ta có thể mô tả như hình 2.10 Thông qua hình vẽ sẽ giúp chúng ta dễ dàng hơn trong việc tiếp cận và nắm bắt mối liên hệ giữa các đối tượng.
Hình 2.10 Cấu trúc tổ chức của một trang Cổng thông tin điện tử
Trong hình 2.10 , mỗi mũi tên được đọc là “có thể là thành viên của”. Điều này có nghĩa rằng, Organization có thể là thành viên của Community, Comunity có thể là thành viên của User Role, User có thể là thành viên của tất cả các thành phần trên.
Team được tạo trong Organization và Community, nó chỉ có tác dụng khi được tạo trong Organization và Community User Role mà được tạo trong Organization và Community thì cũng chỉ có tác dụng trong phạm vi Organization và Community đó mà thôi
Sau khi đã tìm hiểu qua cấu trúc tổ chức của một trang Cổng thông tin điện tử, thì ngay sau đây chúng ta sẽ đi sâu vào tìm hiểu các đối tượng đã nêu ở bên trên và những đối tượng khác có liên quan đến bộ cộng tác của Liferay cung cấp.
User được hiểu là con người tự nhiên mà tài khoản của họ được dùng để đăng nhập vào hệ thống của trang Cổng thông tin Mặc định, họ có một không gian cho riêng mình với những trang cá nhân (private pages) và công khai (public pages), những trang này đều do chính user quản lý Điều này rất quan trọng giúp cho user viết blog, chia sẻ lịch biểu, lưu trữ tài liệu, chia sẻ tài liệu,
… Tuy nhiên user có thể bị administrator khóa hay mở tài khoản.
User được chọn lọc theo nhiều cách khác nhau, họ có thể là thành viên của Organization, Group, hay Community User cũng được cấp các vai trò để xác định quyền (permission) của mình trong phạm vi trên cả trang Cổng thông tin, Organization, hay Community.
2.6.2 User Role (Vai trò của người dùng)
User Role được đại diện bởi phạm vi (scope) làm việc của người dùng, User Role được sử dụng để định nghĩa quyền của người dùng thông qua phạm vi làm việc của họ Phạm vi làm việc của người dùng bao gồm: được phép làm việc đối với cả trang Cổng thông tin hay chỉ là trong Organization hoặc Community.
Có 3 loại User Role, gồm:
- Portal Role (Vai trò đối với cả trang Cổng thông tin).
- Organization Role (Vai trò chỉ có phạm vi trong tổ chức).
- Community Role (Vai trò chỉ có phạm vi trong cộng đồng).
Bởi vì User Role có luật áp dụng rất nghiêm ngặt nhằm đảm bảo yêu cầu bảo mật của trang Cổng thông tin nên User Role không có các trang public và private giống như Organization và Community.
User, User Group, Community hay Organization đều có thể là thành viên của User Role.
Trong Liferay portal administrator có quyền định nghĩa các User Role mới thuộc một trong ba kiểu nêu trên giúp cho việc quản lý và phân quyền User đạt hiệu quả cũng như bảo mật tốt hơn trong trang Cổng thông tin.
User Role là một đối tượng đóng vai trò vô cùng quan trọng cả về mặt quản lý nội dung lẫn quản trị người dùng trong trang Cổng thông tin Đặc biệt, User Role được coi như chìa khóa chính tạo nên sự thành công trong môi trường làm việc cộng tác của Liferay portal.
2.6.3 User Group (Nhóm người dùng)
45 XÂY DỰNG ỨNG DỤNG “MÔI TRƯỜNG LÀM VIỆC CỘNG TÁC CHO CÁC PHÒNG BAN, ĐƠN VỊ” 45 3.1 Nhu cầu làm việc cộng tác giữa các Phòng ban, đơn vị
Công việc cộng tác thường gặp giữa các Phòng ban, đơn vị
Cộng tác làm việc giữa các Phòng ban, đơn vị là điều không thể thiếu trong ngành Công an, do vậy chúng ta dễ dàng bắt gặp rất nhiều công việc có liên quan đến yếu tố cộng tác Có thể kể ra những công việc cơ bản nhất như dưới đây:
- Soạn chung tài liệu, văn bản.
- Phê duyệt đơn từ, đề xuất.
- Chia sẻ lịch công tác, sự kiện.
- Bảng tin, thông báo, hoạt động.
Ngay sau đây chúng ta sẽ đi sâu vào tìm hiểu cụ thể từng công việc và đưa ra giải pháp nhằm giải quyết bài toán chung nhất nằm trong những công việc đó Giải pháp đưa ra là những tiện ích do Liferay cung cấp và do sinh viên viết khóa luận tự sửa chữa cho phù hợp hoặc xây dựng mới.
3.2.1 Soạn chung tài liệu, văn bản
Nội dung bài toán đặt ra
Lãnh đạo Cục có yêu cầu viết một tài liệu (xây dựng đề án, các văn bản quy phạm pháp luật,…) Tuy nhiên, do tài liệu có nội dung phức tạp và quy mô lớn nên một cá nhân không thể viết được mà đòi hỏi cần có sự tham gia tìm hiểu, bàn luận và soạn thảo của nhiều người.
- Có sự phối hợp trong công việc giữa nhiều người với nhau.
- Một giao diện làm việc duy nhất nhưng đáp ứng được nhiều kiểu người sử dụng khác nhau (ví dụ: Lãnh đạo Cục, Lãnh đạo Phòng, cán bộ chiến sĩ mỗi người có giao diện làm việc riêng).
- Tại cùng một thời điểm có thể thực hiện được đồng thời nhiều nhóm soạn chung tài liệu khác nhau nếu có yêu cầu.
- Hoàn thành đúng thời gian quy định.
Hướng thực hiện bài toán trên có thể hình dung như sau:
Hình 3.1 Sơ đồ thực hiện bài toán Soạn chung tài liệu
- Lãnh đạo Cục ra quyết định thành lập nhóm soạn tài liệu nêu rõ đồng chí nào là nhóm trưởng, đồng chí nào là nhóm phó.
- Đồng chí nhóm trưởng chọn cán bộ, chiến sĩ trong các Phòng ban của Cục vào làm thành viên nhóm (phải là những người có chuyên môn, năng lực, có khả năng đảm nhiệm tốt công việc được giao).
- Mỗi thành viên nhóm chịu trách nhiệm soạn thảo một phần nội dung của tài liệu do nhóm phó quản lý giao Trong quá trình soạn thảo họ có trách nhiệm báo cáo lại với nhóm phó quản lý xem nội dung đã đạt hay chưa đạt. Đồng thời họ có thể trao đổi với nhau về nội dung công việc.
- Nhóm phó định kỳ tổng hợp nội dung soạn thảo đã đạt của mỗi thành viên mình quản lý để báo cáo nhóm trưởng.
- Nhóm trưởng tập hợp nội dung có được từ các nhóm phó thành tài liệu hoàn chỉnh, báo cáo Lãnh đạo Cục.
Dựa vào nội dung, yêu cầu và hướng thực hiện bài toán đặt ra em lựa chọn tính năng Wiki và User Role trong bộ cộng tác của Liferay portal để giải quyết bài toán Cụ thể như sau:
- Thông qua User Role để tạo và cấp quyền các nhóm, loại người dùng (như: Cấp quyền cho người dùng khác; tạo, chỉnh sửa, cập nhật nội dung; hay chỉ được phép xem nội dung;…).
- Sử dụng chức năng Wiki cung cấp là WYSIWYG và HTML để tạo nội dung, xem xét tập hợp nội dung đạt yêu cầu cũng như thiết kế giao diện của văn bản, tài liệu.
- Sử dụng chức năng Thêm trang (Add page), Cấp quyền (Permission) để tạo nơi làm việc cho các nhóm làm việc khác nhau.
- Sử dụng chức năng Bình luận (Comment), Bình chọn trung bình (Average), Số lượt người xem (View) để nhận được đánh giá khách quan từ người khác giúp hoàn chỉnh nội dung văn bản, tài liệu đang viết.
Xây dựng giao diện cho tính năng Soạn chung tài liệu, văn bản trên Cổng thông tin điện tử của Cục ( Hình 3.2 ).
Hình 3.2 Giao diện tính năng Soạn chung tài liệu, văn bản
3.2.2 Phê duyệt đơn từ, đề xuất
Nội dung bài toán đặt ra
Nhằm rút ngắn thời gian, giải quyết kịp thời một số lượng lớn đơn từ, đề xuất và các loại văn bản giấy tờ khác (như: đơn xin đi công tác, đi học thêm, hay xin luân chuyển công tác sang một đơn vị khác,…) Lãnh đạo Cục yêu cầu xây dựng tính năng Phê duyệt đơn từ, đề xuất trên trang Cổng thông tin của Cục cho phép cán bộ, chiến sĩ, công nhân viên có thể gửi đơn từ, đề xuất lên các cấp Lãnh đạo để các cấp Lãnh đạo có thẩm quyền xem xét, giải quyết.
- Các đơn từ, đề xuất khi đưa lên phải được quản lý.
- Tiến trình công việc phê duyệt phải khách quan không có sự can thiệp từ bên ngoài.
- Đúng người, đúng nhiệm vụ Cấp trên có thể ủy quyền cho cấp dưới xem xét, giải quyết.
- Phê duyệt phải theo đúng trình tự vai trò, thẩm quyền (từ thấp đến cao). Tuy nhiên, khi cần thiết có thể giải quyết được phê duyệt vượt cấp.
- Có khả năng xem xét, giải quyết được nhiều đơn từ, đề xuất trong cùng một thời điểm.
Có thể mô hình hóa bài toán trên theo như sơ đồ của hình 3.3
- Người xin (Chiến sĩ) viết đơn, đề xuất gửi lên xin ý kiến của cấp trên (Đội trưởng, Lãnh đạo Phòng, Lãnh đạo Cục).
- Nếu cấp trên đồng ý thì đơn, đề xuất tự động chuyển lên cấp cao hơn và thông báo lại cho người xin.
- Ngược lại, nếu cấp trên không đồng ý thì đơn, đề xuất sẽ tự động chuyển về cho người xin yêu cầu chỉnh sửa (sửa xong có thể xin lại) hay nêu rõ lý do không đồng ý.
- Trong trường hợp Lãnh đạo cấp trên có việc bận không thể xem xét giải quyết thì có thể ủy quyền cho Lãnh đạo cấp dưới mình.
Hình 3.3 Mô hình xét phê duyệt duyệt đơn từ, đề xuất
Dựa vào nội dung, yêu cầu và hướng thực hiện bài toán đặt ra em lựa chọn tính năng Document Management, Workflow và User Role trong bộ cộng tác của Liferay portal để giải quyết bài toán Cụ thể như sau:
- Thông qua Document Management tạo và đưa đơn từ, đề xuất vào tiến trình xử lý luồng công việc (worklflow) Cấp quyền xem đơn từ, đề xuất. Cũng như phân loại đơn từ, đề xuất cần phê duyệt.
- Sử dụng Workflow để định nghĩa các tiến trình duyệt đơn từ, đề xuất.Workflow được coi là nội dung cốt lõi để xây dựng nên tính năng Phê duyệt đơn từ, đề xuất trên trang Cổng thông tin của Cục.
Giao diện môi trường làm việc cộng tác trong các Phòng ban, đơn vị
Có thể nói những tính năng vừa xây dựng bên trên là những thành phần rất quan trọng để hình thành lên môi trường làm việc cộng tác giữa các Phòng ban, đơn vị trong ngành Công an Môi trường làm việc cộng tác giữa cácPhòng ban, đơn vị lúc này là tổng hợp của các tính năng Soạn chung tài liệu,văn bản; Phê duyệt đơn từ, đề xuất; Chia sẻ lịch công tác, sự kiện; Lấy ý kiến thăm dò; Bảng tin, thông báo, hoạt động Môi trường làm việc cộng tác mà đề tài khóa luận này xây dựng nên có dạng một Cổng thông tin điện tử ( Hình 3.8 ) Mỗi tính năng đều là một portlet hoặc là tổ hợp của nhiều portlet lồng vào nhau có chứa các nút phóng to (+) hay thu nhỏ (-) Điều này giúp người dùng nắm bắt được đầy đủ vấn đề từ tổng quan đến cụ thể.
Hình 3.8 Giao diện môi trường làm việc cộng tác
Không chỉ dừng lại ở những tính năng nêu trên, môi trường làm việc cộng tác còn cung cấp khả năng tổng hợp lại nội dung từ các website khác nhau giúp cho người dùng dễ dàng tìm kiếm, nắm bắt được thông tin nội bộ nơi mình đang công tác cũng như những tin tức xã hội ( Hình 3.9 ).
Hình 3.9 Khả năng tổng hợp lại nội dung từ các website khác của môi trường làm việc cộng tác
Tóm lược nội dung Chương 3
Chương 3 đã nêu lên sự cần thiết và lợi ích mang lại của làm việc cộng tác trong ngành Công an Nêu ra các bài toán cộng tác thường gặp trong ngành, đồng thời đưa ra yêu cầu, hướng thực hiện và lựa chọn giải pháp xử lý bài toán đó bằng Liferay portal Đây cũng là chương ứng dụng và thể hiện rõ nhất những tính năng nổi bật của bộ cộng tác trong Liferay và tính “mở” của bộ mã nguồn này giúp người dùng điều chỉnh code cho phù hợp với yêu cầu thực tế mình cần.
• Đánh giá kết quả nghiên cứu
Sau một thời gian nghiên cứu và thực hiện, đề tài khóa luận giải quyết được những vấn đề cơ bản sau đây:
- Làm rõ được Cổng thông tin điện tử là gì (portal) và những đặc điểm cơ bản đặc trưng cho Cổng thông tin điện tử Tình hình triển khai, áp dụng Cổng thông tin điện tử trên thế giới và ở Việt Nam.
- Làm rõ được Liferay portal – Cổng thông tin điện tử mã nguồn mở điển hình nhất hiện nay cùng với những tính năng hữu dụng mà nó cung cấp Đồng thời cũng làm nổi bật lên được bộ cộng tác của Liferay, được coi như chìa khóa để xây dựng ứng dụng môi trường làm việc cộng tác giữa các Phòng ban, đơn vị.
- Xây dựng thành công ứng dụng “Môi trường làm việc cộng tác giữa các Phòng ban, đơn vị” trong ngành Công an bằng việc sử dụng Liferay portal. Ứng dụng có giao diện tương đối thân thiện, giải quyết tốt những bài toán đặt ra, có độ ổn định cao trong quá trình sử dụng.
Tuy nhiên, do thời gian thực hiện đề tài khóa luận ngắn nên nội dung trình bày không tránh khỏi những thiếu sót và ứng dụng môi trường làm việc cộng tác vẫn chưa thực sự coi là thân thiện với người dùng, việc giải quyết các bài toán vẫn chưa thực sự triệt để Vì vậy, trong thời gian tới em sẽ tích cực nghiên cứu để chỉnh sửa, hoàn thiện ứng dụng này.
- Tiếp tục nghiên cứu sâu hơn về bộ code xây dựng nên Liferay portal từ đó có thể chỉnh sửa, xây dựng mới những tính năng phù hợp với nhu cầu thực tế trong ngành Công an.
- Xây dựng những ứng dụng mới không chỉ dừng lại ở làm việc cộng tác mà có thể đi xa hơn nữa đáp ứng tốt các yêu cầu nghiệp vụ như : Quản lý và cấp phép Chứng minh thư nhân dân, hộ chiếu; hay là xây dựng một văn phòng ảo để tổ chức một cuộc họp trực tuyến có hỗ trợ âm thanh, hình ảnh cùng các chức năng thân thiện dễ sử dụng. Đề tài khóa luận không thể tránh được những khiếm khuyết, rất mong nhận được sự tham gia góp ý của quý thầy cô và các bạn
Em xin chân thành cảm ơn!.