• Nenhum resultado encontrado

Quản lý công văn bằng Liferay Portal

N/A
N/A
Protected

Academic year: 2021

Share "Quản lý công văn bằng Liferay Portal"

Copied!
80
0
0

Texto

(1)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 1

L

ỜI NÓI ĐẦU

Xin gửi lời cám ơn chân thành đến thầy Huỳnh Trọng Thưa – giáo viên hướng dẫn đã tận tình hướng dẫn nhóm chúng tôi trong suốt thời gian thực tập cũng như thời gian hoàn thành đồ án.

Do thời gian nghiên cứu và hoàn thành đồ án không nhiều, nên chắc chắn sẽ có những sai sót, nên nhóm chúng tôi mong nhận được sự góp ý chân thành từ quý thầy cô và các bạn để chúng tôi có thể hoàn thiện hơn sản phẩm của mình

(2)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 2

STT Từ viết tắt , định

nghĩa Diễn giải

1. CMS Content Management System

2. CSDL Cơ sở dữ liệu

3. DN Doanh nghiệp

4. JSR-168 Java Specification Request 168 5. J2EE Java 2 Platform Enterprise Edition 6. Look and feel Tinh chỉnh kiểu hiển thị

7. Open source Nguồn mở

8. Portal Cổng thông tin điện tử 9. Portlet Một phần của portal

10. SOA Service oriented architecture. Kiến trúc hướng dịch vụ

11. SSO Single Sign On: Đăng nhập một lần 12. TNHH Trách nhiệm hữu hạn

13. Web application Ứng dụng nền web

(3)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 3

TÓM T

ẮT

Sau khi kết thúc khóa thực tập, chúng tôi được giáo viên hướng dẫn giới thiệu đề tài “Hệ thống quản lý công văn ứng dụng Workflow”, với nhiệm vụ nghiên cứu portal mã nguồn mã Liferay nhằm phát triển một công nghệ mới để xây dựng cổng thông tin cho các cơ quan nhà nước và doanh nghiệp. Đồng thời áp dụng những kiến thức đã tìm hiểu để xây dựng ứng dụng quản lý công văn trên nền portal Liferay.

Liferay portal là một portal xây dựng trên nền công nghệ J2EE (Java 2 Platform Enterprise Edition) và được đánh giá là một trong những cổng thông tin điện tử nguồn mở (open source portal) có kiến trúc tốt nhất hiện nay.

Liferay được sử dụng để phát triển cổng thông tin cho các cơ quan nhà nước hoặc các doanh nghiệp có quy mô vừa. Là một trong rất ít cổng thông tin nguồn mở có kiến trúc SOA (Service Oriented Architecture).

Trong vô số các công nghệ được ứng dụng trên Liferay, chúng tôi tập trung vào tìm hiểu công nghệ quản lý quy trình (workflow) jBPM (java Bussiness Process managemnet-- công nghệ cho phép thiết quy trình ISO của doanh nghiệp trên phần mềm). Chúng tôi đã tìm hiểu chi tiết các chức năng, kiến trúc, cơ chế hoạt động, thiết kế, các hạn chế của jBPM. Với những kiến thức tìm hiểu được chúng tôi đã đ ề xuất giải pháp sử dụng jBPM để xây dựng ứng dụng quản lý qui trình trong website các doanh nghiệp.

(4)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 4

Chương I:Nhập đề

1.1.Tổng quan đề tài

Tên đề tài : Hệ thống quản lý công văn ứng dụng Workflow Nội dung đề tài:

-Nghiên cứu quy trình quản lý công văn chuẩn tại một cơ quan nhà nước

-Nghiên cứu hệ thống quản lý quy trình tự động jBPM (Java Business Process

Management)

-Nghiên cứu công nghệ Portal mã nguồn mở Liferay

-Xây dựng ứng dụng Quản lý công văn tại cơ quan nhà nước(Sở Cảnh sát PCCC TPHCM)

1.2.Mục tiêu cụ thể của đề tài

Sau khi nhận dề tài, chúng tôi đã phân công công việc cho các thành viên, mỗi người sẽ thực hiện một công việc khác nhau đồng thời phối hợp lẫn nhau nhằm đạt kết quả tốt nhất. Những mục tiêu cụ thể đặt ra như sau :

Mục tiêu 1. Nắm vững nghiệp vụ quản lý công văn tại một đơn vị quản lý Nhà nước.

Mục tiêu 2. Hoàn thành việc nghiên cứu công nghệ jBPM.

Mục tiêu 3. Hoàn thành nghiên cứu công nghệ Portal mã nguồn mã Liferay. Mục tiêu 4. Xây dựng sản phẩm: Hệ thống quản lý công văn ứng dụng jBPM Mục tiêu 5. Hoàn thiện tốt các kỹ năng làm việc nhóm , kỹ năng lập trình và phát

(5)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 5

1.3.Công việc chung – Kế hoạch thực hiện

Muốn làm tốt đề tài này thì cần phải nghiên cứu các portlet có sử dụng jBPM để phục vụ cho việc thiết kế ứng dụng quản lý qui trình. Và đ ể thực hiện được công việc đúng hạn định, người hướng dẫn yêu cầu chúng tôi cần có kế hoạch thời gian cụ thể thực hiện công việc, và thực hiện việc báo cáo tiến độ công việc vào thứ bảy mỗi tuần.

Sau đây là kế hoạch thời gian thực hiện đề tài của nhóm chúng tôi:

STT Tên công việc Người thực

hiện I NGHIÊN CỨU

1 Quy trình quản lý và xử lý công văn đi đến trong các cơ quan nhà nước

1.1 Khảo sát yêu cầu tại một cơ quan nhà nước Sơn, Tùng 1.2 Tổng hợp tài liệu khảo sát

+Công văn đến +Công văn đi

Sơn, Tùng

2 Hệ thống quản lý quy trình tự động JBPM

2.1 Ngôn ngữ đặc tả quy trình Sơn, Tùng

2.2 Sử dụng JBPM trong môi trường thực tế - minh họa bằng một quy trình cụ thể

Sơn, Tùng

3 Nghiên cứu công nghệ portal mã nguồn mở Liferay

3.1 Khái niệm, kiến trúc ứng dụng Tùng

3.2 Cài đặt sử dụng các ứng dụng có sẵn Tùng 3.3 Phát triển ứng dụng trên môi trường mở rộng Extension

Environment của Liferay

Sơn

II XÂY DỰNG ỨNG DỤNG QUẢN LÝ CÔNG VĂN

1 Xây dựng tài liệu đặc tả-usecase Sơn, Tùng

2 Phân tích, thiết kế ứng dụng Sơn, Tùng

3 Triển khai xây dựng Sơn, Tùng

3.1 Xây dựng các module quản lý danh mục chuẩn Sơn, Tùng

3.2 Tiếp nhận công văn đến Sơn

(6)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 6

ựng các module xử lý quy trình công văn Sơn Tùng 3.5 Hoàn thành ứng dụng, kiểm thử, sửa lỗi Sơn

(7)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 7

Chương II:Tổng quan – lý thuyết

2.1.Khái niệm portal – portlet

2.1.1.Khái niệm portal

Portal, tên đầy đủ là Web Portal, là một hệ thống hoạt động trên Web, định danh và xác thực người dùng đăng nhập, từ đó sẽ cung cấp một giao diện web để người dùng dễ dàng truy cập, khai thác thông tin và dịch vụ cũng như thao tác, tuỳ biến các công việc tác nghiệp của mình một cách nhanh chóng và đơn giản.

Portal có các tính năng giúp người quản trị thu thập, quản lý nhiều nguồn thông tin khác nhau, từ đó phân phối chúng dưới dạng các dịch vụ cho từng người dùng khác nhau tuỳ thuộc vào nhóm quyền, vào nhu cầu cũng như mục đích của người dùng đó.

Hình 1:Hình ảnh về 1 portal

Portal thực hiện việc này hết sức linh động, từ việc tìm kiếm và đặt mua một món hàng trực tuyến, lấy ý kiến người dùng, đăng ký chia s ẻ thông tin, tài nguyên, bài viết trên các diễn đàn hay việc cho phép người dùng truy cập thống nhất và thuận lợi đến các thông tin nội bộ website công ty. Tóm lại, Portal có thể hiều là một giao diện web tích hợp các chức năng thông tin, dịch vụ, ứng dụng giúp người dùng cuối có thể truy cập một lần và sử dụng các dịch vụ được tích hợp trong đó.

2.1.1.1.Phân loại portal

(8)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 8

