ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trần Thu Trang
HỆ THỐNG QUẢN LÝ TIẾN TRÌNH
NGHIỆP VỤ VÀ ỨNG DỤNG CHO BÀI TOÁN
QUẢN LÝ VĂN BẢN ĐI ĐẾN TRONG NỘI BỘ
CƠ QUAN
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
HÀ NỘI - 2015
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trần Thu Trang
HỆ THỐNG QUẢN LÝ TIẾN TRÌNH NGHIỆP
VỤ VÀ ỨNG DỤNG CHO BÀI TOÁN QUẢN LÝ
VĂN BẢN ĐI ĐẾN TRONG NỘI BỘ CƠ QUAN
Ngành:CÔNG NGHỆ THÔNG TIN
Chuyên ngành: HỆ THỐNG THÔNG TIN
Mã số: 60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
HàNội, tháng 05 năm 2015
Tác giả
Trần Thu Trang
1
MỤC LỤC
LỜI CAM ĐOAN ............................................................................................................ 0
LỜI CÁM ƠN .................................................................................................................. 1
MỤC LỤC ....................................................................................................................... 2
MỞ ĐẦU ......................................................................................................................... 4
Giới thiệu ..................................................................................................................... 4
Cấu trúc luận văn ......................................................................................................... 4
Chương I: Tổng quan về hệ thống quản lý tiến trình nghiệp vụ ..................................... 6
1.1.Quản lý tiến trình nghiệp vụ (Business Process Management-BPM) ................... 6
1.1.1.Lịch sử BPM ................................................................................................... 6
1.1.2.Khái niệm BusinessProcess ............................................................................ 7
1.1.3.Phân loại BusinessProcess.............................................................................. 8
1.1.4.Định nghĩa Business Process Management - BPM ........................................ 9
1.2.Mô hình hóa tiến trình nghiệp vụ (Business Process Modeling) ........................ 10
1.2.1.Một số ký pháp mô hình hóa tiến trình nghiệp vụ ....................................... 10
1.2.2.Chuẩn mô hình hóa tiến trình nghiệp vụ ...................................................... 13
1.2.3. Từ mô hình hóa đến thực thi tự động tiến trình nghiệp vụ ......................... 24
1.3.Hệ thống quản lý tiến trình nghiệp vụ (Business Process Management System
BPMS) ....................................................................................................................... 33
1.3.1.BPM + IT = BPMS (Business Process Management System) ..................... 34
1.3.2. Lịch sử hình thành và phát triển BPMS ...................................................... 36
1.3.3. BPMS liên quan đến kiến trúc hướng dịch vụ SOA như thế nào? .............. 40
MỞ ĐẦU
Giới thiệu
Trong thời đại công nghệ và môi trường kinh tế-xã hội thay đổi không ngừng.
Các tổ chức, doanh nghiệp dù ở quy mô lớn hay nhỏ đều mong muốn trở nên uyển
chuyển hơn và thích nghi được với thị trường năng động. Hiện nay các doanh nghiệp
đang có xu hướng xây dựng các tiến trình nghiệp vụ sao cho dễ dàng đáp ứng việc tự
động hóa và thay đổi trong việc quản lý…. BPM là giải pháp công nghệ nhằm đáp ứng
việc tổ chức, quản lý doanh nghiệp theo các tiến trình nghiệp vụ trong điều kiện môi
trường thay đổi nhanh, cải thiện hiệu quả hoạt động và quản lý rủi ro tốt hơn. Giải pháp
BPM có mối quan hệ chặt chẽ đến 2 lĩnh vực: Công nghệ thông tin và Quản lý kinh
doanh hỗ trợ việc quản lý tiến trình nghiệp vụ nhằm áp dụng việc mô hình hoá và tổ
chức quản lý các tiến trình nghiệp vụ tại các doanh nghiệp.
BPM là một giải pháp công nghệ mới dựa trên nền tảng web và hướng dịch vụ.
Ứng dụng công nghệ này phù hợp với yêu cầu quản lý của các doanh nghiệp cũng như
xu hướng phát triển công nghệ, tạo khả năng tái cấu trúc nhanh chóng các tiến trình
nghiệp vụ của tổ chức. Đó cũng là một nhu cầu cấp bách đối với các doanh nghiệp
ngày nay. Vì những đặc trưng mới này, đề tài “Hệ thống quản lý tiến trình nghiệp vụ
và ứng dụng cho bài toán quản lý văn bản đi đến trong nội bộ cơ quan” được tôi chọn
làm đề tài luận văn. Mục tiêu là làm quen với một cách tiếp cận mới để triển khai ứng
dụng công nghệ thông tin và thử nghiệm để có thể rút ra kinh nghiệm bước đầu thực
hiện các ứng dụng theo định hướng này.
Cấu trúc luận văn
Luận văn này sẽ tập trung nghiên cứu tìm hiểu về khái niệm, kiến trúc, công nghệ
của các thành phần xây dựng lên một “Hệ thống quản lý tiến trình nghiệp vụ”, cài đặt
và triển khai thử nghiệm. Luận văn gồm 4 chương sau
− Chương I: Giới thiệu
1.1.1.Lịch sử BPM
Các nhà lý thuyết quản lý không ngừng phát triển những ý tưởng mới về khái
niệm quản lý để hỗ trợ cho các tổ chức, doanh nghiệp đối mặt với những thách thức
của thị trường ngày càng phát triển nhanh, độ cạnh tranh cao. Mặc dù lúc đầu những ý
tưởng quản lý có vẻ khác nhau và không liên quan đến nhau, nhưng chúng đều có một
điểm chung không thay đổi qua nhiều năm sau. Họ có thể gọi đó là quá trình tái cấu
trúc tiến trình nghiệp vụ, kinh doanh (Business Process Reengineering - BPR), hay
Quản lý chất lượng tổng thể (Total Quality Management -TQM), hay là Six Sigma, tuy
nhiên chúng đều có một khái niệm chung đó là Quản lý tiến trình (Process
Management)Chang (2006).
Thuyết Quản lý tiến trình ngày nay có nguồn gốc từ thuyết về chất lượng những
năm 80, và tái cấu trúc Quy trình kinh doanh, nghiệp vụ những năm 90:
Trong cuộc cách mạng việc làmnăm 1776, Adam Smith đã đưa ra ý tưởng về
chuyên hóa môn lao động. Khái niệm chuyên môn hóa lao động là nền tảng của việc
phân phòng ban, ngành theo chức năng trong các tổ chức hiện nay.
Cuộc cách mạng tiếp theo là của kỹ sư Frederick Winslow Taylor (được biết đến
với phát minh công cụ máy thép). Taylor mở rộng khái niệm của Smith về chuyên môn
hóa lao động bằng việc đưa ra phương pháp khoa học và phép đo lường quá trình sản
xuất được trình bày trong cuốn sách Principles of Scientific Management (1991).
6
Một trong những người đầu tiên đã điều chỉnh thuyết của Taylor đó là Henry
Ford – người thành lập hãng Ford Motor (1913). Henry Ford đã mở rộng khái niệm
chuyên môn hóa lao động và đưa ra quy định về trình tự để hoàn thành công việc. Khái
niệm này cho phép sản xuất hàng loạt và đưa ra được các thông số kỹ thuật của quá
trình sản xuất.
Trong những năm 1970, các tập đoàn của Mỹ bắt đầu nhận thấy sự cạnh tranh từ
Châu Âu và các đối tác Nhật Bản, người tiêu dùng có quyền lựa chọn cho việc mua
vụlà một dòng chảy các hoạt động được thực hiện bởi con người hay máy móc được
phân chia thực hiện theo các phòng ban để đạt được mục tiêu kinh doanh, tạo ra các giá
trị nội bộ và thỏa mãn yêu cầu của khách hàng.
1.1.3.Phân loại BusinessProcess
Sự phân loại Business Process cũng phụ thuộc vào các góc nhìn khác nhau. Theo
như Batson và Williams (1998), đã đưa ra gợi ý phân loại Bussiness Process như sau:
− Phân loại theo chức năng (Functional) và liên chức năng(Cross-Functional):
Functional là tập hợp các hoạt động thực hiện một chức năng cụ thể trong một
phòng ban cụ thể như “Kế toán”.Cross-Functional là sự liên kết các hoạt động
chức năng giữa các phòng ban, ví dụ: Chức năng “Thực hiện đơn hàng” có thể
bao gồm đơn hàng, việc sản xuất và vận chuyển hàng.
− Customer vs. Administrator: Customer là những tiến trình thực hiện việc cung
cấp sản phẩm tới khách hàng. Administrator là những tiến trình nằm trong nội bộ
tổ chức hỗ trợ cho các tiến trìnhCustomer.
− Manufacturing vs. Service: Manufacturing là hoạt động sản xuất ra những hàng
hóa hữu hình. Service: là hoạt động nhằm sản xuất ra hàng hóa vô hình, đem lại
lợi ích cho tổ chức, kinh doanh.
Một cách phân chia khác, theo bài viết Al Mashari 2000, Willcocks và Smith đã
phân loại Business Process thành 4 nhóm cơ bản:
− Core: Trung tâm hoạt động của tiến trình
− Support: Thành phần hỗ trợ như: Công nghệ thông tin, kế toán…
8
− Management: Thành phần quản lý, thực hiện việc tổ chức, kiểm soát nguồn lực
kinh doanh
− Business network Process: Những hoạt động bên ngoài tổ chức, doanh nghiệp.
Sự phân loại này của Willcocks và Smith gần với sự phân loại Business Process
chất lượng hoạt động nhằm đạt tới các mục tiêu cần thiết.
Về mặt công nghệ:BPM là một bộ công cụ giúp tổ chức, doanh nghiệp thiết kế,
mô hình hóa, triển khai, giám sát, vận hành và cải tiến các tiến trình kinh doanh một
cách linh hoạt.
Tóm lại, BPM có thể được hiểunhư sau: “Quản lý tiến trình là việc dựa trên cái
nhìn toàn bộ tổ chức như một hệ thống gồm các tiến trình liên kết với nhau, chúng có
mối quan hệ chặt chẽ được mô hình hóa dưới dạng sơ đồ, qua đó có thể cải tiến và đảm
bảo các tiến trình của tổ chức một cách tốt nhất, hiệu quả nhất” Chang(2006).
1.2.Mô hình hóa tiến trình nghiệp vụ (Business Process Modeling)
Trong phần 1.1 chúng ta đã tìm hiểu Quản lý tiến trình nghiệp vụ BPM là gì, vậy
làm thế nào để xây dựng được một phần mềm hệ thốngQuản lý tiến trình nghiệp vụ?
Để trả lời được câu hỏi này trước hết chúng ta cần phải có công cụ để mô hình hóa tiến
trình nghiệp vụ. Trong phần này sẽ trình bày các công nghệ để mô hình hóa tiến trình
nghiệp vụ, đặc biệt sẽ tìm hiểu sâu về chuẩn mô hình đang được sử dụng rất rộng rãi,
và được đánh giá cao phù hợp với mô hình hóa tiến trình nghiệp vụ đó là chuẩn
Business Process Modeling Notation (BPMN).
1.2.1.Một số ký pháp mô hình hóa tiến trình nghiệp vụ
1.2.1.1.Ký pháp mô hình hóaFlow chart
Flow chart là công cụ đồ họa gồm các ký hiệu để biểu diễn cho các phép toán, dữ
liệu, hướng đi, thiết bị … nhằm mục đích định nghĩa, phân tích và giải quyết vấn đề.
Flow chart được coi là hệ thống ký pháp mô tả các tiến trình đầu tiên. Flow chart mô tả
dòng hành động theo thứ tự xác định và không hỗ trợ trường hợp các hành vi gặp lỗi.
Vì vậy công nghệ flow chart thường được sử dụng để mô tả các tiến trình ở mức cao,
10
nó rất dễ sử dụng, không tốn nhiều thời gian, giúp nhanh chóng xác định được điểm
11
Đi kèm theo phương pháp hướng đối tượng có rất nhiều công nghệ khác như
Object-Oriented Design (OOD), Object-Oriented Analysis and Design (OOAD),
Object Modeling Technique (OMT) và Object Oriented System Analysis (OOSA).
Những công nghệ này khác nhau cơ bản ở tập các ký pháp cung cấp.Tuy nhiên có một
phương pháp Object-Oriented (OO) hiệu quả, được đánh giá cao nhất là UML.
UML được phát triển bởi Object Manangement Group (OMG)để mô hình hóa các
phần mềm ứng dụng theo hướng đối tượng, nó được thiết kế rất mềm dẻo và hướng
người dùng. UML cho phép các nhà phát triển tạo được rất nhiều loại mô hình khác
nhau như: mô hình nghiệp vụ (business tiến trình), mô hình luồng công việc
(workflow), mô hình tuần tự (sequence), mô hình ứng dụng, database, kiến trúc
(architecture)…(Maksimchuk and Naiburg, 2004).
UML có tất cả 14 loại biểu đồ, được chia làm 2 nhóm chính: biểu đồ hành vi, biểu
đồ cấu trúc. Sơ đồ dưới đây mô tả các loại biểu đồ trong UML (UML v2.2,2009):
Hình 1.1 Các loại biểu đồ trong UML
Tuy nhiên tất cả các loại biểu đồ trên đều không thích hợp để mô hình hóa tiến
trình nghiệp vụ, nếu cần thiết để mô hình hóa tiến trình nghiệp vụ bằng UML thì chỉ có
12
biểu đồ hành vi (biểu đồ hoạt động activity, biểu đồ ca sử dụng use-case) là thích hợp
(Owen and Raij, 2004).
1.2.2.Chuẩn mô hình hóa tiến trình nghiệp vụ
1.2.2.1.Giới thiệu BPMN
BPMN(Business Process Modeling Notaion)là ký pháp đồ họa dùng để mô hình
Nhờ các ký pháp ngữ nghĩa để xây dựng biểu đồ tiến trình, BPMN giúp việc mô
hình hóa tiến trình trong tiến trình nghiệp vụ thể hiện sự liên kết giữa các đối tượng để
trao đổi thông tin với nhau một cách rõ ràng, hoàn chỉnh và hiệu quả.
BPMN cung cấp kỹ thuật để tự động sinh ra mã BPEL(Business Process
Execution Language ngôn ngữ thực thi tiến trình nghiệp vụ) từ tiến trình.Do đó các tiến
trình nghiệp vụ có thể xem như được thực hiện ở mức sơ đồ các ký hiệu. Nghĩa là các
tiến trình nghiệp vụ sau khi được đặc tả bằng sơ đồ,nó có thể được hệ thống BPM trực
tiếp thực thi, không cần các kỹ sư trung gian biên dịch sang ngôn ngữ thực thi (BPEL).
1.2.2.2.BPMNvà UML
BPMN và UML không phải là đối thủ cạnh tranh nhau trong việc sử dụng các ký
pháp để mô hình hóa. UML là phương pháp tiếp cận hướng đối tượng để mô hình hóa
các ứng dụng.Nó chủ yếu dùng để đặc tả và thiết kế phần mềm. (bpmn.org, 2008).
Trong khi đó BPMN là cách tiếp cận hướng tiến trình để mô hình hóa hệ thống, và
được sử dụng để mô hình hóa các tiến trình nghiệp vụ. Owen và Raj (2004) đã đưa ra
4 ưu điểm nổi bật của BPMN so với UML trong việc mô hình hóa tiến trình nghiệp vụ
như sau:
− BPMN được tạo ra không phải để thay thế UML, và cũng không phải là phiên
bản phát triển, mở rộng của UML. UML là ngôn ngữ hỗ trợ các nhà phát triển xác
định, hình dung và mô hình hóa tài liệu hệ thống phần mềm. Do đó mục đích
UML là dành cho kiến trúc phần mềm và kĩ sư phần mềm để sắp xếp quá trình
phát triển hệ thống phần mềm. Trong khi đó BPMN nhằm mục đích hỗ trợ các
nhà phân tích tiến trình nghiệp vụ, kiến trúc hệ thống, và kỹ sư phần mềm để sắp
xếp, xây dựng mô hìnhtiến trình nghiệp vụ.
14
− UML là xa lạ đối với hầu hết các nhà phân tích nghiệp vụ. UML định nghĩa 3 loại
biểu đồ chính sau: Biểu đồ cấu trúc tĩnh; Biểu đồ hành vi động và Biểu đồ quản
lý, tổ chức các giải pháp phần mềm. Trong đó, chỉ có biểu đồ hành vi động (biểu
Hình 1.2Các nhóm ký pháp cơ bản dùng trong BPMN
a. Flow Object:
Được sử dụng để biểu diễn hành vi, hoạt động của tiến trình nghiệp vụ, gồm 3 đối
tượng chính sau: Event, Activity, Gateway.
Event:Thể hiện một sự kiện xảy ra trong tiến trình nghiệp vụ, những sự kiện
thường là nguyên nhân (một kích hoạt – trigger) hoặc một tác động (kết quả). Sự kiện
được biểu diễn bằng vòng tròn, bên trong có thể có thêm ký hiệu để phân biệt nguyên
nhân, hoặc kết quả khác nhau. Dựa trên ảnh hưởng của nó tới tiến trình nghiệp vụ,các
sự kiện được chia làm 3 loại chính: sự kiện bắt đầu, sự kiện trung gian và sự kiện kết
thúc.
Hình dưới đây mô tả hình vẽ tượng trưng cho 3 sự kiện:
Hình 1.3 Các loại sự kiện chính
− Sự kiện bắt đầu:Process bắt đầu được thực hiện
− Sự kiện trung gian:Process kết thúc
− Sự kiện kết thúc:Xuất hiện giữa sự kiện bắt đầu và sự kiện kết thúc
Hình 1.7.liệt kê danh sách các sự kiện trong BPMN, ký hiệu trong vòng tròn thể
kiện các loại sự kiện khác nhau. Sự kiện bắt đầu và sự kiện trung gian thường đưa ra
16
nguyên nhân (kích hoạt – trigger), còn sự kiện kết thúc đưa ra kết quả. Sự kiện bắt đầu
chỉ có thể catch trigger, sự kiện kết thúc chỉ có thể throw trigger, sự kiện trung gian có
thể catch hoặc throw trigger.
Hình 1.4. Các loại sự kiện cụ thể trong BPMN
Activity: Thể hiện các hoạt động trong một tiến trình nghiệp vụ. Activity được
biểu diễn là hình chữ nhật góc tròn.Hoạt động có thể là nguyên tử hoặc không nguyên
tử (có thể chia nhỏ). Có 2 loạiActivity là Sub-Process, và Task (hình 1.8). Activity có
thể được thực hiện 1 lần hoặc lặp nhiều lần.
Gateway được biểu diễn dưới hình dạng kim cương, và có đánh dấu bên trong để phân
biệt các loại điều khiển khác nhau.
Ký hiệu
Mô tả
Exclusive Gateway: Khi phân nhánh các Sequence flow sẽ
xác định nhánh đi. Khi sát nhập, gateway chờ các nhánh hoàn
thiện trước khi kích hoạt các nhánh ra (tương đương với phép
toán XOR trong logic)
Event-based Gateway: Luôn theo sau bắt các sự kiện hoặc
nhận nhiệm vụ, sequence flow (sẽ được trình bày ở phần
Connecting Object) sẽ được định tuyến tới các sự kiện/nhiệm
vụ tiếp theo.
Parallel Gateway: trong trường hợp phân nhánh sequence
flow, tất cả các nhánh đi ra sẽ được kích hoạt đồng thời. Khi sát
nhập các nhánh song song sẽ đợi khi tất cả các nhánh hoàn
thành trước khi kích hoạt các nhánh tiếp theo (Tương đương với
AND trong logic).
Complex gateway
Exclusive event-based gateway: Mỗi sự xuất hiện của sự
kiện tiếp theo sẽ bắt đầu một thể hiện tiến trình mới
Parallel Event-based gateway: sự xuất hiện của tất cả các
sự kiện tiếp theo sẽ bắt đầu một thể hiện tiến trình mới.
19
b. Connecting Objects
Connecting Objects được sử dụng để kết nối các đối tượng trong mô hình tiến
vùng phụ, có thể chia theo chiều dọc hoặc chiều ngang. Lane được sử dụng để tổ chức
và phân loại các Activity.
Lane được sử dụng để tách các hoạt động liên quan đến một chức năng riêng của
công ty hoặc một vai trò cụ thể. Sequence flow có thể vượt qua ranh giới của các Lane
trong Pool, Message có thể không được sử dụng giữa các đối tượng trong Lane của
cùng Pool
d. Artifacts
Artifacts: Được sử dụng để cung cấp thông tin bổ sung cho tiến trình nghiệp vụ.
Có 3 loại Artifacts sau: Data Object, Text Annotation, Group. Một mô hình tiến trình
có thể có nhiều Artifact.
Data Object: Data Object được sử dụng để cung cấp thông tin về thứ mà Activity
yêu cầu hay tạo ra, chúng được kết nối với Activity thông qua Association. Data Object
không ảnh hưởng trực tiếp đến Sequence Flow hay Message Flow của tiến trình.
Data input: dữ liệu đầu vào cho tiến trình
Data output: kết quả dữ liệu đưa ra bởi tiến trình
Ký hiệu
Mô tả
Data object: Thể hiện những thông tin như tài liệu, email hoặc letter
kèm theo tiến trình
21
Ký hiệu
Mô tả
Collection data object: Tập hợp thông tin, dữ liệu.