nguồn khác nhau và cung cấp khả năng cá nhân hóa cho người sử dụng. Website điển hình của dạng này là MyYahoo! (Uhttp://my.yahoo.comU)

− Enterprise portal: Cổng thông tin doanh nghiệp. Các thành viên trong doanh nghiệp sẽ truy cập và sử dụng các thông tin cũng như các ứng dụng tác nghiệp của doanh nghiệp

tùy theo quyền hạn của mình.

− Marketplace portal: Cổng thông tin giao dịch: Portal dạng này là nơi tập trung người mua và người bán. Ebay (Uwww.ebay.comU) thuộc dạng này.

− Specialized portal: Cổng thông tin này ít gặp, cung cấp các dịch vụ chuyên ngành. − Tuy nhiên, còn một cách phân loại ngắn gọn hơn đó là portal ngang (Horizontal

portal) và portal dọc (Vertical portal). Khi đó Public portal sẽ thuộc portal ngang, Marketplace portal và Enterprise portal sẽ tùy vào hình thức hoạt động mà thuộc

portal ngang hoặc dọc, Specialized portal sẽ thuộc portal dọc.

2.1.1.2.Các đặc trưng cơ bản của portal

Các portal mã nguồn mở hay thương mại đều cần có những tính chất đặc trưng sau, thông qua những tính chất này ta có thể phân biệt portal và website thông thường:

− Chức năng tìm kiếm (Search function): là dịch vụ đầu tiên cần phải có của một portal.

− Dịch vụ thư mục (Directory service): đối với người dùng không muốn tìm kiếm thông tin bằng từ khóa, thì có thể sử dụng dịch vụ thư mục để thu hẹp không gian tìm kiếm.

− Ứng dụng trực tuyến (Online desktop application): gồm những ứng dụng thông dụng nhất của internet: thư điện tử (e-mail), lịch cá nhân, hội thoại trực tuyến,…

− Cá nhân hoá các dịch vụ (Personalization or Customization): trên cơ sở thông tin của khách hàng, 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

− Cộng đồng ảo (Virtual community hay Collaboration): các cá nhân, doanh nghiệp có thể gặp mặt, hợp tác trong hoạt động thương mại.

− Một điểm tích hợp thông tin duy nhất (Comporate Portal)

− Kênh thông tin (Channel): cho phép xây dựng các liên kết đến các portal hoặc website bình thường khác.

U

Tóm lại:

Từ những tính năng của portal nêu trên thì ta có thể hình dung một dịch vụ mà hệ thống Portal cung cấp gồm:

(9)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 9

− Các dịch vụ cơ bản: post bài định dạng html, document, danh sách liên kết, upload/download file, thao tác ảnh…

− Các dịch vụ giao tiếp công cộng: forum, thông báo, thăm dò – bỏ phiếu… − Các dịch vụ cung cấp thông tin: thông báo, bản tin…

− Các dịch vụ tìm kiếm: tìm kiếm, phân loại…

− Các dịch vụ trợ giúp người dùng: thông tin cá nhân, lịch biểu… − Các dịch vụ tác nghiệp: quản trị portal, quản lý người dùng…

o Quản trị portal: Người quản trị sẽ quy định cách thức hiển thị của các thành phần nội dung cho người dùng cuối. Ngoài ra, người quản trị có thể quy định số lượng, loại dịch vụ và quyền truy cập dịch vụ khác nhau cho từng đối tượng người dùng khác nhau.

o Quản trị người dùng: Người quản trị sẽ quản lý tất cả đối tượng người dùng đã đăng ký b ằng cách đưa vào các nhóm người dùng, sau đó hệ thống tự động gán các quyền để thuận tiện cho việc quản lý.

− Look and feel: Có cơ chế tùy biến hình ảnh tốt, người dùng có thể xem những thay đổi ngay sau khi thiết lập.

− Đăng nhập một lần(Single Sign On): Các dịch vụ trên portal lấy được thông tin người dùng hiện thời và cho phép người dùng sử dụng các dịch vụ mà không bắt đăng nhập cho mỗi dịch vụ. Điều này tăng tính bảo mật và tạo sự thuận lợi cho người sử dụng. Điều này rất quan trọng vì các dịch vụ mới dần xuất hiện và chính các dịch vụ này cần

sự xác thực người dùng.

2.1.2.Khái niệm portlet

Portlet là giao diện module tương tác với người dùng và tùy mức độ cấp phép nhiều mức mà trạng thái hiển thị cũng như khả năng khai thác của từng đối tượng đối với portlet sẽ khác nhau. Các Portlet này sinh ra các đoạn trang (fragment), các đoạn trang này được Portal ghép lại thành một trang hoàn chỉnh.

(10)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 10

Hình 2: Hình ảnh những portlet tiêu biểu

Các Portlet trình bày nội dung của chúng trong một cửa sổ hiện trên trang Portal, tương tự như cửa sổ trong màn hình (desktop). Cửa sổ của Portlet có một thanh tiêu đề chứa, các nút điều khiển cho phép người sử dụng mở rộng và thu nhỏ nó.

Một Portlet có thể hiển thị trên một trang web như một cửa sổ cá nhân nhỏ, Portlet là nội dung bên trong cửa sổ, nó không phải là bản thân cửa số đó.

Các Portlet bao gồm nhiều mức tùy vào người quản trị cấp phép, người sử dụng giao tiếp với nó để thực hiện công việc trong môi trường Portal.

2.2.Chuẩn JSR-168

JSR-168 (Java Specification Request 168 - phiên bản một) được đưa ra bởi tổ chức JCP (Java Community Process) nhằm định nghĩa m ột tập các hàm API chuẩn giúp tăng khả năng tương tác giữa portal và portlet. Dựa trên tập API đó, ta có thể dễ dàng xây dựng được các ứng dụng portlet, về mặt lý thuyết, có thể chạy được trên tất cả các portal có hỗ trợ chuẩn này. Bản thảo đầu tiên được đưa ra vào 11/2/2002.

Và đến tháng khoảng tháng 10/2003 thì đư ợc chính thức công bố, và dần hoàn thiện trong quá trình áp dụng.

Sau khi đã tìm hiểu tổng thể về công nghệ portal, chúng tôi và nhóm đã đi vào vào nghiên cứu các portlet cần thiết cho việc xây dựng website cũng như nh ững yêu cầu tìm hiểu không thể thiếu như giao diện, vấn đề đa ngôn ngữ, customize các portlet hay nếu cần, tạo thêm 1 số portlet mới.

(11)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 11

2.3.Tổng quan về Liferay portal 2.3.1.Giới thiệu Liferay

Liferay Portal là sản phẩm của Liferay, Inc. Công ty cung cấp miễn phí các tài liệu cơ bản và các dịch vụ chuyên nghiệp cho sản phẩm cổng thông tin điện tử cho doanh nghiệp.

Liferay Portal là giải pháp cổng thông tin doanh nghiệp cho cả những tổ chức cá nhân và cộng đồng.

Cổng thông tin doanh nghiệp là một cổng kết nối Web cho phép người sử dụng xác định được nội dung thích hợp và sử dụng những ứng dụng cần thiết trong sản xuất và kinh doanh. Cổng thông tin đưa ra những lợi ích hấp dẫn cho các doanh nghiệp hiện nay như: giảm chi phí hoạt động, cải tiến sự hài lòng của khách hàng và tổ chức hợp lý quy trình kinh doanh.

• Thực thi trên tất cả các ứng dụng servers & servlet, cơ sở dữ liệu và các hệ điều hành chính yếu (có hơn 700 sự phối hợp triển khai)

• Sử dụng những công nghệ Java, J2EE và Web 2.0 tiên tiến nhất • Được phát triển theo chuẩn JSR-168

• Đã triển khai hơn 60 ứng dụng tích hợp vào cổng thông tin

• Có khả năng thiết kế, dàn trang theo sở thích từng cá nhân cho tất cả người sử dụng

• Điểm chuẩn giữa các nền cổng thông tin được bảo mật nhất sử dụng bộ Logiscan của LogicLibrary

• Được tích hợp bộ Cộng tác và Hệ thống quản lý dữ liệu (CMS)Các công nghệ và chuẩn được áp dụng trong Liferay

2.3.1.1.Các công nghệ và chuẩn được áp dụng trong Liferay

a) Các công nghệ

Các công nghệ được sử dụng trong Liferay có rất nhiều, có thể kể đến Apache ServiceMix, ehcache, Hibernate, Java J2EE/JEE, jBPM, ICEfaces, jQuery JavaScript Framework, Lucene, MuleSource ESB, PHP, Ruby, Seam, Spring & AOP, Struts & Tiles, Tapestry, Velocity…Trong đó gồm các công nghệ nổi trội hiện nay như:

− Hibernate : Hỗ trợ người dùng phát triển các model class hướng đối tượng. Hibernate hỗ trợ tạo và thực hiện truy vấn trên SQL cũng như HQL(Hibenate Query Language) . Đây là 1 framework open source của Red Hat.

− Java J2EE/JEE (Java 2 Platform Enterprise Edition) : Sản phẩm của Sun Microsystems dùng để phát triển ứng dụng theo kiến trúc đa lớp (multi-tier). − Struts & Tiles : Struts là một framework mã nguồn mở sử dụng ngôn ngữ Java.

Struts-Tiles hỗ trợ cho lớp hiển thị trong mô hình 3 lớp Model -View-Controller. Nó phát huy thế mạnh khi được ứng dụng trên các website lớn, có sự phân công giữa các khâu phát triển. Trong Liferay, bộ đôi Struts-Tiles được dùng để quản lý luân chuyển trang (page-flow).

(12)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 12

của DOM và Ajax. jQuery dùng để thực hiện các tương tác giữa JavaScript và HTML.

− Hình 3: Các công nghệ sử dụng trong Liferay

b) Các chuẩn sử dụng trong Liferay

Các portlet trong portal phải tuân theo 1 chuẩn để có thể tương tác tốt với portal. Các portlet trong Liferay tuân theo các chuẩn sau đây: AJAX và JSON, JSR-127, JSR-168, JSR-170, JSR-286, JSF-314, WRSP…Trong đó, các chuẩn quan trọng nhất có thể kể đến là JSR-168, JSR-286, WRSP.

− JSR-168 (Portlet Specification) bao gồm các đặc tả một Portlet và quy trình trao đổi dữ liệu cũng như quan hệ dịch vụ giữa Portlet và Portlet Container. Các portlet tuân thủ tiêu chuẩn này sẽ có thể hoạt động được ở tất cả các portal server tuân thủ/hỗ trợ tiêu chuẩn JSR 168. Ví dụ: một portlet do Liferay phát triển, tuân thủ theo tiêu chuẩn JSR 168 thì có thể chạy trên IBM WebSphere Portal mà không phải biên dịch lại hoặc sửa đổi mã cho tương thích.

− JSR-286 (Portlet Specification V2.0) đặc tả dành cho phiên bản J2EE 1.4, tích hợp các chuẩn JSR có liên quan và chuẩn WRSP.

− WSRP (Web Services for Remote Portlets) : chuẩn này do OASIS (Organization for the Advancement of Structured Information Standards) công bố. Chuẩn này chỉ ra cách thức giao tiếp giữa một portal server với một remote portlet thông qua dịch vụ Web. Các ứng dụng nghiệp vụ tuân thủ tiêu chuẩn này có thể chạy trên bất kỳ một portal server nào áp dụng tiêu chuẩn WSRP, không

(13)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 13

cần quan tâm rằng ứng dụng hay portal server xây dựng trên công nghệ/ngôn ngữ nào.

c) Các ứng dụng cần để xây dựng Liferay Portal

− DBMS: MySQL, SQLServer, Oracle, DB2, Derby, Hypersonic, PostgreSQL… − Webserver: Geronimo-tomcat, Glassfish, Jboss-jetty, Resin, Tomcat…

− Ứng dụng Java: J2EE 1.4 hoặc JDK 5.0, JDK 6.0 kết hợp với Eclipse. − Hệ điều hành: Core Linux, Windows 2000 / XP trở về sau.

Các doanh nghiệp hoàn toàn có thể sử dụng Liferay Portal và các ứng dụng phụ trợ hoàn toàn miễn phí. Chẳng hạn đây là một tổ hợp các ứng dụng của Sun Microsystem miễn phí 100%: MySQL + Glassfish + JDK5.0 + Eclipse + HĐH Solaris. Đó là thế mạnh của Liferay portal nói riêng và của cộng đồng mã nguồn mở nói chung. Đối với các doanh nghiệp Việt Nam hiện nay, đây thực sự là một lối thoát cho vòng lặp kinh phí - ứng dụng.

2.3.1.2.Các module trong Liferay

Hiện nay, Liferay có hơn 80 portlet khác nhau, trong đó nổi bật và thông dụng nhất là các portlet về quản trị, hệ quản trị nội dung - CMS, bình chọn, mua sắm…v/v. Để thuận lợi cho việc quản lý, Liferay đã gom những module có chức năng liên quan nhau thành từng nhóm, ví dụ nhóm module Admin có 7 portlet con, mỗi portlet có chức năng quản trị riêng.

2.3.1.3.Phát triển portlet trên liferay 2.3.1.3.1.Kiến trúc portlet

Thành phần portlet triển khai thực hiện một giao diện và giao thức dịch vụ chuẩn hóa. Đặc tả kỹ thuật Portlet của Java và chuẩn các dịch vụ Web cho Portlet từ xa (WSRP) định nghĩa giao diện này cho Java và các dịch vụ web, tương ứng . Hai tiêu chuẩn này là đủ giống nhau để cho các portlet được viết cho cả hai giao diện có thể hoán đổi cho nhau nếu có các thùng chứa hoặc máy chủ ủy quyền (proxy) thích hợp có mặt.

Mỗi portlet của Java thực hiện giao diện portlet hay mở rộng một tầng có thực hiện nó. Giao diện này định nghĩa giao tiếp dịch vụ giữa portlet và thùng chứa của nó và định nghĩa vòng đời của portlet:

• Init(PortletConfig config): phương thức dùng để khởi tạo portlet. Phương thức này chỉ được gọi 1 lần sau khi tạo mẫu portlet. Cũng như applet, những phương thức như thế này dùng để tạo các nguồn tài nguyên, các đối tượng mà portlet dùng về sau.

(14)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 14

báo cho portlet rằng người sử dụng đã gây ra một hành động lên portlet. • Render(RenderRequest request, RenderResponse response): tạo ra mã

lệnh ngôn ngữ đánh dấu để hiển thị nội dung portlet. Phương thức render được gọi trên mỗi một portlet nằm trên trang hiện thời.

• destroy(): xác định portlet không cần tiếp tục hoạt động để giải phóng tài nguyên, cập nhật dữ liệu bền vững mà portlet đó sở hữu.

(15)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 15

2.3.1.3.2.Thiết lập môi trường phát triển portlet

Để xây dựng được 1 portlet, chúng ta cần thiết lập các biến môi trường. Các gói cần yêu cầu là

• jdk1.6.0 • jre1.6.0 • jikes-1.22

• apache-ant-1.7.0

Sau đó chúng ta sẽ thiết lập các biến môi trường

(16)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 16

Hình 6:Thiết lập biến môi trường JAVA_HOME

Hình 5:Thiết lập biến môi trường JIKES_HOME

Tải các gói portal-ext trên trang chủ liferay.com và cấu hình môi trư ờng phát triển portlet mở rộng (Ex-Environment). Đây là môi trường cho phép lập trình viên tách

(17)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 17

riêng phần mã nguồn hiệu chỉnh ra khỏi mã nguồn portal. Điều này sẽ giúp cập nhật các phiên bản portal một cách dễ dàng.

Cấu trúc của môi trường mở rộng:

- classes: chứa các mã đã biên dịch

- ext-impl: chứac mã nguồn các lớp thực thi (implement) dịch vụ và lớp điều khiển (action)

- ext-service: chứa mã nguồn các lớp giao diện dịch vụ.

- ext-web: chứa các mã lớp giao diện (JSP) và các định nghĩa portlet (portlet-ext.xml, strust-config.xml, tie-def.xml)

- lib, ext-lib: chứa các lớp thư viện của portal và các gói cần thiết cho biên dịch

- modules: chứa các gói portal chuẩn dùng để deploy portal hoàn chỉnh

- sql: mã khởi tạo các bảng dữ liệu tự động phát sinh từ Service-Builder

- app.server.xml: mã cấu hình môi trừong đích - build-.xml: mã cấu hình cho trình biên dịch ant

Hình 7: Cấu trúc môi trường mở rộng Extension

Quy trình xây dựng portlet:

a. Xây dựng các lớp tầng dịch vụ

Service Builder là một công cụ được Liferay xây dựng để tự động hóa việc tạo các giao diện (interface) và các lớp (class) cho một portlet hay portal. Nó bao gồm mã code của EJBs, Spring, Persistences và Model. Service Builder là một tập tin XML (Extended Markup Language) được đặt trong thư mục /ext/ext-impl/service.xml hay ext/ext-impl/portlet_folder/service.xml.

ServiceBuilder.java (com.liferay.portal.tools.servicebuilder) được gọi bởi tác vụ ant build-service-* để tạo các lớp hỗ trợ (data model và các lớp perisistence) các lớp *ServiceImpl thực thi.

Xây dựng các hàm dịch vụ dựa trên các lớp thực thi đã được tự động phát sinh. Sau đó sử dụng công cụ Service Buider để cập nhật danh sách giao diện dịch vụ/

(18)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 18

nhưng STRUTS được sử dụng rộng rãi nhất.

MVC tách phần mã nguồn giao diện ra khỏi lớp mã nguồn dịch vụ, Struts cung cấp bộ quản trị page-flow trung tâm trong file struts-config.xml

Hình 8: Mô hình MVC

View-action xác định URI sẽ chuyển tới Controler là MainServlet. Controler xác dịnh trang jsp nào sẽ được load lên.

Xây dựng các trang jsp tương ứng theo thiết kế của ứng dụng. Các lớp giao diện gọi các lớp dịch vụ để thực thi nghiệp vụ.

c. Triển khai portlet

Mở giao diện dòng lệnh CMD và chuyển vào thư mục gốc. Sau đó đánh lệnh Ant deploy.

2.3.2.Các portlet nghiên cứu trong quá trình thực tập

Nhóm chúng tôi được giao nhiêm vụ nghiên cứu tính năng các portlet trong Liferay, để có thể xây dựng một công cụ giúp quản lý qui trình nghiệp vụ.

Chúng tôi nhận nhiệm vụ nghiên cứu jBPM, gồm những portlet có những qui trình để thực hiện một tác vụ. Gồm những portlet sau:

− Document Library: là một portlet dùng để lưu trữ các file mà user muốn chia sẻ với guest, user khác. Các file được lưu theo dạng cây thư mục.

− Shopping: là portlet quản lý toàn bộ qui trình mua hàng qua mạng.

MainServlet

*.jsp

view-action

(19)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 19

o Categories: quản lý các danh mục hàng hóa.

o Cart: dùng để kiểm tra, bổ sung hay thanh toán các sản phẩm có trong cart.

o Orders: giúp người quản trị quản lý danh sách order. o Coupons: quản lý danh sách các coupon.

(20)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 20

Chương III:Phân tích – Giải quyết vấn đề

3.1.Nghiên cứu công nghệ quản lý qui trình jBPM

Ngày nay với tốc độ phát triển nhanh của các phần mềm thương mại và phân tích nghiệp vụ, BPM (Business Process Management) trở thành đề tài nóng bỏng trong xu hướng tối ưu hóa việc quản lý qui trình nghiệp vụ.

BPM là phương pháp giúp cải tiến các qui trình nghiệp vụ của một tổ chức. BPM giúp cho các qui trình nghiệp vụ hiệu quả hơn, tối ưu hơn, và khả năng thích ứng cao hơn đối với một môi trường luôn thay đổi.

Các lợi ích BPM mang lại:

- Tăng hiệu suất và hiệu quả - một danh sách tác vụ của hệ thống BPM đảm bảo rằng mọi người luôn làm viêc dựa trên độ ưu tiên cao nhất, khả năng xử lý nhanh hơn.

- Tăng mức độ hài hòa cũng như khả năng quản lý quy trinh - người dùng của hệ thống BPM không có sự lựa chọn nào ngoài việc tuân thủ quy trình mà hệ thống đã đề ra.

- Khả năng thay đổi và tích hợp quy trình dễ dàng nhanh chóng. Bởi vì một hệ thống BPM được điều khiển bởi một mô hình xử lý, nếu mô hình thay đ ổi, hệ thống cũng sẽ thay dổi.

- Tăng khả năng thích ứng vối môi trường thực tế tốt nhất. Chỉ với một lần định nghĩa và thực thi, hệ thống BPM vẫn duy trì tốt mà không quan tâm có 10 hay 100 người sử dụng hệ thống. Thông thường, khi tố chức có nhu cầu thay đổi, tăng mức độ từ 10 người lên 100 người, sẽ gặp phải khó khăn bởi vì quy trình chở nên khó điều khiển nếu không có phần mềm hổ trợ.

- Tăng khả năng liên lạc, hợp tác, phối hợp - BPM chuyển công việc từ nhóm này sang nhóm khác, giảm sự cần thiết trong việc đòi hỏi đội có tay nghể cao.

- Tăng khả năng sử dụng tài nguyên - tài nguyên luôn được quản lý vì mọi thứ diễn ra trong quy trình đều được lập báo cáo.

- Người quản lý dễ dàng lập báo cáo dựa trên những gì đang di ễn ra trong quy trình.

- Tăng khả năng dự báo chính xác - nếu người quản lý có cái nhìn tốt về các hoạt động của chuỗi quy trình, thì họ sẽ dể dàng hơn trong việc lập kế hoạch hoạt động.

- Xử lý lưu lượng tốt hơn – một qui trình được xử lý trơn tru đạt tối đa hiêu quả có nghĩa là nó sẽ mang lai kết quả tốt hơn nhiều so với thiết kế ban đầu.

- Chất lượng đầu ra tốt hơn - bởi vì khi một quy trình phù hợp được đưa ra và bảo đảm được thiết kế theo hướng thực tế tốt nhất, nên đương nhiên sẽ cho ra kết quả với chất lượng tốt nhất.

(21)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 21

- Vòng đời xử lý ngắn hơn - với mỗi người tham gia vào qui trình làm việc với hiệu suất cao nhất, tổng thời gian thực hiên quy trình từ lúc bắt đầu choi tới kết thúc sẽ giảm.

- Chi phí đầu vào thấp nhất - bởi vì quy trình nền tảng của hệ thống BPM đã được định nghĩa và BPM chỉ dẫn các tác nhân xử lý thông qua quy trình đó, nên giảm chi phí vì không cần thiết thuê các nhân viên giỏi với giá cao, mà vẫn đảm bảo hệ thống chay tốt nhất.

- Tổng chi phí thấp - do giảm bớt thời gian xử lý, chi phí đầu vào thấp cộng với việc đạt được chất lương cao nên đảm bảo rằng tổng chi phí sẽ giảm.

- Tăng việc thuê thêm ngươi - không tốn thời gian training cho người mới vì họ chỉ cần bám sát theo quy trình đã được đề ra.

- Tăng khách hàng thỏa mãn - BPM đảm bảo khách hàng luôn có được sản phẩm tốt nhất hay được phục vụ nhanh nhất.

3.1.1.Tìm hiểu công nghệ jBPM

Khái niệm: jBPM là môi trường phát triển BPM được cung cấp bởi JBoss, jBPM

hoạt động như một môi trường tích hợp (IDE - Integrated Development Environment) vào Eclipse (môi trường phát triển java). JBoss jBPM IDE cho phép chúng ta không chỉ mô hình hóa qui trình theo dạng biểu đồ mà còn sinh ra một workflow với giao diện người dùng.

Hình 9: Hình ảnh minh họa môi trường Eclipse được tích hợp jBPM Cơ chế hoạt động của jBPM: tất cả quy trình được phát triển trong Process

Designer, các định nghĩa quy trình (process definition) được thực thi trong Database.

JBoss jBPM engine sau đó liên kết với định nghĩa quy trình để đáp ứng yêu cầu từ jBPM web console (thao tác trên giao diện web), ta có thể biết được người dùng ứng dụng cuối cùng. Web console cũng lưu trữ dữ liệu mà nó thu thập được, trong xử lý cở sở dữ liệu (Database).

(22)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 22

Hình 10: Hình ảnh kiến trúc jBPM

Các ngôn ngữ tương thích: jBPM là một platform cho những ngôn ngữ xử lý quản

lý qui trình nghiệp vụ trên workflow . jBPM hỗ trợ 3 ngôn ngữ xử lý khác nhau. Mỗi ngôn ngữ hướng tới một chức năng và môi trường khác nhau.

- jPDL ( jBPM Process Definition Language)

- WS-BPEL(Web Services Business Process Execution Language) - Seam Pageflow

* jBPM xây dựng các ngôn ngữ xử lý trên nền một cơ chế đơn: PVM – Process Virtual Machine (máy ảo xử lý) vì vậy jPBM có tính ổn định cao. Hiện nay BPM đã chuy ển sang những chuẩn mới nhưng nền tảng jBPM và PVM vẫn được giữ lại không thay đổi.

Hình 11:Hình ảnh minh hoạc jBPM framework

3.1.2.Tìm hiểu ngôn ngữ jPDL

Khái niệm: jPDL là một ngôn ngữ xử lý qui trình được jBPM hỗ trợ. Thay vì trực

tiếp thực thi, jPDL lại cung cấp trên cơ sở mô hình. jPDL hỗ trợ tốt trong nhiều lĩnh vực. Việc tạo các mô hình đ ồ họa của các sơ đồ qui trình đư ợc hỗ trợ bởi GPD – Graphical Process Designer.

jPDL giúp cho việc hợp tác, trao đổi giữa các phân tích viên và lập trình viên trở nên chặt chẽ. jPDL dựa trên mô hình đ ồ họa, các cấu trúc khối nên tạo sự dễ hiểu và

(23)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 23

trao đổi thông tin cao. Event listeners (trình lắng nghe sự kiện) cho phép lập trình viêng tác với các chi tiết kỹ thuật được che dấu từ sơ đồ phân tích nghiệp vụ mà không phải thay đổi sơ đồ, giúp cho việc chuyển từ mô hình phân tích sang mô hình thực thi qui trình dễ dàng hơn. jPDL có một trình thiết kế đồ họa vừa hỗ trợ đồ họa trực quan vừa có khả năng tùy chỉnh trang XML tự động sinh mã thiết kế và được đồng bộ liên tục giữa 2 hỗ trợ này. Có khả năng nhúng vào bất kỳ ứng dụng Java nào và hỗ trợ tất cả các loại cơ sở dữ liệu quan hệ.

Hình 12: Hình ảnh minh họa ngôn ngữ jPDL

jPDL – Process Definition Language (ngôn ngữ đặc tả qui trình) được xem như ngôn ngữ lập trình hướng đồ họa (Graph Oriented Programming Language).

- Process Definition (định nghĩa tiến trình) : là tập hợp các “node - nút”, “transition – chuyển tiếp”, “action – hoạt động”, mô tả 1 hiện thưc của quy trình – process instance duyệt đồ thị như thế nào, hay trên thực tế chính các bước để thực hiện 1 quy trình.

(24)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 24

Hình 13: Hình ảnh một Process Definition mô tả quy trình vay mượn

- Process Instance : thể hiện một trường hợp xử lý riêng của Process Definition.

Hình 14: Hình ảnh mô tả process instance

(25)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 25

Hình 15: Hình ảnh mô tả execution

Các thành phần này mô tả cách thức một thực thể của qui trình di chuyển trong biểu đồ.

Trong suốt quá trình thực thi, thực thể di chuyển xuyên suốt biểu đồ. Thực thể đưa ra một thẻ đánh dấu “token”, đây là một con trỏ trỏ tới node của biểu đồ đúng tại nơi thực thể của tiến trình hiện đang đợi. Một “signal” báo cho “token” biết “transition” nào cần chuyển tới, signal sẽ xác nhận, lưu đường dẫn xuyên suốt tiến trình.

Nodes

- Một node trong jPDL được mô hình hóa thành một hộp (box) tương tự như các box được dùng trong workflow và biểu đồ dịch chuyển hoạt động (activity flow diagram).

- Node được đồng bộ với “trạng thái - state” trong jPDL. Action là một số mã lệnh có thể được lập trình viên đưa vào để báo cho hệ thống quản lý tiến trình nghiệp vụ thực thi một hành động cần phải được hệ thống thực hiện. Action không được hiển thị trên biểu đồ nhưng được ghi trong XML.

- Trong các node có trong Designer, có một node đặc biệt đó là một node kiểu node. Cho phép ta viết một node tự định nghĩa. Thường được dùng khi muốn viết code để hệ thống thực thị một action nhưng do mã code này lại liên quan tới công việc của các nhân viên phân tích nghiêp vụ, vì thế nó cần được hiển thị trên biểu đồ. Còn nếu không có liên quan gì thì người lập trình nên viết mã code theo Action đ ể che dấu các chi tiết từ biểu đồ hiển thị.

(26)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 26

Nếu ta tạo một tác vụ trong biểu đồ, một tác vụ sẽ được thêm vào trong danh sách tác vụ của người được dùng tác vụ đó khi tiến trình được thực thi. Thực thể của tiến trình sẽ đợi người dùng hoàn tất tác vụ và chuyển lại kết quả của tác vụ tới node.

State

- Một nút trạng thái (state node) đơn giản chỉ là báo cho thực thể tiến trình phải đợi và trái ngược với task node, state node không tạo ra một tác vụ trong bất kỳ danh sách tác vụ của người dùng nào. State node thường được dùng để tạo một động thái chờ để hệ thống bên ngoài cung cấp một trả lời về, thường được thực hiện kết hợp với một action. Thực thể tiến trình sẽ tiếp tục thực thi lại khi có một tín hiệu trả về từ hệ thống bên ngoài.

Forks and Joins

- Có thể tạo nhiều đường dẫn chạy song song trong jPDL bằng cách sử dụng fork và join. Ta có thể sử dụng Fork để tách thành nhiều đường dẫn rồi sau đó kết hơp lại bằng Join. Thực thể tiến trình sẽ đợi tại Join cho đến khi tất cả các tác vụ chạy song song đều hoàn thành rồi mới tiếp thực thi tiếp. jBPM tạo nhiều token con quan hệ với token cha cho mỗi đường dẫn thực thị.

Decision

- Trong jBPM có 2 loại decision (quyết định dựa trên điều kiện) tách biệt: o Một decision được chính đặc tả tiến trình (process definition) tự

tạo ra. Sử dụng decision node để tạo loại này trong mô hình. o Một decision được tạo ra bởi người dùng hay một hệ thống ngoài

là một dữ liệu đưa vào tiến trình trong lúc thực thi. Với loại này ta nên sử dụng state node với nhiều hướng ra (exiting transitions) biểu diễn các kết quả có thể có của decision.

Transition

- Dùng để nối kết giữa các node tạo thành các đường chuyển dịch tiến trình. Transitions có thể được đặt tên trên biểu đồ.

Actions

- Action được jBPM tạo ra hướng tới các lập trình viên. Cho phép ngư ời lập trình thêm các mã Java vào mô hình và sẽ được thực thi như các sự kiện được kích hoạt trong quá trình thực thi tiến trình. Action đư ợc tạo ra trong mã nguồn của đặc tả tiến trình, không được hiển thị trên biểu đồ. Sử dụng action khi cần làm việc gì đó t ự động, không giới hạn trong phạm vi đặc tả tiến trình. (ví dụ như thêm dữ liệu vào trong cơ sở dữ liệu)

(27)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 27

Swimlanes

- Biểu diễn các quy tắc tiến trinh, thường dùng để gán tác vụ tới một người cụ thể. Không được hiển thị trong biểu đồ mà là chi tiết kỹ thuật được che dấu phía dưới biểu đồ.

Process variables

- Các biến tiến trình là dữ liệu mà một thực thể tiến trình tạo ra trong suốt thời gian chạy của nó. Các biến này được xem như chi tiết kỹ thuật nên sẽ không được hiển thị biểu đồ. Vì dụ như trong tiến trình nghiệp vụ ta có biến “bandName”, biến này sẽ được duy trì nội dung cho tiến trình đó bất ký khi nào chạy tiến trình đó. Ta s ẽ không thể làm được gì với tiến trình khi không cung cấp biến bandName này cho tiến trình.

Process state

- Trạng thái tiến trình (process state) đư ợc sử dụng khi cần tạo các tiến trình con nằm trong một tiến trình cấp cao hơn. Cho phép ta trừu tượng hóa mô hình và tránh tạo ra các mô hình phức tạp.

Super state

- Đây là cách tạo một nhóm các node. Sử dụng để nhóm các node thành một phiên, một đoạn trong tiến trình. Nó hữu dụng trong việc tạo các danh mục sau này, khi ta muốn báo cáo hệ thống xử lý tiến trình.

3.1.3.Tìm hiểu về giao diên người dùng trong jBPM Desinger

Package Explorer: Package Explorer cho phép chúng ta điều khiển và theo dõi các

(28)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 28

Hình 16: Hình ảnh Package Explorer

Editor Area: nằm ở trung tâm màn hình là Editor Area, nơi chúng ta thật sự thao

tác với quy trình trong project. Gồm 5 thành phần chính : Diagram, Swimlanes, Deployment, Design và Source.

- Diagram: Diagram view là nơi chúng ta có thể tạo các đồ thị mô tả quy trình, bằng cách kéo thả các elements từ menu bên trái.

(29)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 29

Hình 17: Hình ảnh minh họa Diagram

- Swimlanes: Swimlane dùng để định nghĩa các role cho mổi user trong quy trình. Mỗi user hay team thuộc một Swimlane sẽ thực hiên vài tác vụ được cho phép.

Hình 18: Hình ảnh minh hoạc Swimlanes

- Deployment: Deployment định nghĩa cấu hình server để thực thi toàn bộ quy trình trên môi trường thực tế.

(30)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 30

Hình 19: Hình ảnh minh họa Deployment

- Design: Design view giúp theo dõi chi tiết các element trong quy trình mà không cần quan tâm đến đồ thực thi hay XML code.

(31)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 31

- Source: Source view, nơi trình bày XML code sinh ra trong quá trình tạo đồ thị.

Hình 21: Hình ảnh minh hoạ Source Properties explorer: cho phép theo dõi các thuộc tính của các elements.

Hình 22: Hình ảnh minh hoạ Properties explorer Outline View: sơ đồ tổng thể của toàn bộ qui trình.

(32)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 32

Hình 23:Hình ảnh minh họa Outline

3.1.4.Cài đặt jBPM

Cài đặt Java:

- Download JDK phiên bản mới nhất: UDownloadU

- Cài đặt SDK với cấu hình mặc định. - Thiết lập biến môi trường Path:

o Right-click trên My Computer. o Chon Properties.

o Chọn Advanced Tab, chọn Evironment Varialbes. o Trong System Variable, double click Path variable.

o Trong cửa sổ mới mở, trỏ đến cuối Variable value, thêm dấu chấm phẩy “;” và ghi đường dẫn trỏ tới thư mục bin của JDK.

(33)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 33

Hình 24: Hình ảnh minh họa cách thiết lập biến môi trường Path

- Thiết lập biến môi trường JAVA_HOME o System Variable, chọn New. o Đặt tên biến là JAVA_HOME. o Giá trị là đường dẫn tới JDK.

Cài đặt JBoss jBPM và JBoss application server:

- Download jBPM: UDownloadU

- Chọn phiên bản mới nhất, hoặc theo tài liệu này là : jbpm-jpdl-suite-3.2.GA.zip.

- Giải nén file Zip.

- Để kiểm tra hệ thống đã cài hoàn tất chưa, vào thư mục Server, double-click start.bat để start server.

(34)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 34

Hình 25: Hình ảnh minh họa thự mục chứa jBPM

- Mở trình duyệt, gõ: Uhttp://localhost:8080/jbpm-console/U

- Nếu thấy xuất hiện trang web như hình sau thì jBPM đã cài thành công.

(35)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 35

Cài đặt Jboss jBPM designer:

Jboss jBPM desinger một plugin của Eclipse IDE, cung cấp 1 công cụ để design, viết code và debug.

- Trước hết, chúng ta cần download Eclipse: UDownloadU

- Chọn version eclipse-jee-ganymede-SR1-win32.zip. - Copy file zip vào thư mục designer của jBPM.

- Để build plugin jBPM cho Eclipse, ta cần download gói Ant: UDownloadU

- Giải nén file Ant.

- Để có thể sử dụng Ant, ta cần thiết lập biến môi trường Path và ANT_HOME o Right-click trên My Computer.

o Chon Properties.

o Chọn Advanced Tab, chọn Evironment Varialbes. o Trong System Variable, double click Path variable.

o Trong cửa sổ mới mở, trỏ đến cuối Variable value, thêm dấu chấm phẩy “;” và ghi đường dẫn trỏ tới thư mục bin của Ant.

o Tạo biến mới có tên ANT_HOME và giá tri là đường dẫn tới thư mục cài đặt ANT.

(36)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 36

Hình 27: Hình ảnh minh họa cách thiết lập biến môi trường Ant

- Mở file build.properties trong thư mục designer của jBPM. - Thay đổi 1 số dòng in đậm sau.

(37)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 37

Hình 22. Hình ảnh minh họa nội dung của file build.properties

- Click -> Start -> Run. Gõ cmd.

- Chỉnh đường dẫn tới thư mục Designer của jBPM. Gõ ant install. Ant sẽ tìm file build.xml để thực thi cài plugin vào Eclipse.

Hình 28: Hình ảnh minh họa cài đặt plugin vào Eclipse

(38)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 38

Hình 29: Hình ảnh minh họa môi trường phát triển Eclipse

3.2.Bài toán quản lý công văn ( Đơn vị khảo sát : SỞ CẢNH SÁT

PHÒNG CHÁY VÀ CHỮA CHÁY THÀNH PHỐ HỒ CHÍ MINH)

3.2.1.Cơ cấu tổ chức

(39)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 39

Hình 30: Sơ đồ tổ chức cơ quan

3.2.2.Đặc tả yêu cầu bài toán

3.2.2.1.Quản lý công văn đến

3.2.2.1.1.Quy trình tổng quát công văn đến

(40)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 40

Lưu đồ mô tả văn bản đến trong môi trường mạng

CBCCVC chuyên môn Lãnh đạo văn phòng/ Lãnh đạo cơ quan Lãnh đạo đơn vị Văn thư cơ quan Giải quyết No Yes Tiếp nhận, phân loại sơ bộ, bóc bì, đóng dấu “Đến”, ghi số và ngày đến, đăng ký, scan, chuyển giao văn bản đến

Quan trọng

Theo dõi giải quyết

Chú thích:

Gạch liền: đường đi của văn bản điện tử Gạch đứt: đường đi của văn bản giấy

Văn bản

đến Ý kiến phân phối văn bản

Tổ chức thực hiện

Ý kiển chỉ đạo giải quyết

Hình 31:Quy trình công văn đến

3.2.2.1.2.Các thành viên tham gia vào hệ thống

Nhân viên Chức năng Ghi chú

Văn thư Sở Nhận công văn đến

Chuyển CV cho các phòng ban Chuyển CV cho các phòng ban Theo dõi tình trạng công văn

Ban giám đốc Giao công văn cho các phòng x ử lý (không sử dụng phần mềm)

Thư ký ban giám đ ốc/

(41)

__________________________________________________________________ Chung Nhựt Tùng_D05THA1 41 Trưởng phòng Phân công xử lý Chuyên viên Xử lý công văn 3.2.2.1.3Trạng thái công văn đến Hình 32: Trạng thái của công văn đến

3.2.2.1.4.Diễn giải qui trình và xử lý của từng đối tượng người dùng trong qui trình

3.2.2.1.4.1.CBCCVC chuyên môn (Chuyên viên)

- Chuyên viên là người cuối cùng nhận công văn đến để giải quyết. Họ nhận văn bản giấy từ văn thư và văn bản điện tử từ Lãnh đạo đơn vị.

- Nếu văn bản đến cần tạo công văn trả lời thì chuyên viên sẽ tiến hành soạn thảo. Khi đó lại bắt đầu qui trình luân chuyên văn bản đi. Văn bản đến chỉ được kết thúc sau khi văn bản đi đã được phát hành.

- Nếu chuyên viên là người phối hợp thực hiện thì: giải quyết và gửi ý kiến cho Lãnh đạo đơn vị hoặc chuyên viên thụ lý chính.

3.2.2.1.4.2.Lãnh đạo đơn vị (Đơn vị được hiểu là Phòng, ban)

- Căn cứ nội dung của văn bản và ý kiến chỉ đạo của Lãnh đạo cơ quan sẽ cho ý kiến chỉ đạo và chuyển cho: Lãnh đạo cơ quan hoặc phó để báo cáo; Chánh văn phòng/ Trư ởng phòng hành chính đ ể theo dõi; phó trư ởng đơn vị nếu cần; chuyên viên để xử lý chính hoặc phối hợp xử lý; Lãnh đạo đơn vị phối hợp nếu cần; văn thư để ghi nhận và chuyển văn bản giấy cho người xử lý chính.

- Lãnh đạo đơn vị cũng theo dõi quá trình thụ lý của công văn đến.

- Trong trường hợp phó trưởng đơn vị được trưởng đơn vị giao quyền thì thực hiện như trưởng đơn vị và báo cáo lại cho trưởng đơn vị.

3.2.2.1.4.3.Văn thư cơ quan

- Tiếp nhận văn bản đến.

- Phân loại sơ bộ văn bản đến: bóc bì, không bóc bì, mật, khẩn … Thao tác này không thể hiện trên máy.

(42)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 42

- Chuyển văn bản cho chuyên viên thụ lý chính theo yêu cầu của Lãnh đạo. - Đối với văn bản điện tử thì kiểm tra sự hợp lệ của văn bản, đăng ký văn bản vào

hệ thống, đính kèm file và chuyển đến cho Lãnh đ ạo cơ quan hoặc Lãnh đ ạo văn phòng.

3.2.2.1.4.4.Lãnh đạo văn phòng/ Lãnh đ ạo cơ quan

- Tùy theo phân công của từng đơn vị mà Lãnh đạo văn phòng hoặc Lãnh đạo cơ quan sẽ thực hiện chức năng này. Lãnh đạo cũng có thể phân công cho cấp phó của mình thực hiện thay mình và báo cáo lại.

 Trường hợp Lãnh đ ạo văn phòng (Trư ởng phòng hành chính) cho ý kiến

- Căn cứ vào nhiệm vụ của đơn vị, nội dung của công văn, Lãnh đ ạo văn phòng sẽ cho ý kiến và chuyển cho: Lãnh đạo cơ quan để báo cáo hoặc xin ý kiến với công văn quan trọng; Lãnh đ ạo đơn vị chủ trì để thực hiện; Lãnh đ ạo đơn vị phối hợp nếu có để phối hợp giải quyết.

 Trường hợp Lãnh đạo cơ quan, tổ chức cho ý kiến

- Căn cứ vào nhiệm vụ của đơn vị, nội dung của công văn, Lãnh đ ạo cơ quan sẽ cho ý kiến và chuyển cho: cấp phó thuộc lĩnh vực phụ trách để chỉ đạo giải quyết; Chánh văn phòng/ Trư ởng phòng hành chính đ ể theo dõi; Lãnh đ ạo đơn vị chủ trì để tổ chức thực hiện; Lãnh đạo đơn vị phối hợp nếu có.

Diễn giải các xử lý của người dùng trong danh sách công văn

Người dùng Trạng thái công văn Xử lý

Chuyên viên Đang xử lý ở chuyên viên (chuyên viên là người thụ lý chính)

− Xem quá trình thụ lý: qua màn hình chi tiết . − Xử lý: nhập thông tin mã hồ sơ nếu có (phần

này sau khi nhận được thông tin sẽ mô tả sau).

− Lưu: nếu là công văn lưu.

− Báo cáo: nếu là công văn phải báo cáo lại. Chuyển qua màn hình báo cáo (chi tiết mô tả sau).

− Soạn công văn đi: nếu công văn đến phải soạn công văn trả lời cho công văn đến Chuyên viên Đang xử lý ở chuyên

viên (chuyên viên là người phối hợp giải

− Xem quá trình thụ lý: qua màn hình chi tiết. − Gửi ý kiến cho Lãnh đạo: để báo cáo kết quả

giải quyết. Chuyển qua màn hình trình Lãnh đạo đơn vị.

(43)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 43

quyết) − Gửi ý kiến cho chuyên viên chủ trì: chuyển qua màn hình chuyển cho chuyên viên thụ lý chính. Người nhận được cấu hình tự động là người thụ lý chính của công văn đến. Lãnh đạo đơn vị Văn bản được chuyển đến cho Lãnh đạo đơn vị để giải quyết.

− Xem quá trình thụ lý: qua màn hình chi tiết. − Trình Lãnh đạo cơ quan: chuyển qua màn

hình trình Lãnh đạo cơ quan.

− Chuyển Chánh văn phòng: chuyển qua màn hình trình Chánh văn phòng. Có thể cấu hình để dùng chung màn hình chuyển với Lãnh đạo cơ quan.

− Chuyển Lãnh đạo đơn vị phối hợp: nếu cần thiết, các Lãnh đạo đơn vị khác mới được hiển thị trong màn hình này.

− Phân công: chuyển qua màn hình phân công cho cấp phó hoặc chuyên viên trong đơn vị. − Chuyển văn thư: chuyển qua màn hình

chuyển văn thư. Chánh văn

phòng

Văn bản do văn thư chuyển đến.

− Xem quá trình thụ lý: qua màn hình chi tiết. − Trình Lãnh đạo cơ quan: chuyển qua màn

hình trình Lãnh đạo cơ quan. − Chuyển Lãnh đạo đơn vị: Lãnh đạo cơ quan Văn bản do văn thư chuyển đến.

− Xem quá trình thụ lý: qua màn hình chi tiết. − Phân công: chuyển qua màn hình phân công

cho cấp phó, Chánh văn phòng hoặc các Trưởng phòng.

Văn thư Văn bản vừa tiếp nhận − Nhập văn bản đến.

− Chuyển văn bản cho bộ phận xử lý: chuyển qua màn hình chuyển xử lý.

− Ngoài ra còn có chức năng báo cáo thống kê nhưng không miêu tả ở đây.

Ghi chú quan trọng: các bước xử lý này là tuân theo đúng qui trình công văn đến của Cục Văn thư Lưu trữ nhà nước. Tuy nhiên, trong thực tế có thể linh động thay đổi. Ví dụ: chuyên viên chuyển cho phòng theo bút phê của Lãnh đạo, … Nghĩa là các thao tác xử lý có thể thay đổi động được.

(44)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 44

3.2.2.2.1.Quy trình tổng quát công văn đi

3.2.2.2.1.1.Mô tả quy trình

Hồ sơ mô tả quy trình như hình dưới

Lưu đồ mô tả văn bản đi trong môi trường mạng

Văn thư cơ quan Pháp chế cơ quan/ Lãnh đạo văn phòng Lãnh đạo cơ quan Lãnh đạo đơn vị CBCCVC chuyên môn

Tiếp thu ý kiến chỉ đạo của lãnh đạo cơ quan, chỉ đạo chuyên viên Yes Yes Có xin ý kiến No Yes No No Yes

Dự thảo, tiếp thu, hoàn thiện dự thảo văn bản Ý kiến đóng góp Kiểm tra nội dung, thể thức, kỹ thuật, có bổ sung, sửa đổi Kiểm tra pháp chế, hình thức, thể thức, kỹ thuật, có bổ sung, sửa đổi Ý kiến chỉ đạo, có bổ sung, sửa đổi No In, trình ký Ký tắt về nội dung Ký tắt về pháp chế, thể thức, kỹ thuật Ký ban hành Chuyển giao Đăng ký, làm thủ tục phát hành Lưu hồ sơ Phát hành Hình 33: Quy trình công văn đi

(45)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 45

3.2.2.2.1.2.Các trạng thái của công văn đi

Hình 34: Trạng thái của công văn đi

3.2.2.2.2.Diễn giải qui trình và xử lý của từng đối tượng người

dùng trong qui trình

3.2.2.2.2.1.CBCCVC chuyên môn (Chuyên viên)

- Chuyên viên là người đầu tiên tạo công văn đi. Công văn đi có thể do chuyên viên tự soạn thảo hoặc soạn thảo để trả lời cho công văn đến.

- Khi có yêu cầu chỉnh sửa lại từ Lãnh đạo đơn vị, chuyên viên khác hoặc pháp chế thì chuyên viên chịu trách nhiệm hoàn thiện lại bản dự thảo.

- Sau khi dự thảo văn bản đi thì chuyên viên s ẽ chuyển sang chuyên viên khác nếu văn bản đi có liên quan. Nếu chuyên viên khác có ý kiến đóng góp thì chuyên viên dự thảo sẽ hiệu chỉnh lại cho đến khi không còn ý kiến đóng góp. - Sau đó, chuyên viên sẽ chuyển văn bản dự thảo lên trình Lãnh đ ạo phòng xem

xét.

- Nếu Lãnh đ ạo có yêu cầu chỉnh sửa thì chuyên viên sẽ nhận lại dự thảo công văn về hiệu chỉnh lại.

- Nếu pháp chế có yêu cầu chỉnh sửa thì chuyên viên cũng nh ận lại văn bản dự thảo và chỉnh sửa lại.

- Văn bản dự thảo sau khi được Lãnh đạo cơ quan ký duyệt thì sẽ chuyển lại cho chuyên viên in và trình ký chính thức. Sau khi văn bản được phát hành thì chuyên viên sẽ có trách nhiệm lưu trữ lại.

3.2.2.2.2.2.Lãnh đạo đơn vị (Đơn vị được hiểu là Phòng, ban)

- Lãnh đạo đơn vị sẽ nhận những dự thảo văn bản do chuyên viên trình lên và kiểm tra về nội dung, thể thức. Nếu dự thảo không đạt yêu cầu thì sẽ chuyển về

(46)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 46

chế kiểm tra.

- Đối với những dự thảo văn bản do Lãnh đạo cơ quan (Cơ quan được hiểu là Sở) yêu cầu chỉnh sửa thì Lãnh đ ạo đơn vị sẽ tiếp thu ý kiến và chuyển lại cho chuyên viên hiệu chỉnh.

- Với những dự thảo đã được phê duyệt và chuyên viên in, trình ký thì Lãnh đ ạo đơn vị sẽ chịu trách nhiệm ký tắt về nội dung.

- Trong lưu đồ, chỗ này cần để ý đường gạch đứt và đường liền. Đường gạch đứt là đường đi của văn bản giấy. Đường liền là đường đi của văn bản điện tử.

3.2.2.2.2.3.Pháp chế cơ quan/ Lãnh đạo văn phòng

- Pháp chế cơ quan/ Lãnh đ ạo văn phòng sẽ nhận dự thảo văn bản do Lãnh đ ạo đơn vị chuyển lên để kiểm tra về pháp chế, hình thức, kỹ thuật. Nếu có gì sai sót sẽ yêu cầu chuyên viên dự thảo chỉnh sửa lại. Nếu đạt yêu cầu thì chuyển lên Lãnh đạo cơ quan để trình ký.

- Với những văn bản đã được ký duyệt và do văn thư chuyển đến thì pháp chế hoặc Lãnh đạo văn phòng sẽ chịu trách nhiệm ký tắt về pháp chế, hình thức và kỹ thuật.

3.2.2.2.2.4.Văn thư cơ quan

- Chuyên viên sau khi in văn bản đã được ký duyệt sẽ chuyển cả văn bản giấy và điện tử xuống văn thư. Văn thư sẽ chuyển văn bản giấy cho Pháp chế cơ quan/ Lãnh đạo văn phòng ký tắt rồi chuyển qua Lãnh đạo cơ quan ký ban hành. - Văn thư sau khi nhận được văn bản điện tử từ chuyên viên chuyển xuống và

văn bản giấy được Lãnh đ ạo cơ quan ký ban hành sẽ làm thao tác phát hành công văn. Văn bản giấy được phát hành và chuyển một bản về cho chuyên viên soạn thảo lưu trữ.

3.2.2.2.2.5.Lãnh đạo cơ quan

- Lãnh đạo cơ quan sẽ tham gia vào cả văn bản điện tử và văn bản giấy.

- Với văn bản điện tử: Lãnh đ ạo cơ quan sẽ xem xét những dự thảo văn bản do pháp chế cơ quan hoặc Lãnh đạo văn phòng trình lên. Nếu dự thảo là chưa đạt thì Lãnh đ ạo cơ quan sẽ chuyển lại cho Lãnh đ ạo đơn vị để yêu cầu bổ sung, chỉnh sửa. Nếu dự thảo đạt yêu cầu thì Lãnh đạo cơ quan sẽ chuyển xuống cho chuyên viên in, trình ký.

- Với văn bản giấy: Lãnh đ ạo cơ quan sẽ ký phát hành những văn bản đã đư ợc xem xét vể nội dung và thể thức, pháp chế. Sau khi ký phát hành, văn b ản sẽ được chuyển xuống cho văn thư cơ quan để phát hành chính thức.

(47)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 47

Diễn giải các xử lý của người dùng trong danh sách công văn Người dùng Trạng thái công

văn

Xử lý

Chuyên viên Đang dự thảo, chưa xin ý kiến hoặc trình Lãnh đạo đơn vị

− Sửa công văn: chuyển qua màn hình sửa. − Xóa công văn.

− Xin ý kiến: chuyển qua màn hình chuyển cho chuyên viên cùng đơn vị.

− Trình ký: chuyển qua màn hình trình Lãnh đạo đơn vị.

Chuyên viên Đang dự thảo, đã xin ý kiến hoặc trình ký, hoặc được yêu cầu chỉnh sửa.

− Sửa công văn: chuyển qua màn hình sửa. − Xóa công văn.

− Xem quá trình thụ lý: qua màn hình chi tiết. − Xin ý kiến: chuyển qua màn hình chuyển cho

chuyên viên cùng đơn vị.

− Trình ký: chuyển qua màn hình trình Lãnh đạo đơn vị. Khi văn bản được trình ký thì những chuyên viên khác được nhờ đóng góp ý kiến sẽ không thể đóng góp được nữa.

Chuyên viên Văn bản đã được Lãnh đạo cơ quan xem xét

− Xem quá trình thụ lý: qua màn hình chi tiết. − Chuyển phát hành: chuyển qua màn hình

chuyển văn bản cho văn thư phát hành. Chuyên viên Văn bản được

chuyên viên khác nhờ đóng góp ý kiến

− Xem quá trình thụ lý: qua màn hình chi tiết. − Đóng góp ý kiến: chuyển qua màn hình đóng

góp ý kiến. Văn bản sau khi đóng góp sẽ tự động chuyển về cho người gửi.

Chuyên viên Văn bản hoàn thành − Xem quá trình thụ lý: qua màn hình chi tiết. Lãnh đạo đơn

vị

Văn bản được

chuyên viên trình ký

− Sửa công văn: chuyển qua màn hình sửa. − Xem quá trình thụ lý: qua màn hình chi tiết. − Chuyển pháp chế: chuyển qua màn hình

chuyển cho nhân viên pháp chế.

− Yêu cầu chỉnh sửa: chuyển qua màn hình yêu cầu chuyên viên chỉnh sửa. Người nhận tự động là người trình văn bản. Sử dụng chức năng này khi văn bản không đạt yêu cầu về nội dung, thể thức, kỹ thuật.

(48)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 48

chỉnh sửa

− Xem quá trình thụ lý: qua màn hình chi tiết. − Yêu cầu chỉnh sửa: chuyển qua màn hình yêu

cầu chuyên viên chỉnh sửa. Lãnh đạo đơn

vị

Văn bản hoàn thành − Xem quá trình thụ lý: qua màn hình chi tiết.

Pháp chế/ Lãnh đạo văn phòng Văn bản do Lãnh đạo đơn vị chuyển lên

− Xem quá trình thụ lý: qua màn hình chi tiết. − Trình Lãnh đạo: chuyển qua màn hình trình

văn bản cho Lãnh đạo cơ quan. Sử dụng chức năng này khi văn bản đạt yêu cầu.

− Yêu cầu chỉnh sửa: chuyển qua màn hình yêu cầu chuyên viên chỉnh sửa. Người nhận tự động là người soạn thảo văn bản. Sử dụng chức năng này khi văn bản không đạt yêu cầu về pháp chế, hình thức, thể thức, kỹ thuật. Pháp chế/

Lãnh đạo văn phòng

Văn bản hoàn thành − Xem quá trình thụ lý: qua màn hình chi tiết.

Văn thư cơ quan

Văn bản đã duyệt do chuyên viển chuyển xuống.

− Xem quá trình thụ lý: qua màn hình chi tiết. − Đăng ký (cho số): chuyển qua màn hình hiệu

chỉnh văn bản. Không cho hiệu chỉnh thông tin văn bản, chỉ hiển thị thêm các trường nhập số và ngày tháng, số tờ phát hành.

− Phát hành: phát hành văn bản đi; kết thúc văn bản đi và văn bản đến có liên quan.

Văn thư cơ quan

Văn bản hoàn thành − Xem quá trình thụ lý: qua màn hình chi tiết.

Lãnh đạo cơ quan

Văn bản do pháp chế trình lên

− Xem quá trình thụ lý: qua màn hình chi tiết. − Phê duyệt: phê duyệt văn bản đi. Người nhận

tự động là người soạn thảo văn bản.

− Yêu cầu chỉnh sửa: chuyển qua màn hình yêu cầu chuyên viên chỉnh sửa. Người nhận tự động là người soạn thảo văn bản. Sử dụng chức năng này khi văn bản cần bổ sung, chỉnh sửa.

Lãnh đạo cơ quan

(49)

__________________________________________________________________

Chung Nhựt Tùng_D05THA1 49

Ghi chú quan trọng: các bước xử lý này là tuân theo đúng qui trình công văn đi c ủa Cục Văn thư Lưu trữ nhà nước. Tuy nhiên, trong thực tế có thể linh động thay đổi. Ví dụ: chuyên viên trình ký lên Lãnh đ ạo cơ quan, chuyên viên chuyển văn bản xuống ngay văn thư mà không cần thao tác trình, … Nghĩa là các thao tác xử lý có thể thay đổi động được.

Referências

Documentos relacionados

No caso das revistas pedagógicas, o cuidado com o título deve ser um pouco maior. As revistas apresentam ano de publicação, número, volume e ano de circulação.

Municipal de Cinfães, determina, nos termos e para efeitos do disposto no nº 5 do artigo 61º do Código dos Contratos Públicos, e de acordo com a informação do Júri do

Quanto à análise de associação entre a participação nas aulas de educação física e os dois indicadores de violência considerados neste estudo, verificou-se que tanto em

(Crustacea: Decapoda: Palaemonidae, Sergestidae) from the Amazon Peruvian. Reproductive biology of the shrimp Macrobrachium brasiliense in aquatic environment of the

usuário uma grande coleção de diferentes tipos de equações utilizadas no modelo matemático, sem que sejam apresentadas em forma de equações, permitindo

Polysomaty in root tip meristematic cells, the presence of cells with higher ploidy levels, have been reported in some Mimosa species by Witkus and Berger (1947) and Seijo

As restrições do problema estão relacionados aos limites operativos (turbinagem e armazenamento) máximos e mínimos da usina hidroelétrica, e o atendimento a demanda que é

relacionados em conhecer o repertório e a base de conhecimento dos docentes participantes do curso de Formação Docente em EaD, procurando fazer uma análise sobre de que