SlideShare uma empresa Scribd logo
1 de 135
Baixar para ler offline
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 1
Lời cảm ơn
Chúng em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, Trường Đại
học Khoa học Tự nhiên, Tp HCM đã tạo điều kiện cho chúng em thực hiện đề tài
tốt nghiệp này.
Chúng em xin chân thành cảm ơn thầy Lâm Quang Vũ đã tận tình hướng dẫn,
chỉ bảo chúng em trong suốt quá trình thực hiện đề tài này. Qua sự hướng dẫn của
thầy, chúng em không chỉ học được nhiều kiến thức bổ ích mà còn học ở thầy
phương pháp nghiên cứu khoa học, thái độ và tinh thần làm việc nghiêm túc.
Chúng em cũng xin chân thành cảm ơn các thầy cô trong khoa công nghệ
thông tin đã trang bị cho chúng em những kiến thức bổ ích trong suốt quá trình
học tập tại trường. Những kiến thức ấy đã giúp chúng em rất nhiều trong quá trình
làm đề tài và cũng là hành trang cho chúng em tự tin, vững bước vào đời.
Chúng con xin ghi nhớ công ơn của Ba, Mẹ. Ba mẹ luôn là niềm động viên
giúp chúng con vuợt qua khó khăn trong cuộc sống.
Chúng em xin cảm ơn các anh chị khóa trước đã truyền đạt các kinh nghiệm
cho chúng em trong quá trình thực hiện luận văn tốt nghiệp.
Mặc dù đã cố gắng hoàn thành luận văn với tất cả nỗ lực của bản thân, nhưng
luận văn chắc chắn không tránh khỏi những sai sót, chúng em rất mong quí thầy cô
tận tình chỉ bảo. Một lần nữa chúng em xin gửi đến tất cả mọi người lời cảm ơn
chân thành nhất.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 2
Giới thiệu tổng quan đề tài
Ngày nay, cùng với sự gia tăng quy mô tổ chức, công việc ngày càng phức tạp. Nhu
cầu sử dụng tin học trong tổ chức cũng gia tăng tương ứng. Tuy nhiên, hiện nay, tin học
chỉ được áp dụng để thực hiện các công việc thường ngày, việc quản lý quy trình thực
hiện các chuỗi công việc chưa được hỗ trợ. Từ đó xuất hiện nhu cầu sử dụng tin học để
quản lý có hiệu quả các quy trình nghiệp vụ.
Năm 1998, tổ chức WfMC được thành lập với mục đích nghiên cứu và ứng dụng tin
học vào việc quản lý các quy trình nghiệp vụ. WfMC mong muốn xây dựng được hệ
thống quản lý quy trình nghiệp vụ, gọi tắt là BPMS (Business Process Management
System), một BPMS gồm hai phần chính sau:
Ø Phần hỗ trợ mô hình hóa quy trình nghiệp cụ (để định nghĩa các quy trình
nghiệp vụ trong thực tế): thông thường gồm một ngôn ngữ dùng để đặc tả quy
trình nghiệp vụ và các công cụ trực quan hỗ trợ người dùng thiết kế các quy
trình này.
Ø Phần hỗ trợ vận hành quy trình nghiệp vụ: thường gồm một động cơ vận hành
quy trình giúp quản lý việc vận hành quy trình cùng với các công cụ giúp
người dùng tham gia vào quá trình thực hiện quy trình nghiệp vụ.
Tuy nhiên hướng phát triển BPMS chưa có độ trưởng thành cao, đa số các BPMS vẫn
còn dừng lại ở mức nghiên cứu. Về ngôn ngữ đặc tả đã có những bước phát triển, xuất
hiện một số ngôn ngữ đặc tả chuẩn như XPDL, BPML. Về công cụ thiết kế và hỗ trợ vận
hành vẫn còn nhiều hạn chế.
Trong luận văn cử nhân tin học về đề tài “Tìm hiểu XPDL và xây dựng ứng dụng
minh hoạ” của hai sinh viên Trần Đăng Khoa và Phạm Minh Tuấn (Sinh viên khoa công
nghệ thông tin, trường Đại học Khoa học Tự nhiên) đã xây dựng thành công công cụ mô
hình hóa eXPDL. Trong khuôn khổ luận văn này, chúng em dự định nghiên cứu và xây
dựng ứng dụng hỗ trợ vận hành quy trình nghiệp vụ dựa trên đặc tả do công cụ mô hình
hóa eXPDL phát sinh.
Với đề tài “Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp
vụ (BPML) trên môi trường WEB ”, chúng em hy vọng góp một phần nhỏ vào việc ứng
dụng tin học quản lý các quy trình nghiệp vụ.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 3
Mục lục
Danh mục các ký hiệu, các chữ viết tắt........................................................................ 6
Danh mục các hình vẽ..................................................................................................... 6
Danh mục các bảng ......................................................................................................... 7
Chương 1. Tổng quan.................................................................................................. 9
1.1. Tổng quan về quy trình nghiệp vụ:.................................................................... 9
1.1.1. Định nghĩa:...................................................................................................... 9
1.1.2. Các hướng nghiên cứu về tiến trình nghiệp vụ:............................................ 9
1.1.3. Cơ chế vận hành quy trình nghiệp vụ:.........................................................13
1.1.4. Ưu và khuyết điểm của vận hành quy trình nghiệp vụ bằng WEB: ..................14
1.2. Tổng quan về đề tài: ...........................................................................................14
1.2.1. Các yêu cầu của đề tài:.................................................................................14
1.2.2. Kết quả đạt được:..........................................................................................14
1.2.3. Bố cục luận văn: ...........................................................................................15
Chương 2. Giới thiệu một số ngôn ngữ mô hình hóa:..........................................16
2.1. Ngôn ngữ mô hình hóa XPDL: .........................................................................16
2.1.1. Lịch sử:..........................................................................................................17
2.1.2. Các đặc điểm chính của XPDL 2.0: ............................................................20
2.2. Ngôn ngữ mô hình hóa BPML:.........................................................................22
2.2.1. Khái niệm:.....................................................................................................22
2.2.2. Các thành phần chính:...........................................................................................23
2.2.2.1. Công việc (Acitivity) :..................................................................................23
2.2.2.2. Các loại công việc (Activity types): ............................................................23
2.2.2.3. Ngữ cảnh công việc (The activity context):................................................23
2.2.2.4. Công việc đơn giản và công việc phức hợp (simple and complex activity):
........................................................................................................................24
2.2.2.5. Thể hiện công việc (Activity instance): ......................................................25
2.2.3. Quy trình (Process):......................................................................................26
2.2.4. Ngữ cảnh (Context):.....................................................................................31
2.2.5. Thuộc tính (Property):..................................................................................32
2.2.6. Tín hiệu (Signal):..........................................................................................34
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 4
2.2.7. Kế hoạch (Schedule): ...................................................................................35
2.2.8. Ngoại lệ (Exception): ...................................................................................35
2.2.9. Giao tác (Transaction):.................................................................................38
2.2.10. Hàm (Function):............................................................................................40
2.3. Ngôn ngữ mô hình hóa eXPDL:........................................................................40
2.3.1. Giới thiệu: .....................................................................................................40
2.3.2. Những cải tiến của eXPDL so với XPDL và BPML:.................................41
2.3.2.8. Hỗ trợ mô tả các quy trình có những hoạt động theo mẫu cột mốc: .........43
Chương 3. Giới thiệu tổng quan hệ thống..............................................................44
3.1. Ngữ cảnh phát triển hệ thống:..........................................................................45
3.2. Yêu cầu hệ thống cần xây dựng:.......................................................................45
3.3. Ý nghĩa hệ thống:................................................................................................45
3.4. Công cụ thiết kế: .................................................................................................46
3.4.1. Giới thiệu về công cụ mô hình hóa quy trình nghiệp vụ :..........................46
3.4.2. Một số chỉnh sửa công cụ MyXPDL cho phù hợp với việc quản lý quy
trình nghiệp vụ...............................................................................................................47
3.5. Nguyên lý tổ chức hệ thống:..............................................................................47
3.6. Nguyên lý vận hành hệ thống:...........................................................................47
3.7. Quy trình tổng quan:..........................................................................................48
Chương 4. Phân tích yêu cầu hệ thống ...................................................................49
4.1. Các thành phần hỗ trợ trong luận văn:...........................................................49
4.2. Các chức năng chính:.........................................................................................50
4.2.1. Quản lý quy trình mẫu:.................................................................................50
4.2.2. Khởi tạo dự án: .............................................................................................50
4.2.3. Quản lý dự án:...............................................................................................51
4.2.4. Thực hiện dự án:...........................................................................................52
4.2.5. Các chức năng quản trị:................................................................................52
4.3. Mô hình Use Case: ..............................................................................................52
4.4. Đặc tả Actor:........................................................................................................53
4.5. Đặc tả Use Case:..................................................................................................53
Chương 5. Phân tích và thiết kế hệ thống ..............................................................72
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 5
5.1. Thiết kế dữ liệu: ..................................................................................................72
5.2. Một số lược đồ cơ sở dữ liệu: ............................................................................73
5.3. Thiết kế xử lý:......................................................................................................74
5.3.1. Sơ đồ lớp:......................................................................................................75
5.3.2. Một số mô hình chính:..................................................................................76
5.3.3. Một số luồng tuần tự chính trong ứng dụng:...............................................79
5.4. Thiết kế giao diện:...............................................................................................91
Chương 6. Thử nghiệm và đánh giá........................................................................93
6.1. Một số quy trình mẫu:........................................................................................93
6.1.1. Quy trình đăng ký học phần:................................................................................93
6.1.2. Quy trình chuẩn bị thi thực hành: ........................................................................94
6.1.3. Quy trình xét tốt nghiệp cuối khóa ......................................................................94
6.2. Cài đặt và triển khai hệ thống: .........................................................................95
6.3. Đánh giá: ..............................................................................................................95
Chương 7. Tổng kết và hướng phát triển...............................................................96
7.1. Những kết quả đạt được:...................................................................................97
7.1.1. Về mặt lý thuyết:...........................................................................................97
7.1.2. Về mặt ứng dụng: .........................................................................................97
7.2. Ưu và khuyết điểm của hệ thống:.....................................................................97
7.3. Hướng phát triển: ...............................................................................................98
7.4. Lời kết:..................................................................................................................99
Tài liệu tham khảo.........................................................................................................99
Phụ lục...........................................................................................................................100
Phụ lục 1: Mô tả các bảng cơ sở dữ liệu ..................................................................100
Phụ lục 2: Các màn hình giao diện chính................................................................117
Phụ lục 3: Quy trình đăng ký học phần...................................................................128
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 6
Danh mục các ký hiệu, các chữ viết tắt
WfMS Workflow Management System
WfMC Workflow Management Coalition
XPDL XML for Process Definition Language
BPML Business Process Modeling Language
BPEL Business Process Execution Language
BPMI Business Process Management Initiative
UML Unified Modelling Language
Danh mục các hình vẽ
Hình 1 Mô hình hóa tiến trình nghiệp vụ............................................................................... 9
Hình 2 Mô hình vận hình quy trình nghiệp vụ.....................................................................13
Hình 3Sơ đồ chuyển đổi trạng thái thể hiện công việc trong BPML .................................26
Hình 4 Nguyên lý tổ chức hệ thống......................................................................................47
Hình 5 Nguyên lý vận hành hệ thống...................................................................................48
Hình 6 Quy trình tổng quan ..................................................................................................49
Hình 7 Mô hình Use Case.....................................................................................................53
Hình 8 Mô hình cơ sở dữ liệu tổng quan..............................................................................73
Hình 9 Lược đồ cơ sở dữ liệu phân công thực hiện công việc ...........................................73
Hình 10 Lược đồ cơ sở dữ liệu tạo mới công việc ..............................................................73
Hình 11 Lược đồ cơ sở dữ liệu tạo mới sản phẩm...............................................................74
Hình 12 Sơ đồ lớp các đối tượng trong dự án......................................................................75
Hình 13 Sơ đồ lớp các đối tượng liên quan đến công việc .................................................76
Hình 14 Sơ đồ trạng thái công việc......................................................................................76
Hình 15 Quy trình hiển thị cây dự án...................................................................................78
Hình 16 Quy trình tìm kích hoạt công việc tiếp theo ..........................................................79
Hình 17 Lược đồ tuần tự tạo mới dự án theo mẫu...............................................................80
Hình 18 Lược đồ tuần tự kích hoạt dự án ............................................................................81
Hình 19 Lược đồ tuần tự tạo mới thể hiện công việc..........................................................82
Hình 20 Lược đồ tuần tự tìm công việc tiếp theo trong dự án............................................83
Hình 21 Lược đồ tuần tự xử lý endevent .............................................................................84
Hình 22 Lược đồ tuần tự xử lý Gateway..............................................................................85
Hình 23 Lược đồ tuần tự thay đổi thông tin công việc........................................................86
Hình 24 Lược đồ tuần tự hiển thị cây tiến trình...................................................................87
Hình 25 Lược đồ tuần tự upload sản phẩm..........................................................................88
Hình 26 Lược đồ tuần tự doawnload sản phẩm...................................................................88
Hình 27 Lược đồ tuần tự thêm mới đối tượng.....................................................................89
Hình 28 Lược đồ tuần tự luân chuyển sản phẩm.................................................................90
Hình 29 Lược đồ tuần tự truy xuất cơ sở dữ liệu.................................................................90
Hình 30 Menu chức năng hệ thống.......................................................................................91
Hình 31 Cây tiến trình dự án.................................................................................................91
Hình 32 Màn hình vận hành dự án .......................................................................................92
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 7
Hình 33 Màn hình báo cáo....................................................................................................93
Hình 34 Quy trình thi thực hành...........................................................................................94
Hình 35 Quy trình xét tốt nghiệp cuối khóa.........................................................................95
Hình 36 Màn hình thực hiện công việc..............................................................................117
Hình 37 Màn hình tạo mới dự án........................................................................................118
Hình 38 Màn hình quy định thời gian thực hiện công việc...............................................119
Hình 39 Màn hình phân công user thực hiện công việc....................................................120
Hình 40 Màn hình chính thêm công việc vào dự án..........................................................121
Hình 41 Màn hình thêm sản phẩm......................................................................................122
Hình 42 Màn hình thêm cổng điều khiển...........................................................................123
Hình 43 Màn hình thêm kiểu dữ liệu tự định nghĩa ..........................................................124
Hình 44 Màn hình thêm luồng điều khiển vào quy trình ..................................................125
Hình 45 Màn hình quản lý sản phẩm..................................................................................126
Hình 46 Màn hình xem thông tin công việc.......................................................................127
Hình 47 Màn hình báo cáo dự án........................................................................................128
Hình 48 Quy trình đăng ký học phần .................................................................................129
Hình 49 Quy trình chuẩn bị công tác giảng dạy................................................................129
Hình 50 Quy trình chuẩn bị đăng ký học phần lý thuyết ..................................................130
Hình 51 Quy trình đăng ký học phần lý thuyết..................................................................131
Hình 52 Quy trình chuẩn bị đăng ký thực hành.................................................................132
Hình 53 Quy trình đăng ký thực hành................................................................................133
Hình 54 Quy trình hiệu chỉnh học phần .............................................................................133
Hình 55 Quy trình đăng ký trả nợ.......................................................................................134
Hình 56 Quy trình tính toán và đóng học phí ....................................................................134
Hình 57 Các vai trò trong quy trình đăng ký học phần.....................................................135
Hình 58 Các sản phẩm trong quy trình đăng ký học phần................................................135
Danh mục các bảng
Bảng 1 Bản so sánh các loại khởi tạo quy trình...................................................................28
Bảng 2 Bảng mô tả các trạng thái công việc........................................................................77
Bảng 3 CSDL mô tả người dùng ........................................................................................100
Bảng 4 CSDL mô tả quyền trong hệ thống........................................................................101
Bảng 5 CSDL mô tả sự phân quyền trong hệ thống..........................................................101
Bảng 6 CSDL lưu trữ các mẫu mô hình hóa......................................................................101
Bảng 7 CSDL lưu trữ các tập tin ........................................................................................102
Bảng 8 CSDL lưu trữ dự án ................................................................................................102
Bảng 9 CSDL lưu trữ mô hình............................................................................................103
Bảng 10 CSDL lưu trữ vai trò.............................................................................................103
Bảng 11 CSDL lưu trữ tiến trình ........................................................................................104
Bảng 12 CSDL lưu trữ công việc .......................................................................................104
Bảng 13 CSDL lưu trữ trạng thái mở rộng của công việc ................................................105
Bảng 14 CSDL lưu trữ sản phẩm........................................................................................105
Bảng 15 CSDL lưu trữ trạng thái mỡ rộng của sản phẩm.................................................106
Bảng 16 CSDL lưu trữ thuộc tính sản phẩm......................................................................106
Bảng 17 CSDL lưu trữ các sản phẩm vào/ra của công việc..............................................106
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 8
Bảng 18 CSDL lưu trữ phân vai trò thực hiện công việc..................................................107
Bảng 19 CSDL lưu trữ kiểu dữ liệu tự định nghĩa ............................................................107
Bảng 20 CSDL lưu trữ giá trị các kiểu dữ liệu tự định nghĩa...........................................107
Bảng 21 CSDL lưu trữ luồng tuần tự .................................................................................108
Bảng 22 CSDL lưu trữ điều kiện........................................................................................108
Bảng 23 CSDL lưu trữ biểu thức điều kiện nguyên tố......................................................109
Bảng 24 CSDL lưu trữ cổng điều khiển.............................................................................109
Bảng 25 CSDL lưu trữ biến cố bắt đầu..............................................................................110
Bảng 26 CSDL lưu trữ biến cố trung gian .........................................................................111
Bảng 27 CSDL lưu trữ biến cố kết thúc.............................................................................112
Bảng 28 CSDL lưu trữ bộ định giờ ....................................................................................112
Bảng 29 CSDL lưu trữ thể hiện công việc.........................................................................113
Bảng 30 CSDL lưu vết quá trình thực hiện công việc.......................................................113
Bảng 31 CSDL lưu trữ thể hiện sản phẩm.........................................................................114
Bảng 32 CSDL lưu trữ thể hiện sản phẩm đầu vào của công việc...................................114
Bảng 33 CSDL lưu trữ thể hiện sản phẩm đầu ra của công việc......................................114
Bảng 34 CSDL lưu trữ thời gian thực hiện công việc.......................................................115
Bảng 35 CSDL lưu trữ phân công vai trò cho người dùng trong dự án...........................115
Bảng 36 CSDL lưu trữ câu hỏi ...........................................................................................116
Bảng 37 CSDL lưu trữ câu trả lời.......................................................................................116
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 9
Chương 1. Tổng quan
Trình bày tổng quan các vấn đề sẽ được nghiên cứu trong luận văn. Đồng thời
cung cấp một số định nghĩa, khái niệm ban đầu về các vấn đề liên quan đến luận
văn.
1.1.Tổng quan về quy trình nghiệp vụ:
1.1.1. Định nghĩa:
Là một tập hợp của một hoặc nhiều thủ tục hoặc công việc mà cùng chung mục
đích nghiệp vụ, thông thường trong ngữ cảnh của tổ chức định nghĩa các vai trò
chức năng và các mối quan hệ. 1
1.1.2. Các hướng nghiên cứu về tiến trình nghiệp vụ:
1.1.2.1. Về mô hình hóa tiến trình nghiệp vụ:
1.1.2.1.1. Mô hình hóa nghiệp vụ là gì?
Mô hình hóa tiến trình nghiệp vụ là việc định nghĩa các tiến trình nghiệp vụ
bằng cách sử dụng ngôn ngữ mô hình hóa tiến trình thích hợp. Hiện tại có rất
nhiều ngôn ngữ mô hình hóa tiến trình đang được nghiên cứu và phát triển nhưng
trong đó phổ biến nhất là 2 ngôn ngữ BPML và XPDL.
Hình 1 Mô hình hóa tiến trình nghiệp vụ2
Ngôn ngữ mô hình hóa tiến trình cần diễn đạt được các thành tố chính trong
tiến trình, thêm vào đó cũng cần diễn đạt được các thông tin phụ như tài nguyên,
việc phân tích, theo dõi, đo lường...Nhưng tại sao lại phải mô hình hóa tiến trình ?
1
Trang 3, Business Project Modeling Languages: Sorting through the alphabet soup, WfMC, 1999
2
Nghiên cứu và áp dụng các kỹ thuật hỗ trợ vận hành một số tiến trình phần mềm hửu dụng, luận văn thạc
sĩ ngành tin học, TP HCM 2003
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 10
1.1.2.1.2. Mục đích của việc mô hình hóa:
Việc mô hình hóa quy trình nghiệp vụ nhằm các mục đích sau đây:
Ø Mô tả quy trình
Cung cấp một hệ thống đặc tả mang tính hình thức để thống nhất cơ chế giao
tiếp trao đổi tài liệu giữa các tổ chức.
Ø Phân tích quy trình
Dựa vào mô hình để xem xét cải tiến quy trình, phân tích nhằm tìm ra các thiếu
sót và hạn chế của quy trình.
Ø Thực thi quy trình
Mô phỏng hay cung cấp một mức độ hỗ trợ xử lý tự động nhất định cho các
quy trình nghiệp vụ.
Cung cấp hướng dẫn chi tiết cho các đối tượng tham gia vào tiến trình: nhờ đó
quá trình phối hợp thực hiện dễ dàng hơn.
1.1.2.1.3. Một số đặc điểm của các ngôn ngữ mô hình hóa:
XPDL,BPML, BPEL:
BPML, BPEL và XPDL là những ngôn ngữ định nghĩa tiến trình dựa trên
XML. Chúng cung cấp một mô hình hình thức để biểu thị những tiến trình có thể
thực hiện, những tiến trình này thể hiện tất cả diện mạo của tiến trình nghiệp vụ
của 1 công ty. Chúng dựa vào những mô hình đặc tả khác nhau.
Mỗi mô hình đều xem hoạt động (activities) như những phần tử cơ bản của sự
định nghĩa tiến trình. Mỗi hoạt động (activity) lại là 1 bộ phận của tiến trình đặc
biệt nào đó. Mỗi cái đều có thể hiện dữ liệu liên quan riêng có thể được đề cập đến
cổng lôgic và những biểu thức (expresstion).
Trong khi BPML và BPEL được xem như những ngôn ngữ lập trình có cấu
trúc khối, cho phép đệ quy các khối thì XPDL được xem như một ngôn ngữ có cấu
trúc đồ thị với những khái niệm bổ sung để điều khiển những khối.
BPML tập trung trong việc định nghĩa những dịch vụ mạng. BPEL cũng tập
trung trong vấn đề này và hướng giải quyết cũng tương tự với BPML. Trong khi
đó XPDL tập trung trên những vấn liên quan đến phân phối các công việc.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 11
1.1.2.1.4. Các hướng nghiên cứu hiện nay:
Lĩnh vực mô hình hóa nghiệp vụ đang trong bước xây dựng và phát triển nên
có khá nhiều hướng nghiên cứu. Một số hướng tập trung vào việc đặc tả các
nghiệp vụ theo tính hướng sự kiện, một số khác lại xem xét mô hình nghiệp vụ
theo một lĩnh vực công nghiệp hay thương mại chuẩn. Trong đề tài này chúng em
xin được tập trung chủ yếu vào phương pháp mô hình hóa nghiệp vụ theo mô hình
luồng công việc (Workflow). Đây là mô hình xem xét quy trình nghiệp vụ tổng
quát dưới dạng các luồng thực thi có thứ tự, tập trung vào cơ chế mô tả nghiệp vụ
sao cho có thể đễ dàng lưu trữ và vận hành được trên máy tính. Mô hình
Workflow ra đời cách đây hơn 15 năm và hiện đang được xây dựng dần dần để
hoàn chỉnh về cấu trúc và ngữ nghĩa.
Một số hướng nghiên cứu chính về mô hình Workflow
ü Xây dựng các giao diện của mô hình Workflow
Để mô hình Workflow có khả năng hiểu được trong các hệ thống quản trị
luồng công việc, thì nó phải được cung cấp các giao diện ra “thế giới lập trình”
bên ngoài. Các giao diện này có thể được xem như các API chuẩn cung cấp khả
năng cho những thành phần bên ngoài có thể quản lý thông tin, giao tiếp, gọi các
hành vi ứng xử tương ứng trong mô hình.
ü Xây dựng hệ thống quản lý nghiệp vụ từ các mô hình Workflow :
Các hệ thống quản lý luồng công việc cung cấp khả năng đọc dữ liệu từ mô
hình đã được mô hình hóa, và cho phép vận hành, kiểm soát các mô hình này để tự
động hóa các nghiệp vụ thực tế. Hiện nay hướng nghiên cứu này đạt khá nhiều
thành tựu như : việc cung cấp các cơ chế động để hỗ trợ việc thực thi mô hình
workflow, giám sát ghi nhận các thông tin quản lý từ mô hình, cho phép phân
quyền và xử lý trên các thành phần thuộc mô hình khi thực thi.
ü Xây dựng cấu trúc mô hình luồng công việc ở mức meta :
Mô hình luồng công việc ở mức meta được định nghĩa ở mức trừu tượng hóa
cao nhất, nhằm cung cấp khả năng mở rộng mô hình luồng công việc ở mức tối đa.
Nó có ứng dụng rất mạnh trong việc chuyển đổi giữa các ngôn ngữ mô hình hóa
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 12
luồng công việc. Đồng thời từ mô hình này các ngôn ngữ mô hình hóa luồng công
việc có thể cung cấp những khả năng mở rộng khi cần thiết.
Đây là một trong những hướng nghiên cứu chính của các tổ chức mô hình hóa
lớn hiện nay. Điển hình là UML, WfMC, và BPMI. Tổ chức đang có những
nghiên cứu khá sâu về vấn đề này là WfMC. WfMC xây dựng một mô hình Meta
tương đối tốt và có cấu trúc tương tự với khá nhiều ngôn ngữ mô hình hóa khác.
Thông qua mô hình meta này có thể dễ dàng chuyển đổi giữa khá nhiều ngôn ngữ
mô hình hóa khác nhau thông qua việc ánh xạ về mô hình meta.
ü Xây dựng các ngôn ngữ mô hình hóa cho mô hình Workflow
Những nghiên cứu về ngôn ngữ mô hình hóa đi sâu vào việc phân tích khả
năng diễn đạt, xây dựng cú pháp, đặc tả các cấu trúc hỗ trợ cho các hệ quản trị
Workflow có thể phân tích và dễ dàng triển khai những mô hình xây dựng theo
các ngôn ngữ này.
Hiện tại có khá nhiều ngôn ngữ được xây dựng cho mô hình Workflow như :
XPDL, BPML, UML,… Tuy nhiên các ngôn ngữ này vẫn còn khá nhiều hạn chế
về khả năng diễn đạt cho các nghiệp vụ thực tế.
Bên cạnh đó còn có một số hướng tiếp cận khác đi sâu về lý thuyết các cơ chế
nghiệp vụ của mô hình luồng công việc : xây dựng phương pháp luận, tính toán
độ phức tạp, tính hiệu quả của các mô hình,...
1.1.2.2. Về vận hành tiến trình nghiệp vụ
1.1.2.2.1. Vận hành tiến trình nghiệp vụ là gì?
Vận hành tiến trình nghiệp vụ chính là quá trình xây dựng và phát triển nghiệp
vụ thực sự. Nếu một tiến trình được mô hình hóa hoặc định nghĩa trước đó bằng
các ngôn ngữ mô hình hóa tiến trình, việc vận hành tiến trình chính là việc trình
diễn lại những mô hình đã được mô hình hóa. Việc vận hành tiến trình được
những nhân viên tham gia phát triển tiến trình thực hiện thông qua các thao tác,
hành động
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 13
Hình 2 Mô hình vận hình quy trình nghiệp vụ3
1.1.2.2.2. Mục đích của vận hành tiến trình nghiệp vụ:
Tiến trình có thể được vận hành dưới sự kiểm soát và quản lý, hướng dẫn của
các động cơ tiến trình, đảm bảo các bước thực hiện đúng theo những mô hình tiến
trình đã được thiết kế, một số công việc đơn giản cũng có thể được thực hiện tự
động.
1.1.2.2.3. Hiện trạng:
Hiện nay cũng có nhiều cơ chế hỗ trợ vận hành một tiến trình phần mềm như:
hỗ trợ vận hành và quản lý tiến trình nghiệp vụ trên môi trường WEB, hỗ trợ vận
hành tiến trình bằng các hệ thống Agent hoặc các bằng các CaseTool, hỗ trợ vận
hành tập trung hoặc phân tán về mặt không gian, thời gian...Trên cơ sở khảo sát
một số cơ chế vận hành trong các môi trường PSEE hiện có Adele,Arcadia, ALF,
AP5, EPOS, Marvel, OIKOS, ProcessWeaver, SPADE,… chúng tôi thử nghiệm
xây dựng một Tool hỗ trợ việc vận hành tiến trình phần mềm được đặc tả bằng
ngôn ngữ eXPDL, hỗ trợ vận hành tiến trình nghiệp vụ trong một môi trường
WEB.
1.1.3. Cơ chế vận hành quy trình nghiệp vụ:
Quy trình nghiệp vụ được vận hành dựa vào một hệ thống quản lý luồng công
việc (Workflow Management System, gọi tắt là WfMS). WfMS xác định luồng
3
Nghiên cứu và áp dụng các kỹ thuật hỗ trợ vận hành một số tiến trình phần mềm hửu dụng, luận văn thạc
sĩ ngành tin học, TP HCM 2003
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 14
công việc đã được định nghĩa trước trong định nghĩa quy trình nghiệp vụ. WfMS
quản lý các tài nguyên (ứng dụng, dữ liệu, con người) cần thiết để đạt được mục
tiêu của công việc, cung cấp khả năng theo dõi và điều khiển quy trình 4
1.1.4. Ưu và khuyết điểm của vận hành quy trình nghiệp vụ bằng WEB:
Ø Ưu điểm:
- Hỗ trợ tính chất phân tán của tiến trình rất mạnh.
- Tính không đồng nhất của tiến trình: do việc giao tiếp đều thông qua Web
nên các thành viên chỉ cần có một Web Browser để giao tiếp với hệ thống,
hoàn toàn không lệ thuộc vào môi trường thực hiện.
- Hỗ trợ người dùng thực hiện công việc bất kỳ lúc nào
- Hỗ trợ làm việc nhóm thông qua mạng.
- Thực hiện liên kết với các quy trình nghiệp vụ khác trong nội bộ tổ chức.
Ø Khuyết điểm:
- Vấn đề bảo mật thông tin.
- Truyền thông chậm, đặc biệt việc kết nối cơ sở dữ liệu từ xa. Nếu dự án lớn
và đòi hỏi khối lượng thông tin trao đổi nhiều thì đây là khó khăn rất lớn.
1.2.Tổng quan về đề tài:
1.2.1. Các yêu cầu của đề tài:
Trong phạm vi nghiên cứu của luận văn chúng em dự kiến thực hiện một số
yêu cầu chủ yếu sau:
Ø Tìm hiểu về các ngôn ngữ mô hình hóa quy trình nghiệp vụ hiện nay.
Ø Tìm hiểu về vận hành quy trình nghiệp.
Ø Xây dựng ứng dụng hỗ trợ vận hành quy trình nghiệp vụ theo đặc tả của
một ngôn ngữ mô hình hóa.
1.2.2. Kết quả đạt được:
Ø Về mặt lý thuyết:
4
Micheal zur Muehlen và Rob Allen, Workflow classification Embeded & Autonomous Workflow
Management System, Workflow Management Coalition, 10/3/2000.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 15
o Kiến thức về vấn đề mô hình hóa và vận hành quy trình nghiệp vụ hiện nay.
Thực hiện so sánh đặc điểm của các ngôn ngữ mô hình hóa (trình bày trong
chương 1).
o Nguyên lý vận hành quy trình nghiệp vụ (trình bày trong chương 1)
o Kết quả nghiên cứu về ngôn ngữ mô hình hóa BPML (trình bày trong
chương 2).
o Kết quả nghiên cứu về ngôn ngữ mô hình hóa XPDL (trình bày trong
chương 2)
o Kết quả nghiên cứu về ngôn ngữ mô hình hóa eXPDL và công cụ mô hình
hóa MyXPDL (trình bày trong chương 2).
Ø Về mặt ứng dụng:
o Xây dựng ứng dụng hỗ trợ vận hành quy trình nghiệp vụ được đặc tả theo
ngôn ngữ eXPDL trên môi trường WEB. (trình bày trong chương 4,5).
o Ứng dụng hỗ trợ thiết kế và vận hành trực tiếp các quy trình đơn giản.
1.2.3. Bố cục luận văn:
Ø Chương 1: Tổng quan: Giới thiệu tổng quan về tiến trình nghiệp vụ, các ngôn
ngữ mô hình hóa và công cụ vận hành tiến trình nghiệp vụ hiện tại: các kết quả
đạt được, các vấn đề còn tồn động. Giới thiệu tổng quan về các yêu cầu và kết
quả đạt được của đề tài.
Ø Chương 2: Giới thiệu các ngôn ngữ mô hình hóa BPML phiên bản 1.0, XPDL
2.0, eXPDL.
Ø Chương 3: Giới thiệu tổng quan hệ thống: Giới thiệu các công cụ, ngôn ngữ
chính sử dụng, nguyên lý tổ chức hệ thống, một số quy trình tổng quan trong
hệ thống.
Ø Chương 4: Phân tích yêu cầu hệ thống: Bối cảnh ra đời, giới thiệu các chức
năng chính mà hệ thống cần phải xây dựng.
Ø Chương 5: Phân tích và thiết kế hệ thống: Trình bày về kỹ thuật thiết kế và xây
dựng ứng dụng iPMS.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 16
Ø Chương 6: Thử nghiệm và đánh giá: Trình bày về thử nghiệm vận hành một số
quy trình nghiệp vụ, đánh giá kết quả đạt được và quá trình cài đặt và triển khai
hệ thống.
Ø Chương 7: Tổng kết và hướng phát triển: Tổng kết lại kết quả đạt được của
luận văn, ưu và khuyết điểm, cuối cùng đưa ra các hướng phát triển trong
tương lai.
Chương 2. Giới thiệu một số ngôn ngữ mô hình hóa:
Trình bày kiến thức tổng quát về các ngôn ngữ mô hình hóa: XPDL, BPML,
eXPDL. Đặc biệt là eXPDL, vì đặc tả quy trình nghiệp vụ theo eXPDL là đầu vào
cho việc xây dựng ứng dụng vận hành quy trình nghiệp vụ iPMS (Trình bày trong
chương 4,5).
XPDL, BPML, BPEL là những ngôn ngữ mô hình tiến trình được dùng cho
việc thực hiện tiến trình. Chúng không được sử dụng trực tiếp trong các pha phân
tích thiết kế. Được thể hiện trong bộ cú pháp của XML, chúng còn có một khuôn
dạng trao đổi riêng cho chính mình. Không có cái nào trong số chúng đưa ra được
bộ ký hiệu đồ họa chuẩn.Từ định nghĩa của chúng ta có thể thấy chúng thì chưa
được thiết kế để bao trùm các cấp độ của sự phân tích dây chuyền và có tổ chức.
WFMC là tổ chức đầu tiên phát triển một chuẩn thực hiện. Một phiên bản
XML mới của ngôn ngữ WFMC được phát hành vào năm 2002 dưới tên XPDL.
BPMI đã đưa ra 1 ngôn ngữ cạnh tranh vào năm 2001 được gọi là Ngôn ngữ
mô hình hóa tiến trình nghiệp vụ (BPML). Sáng kiến này khởi động lại những
công việc về những ngôn ngữ thực hiện tiến trình và làm ngày càng có nhiều đóng
góp tiếp sau đó như, BPEL. BPEL (Business Process Execution Language) được
bắt đầu bởi Microsoft và IBM để đáp lại sáng kiến của BPMI. Kể từ đó, ngôn ngữ
này đã nhận sự hỗ trợ của đa số người trên thị trường, bao gồm cả BPMI. BPEL đã
trở thành là chuẩn thực tế cho việc thực hiện qui trình nghiệp vụ. Nó có nhiệm vụ
chính là đặc tả các dịch vụ mạng. Từ năm 2003, một tổ chức có tính tiêu chuẩn là
OASIS đã mua và có trách nhiệm cho sự phát triển của ngôn ngữ BPEL..
2.1.Ngôn ngữ mô hình hóa XPDL:
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 17
2.1.1. Lịch sử:
STT Tên phiên bản Tác giả Đặc điểm chính
1 Version 1.0 Roberta Norin
2 Version 1.01 Mike Marin và Robert
Shapiro
Bản thảo ban đầu, ánh xạ 2 chiều đến
BPMN 1.0
3 Version 1.02 Mike Marin và Robert
Shapiro
Tổ chức lại tài liệu và thêm những siêu
mô hình (meta model) mới
4 Version 1.03 Robert Shapiro - Thêm phần chú thích dưới dạng
Text trong phần siêu mô hình của
BPMN
- Cập nhật lại những bảng và mô
hình riêng, thêm những mục
(section) cho tất cả các thành phần.
5 Version 1.04 Robert Shapiro - Một số thay đổi nhỏ trong mô hình:
thứ tự các phần tử và một số phần
tử được tạo tùy chọn.
- Ví dụ về gateways và events.
6 Version 1.05 Robert Shapiro - Một phần nhỏ thay đổi trong mô
hình: ProcessType - thứ tự của các
thành phần được giữ lại để tương
thích với phiên bản XPDL 1.0
- Một số lỗi nhỏ về in ấn.
- Thuộc tính Instantiate được loại bỏ
khỏi TaskSend và TaskService. Tài
liệu TaskSend được chỉnh sửa
- Giải thích mệnh đề OTHERWISE
được chuyển thành SPLITS. Chỉnh
sửa tài liệu về Splits và Joins trong
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 18
phần mở rộng của BPMN. Thêm tài
liệu vào mục Route Activity
- Những gói liên quan được mở rộng
bao gồm cả phần khai báo kiểu
- Thêm thuộc tính External Package
Reference
- Thêm sự tham khảo vào gói ngoài
(external package) cho những người
tham gia nhận biết.
7 Version 1.06 Robert Shapiro - Bao gồm tất cả những soạn thảo
thay đổi từ Justin Brunt
(JBrunt@staffware.com)
8 Version 1.07 Robert Shapiro - Bao gồm những thay đổi dựa trên
những yêu cầu của phiên bản
XPDL 1.0
- Chỉ số tham số hình thức (Formal
parameter index) không còn dùng
nữa
- Thuộc tính AccessLevel của tiến
trình được tạo tùy chọn với mặc
định là PUBLIC
- Thuộc tính Additional của dòng
con (Subflow) cung cấp tên của
vùng dữ liệu (datafield) trong đó
chứa instantiation id
- Thuộc tính Execution cho các
luồng con được tùy chọn với mặc
định là SYNCHR
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 19
- Thuộc tính GraphConformance
trong lớp Conformance được tùy
chọn với mặc định là
NON_BLOCKED.
- Điều kiện chuyển tiếp có thể có ở
bất cứ 1 thành phần con nào của
biểu thức
- “Kiểu” thuộc tính Tool được loại
bỏ : nó không còn được cần nữa kể
từ khi không có sự khởi dựng trong
việc khai báo Thủ tục (Procedures)
hoặc bất kỳ những thông tin nào về
tham số hình thức hoặc chuyển
tham số. Vì vậy kể từ giờ tất cả các
Tools phải chuyển là Applications.
- DeadlineCondition được loại bỏ.
Phần tử DeadlineDuration được
giới thiệu
Ví dụ làm lại sử dụng ký hiệu của
BPMN
9 Version 1.08 Mike Marin - Tăng cường tài liệu và mô hình với
những mẫu thuộc tính mở rộng mới
- Tất cả các kiểu mô hình (schema
types) được thêm vào tiếp đầu ngữ
‘t’
- Thay đổi thuộc tính
ExternalPackage id thành Id để
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 20
thích hợp với tất cả những Ids khác
- Bình thường hóa thuộc Name và id
cho tất cả các thực thể
- Thay đổi Assignment để có được
thực thể Đích (Target) và Biểu thức
(Expression)
- Thay đổi TaskScript để được biểu
thức tùy ý
- Giới thiệu kiểu tExpressionType
và sử dụng cho tất cả các biểu thức
- Cập nhật thêm mô hình ở tất cả các
mục(section)
- Thêm 1 mục (section) vào phiên
bản 1.0 để tượng thích
10 Version 1.09 Robert Shapiro - Những lỗi in của phiên bản trước
đã được chỉnh sửa
- Thuộc tính toolId được thay thế
bằng ToolId
- Kiểu thuộc tính Target được thay
đổi thành NMTIKEN
- Tất cả giản đồ thêm vào được cập
nhật cho cách tiếp cận mới sử dụng
namespace.
11 Version 2.0 Robert Shapiro, Mike
Marin, Justin Brunt và
Sasa Bojanic
- Phiên bản mới nhất hiện nay.
2.1.2. Các đặc điểm chính của XPDL 2.0:
Chúng em xin giới thiệu sơ lược về phiên bản mới nhất của XPDL 2.0
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 21
Phiên bản XPDL 2.0 thì tương thích với phiên bản XPDL 1.0, và được dự
định sẽ sử dụng như một dạng tập tin (file) cho BPMN. Mục đích nguyên thủy của
XPDL là phải được duy trì và tăng cường bởi phiên bản thứ hai này của bảng đặc
tả.
XPDL và bảng đặc tả BPMN đều có chung 1 vấn đề về mô hình từ những viễn
cảnh khác nhau. XPDL cung cấp 1 định dạng file XML mà từ đó ta có thể sử dụng
để trao đổi giữa những mô hình tiến trình và những công cụ. BPMN cung cấp một
bộ ký hiệu đồ họa để làm dễ dàng cho việc truyền thông của con người như giữa
những người dùng nghiệp vụ và người dùng kỹ thuật hoặc của những quy trình
nghiệp vụ phức tạp.
Có một số thành phần trong BPMN phiên bản 1.0 nhưng không được thể hiện
trong XPDL phiên bản 1.0. Tất cả các thành phần này được hợp nhất lại trong
phiên bản XPDL 2.0.
Phiên bản XPDL 2.0 tương thích với phiên bản XPDL 1.0. Tuy nhiên có một
số ngoại lệ phụ. Phiên bản XPDL 2.0 có một tên miền (namespace) khác, và
những công cụ muốn tương thích với phiên bản XPDL 1.0 cần hiểu cả XPDL 1.0
và tên miền của XPDL 2.0
Những thành phần trong phiên bản XPDL 1.0 sau đây đã được loại bỏ trong
phiên bản 2.0
• Thành phần Automatic. Thay thế bởi thuộc tính Mode trong thành
phần StartMode và FinishMode
• Thuộc tính BlockId của thành phần BlockActivity. Thay thế bởi
ActivitySetId.
• Thành phần DeadlineCondition. Thay thế với DeadlineDuration.
• Thuộc tính Index trong thành phần FormalParameter. Vì
FormalParameters phải phù hợp với thứ tự trong khai báo, và như vậy
không cần thiết phải có thuộc tính Index
• Thành phần Manual. Thay thế bởi thuộc tính Mode trong thành
phần FinishMode và StartMode
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 22
• Thuộc tính Type của thành phần Tool. Vì những công cụ là những
ứng dụng và như vậy thuộc tính này không phải là cần thiết. ( những công
cụ không thể là những thủ tục – từ WPDL - vì XPDL không cung cấp bất
kỳ những cách định nghĩa tham số hình thức cho những thủ tục nào.)
• Thành phần Xpression bên trong thành phần Condition. Thay thế
bởi Expression
• Thứ tự trong một WorkflowProcess thay đổi từ DataFields,
Participants, và Applications thành Participants, Applications, và
DataFields.
2.2.Ngôn ngữ mô hình hóa BPML:
2.2.1. Khái niệm:
Ø Phiên bản mới nhất BPML 1.0.
Ø Đặc tả BPML cung cấp một mô hình trừu tượng và cấu trúc XML cho
việc diễn tả các quy trình nghiệp vụ có thể thực hiện và hỗ trợ các thực
thể.BPML định nghĩa một mô hình hình thức cho việc diễn tả các quy
trình nghiệp vụ một cách trừu tượng và có thể thực thi được mà nhắm
đến tất cả các khía cạnh của của quy trình nghiệp vụ phát triển, bao
gồm các công việc ở các mức độ phức tạp khác nhau, các giao tác và
cơ chế đền bù giao tác, sự quản lý dữ liệu, sự nhất quán, bắt lỗi và các
ngữ nghĩa toán học (operational semantics). BPML cũng cung cấp một
cấu trúc ngữ pháp dưới dạng lược đồ XML cho việc duy trì và trao đổi
định nghĩa giữa các hệ thống và công cụ mô hình hóa không thống
nhất nhau. BPML tự nó không định nghĩa bất kỳ một ngữ nghĩa ứng
dụng nào cụ thể ví dụ như các quy trình cụ thể hay các quy trình trong
một lĩnh vực cụ thể. Thay vào đó, nó định nghĩa một mô hình trừu
tượng và ngữ pháp cho việc diễn tả các quy trình chung. Điều này cho
phép BPML có thể được sử dụng cho nhiều mục đích khác nhau bao
gồm, nhưng không hạn chế, định nghĩa các quy trình nghiệp vụ phát
triển (enterprise business processes), định nghĩa các dịch vụ WEB
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 23
phức tạp, và định nghĩa sự tương tác giữa nhiều đối tác cung cấp
(multi - party) với nhau. 5
Ø Là một ngôn ngữ hình thức, độc lập với nền tảng (flatform)/ phần
mềm, do đó các công ty có thể diễn tả rõ ràng quy trình nghiệp vụ của
họ dưới dạng biểu mẫu có thể chỉnh sủa và thực hiện được. 6
Ø Có thể cho phép tất cả các đối tượng tham gia trong việc thiết kế, triển
khai, thực hiện, bảo trì và tối ưu hóa quy trình quản lý các công việc
nghiệp vụ trong mô hình hướng quy trình (process – oriented fashion)
trong khi vẫn giữ nguyên tính toàn vẹn trong liên kết quy trình nghiệp
vụ.
2.2.2. Các thành phần chính:
Trong khuôn khổ luận văn chúng em xin giới thiệu tổng quan một số thành
phần chính và quan trong trong BPML.
2.2.2.1. Công việc (Acitivity) :
Là thành phần thực hiện một chức năng cụ thể. Các công việc phức tạp là sự
kết hợp của các công việc khác và hướng trực tiếp đến sự thực hiện của chúng.
Một quy trình là một sự kết hợp của các công việc và có thể nó là một công việc
trong một quy trình khác lớn hơn. Ngữ nghĩa của một công việc được áp dụng cho
định nghĩa quy trình với một số ngoại lệ.
2.2.2.2. Các loại công việc (Activity types):
BPML định nghĩa tất cả 17 loại Activity và 3 loại Process. Tất cả các loại
Activity đều được xuất phát từ một loại cơ bản thông dụng (common base type)
sau. Các thuộc tính của loại cơ bản:
- name: Tên công việc
- documentation: Tài liệu mô tả công việc.
- other: Các thuộc tính khác định nghĩa cho 1 loại Activity cụ thể.
2.2.2.3. Ngữ cảnh công việc (The activity context):
5
Business Process Modeling Language, 13/11/2002, Assaf Arkin, Intalio
6
IEEE Workshop on advanced issues of e-commerce and web-based information system, 26-28/6/2002,
Newport Beach, California.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 24
Các công việc mà thực hiện trong cùng ngữ cảnh sử dụng ngữ cảnh để trao đổi
thông tin thông qua thuộc tính được định nghĩa trong ngữ cảnh. Ví dụ, một công
việc nhận vào một thông điệp thiết lập các giá trị cho một thuộc tính từ nội dung
của thông điệp. Một chuỗi tuần tự con các công việc sử dụng giá trị của thuộc tính
vừa được tạo để tạo và gửi một thông điệp ra.
Ngữ cảnh định nghĩa tính chất thông dụng cho tất cả các công việc trong ngữ
cảnh đó, ví dụ bắt các điều kiện và lỗi ngoại lệ, cung cấp các ngữ nghĩa nguyên tố,
định nghĩa rang buộc thời gian…
Các công việc và ngữ cảnh được xây dựng theo kiểu phân cấp. Ngữ cảnh hiện
tại của công việc này có thể là ngữ cảnh con của một vài ngữ cảnh khác, và cũng
có thể là “cha” của nhiều ngữ cảnh con khác.
2.2.2.4. Công việc đơn giản và công việc phức hợp (simple and
complex activity):
Ø Công việc đơn giản (Simple activity): là một con việc mà không thể phân
rã nhỏ hơn. Các loại công việc đơn giản được định nghĩa trong BPML:
o Action: Thực hiện hoặc gọi một hành động liên quan đến trao đổi các
thông điệp vào và ra.
o Assign: Gán một giá trị mới cho thuộc tính.
o Call: Tạo mới một quy trình và chờ cho quy trình hoàn tất.
o Compensate: Gọi thực hiện đền bù (compensation) cho các quy trình
đã được đặt tên.
o Delay: Diễn tả sự trôi đi của thời gian.
o Emty: Không làm gì hết.
o Fault: Phát ra lỗi trong ngữ cảnh hiện tại.
o Raise: Phát sinh một tín hiệu.
o Spawn: Khởi tạo một quy trình nhưng không chờ cho quy trình hoàn
tất.
o Synch: Đồng bộ hóa trên một tín hiệu
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 25
Ø Công việc phức hợp (Complex activity): Là sự kết hợp của một hoặc
nhiều công việc. Các công việc có thể là đơn giản hoặc phức hợp. Một công
việc phức hợp chức một tập một hoặc nhiều công việc và hướng trực tiếp
đến sự thực hiện của các công việc từ một trong các tập công việc này.
Các loại công việc phức hợp được định nghĩa trong BPML:
o All: Thực hiện các công việc song song.
o Choice: Thực hiện các công việc từ một trong tập các công việc, được
chọn thực hiện để đáp ứng cho một sự kiện.
o Foreach: Thực hiện các công việc một lần cho mỗi công việc trong
danh sách các công việc.
o Sequence: Thực hiện các công việc theo thứ tự tuần tự.
o Switch: Thực hiện các công việc từ một trong tập các công việc, được
chọn dựa vào giá trị đúng của điều kiện.
o Until: Thực hiện các công việc một hoặc nhiều lần dựa vào giá trị đúng
của điều kiện.
o While: Thực hiện các công việc không hoặc nhiều lần dựa vào giá trị
đúng của điều kiện.
2.2.2.5. Thể hiện công việc (Activity instance):
Sự định nghĩa công việc chỉ rõ một thể hiện công việc sẽ được thực hiện như
thế nào. Nhiều thể hiện của công việc đó có thể được thực hiện song song. Mặc dù
các thể hiện này được khởi tạo từ cùng một định nghĩa công việc, chúng là khác
nhau và không có liên quan trực tiếp với nhau.
Các trạng thái của một thể hiện công việc:
o Ready: Thể hiện công việc chưa thực hiện bất kỳ công việc nào. Ở trạng
thái này chúng ta có thể thực hiện bỏ qua công việc, khi đó nó chuyển qua
“Cancelled” (tức là công việc bị hủy bỏ).
o Active: Thể hiện công việc đang thực hiện công việc cụ thể theo định nghĩa
của nó.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 26
o Completing: Thể hiện công việc đã thực hiện tất cả các công việc mà nó
được định nghĩa, và bây giờ đang thực hiện tất cả các công việc được yêu
cầu để hoàn tất.
o Completed: Thể hiện công việc đã thực hiện tất cả các công việc được yêu
cầu để hoàn tất.
o Aborting: Thể hiện công việc không thể hoàn tất công việc được định
nghĩa và đang thực hiện tất cả các công việc được yêu cầu để bỏ qua (kết
thúc thất bại). Một số công việc mà thể hiện công việc phải thực hiện khi ở
trạng thái này: kiểm soát lỗi, kết thúc giao tác, thực hiện đền bù…
o Aborted: Thể hiện công việc đã thực hiện tất cả các công việc được yêu
cầu để bỏ qua.
Sơ đồ chuyển đổi trạng thái:
Hình 3Sơ đồ chuyển đổi trạng thái thể hiện công việc trong BPML
2.2.3. Quy trình (Process):
Quy trình là một loại công việc phức hợp mà định nghĩa trong nó ngữ cảnh cho
sự thực thi. Quy trình bao gồm nhiều công việc và hướng trực tiếp đến sự thực thi
của các công việc này. Quy trình có thể xem như là một công việc của một quy
trình lớn hơn. Quy trình thường được định nghĩa như một đơn vị có tính tái sử
dụng của công việc.
2.2.3.1. Sự khởi tạo quy trình:
Tuỳ theo định nghĩa quy trình mà chúng ta có ba cách khởi tạo sau:
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 27
Ø Activity: Các công việc loại call, compensate, và spawn được dùng để khởi
tạo định nghĩa quy trình mà có sự thể hiện loại activity. Các quy trình đang
khởi tạo và đã khởi tạo phải ở cùng ngữ cảnh hoặc các ngữ cảnh liên quan.
Định nghĩa quy trình đang khởi tạo phụ thuộc vào quy trình đã khởi tạo.
Hai quy trình này gắn kết chặt chẽ với nhau.
Ø Message: Một quy trình được khởi tạo để trả lời cho một thông điệp đầu
vào có thể được triển khai như một dịch vụ độc lập và có thể được khởi tạo
từ các tiến trình được triển khai trong các hệ thống khác hoặc trong các hệ
thống mạng. Các quy trình như vậy không gắn kết chặt chẽ với nhau và có
thể được triển khai và thực hiện trong môi trường không thống nhất suy ra
độc lập từ những quy trình khác. Tất cả các công việc phát sinh sự kiện
phải là “action activities”.
Ø Signal: Một quy trình được khởi tạo để đáp ứng cho việc phát sinh một tín
hiệu chỉ có thể được khởi tạo trong ngữ cảnh của đối tượng. Một quy trình
lưới (nested process) có thể đáp ứng một tín hiệu được phát sinh bởi các
công việc khác đang mà thực thi trong cùng ngữ cảnh. Hình thức khởi tạo
này chỉ được thực hiện đối với các quy trình được định nghĩa như một phần
của quy trình khác lớn hơn, ví dụ như nested processes và exception
processes. Tất cả các công việc phát sinh sự kiện phải là “synch activities”.
Bảng so sánh ba cách khởi tạo tiến trình: để tiện cho việc tham khảo chúng em
xin giữ nguyên bảng so sánh gốc bằng tiếng anh.
Instantation Definition Inputs Instantiating
activity
Activity No event Parameter Call, compensate,
spawn, schedule
Message Event activity=a
Action name=a
Receive
messageA Send messageA
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 28
messageA
Message Event activity=a b
Exclusive=true
Action name=a
Receive messgeA
Action name=b
Receive messageB
messageA or
messageB
Send messageA or
messageB
Event activity=a b
Exclusive=false
Action name=a
Receive messgeA
Action name=b
Receive messageB
messageA and
messageB
Send messageA
and messageB
Signal Event activity=a
Synch name=a
signalA condA
signalA Raise signalA
Signal Event activity=a b
Exclusive= true
Synch name=a
signalA condA
synch name=b
signalB condB
signalA or signalB Raise signalA or
signalB
Signal Event activity=a b
Exclusive= false
Synch name=a
signalA condA
synch name=b
signalB condB
signalA and
signalB
Raise signalA and
signalB
Bảng 1 Bản so sánh các loại khởi tạo quy trình
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 29
Nếu quy trình không được định nghĩa để tương tác với các công việc khác
đang thực hiện trong cùng ngữ cảnh, hoặc không được khởi tạo bởi quy trình khác
được định nghĩa trong cùng ngữ cảnh thì định nghĩa nên được khởi tạo theo loại
“message”.
2.2.3.2. Nested process:
Là sự định nghĩa quy trình được áp dụng cho một ngữ cảnh cho trước. Nested
process được dùng như một công việc trong một quy trình lớn hơn, để cục bộ hóa
sự định nghĩa quy trình trong ngữ cảnh mà nó được sử dụng, và để ràng buộc sự
khởi tạo và có giá trị của quy trình đối với ngữ cảnh cụ thể.
Nested process được khởi tạo trong ngữ cảnh mà nó được định nghĩa, có thể
truy cập các thuộc tính được định nghĩa trong ngữ cảnh đó, khởi tạo các quy trình
khác mà được định nghĩa trong ngữ cảnh đó, sử dụng tín hiệu để tương tác với các
công việc khác được định nghĩa trong cùng ngữ cảnh, và sử dụng các quy trình
ngoại lệ (exception processes) và bắt lỗi (fault handler) được định nghĩa bởi ngữ
cảnh.
Một “top – level process” là một định nghĩa quy trình mà không áp dụng cục
bộ cho bất kỳ ngữ cảnh cụ thể nào, nó được định nghĩa tại cấp độ gói (package
level) và không chia ngữ cảnh của nó với các “top – level process” khác. “Top –
level process” có thể được khởi tạo bất kỳ lúc nào. “Top – level process” không sử
dụng loại khởi tạo “signal activity”.
“Exception process” là một loại nested process đặc biệt. Khi “exception
process” được khởi tạo thì nó buộc công việc cha phải huỷ bỏ. Trong khi đó
“nested process” có thể được khởi tạo nhiều lần trong một ngữ cảnh đối tượng, chỉ
duy nhất một “exception process” được khởi tạo trong một ngữ cảnh đối tượng
cho trước.
“Compensation process” là một dạng “nested process” đặc biệt khác. Một
“compensation process” được khởi tạo sau khi thể hiện quy trình cha hoàn tất để
đền bù cho bất kỳ công việc nào mà nó đã thực hiện. “Compensation process” chỉ
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 30
được khởi tạo nếu thể hiện quy trình cha đã hoàn tất và có thể được khởi tạo duy
nhất một lần.
2.2.3.3. Định nghĩa quy trình (process definition):
Bao gồm các thuộc tính sau:
Name :tên quy trình.
Documentation: tài liệu mô tả quy trình.
Identity: Một hoặc nhiều tên định danh.
Persistent: thuộc tính sự liên tục.
Event: sự kiện khởi tạo.
Paranmeters: không có hoặc có nhiều tham số đầu vào.
Activity set: một tập các công việc.
Compensation: compensation process.
2.2.3.4. Tham số (parameter):
Bao gồm các thuộc tính sau:
Name: tên tham số.
Direction: input, output.
Requyre: true nế được yêu cầu, mặc định là false.
Code: mã số lỗi (chỉ dành cho output).
Thuộc tính direction xác định tham số là tham số vào hay tham số ra.
• Input: Khi một quy trình được khởi tạo, một giá trị đầu vào của tham số
được gắn cho một thuộc tính đã được đặt tên trong quy trình.
• Output: Khi một tiến trình hoàn thành hay bỏ dở (abort), giá trị của thuộc
tính thể hiện quy trình được sử dụng như một giá trị ra cho tham số.
2.2.3.5. Định danh quy trình (process indentity):
Định danh quy trình phục vụ như một phương tiện để xác định một thể hiện
quy trình cụ thể từ một tập hợp các thể hiện quy trình được khởi tạo từ cùng một
định nghĩa. Nó cũng xác định các thể hiện quy trình liên quan trong một tập hợp
các thể hiện được khởi tạo từ các định nghĩa khác nhau.
Cấu trúc định danh
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 31
Name: tên định danh
Properties: một hoặc nhiều thuộc tính.
Documentation: tài liệu mô tả.
2.2.4. Ngữ cảnh (Context):
Ngữ cảnh định nghĩa một môi trường cho việc thực thi các công việc liên quan.
Các công việc thực thi trong cùng ngữ cảnh sử dụng ngữ cảnh cho việc trao đổi
thông tin và phối hợp hoạt động. Một công việc có thể truy cập và sửa đổi giá trị
của thuộc tính được định nghĩa trong ngữ cảnh, khởi tạo một “nested process”,
phát và đồng bộ hóa tín hiệu…
Ngữ cảnh định nghĩa các thuộc tính thông dụng cho tất cả các công việc đang
thực hiện trong nó.Nó định nghĩa các điều kiện ngoại lệ và lỗi được quản lý như
thế nào, cung cấp các ngữ nghĩa nguyên tố cho việc truy xuất thuộc tính và trao
đổi thông điệp…
Một định nghĩa ngữ cảnh chứa các định nghĩa cục bộ (local definitions) cho
các thực thể mà chỉ có thể truy cập trong ngữ cảng đó. Định nghĩa ngữ cảnh có thể
được kế thừa.
Có hai loại ngữ cảnh: Current context và Process context.
• Current context: Là ngữ cảnh mà trong đó một công việc được định nghĩa,
bao gồm ngữ cảnh chứa định nghĩa công việc và tất cả các ngữ cảnh cha.
• Process context: Là ngữ cảnh được dùng chung cho tất cả các công việc
thực hiện như một phần của định nghĩa quy trình. Ngữ cảnh này phục vụ
như là ngữ cảnh cha cho ngữ cảnh của nested và exception process.
Ngữ cảnh tiến trình của “top – level process” được gọi là root context, vì nó
không là ngữ cảnh con của bất kỳ ngữ cảnh cha nào.
Các thể hiện ngữ cảnh được khởi tạo từ cùng định nghĩa ngữ cảnh là khác nhau
và không dùng chung bất kỳ thể hiện nào của định nghĩa cục bộ. Đặc biệt, hai thể
hiện “top – level process” không dùng chung bất kỳ thể hiện thuộc tính , thể hiện
công việc và thể hiện của “nested process”.
2.2.4.1. Định nghĩa cục bộ (Local definition): bao gồm 6 loại sau:
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 32
• Exception: Định nghĩa một “exception process” cục bộ đối với ngữ cảnh
để đảm bảo các quy trình chỉ đáp ứng các sự kiện từ thể hiện của ngữ cảnh
đó, và tất cả các sự kiện dừng tất cả các công việc đang thực hiện trong thể
hiện ngữ cảnh đó.
• Process: Định nghĩa một quy trình cục bộ đối với ngữ cảnh để đảm bảo các
quy trình chỉ có thể được khởi tạo trong thể hiện của ngữ cảnh đó.
• Property: Định nghĩa một thuộc tính cục bộ trong ngữ cảnh để đảm bảo
giá trị của thể hiện thuộc tính chỉ có thể được truy cập và sửa đổi từ các
công việc đang thực hiện trong thể hiện của ngữ cảnh đó. Nó được dùng để
giới hạn quyền truy cập đối với thuộc tính.
• Schedule: Định nghĩa một kế hoạch cục bộ trong ngữ cảnh để đảm bảo kế
hoạch sẽ phát sinh các sự kiện thời gian trong khi các công việc đang thực
hiện trong thể hiện của ngữ cảnh.
• Signal: Định nghĩa một tín hiệu cục bộ trong ngữ cảnh để đảm bảo tín hiệu
chỉ có thể được phát sinh và được đồng bộ hóa bởi các công việc đang thực
hiện trong thể hiện của ngữ cảnh.
2.2.4.2. Định nghĩa ngữ cảnh (Context definition): bao gồm các thuộc
tính sau:
Atomic: True nếu là ngữ cảnh nguyên tố.
Exception: Không hoặc nhiều “exception process”.
Processes: Không hoặc nhiều định nghĩa quy trình.
Properties: Không hoặc nhiều định nghĩa thuộc tính.
Schedule: Không hoặc nhiều định nghĩa kế hoạch.
Signals: Không hoặc nhiều định nghĩa tín hiệu.
Faults: Không hoặc nhiều bộ quản lý lỗi.
2.2.5. Thuộc tính (Property):
Một định nghĩa thuộc tính khai báo tên, kiểu và cung cấp một giá trị khởi tạo
ban đầu (có thể không có). Một thể hiện thuộc tính giữ giá trị của thuộc tính.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 33
Một thể hiện ngữ cảnh không thể có hai thể hiện thuộc tính cùng tên. Hai thể
hiện thuộc tính cùng tên là khác nhau nếu chúng thuộc hai thể hiện ngữ cảnh khác
nhau.
Thể hiện thuộc tính được khởi tạo khi một trong các điều sau xẩy ra:
• Định nghĩa thuộc tính khởi gán giá trị ban đầu khi thể hiện ngữ cảnh được
tạo.
• Định nghĩa thuộc tính được xác định bởi một thuộc tính tham chiếu
(reference attribute) và một thể hiện thuộc tính với cùng định nghĩa tồn tại
trong thể hiện ngữ cảnh cha khi một thể hiện ngữ cảnh được tạo. Thể hiện
thuộc tính sẽ có cùng giá trị với thể hiện thuộc tính mà nó được tham chiếu.
• Một giá trị được gán đầu tiên từ bất kỳ công việc nào thực hiện trong thể
hiện của ngữ cảnh đó hoặc trong một ngữ cảnh con.
Một công việc chỉ có thể truy cập giá trị của thuộc tính khi đã có thể hiện thuộc
tính.
2.2.5.1. Các loại thuộc tính:
• Đơn giản: Loại thuộc tính chỉ có thể là một trong các loại đơn giản được
định nghĩa bởi lược đồ XML hoặc một loại được xuất phát từ nó. Giá trị
thuộc tính là 1 giá trị nguyên tố của loại đó hoặc xuất phát từ loại đó và
cũng có thể là rỗng.
• Phức hợp: Loại thuộc tính là kiểu phức hợp được định nghĩa bởi lược đồ
XML. Giá trị thuộc tính cũng là giá trị phức hợp. Giá trị thuộc tính chỉ có
thể là rỗng nếu định nghĩa kiểu phức hợp cho phép một trình tự rỗng.
• Thành phần (element): Thuộc tính là một thành phần được định nghĩa bởi
sự khai báo lược đồ XML . Giá trị không được phép rỗng.
2.2.5.2. Thuộc tính cố định và thuộc tính ẩn:
Giá trị của thể hiện thuộc tính cố định không thể bị sửa đổi. Khi nó được khởi
tạo, giá trị của nó trở thành hằng. Nếu định nghĩa thuộc tính cố định không gán giá
trị ban đầu, một giá trị được gán cho thuộc tính khi nó khởi tạo thể hiện.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 34
2.2.5.3. Biểu thức điều kiện (Expression):
Biểu thức điều kiện dùng để thiết lập giá trị động cho thuộc tính và có thể được
dẫn xuất từ giá trị của một hoặc nhiều thuộc tính.
2.2.5.4. Định nghĩa thuộc tính (Property definition):
Bao gồm các thuộc tính sau:
Name
Type
Value
Fixed
Documentation
Định nghĩa thuộc tính được tham chiếu:
Reference: tên định nghĩa được tham chiếu.
Value
Fixed
Documentation
2.2.6. Tín hiệu (Signal):
Tín hiệu được dùng để phối hợp sự thực hiện của các công việc trong cùng ngữ
cảnh
“Raise activity” phát tín hiệu bằng cách khởi tạo một thể hiện tín hiệu. “Synch
activity” đồng bộ hóa trên tin hiệu bằng cách chờ cho tín hiệu được phát sinh, và
sau đó giảm tín hiệu bằng cách loại bỏ một thể hiện tín hiệu. “Raise activity” và
“Synch activity” có thể trao đổi thông tin bằng các truyền giá trị thông qua thể hiện
tín hiệu.
Thể hiện tín hiệu được tạo trong thể hiện của ngữ cảnh chứa định nghĩa của nó.
Định nghĩa tín hiệu:
Name: Tên tín hiệu.
Documentation: Tài liệu mô tả.
Type: loại giá trị.
Multi: đa tín hiệu hay đơn tín hiệu.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 35
Source: nguồn của tín hiệu như một thuộc tính.
Value: Giá trị ban đầu.
2.2.7. Kế hoạch (Schedule):
Đại diện cho một chuỗi các sự kiện thời gian. Nếu sự kiện thời gian được tính
toán từ các thể hiện thuộc tính thì sự kiện thời gian có thể đươc thay đổi bằng cách
gán giá trị mới cho các thuộc tính này. Kế hoạch có thể được sửa đổi, hủy bỏ hoặc
làm phát sinh một sự kiện thời gian khác. Kế hoạch cũng có thể đại diện cho một
rang buộc về thời gian bằng cách phát sinh một lỗi buộc các công việc hoặc quy
trình liên quan phải bỏ dở.
Thể hiện kế hoạch được tạo từ sự định nghĩa kế hoạch. Thể hiện kế hoạch theo
dấu sự kiện thời gian tiếp theo và kích hoạt tại một thời gian xác định.
Thể hiện kế hoạch tính toán sự kiện thời gian tiếp theo dựa vào các đặc điểm
sau:
• Giá trị của thể hiện thuộc tính cung cấp sự kiện thời gian tiếp theo.
• Giá trị của thuộc tính duration đựơc thêm vào thể hiện thời gian tại thời
điểm kế hoạch được tạo.
• Giá trị của thuộc tính repeat được thêm vào thể hiện thời gian hiện hành
Định nghĩa kế hoạch:
Name
Documentation
Process: Tên quy trình.
Code: Mã số lỗi.
Duration
Instant
Reapeat
Other: Các cơ chế khác.
2.2.8. Ngoại lệ (Exception):
Một quy trình phải có khả năng phát hiện các điều kiện ngoại lệ nếu chúng
được giao tiếp bởi các quy trình khác sử dụng các thông điệp, báo hiệu bằng tín
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 36
hiệu, hoặc là kết quả của các công việc mà thất bại để hoàn tất. Quy trình tác động
trở lại các điều kiện ngoại lệ này sử dụng “exception process” và bộ kiểm soát lỗi.
2.2.8.1. Quy trình ngoại lệ (Exception process):
Các biến cố ngoại lệ có thể xẩy ra làm cho các công việc và quy trình không
thể hoàn tất thành công. Các biến cố ngoại lệ có thể được phát sinh từ các thông
điệp vào, yêu cầu quy trình phải kết thúc tất cả các công việc và hoàn tất ngay tức
thì, hoặc từ một nguồn phát sinh một tín hiệu thông báo điều kiện ngoại lệ.
Exception process chỉ được khởi tạo một lần trong một thể hiện ngữ cảnh và chỉ
đáp ứng cho một thông điệp vào hoặc một tín hiệu được phát sinh. Khi nó được
khởi tạo tất cả các công việc đang thực hiện trong ngữ cảnh đó bị kết thúc.
Exception process cắt ngang sự thực hiện của một công việc cha và buộc nó
phải bỏ dở. Công việc định nghĩa các “exception process” cắt ngang nó trong một
ngữ cảnh con. Sự cắt ngang chỉ có thể xảy ra khi công việc đang ở trạng thái
“active”
Định nghĩa “exception process” giống như định nghĩa “nested process”, với
một số khác biệt sau:
• “Exception process” không hỗ trợ kiểu khởi tạo “activity”, và không thể
đuợc khởi tạo từ các loại công việc “call”,”spawn”. Thuộc tính tham số
không được hỗ trợ.
• Bởi vì chỉ có một “Exception process” được khởi tạo trong một thể hiện
ngữ cảnh, nên nó có cùng định danh như quy trình cha. Thuộc tính
“identity” không được hỗ trợ.
• “Exception process” không được đền bù. Thuộc tính “compensation” không
được hỗ trợ.
Một thể hiện “Exception process” tồn tại nếu thể hiện quy trình cha tồn tại.
Thuộc tính “persistent” không được hỗ trợ.
2.2.8.2. Lỗi và kiểm soát lỗi (Fault và Fault handler):
Một lỗi là một điều kiện sai mà ngăn một công việc kết thúc thành công, hoặc
phục hồi từ một lỗi khác.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 37
Các công việc phức hợp có thể phục hồi lại từ một lỗi bằng cách thực hiện
kiểm soát lỗi (Fault handler). Kiểm soát lỗi được thực hiện sau “exception
process”. Điều này cho phép các công việc cha bỏ dở mà không để lại lỗi, thậm
chí khi “exception process” để lại lỗi.
Khi tất cả các công việc trong thể hiện ngữ cảnh kết thúc hoặc bỏ dở, một kiểm
soát lỗi được thực hiện. Các kiểm soát lỗi là một phần của định nghĩa ngữ cảnh, và
thực hiện trong thể hiện ngữ cảnh nơi mà lỗi được phát sinh. Sau khi thực hiện
xong kiểm soát lỗi, công việc cha chuyển qua trạng thái “aborted”.
Cấu trúc kiểm soát lỗi:
Name: Tên kiểm soát lỗi.
Code: một hoặc nhiều mã lỗi.
Documentation: Tài liệu mô tả.
Activities: một hoặc nhiều công việc (có sắp thứ tự).
2.2.8.3. Chấm dứt công việc (Terminating activity):
Một công việc có thể chấm dứt mà khộng ảnh hưởng đến các đối tượng khác
chỉ khi nó đang ở trạng thái “ready”. Thực chất là công việc bị hủy bỏ (cancelled).
Nếu công việc ở bất kỳ trạng thái nào khác thì nó không thể chấm dứt và phải kết
thúc hoặc bỏ dở. Một thể hiện công việc chấm dứt bằng các chuyển qua trạng thái
“aborting”, sau đó chuyển qua “aborted”.
Các công việc phức hợp có thể chấm dứt khi đang ở trạng thái “ready” hoặc
“active”. Ở trạng thái “active” chúng thực hiện các công việc được định nghĩa
trong ngữ cảnh con và chấm dứt bằng cách phát ra lỗi “bpml:terminate” trong thể
hiện ngữ cảnh đó. Kết quả là công việc phức hợp chuyển qua trạng thái “aborting”
và kết thúc hoặc hoàn thành tất cả các công việc đang thực hiện. Sau đó công việc
phức hợp thực hiện một kiểm soát lỗi, và cuối cùng chuyển qua trạng thái
“aborted”.
2.2.8.4. Đền bù (Compensation):
Khi một công việc gặp một điều kiện ngoại lệ ngăn chúng hoàn thành thì nên
trả lại những gì nó đã làm trước khi bỏ dở. Nếu quy trình đã chiếm giữ các tài
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 38
nguyên được yêu cầu để hoàn thành thì chúng nên giải phóng các tài nguyên đó để
các quy trình khác có thể sử dụng. Nếu quy trình đã thực hiện công việc có khả
năng đảo ngược thì nên đảo ngược lại công việc đó.
Đền bù là sự phục hồi lại tất cả ảnh hưởng của một công việc đã hoàn thành.
Một quy trình đền bù (Compensation process) là một quy trình được định
nghĩa như một phần của quy trình cha với mục đích thực hiện sự đền bù. Quy trình
đền bù chỉ có thể được khởi tạo khi thể hiện quy trình cha hoàn tất. Nếu quy trình
cha thất bại để hoàn tất thì dùng kiểm soát lỗi để phục hồi và đền bù. Trong kiểm
soát lỗi có thể chứa các quy trình đền bù của bất kỳ quy trình nào mà nó được khởi
tạo.
Định nghĩa quy trình đền bù giống định nghĩa quy trình lưới (nested process),
với một số khác biệt sau:
• Thêm hai thuộc tính “instant”, “duration”.
• Vì chỉ có một quy trình đền bù có thể được tạo thể hiện từ một thể hiện quy
trình cha, nên nó có cùng định danh như quy trình cha. Thuộc tính
“indentity” không được hỗ trợ.
• Quy trình đền bù không thể được đền bù. Thuộc tính “compensation”
không được hỗ trợ.
• Một thể hiện quy trình đền bù tồn tại nếu thể hiện quy trình cha tồn tại.
Thuộc tính “persistent” không được hỗ trợ.
2.2.9. Giao tác (Transaction):
2.2.9.1. Công việc nguyên tố (Atomic activity):
Một công việc nguyên tố là một công việc thực hiện như một đơn vị công việc
riêng lẻ. Một công việc nguyên tố đảm bảo rằng các công việc khác sẽ không thấy
kết quả từng phần trong khi công việc đang thực hiện, chỉ thấy được kết quả sau
khi công việc thực hiện xong.
Hầu hết các công việc đơn là công việc nguyên tố. Một số ngoại lệ là loại công
việc: call, compensate, action khi thuộc tính “activities” được xác định.
2.2.9.2. Persistent process:
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 39
Một công việc thực hiện qua một khoảng thời gian dài phải thực hiện trong
môi trường phục hồi sự cố (do các điều kiện ngoại cảnh ví dụ : hệ thống bị dừng
do mất điện…). Khi hệ thống bị dừng xẩy ra, thì công việc phải cho phép thực
hiện tiếp ở trạng thái đã tồn tại rồi (thực hiện tiếp công việc mà công việc đã làm
rồi trước khi sự cố xẩy ra). “Persistence” được định nghĩa như là khả năng gọi lại
một thể hiện quy trình đã tồn tại sau khi hệ thống bị dừng.
Một thể hiện “persistent process” được định nghĩa như là trạng thái của thể
hiện quy trình tồn tại sau sự thực hiện của các công việc nguyên tố. Thể hiện quy
trình phải gọi lại tất cả các công việc nguyên tố đã hoàn thành hay bỏ dở.
Sự thực thi BPML cung cấp môi trường phục hồi sự cố cho việc thực hiện các
quy trình bằng cách thực hiện hai cơ chế phục hồi “backward” và “forward”.
• Forward: Là khả năng gọi các thể hiện quy trình sau khi hệ thống thất bại,
đưa chúng trở về trạng thái tồn tại và tiếp tục thực hiện chúng.
• Backward: Là khả năng hủy bỏ một công việc nguyên tố mà chưa hoàn
thành hoặc bỏ dở trước khi hệ thống xảy ra sự cố.
2.2.9.3. Giao tác (Transaction):
Các phương thức giao tác cho phép hai quy trình tương tác với nhau thông qua
trao đổi thông điệp để phối hợp cùng hoàn thành công việc của chúng. Có hai loại
giao tác: atomic transaction, open nested transaction.
• Atomic transaction: Cho phép hai hệ thống thực hiện các công việc
nguyên tố trong một ngữ cảnh nguyên tố dùng chung, do đó cả hai công việc hoàn
thành và bỏ dở cùng nhau. Đầu ra của giao tác là sự kết hợp của tất cả các đầu ra
của tất cả các công việc thực hiện như một phần của ngữ cảnh của giao tác. Đầu ra
của giao tác thành công nếu tất cả các đầu ra của các công việc thành công, thất
bại nếu bất kỳ công việc nào không thể kết thúc hoặc trạng thái của công việc đó
không thể xác định được.
Ngữ cảnh giao tác được xác định trước khi thực hiện công việc đầu tiên trong
giao tác. Ngữ cảnh giao tác được kết nối như một phần của trao đổi thông điệp để
chỉ rằng các công việc phải thực hiện như một phần của giao tác đó.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 40
Một công việc nguyên tố thực hiện trong một ngữ cảnh giao tác không hoàn
thành cho đến khi các đầu ra của giao tác được xác định. Chúng vẫn giữ nguyên
trạng thái “completing”, chờ một giải pháp cho đầu ra của giao tác. Sau khi đầu ra
giao tác được xác định (thành công) thì công việc chuyển qua trạng thái
“completed”.
• Open nested transaction: Các công việc không phải nguyên tố cần phối
hợp với nhau sử dụng “open nested transaction”. Trong khi “atomic transaction”
được sủ dụng cho các giao tác ngắn, thì “open nested transaction” thích hợp cho cả
giao tác ngắn và dài. Một “open nested transaction” có thể bao gồm các công việc
thực hiện tương tác yêu cầu/ trả lời (request/response) sử dụng các hành động
đồng bộ hóa, và các công việc thực hiện qua một thời gian dài.
Một “open nested transaction” có thể bao gồm sự thực thi của một hoặc nhiều
“open nested transaction” và “atomic transaction”.
Các công việc không là nguyên tố giao tiếp với ngữ cảnh giao tác và đầu ra
giao tác giống như cách giao tiếp của công việc nguyên tố.
2.2.10.Hàm (Function):
Đặc tả BPML cung cấp một số hàm cần thiết cho việc định nghĩa quy trình có
khả năng thực thi. Một định nghĩa quy trình có thể sử dụng bất kỳ hàm nào trong
mô tả quy trình.
Cấu trúc chung:
returnType funcName(paramType paramName,…)
BPML phân chia làm hai loại hàm chính:
• Generic: Tập hợp các hàm dùng để tương tác với các thông tin tổng quát
như: thời gian, định danh…
• Instances: Dùng để tương tác với các thông tin của thể hiện công việc
trong quá trình thực hiện của công việc, ví dụ: thông tin trạng thái.
2.3.Ngôn ngữ mô hình hóa eXPDL:
2.3.1. Giới thiệu:
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 41
Trên cơ sở nghiên cứu hai ngôn ngữ mô hình hóa hiện nay là XPDL, BPML,
hai sinh viên Trần Đăng Khoa và Phạm Minh Tuấn, sinh viên trường Đại học
Khoa học Tự nhiên, đã nghiên cứu và đề xuất ngôn ngữ mô hình hóa eXPDL. 7
eXPDL quan tâm đặc biệt đến việc mô hình hóa các quy trình trong thực tế,
không quan tâm đến “siêu mô hình” (meta - model). Ngôn ngữ XPDL là ngôn ngữ
mô hình hóa hướng luồng công việc với khả năng vận hành và tính chuẩn hóa
luồng công việc rất cao. Ngôn ngữ BPML là ngôn ngữ xem xét quy trình dưới
dạng cấu trúc điều khiển, nó có tính biểu đạt và tính hình thức rất cao. eXPDL là
sự kết hợp của XPDL và BPML. Tuy nhiên eXPDL được xây dựng chủ yếu dựa
vào XPDL có kết hợp bổ sung các khái niệm mới của BPML để tăng tính diễn đạt.
2.3.2. Những cải tiến của eXPDL so với XPDL và BPML:
Phần này đã được trình bày chi tiết trong luận văn cử nhân tin học của Trần
Đăng Khoa và Phạm Minh Tuấn. Dưới đây chúng em xin tóm tắt lại một số ý
chính:
2.3.2.1. Loại bỏ sự nhập nhằng giữa các hoạt động và các cổng điều
khiển:
• XPDL: Đồng nhất các cổng điều khiển với các hoạt động.
• BPML: Các cổng điều khiển không được định nghĩa, mà việc điều
khiển các luồng công việc thông qua các hoạt động chuẩn (được định
nghĩa như các khối cấu trúc (while,switch,all, choice,…).
• eXPDL: Định nghĩa thêm đối tượng Gateway. Gateway làm nhiệm vụ
thể hiện ngữ nghĩa đồng bộ hóa giữa các luồng công việc trong quy
trình. Có thể chia Gateway thành 4 loại cơ bản : AND, OR, XOR,
COMPLEX.
2.3.2.2. Hỗ trợ mô tả các tiến trình thuộc loại Ad – Hoc:
Tiến trình loại AdHoc là các tiến trình bên trong nó các hoạt động không được
quy định thứ tự thực hiện . Tất cả các hoạt động này sẽ được thực hiện tùy ý cho
7
Tìm hiểu XPDL và xây dựng ứng dụng minh hoạ,Trần Đăng Khoa và Phạm Minh Tuấn, Luận văn cử
nhân tin học, Tp.HCM 2004.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB
Trang 42
đến khi tất cả các hoạt động đều được hoàn thành. - chỉ có ràng buộc duy nhất là
không có 2 hoạt động nào được tiến hành song song cùng lúc. Đây là tiến trình
thuộc về mẫu “đường vào song song” (Interleaved Parallel Routing).
• XPDL: Định nghĩa hai loại cổng là Split và Join nhưng không đủ ngữ
nghĩa thể hiện cho Ad - Học.
• BPML: Không có cơ chế trực tiếp hỗ trợ mẫu này.
• eXPDL: Cung cấp thuộc tính để chỉ ra tiến trình thuộc loại Ad - Học.
2.3.2.3. Hỗ trợ mô tả các hoạt động đa thể hiện:
Có 4 mẫu hoạt động đa thể hiện:
• Mẫu đa thể hiện không đồng bộ
• Mẫu đa thể hiện biết thông tin ở thời điểm thiết kế
• Mẫu đa thể hiện biết trước thông tin ở thời điểm thực thi
• Mẫu đa thể hiện không biết trước thông tin.
• XPDL: chỉ thể hiện được mẫu đa thể hiện không đồng bộ và mẫu đa thể
hiện biết thông tin ở thời điểm thiết kế.
• BPML: hỗ trợ được tất cả các mẫu đa thể hiện thông qua việc sử dụng
các hoạt động điều khiển.
• eXPDL: Cung cấp các thuộc tính hỗ trợ cho việc thể hiện của mẫu đa
thể hiện trong các tác vụ và các tiến trình con.
2.3.2.4. Bổ sung các sự kiện vào mô hình nghiệp vụ:
• XPDL: Không hỗ trợ cơ chế đón bắt sự kiện giữa các hoạt động thành
phần với nhau.
• BPML: cho phép mô tả cơ chế này ở mức độ tương đối thông qua các
tín hiệu (signal).
• eXPDL: Cung cấp 3 loại sự kiện chính:
- Các sự kiện kích hoạt tiến trình : Start Events
- Các sự kiện kết thúc tiến trình : End Events
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web
Van hanh tien trinh nghiep vu tren moi truong web

Mais conteúdo relacionado

Mais procurados

Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server OnlineBao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server OnlineHoàng Phạm
 
Bao cao Cuoi Ky File Word
Bao cao Cuoi Ky File WordBao cao Cuoi Ky File Word
Bao cao Cuoi Ky File WordDuy Nguyen
 
Bao cao ck update lan 1
Bao cao ck update lan 1Bao cao ck update lan 1
Bao cao ck update lan 1Duy Nguyen
 
Báo cáo đồ án cơ sở đề tài xây dựng ứng dụng chat tự động với deep learning
Báo cáo đồ án cơ sở đề tài  xây dựng ứng dụng chat tự động với deep learningBáo cáo đồ án cơ sở đề tài  xây dựng ứng dụng chat tự động với deep learning
Báo cáo đồ án cơ sở đề tài xây dựng ứng dụng chat tự động với deep learningnataliej4
 
Bao cao thuc tap tot nghiep
Bao cao thuc tap tot nghiepBao cao thuc tap tot nghiep
Bao cao thuc tap tot nghiepdoquyen9292
 
Tìm hiểu và triển khai các dịch vụ trên Windows Server 2008
Tìm hiểu và triển khai các dịch vụ trên Windows Server 2008Tìm hiểu và triển khai các dịch vụ trên Windows Server 2008
Tìm hiểu và triển khai các dịch vụ trên Windows Server 2008Long Kingnam
 
XÂY DỰNG GAME CỜ VUA CHƠI QUA MẠNG
XÂY DỰNG GAME CỜ VUA CHƠI QUA MẠNG XÂY DỰNG GAME CỜ VUA CHƠI QUA MẠNG
XÂY DỰNG GAME CỜ VUA CHƠI QUA MẠNG nataliej4
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...The Boss
 
Báo cáo thực tập athena 1
Báo cáo thực tập athena 1Báo cáo thực tập athena 1
Báo cáo thực tập athena 1Ngan Nguyen
 
Xây dựng website hỗ trợ tìm kiếm việc làm
Xây dựng website hỗ trợ tìm kiếm việc làmXây dựng website hỗ trợ tìm kiếm việc làm
Xây dựng website hỗ trợ tìm kiếm việc làmnataliej4
 
nghiên cứu và triển khai các dịch vụ mạng windows server 2008
nghiên cứu và triển khai các dịch vụ mạng windows server 2008nghiên cứu và triển khai các dịch vụ mạng windows server 2008
nghiên cứu và triển khai các dịch vụ mạng windows server 2008Khanh Dinh
 
Đề tài: Tài liệu tham khảo về quản trị và bảo trì mạng, HAY - Gửi miễn phí qu...
Đề tài: Tài liệu tham khảo về quản trị và bảo trì mạng, HAY - Gửi miễn phí qu...Đề tài: Tài liệu tham khảo về quản trị và bảo trì mạng, HAY - Gửi miễn phí qu...
Đề tài: Tài liệu tham khảo về quản trị và bảo trì mạng, HAY - Gửi miễn phí qu...Dịch vụ viết bài trọn gói ZALO: 0909232620
 

Mais procurados (19)

Luận văn: Quản lý điểm sinh viên theo học chế tín chỉ, HAY
Luận văn: Quản lý điểm sinh viên theo học chế tín chỉ, HAYLuận văn: Quản lý điểm sinh viên theo học chế tín chỉ, HAY
Luận văn: Quản lý điểm sinh viên theo học chế tín chỉ, HAY
 
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012
 
Đề tài: Hệ thống hỗ trợ điểm danh sinh viên trường ĐH Hải Phòng
Đề tài: Hệ thống hỗ trợ điểm danh sinh viên trường ĐH Hải PhòngĐề tài: Hệ thống hỗ trợ điểm danh sinh viên trường ĐH Hải Phòng
Đề tài: Hệ thống hỗ trợ điểm danh sinh viên trường ĐH Hải Phòng
 
Bao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server OnlineBao cao do an Phát triển hệ thống game server Online
Bao cao do an Phát triển hệ thống game server Online
 
Bao cao Cuoi Ky File Word
Bao cao Cuoi Ky File WordBao cao Cuoi Ky File Word
Bao cao Cuoi Ky File Word
 
Bao cao ck update lan 1
Bao cao ck update lan 1Bao cao ck update lan 1
Bao cao ck update lan 1
 
Báo cáo đồ án cơ sở đề tài xây dựng ứng dụng chat tự động với deep learning
Báo cáo đồ án cơ sở đề tài  xây dựng ứng dụng chat tự động với deep learningBáo cáo đồ án cơ sở đề tài  xây dựng ứng dụng chat tự động với deep learning
Báo cáo đồ án cơ sở đề tài xây dựng ứng dụng chat tự động với deep learning
 
Bao cao thuc tap tot nghiep
Bao cao thuc tap tot nghiepBao cao thuc tap tot nghiep
Bao cao thuc tap tot nghiep
 
Đề tài: Xây dựng website nộp đồ án trực tuyến, 9đ
Đề tài: Xây dựng website nộp đồ án trực tuyến, 9đĐề tài: Xây dựng website nộp đồ án trực tuyến, 9đ
Đề tài: Xây dựng website nộp đồ án trực tuyến, 9đ
 
Tìm hiểu và triển khai các dịch vụ trên Windows Server 2008
Tìm hiểu và triển khai các dịch vụ trên Windows Server 2008Tìm hiểu và triển khai các dịch vụ trên Windows Server 2008
Tìm hiểu và triển khai các dịch vụ trên Windows Server 2008
 
Báo cáo athena
Báo cáo  athenaBáo cáo  athena
Báo cáo athena
 
Đề tài: Xây dựng website nộp đồ án trực tuyến, HAY
Đề tài: Xây dựng website nộp đồ án trực tuyến, HAYĐề tài: Xây dựng website nộp đồ án trực tuyến, HAY
Đề tài: Xây dựng website nộp đồ án trực tuyến, HAY
 
XÂY DỰNG GAME CỜ VUA CHƠI QUA MẠNG
XÂY DỰNG GAME CỜ VUA CHƠI QUA MẠNG XÂY DỰNG GAME CỜ VUA CHƠI QUA MẠNG
XÂY DỰNG GAME CỜ VUA CHƠI QUA MẠNG
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
 
Báo cáo thực tập athena 1
Báo cáo thực tập athena 1Báo cáo thực tập athena 1
Báo cáo thực tập athena 1
 
Xây dựng website hỗ trợ tìm kiếm việc làm
Xây dựng website hỗ trợ tìm kiếm việc làmXây dựng website hỗ trợ tìm kiếm việc làm
Xây dựng website hỗ trợ tìm kiếm việc làm
 
nghiên cứu và triển khai các dịch vụ mạng windows server 2008
nghiên cứu và triển khai các dịch vụ mạng windows server 2008nghiên cứu và triển khai các dịch vụ mạng windows server 2008
nghiên cứu và triển khai các dịch vụ mạng windows server 2008
 
Đề tài: Xây dựng hệ thống thi trắc nghiệm, HAY
Đề tài: Xây dựng hệ thống thi trắc nghiệm, HAYĐề tài: Xây dựng hệ thống thi trắc nghiệm, HAY
Đề tài: Xây dựng hệ thống thi trắc nghiệm, HAY
 
Đề tài: Tài liệu tham khảo về quản trị và bảo trì mạng, HAY - Gửi miễn phí qu...
Đề tài: Tài liệu tham khảo về quản trị và bảo trì mạng, HAY - Gửi miễn phí qu...Đề tài: Tài liệu tham khảo về quản trị và bảo trì mạng, HAY - Gửi miễn phí qu...
Đề tài: Tài liệu tham khảo về quản trị và bảo trì mạng, HAY - Gửi miễn phí qu...
 

Semelhante a Van hanh tien trinh nghiep vu tren moi truong web

Ql du an phan mem tren web
Ql du an phan mem tren webQl du an phan mem tren web
Ql du an phan mem tren webVcoi Vit
 
Quan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_webQuan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_webViet Nam
 
Quan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_webQuan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_webDuy Vọng
 
Xây dựng hệ thống hỗ trợ thi trắc nghiệm
Xây dựng hệ thống hỗ trợ thi trắc nghiệmXây dựng hệ thống hỗ trợ thi trắc nghiệm
Xây dựng hệ thống hỗ trợ thi trắc nghiệmVcoi Vit
 
Giáo trình môn Cơ sở dữ liệu trường Đại học CNTP TP.HCM
Giáo trình môn Cơ sở dữ liệu trường Đại học CNTP TP.HCMGiáo trình môn Cơ sở dữ liệu trường Đại học CNTP TP.HCM
Giáo trình môn Cơ sở dữ liệu trường Đại học CNTP TP.HCMTai Thỏ
 
Luan van xay dung Chatbot
Luan van xay dung ChatbotLuan van xay dung Chatbot
Luan van xay dung Chatbotleeminhpark
 
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdf
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdfNghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdf
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdfHanaTiti
 
Báo cáo thực tập athena
Báo cáo thực tập athenaBáo cáo thực tập athena
Báo cáo thực tập athenaPhuc Kon
 
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...Jazmyne Padberg
 

Semelhante a Van hanh tien trinh nghiep vu tren moi truong web (20)

Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOTĐề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
 
Đề tài: Quản lý thu tiền sử dụng Internet, HAY, 9đ
Đề tài: Quản lý thu tiền sử dụng Internet, HAY, 9đĐề tài: Quản lý thu tiền sử dụng Internet, HAY, 9đ
Đề tài: Quản lý thu tiền sử dụng Internet, HAY, 9đ
 
Đề tài: Phần mềm trợ giúp tìm việc làm cho người lao động, HAY
Đề tài: Phần mềm trợ giúp tìm việc làm cho người lao động, HAYĐề tài: Phần mềm trợ giúp tìm việc làm cho người lao động, HAY
Đề tài: Phần mềm trợ giúp tìm việc làm cho người lao động, HAY
 
Xây Dựng Website Giới Thiệu Sản Phẩm Phần Mềm.doc
Xây Dựng Website Giới Thiệu Sản Phẩm Phần Mềm.docXây Dựng Website Giới Thiệu Sản Phẩm Phần Mềm.doc
Xây Dựng Website Giới Thiệu Sản Phẩm Phần Mềm.doc
 
Kiểm chứng các chương trình phần mềm hướng khía cạnh, HAY
Kiểm chứng các chương trình phần mềm hướng khía cạnh, HAYKiểm chứng các chương trình phần mềm hướng khía cạnh, HAY
Kiểm chứng các chương trình phần mềm hướng khía cạnh, HAY
 
Luận văn: Nghiên cứu và ứng dụng mẫu thiết kế trong phương pháp hướng đối tượng
Luận văn: Nghiên cứu và ứng dụng mẫu thiết kế trong phương pháp hướng đối tượngLuận văn: Nghiên cứu và ứng dụng mẫu thiết kế trong phương pháp hướng đối tượng
Luận văn: Nghiên cứu và ứng dụng mẫu thiết kế trong phương pháp hướng đối tượng
 
Ql du an phan mem tren web
Ql du an phan mem tren webQl du an phan mem tren web
Ql du an phan mem tren web
 
Quan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_webQuan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_web
 
Quan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_webQuan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_web
 
Xây dựng hệ thống hỗ trợ thi trắc nghiệm
Xây dựng hệ thống hỗ trợ thi trắc nghiệmXây dựng hệ thống hỗ trợ thi trắc nghiệm
Xây dựng hệ thống hỗ trợ thi trắc nghiệm
 
Giáo trình môn Cơ sở dữ liệu trường Đại học CNTP TP.HCM
Giáo trình môn Cơ sở dữ liệu trường Đại học CNTP TP.HCMGiáo trình môn Cơ sở dữ liệu trường Đại học CNTP TP.HCM
Giáo trình môn Cơ sở dữ liệu trường Đại học CNTP TP.HCM
 
Luan van xay dung Chatbot
Luan van xay dung ChatbotLuan van xay dung Chatbot
Luan van xay dung Chatbot
 
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdf
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdfNghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdf
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdf
 
Đề tài: Xây dựng chương trình quản lý nhập xuất hàng theo đơn đặt hàng
Đề tài: Xây dựng chương trình quản lý nhập xuất hàng theo đơn đặt hàngĐề tài: Xây dựng chương trình quản lý nhập xuất hàng theo đơn đặt hàng
Đề tài: Xây dựng chương trình quản lý nhập xuất hàng theo đơn đặt hàng
 
Đề tài: Xây dựng chương trình quản lý dịch vụ vận chuyển, HOT
Đề tài: Xây dựng chương trình quản lý dịch vụ vận chuyển, HOTĐề tài: Xây dựng chương trình quản lý dịch vụ vận chuyển, HOT
Đề tài: Xây dựng chương trình quản lý dịch vụ vận chuyển, HOT
 
Đề tài: Chương trình quản lý dịch vụ vận chuyển của công ty, 9đ
Đề tài: Chương trình quản lý dịch vụ vận chuyển của công ty, 9đĐề tài: Chương trình quản lý dịch vụ vận chuyển của công ty, 9đ
Đề tài: Chương trình quản lý dịch vụ vận chuyển của công ty, 9đ
 
Nghiên Cứu Xây Dựng Khung Quản Trị Dữ Liệu Cho Việc Quản Lý Dữ Liệu Của Tổng ...
Nghiên Cứu Xây Dựng Khung Quản Trị Dữ Liệu Cho Việc Quản Lý Dữ Liệu Của Tổng ...Nghiên Cứu Xây Dựng Khung Quản Trị Dữ Liệu Cho Việc Quản Lý Dữ Liệu Của Tổng ...
Nghiên Cứu Xây Dựng Khung Quản Trị Dữ Liệu Cho Việc Quản Lý Dữ Liệu Của Tổng ...
 
Báo cáo thực tập athena
Báo cáo thực tập athenaBáo cáo thực tập athena
Báo cáo thực tập athena
 
Phân tích và đánh giá quy trình xây dựng hệ thống thông tin quản lý nhân sự t...
Phân tích và đánh giá quy trình xây dựng hệ thống thông tin quản lý nhân sự t...Phân tích và đánh giá quy trình xây dựng hệ thống thông tin quản lý nhân sự t...
Phân tích và đánh giá quy trình xây dựng hệ thống thông tin quản lý nhân sự t...
 
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
 

Mais de Vcoi Vit

2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri31
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri312eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri31
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri31Vcoi Vit
 
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri14
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri142eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri14
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri14Vcoi Vit
 
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri13
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri132eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri13
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri13Vcoi Vit
 
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri05
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri052eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri05
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri05Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san46
Giao trinh nuoi_trong_thuy_san46Giao trinh nuoi_trong_thuy_san46
Giao trinh nuoi_trong_thuy_san46Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san28
Giao trinh nuoi_trong_thuy_san28Giao trinh nuoi_trong_thuy_san28
Giao trinh nuoi_trong_thuy_san28Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san23
Giao trinh nuoi_trong_thuy_san23Giao trinh nuoi_trong_thuy_san23
Giao trinh nuoi_trong_thuy_san23Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san22
Giao trinh nuoi_trong_thuy_san22Giao trinh nuoi_trong_thuy_san22
Giao trinh nuoi_trong_thuy_san22Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san21
Giao trinh nuoi_trong_thuy_san21Giao trinh nuoi_trong_thuy_san21
Giao trinh nuoi_trong_thuy_san21Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san16
Giao trinh nuoi_trong_thuy_san16Giao trinh nuoi_trong_thuy_san16
Giao trinh nuoi_trong_thuy_san16Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san05
Giao trinh nuoi_trong_thuy_san05Giao trinh nuoi_trong_thuy_san05
Giao trinh nuoi_trong_thuy_san05Vcoi Vit
 
Giao trinh nuoi_trong_thuy_san02
Giao trinh nuoi_trong_thuy_san02Giao trinh nuoi_trong_thuy_san02
Giao trinh nuoi_trong_thuy_san02Vcoi Vit
 
Giao trinh tong hop sv50
Giao trinh tong hop sv50Giao trinh tong hop sv50
Giao trinh tong hop sv50Vcoi Vit
 
Giao trinh tong hop sv49
Giao trinh tong hop sv49Giao trinh tong hop sv49
Giao trinh tong hop sv49Vcoi Vit
 
Giao trinh tong hop sv48
Giao trinh tong hop sv48Giao trinh tong hop sv48
Giao trinh tong hop sv48Vcoi Vit
 
Giao trinh tong hop sv47
Giao trinh tong hop sv47Giao trinh tong hop sv47
Giao trinh tong hop sv47Vcoi Vit
 
Giao trinh tong hop sv46
Giao trinh tong hop sv46Giao trinh tong hop sv46
Giao trinh tong hop sv46Vcoi Vit
 
Giao trinh tong hop sv45
Giao trinh tong hop sv45Giao trinh tong hop sv45
Giao trinh tong hop sv45Vcoi Vit
 
Giao trinh tong hop sv43
Giao trinh tong hop sv43Giao trinh tong hop sv43
Giao trinh tong hop sv43Vcoi Vit
 
Giao trinh tong hop sv41
Giao trinh tong hop sv41Giao trinh tong hop sv41
Giao trinh tong hop sv41Vcoi Vit
 

Mais de Vcoi Vit (20)

2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri31
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri312eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri31
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri31
 
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri14
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri142eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri14
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri14
 
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri13
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri132eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri13
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri13
 
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri05
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri052eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri05
2eae0e86 e7c6-431d-aa08-b8f89ba71921 giaotrinhkinhtechinhtri05
 
Giao trinh nuoi_trong_thuy_san46
Giao trinh nuoi_trong_thuy_san46Giao trinh nuoi_trong_thuy_san46
Giao trinh nuoi_trong_thuy_san46
 
Giao trinh nuoi_trong_thuy_san28
Giao trinh nuoi_trong_thuy_san28Giao trinh nuoi_trong_thuy_san28
Giao trinh nuoi_trong_thuy_san28
 
Giao trinh nuoi_trong_thuy_san23
Giao trinh nuoi_trong_thuy_san23Giao trinh nuoi_trong_thuy_san23
Giao trinh nuoi_trong_thuy_san23
 
Giao trinh nuoi_trong_thuy_san22
Giao trinh nuoi_trong_thuy_san22Giao trinh nuoi_trong_thuy_san22
Giao trinh nuoi_trong_thuy_san22
 
Giao trinh nuoi_trong_thuy_san21
Giao trinh nuoi_trong_thuy_san21Giao trinh nuoi_trong_thuy_san21
Giao trinh nuoi_trong_thuy_san21
 
Giao trinh nuoi_trong_thuy_san16
Giao trinh nuoi_trong_thuy_san16Giao trinh nuoi_trong_thuy_san16
Giao trinh nuoi_trong_thuy_san16
 
Giao trinh nuoi_trong_thuy_san05
Giao trinh nuoi_trong_thuy_san05Giao trinh nuoi_trong_thuy_san05
Giao trinh nuoi_trong_thuy_san05
 
Giao trinh nuoi_trong_thuy_san02
Giao trinh nuoi_trong_thuy_san02Giao trinh nuoi_trong_thuy_san02
Giao trinh nuoi_trong_thuy_san02
 
Giao trinh tong hop sv50
Giao trinh tong hop sv50Giao trinh tong hop sv50
Giao trinh tong hop sv50
 
Giao trinh tong hop sv49
Giao trinh tong hop sv49Giao trinh tong hop sv49
Giao trinh tong hop sv49
 
Giao trinh tong hop sv48
Giao trinh tong hop sv48Giao trinh tong hop sv48
Giao trinh tong hop sv48
 
Giao trinh tong hop sv47
Giao trinh tong hop sv47Giao trinh tong hop sv47
Giao trinh tong hop sv47
 
Giao trinh tong hop sv46
Giao trinh tong hop sv46Giao trinh tong hop sv46
Giao trinh tong hop sv46
 
Giao trinh tong hop sv45
Giao trinh tong hop sv45Giao trinh tong hop sv45
Giao trinh tong hop sv45
 
Giao trinh tong hop sv43
Giao trinh tong hop sv43Giao trinh tong hop sv43
Giao trinh tong hop sv43
 
Giao trinh tong hop sv41
Giao trinh tong hop sv41Giao trinh tong hop sv41
Giao trinh tong hop sv41
 

Van hanh tien trinh nghiep vu tren moi truong web

  • 1. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 1 Lời cảm ơn Chúng em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, Trường Đại học Khoa học Tự nhiên, Tp HCM đã tạo điều kiện cho chúng em thực hiện đề tài tốt nghiệp này. Chúng em xin chân thành cảm ơn thầy Lâm Quang Vũ đã tận tình hướng dẫn, chỉ bảo chúng em trong suốt quá trình thực hiện đề tài này. Qua sự hướng dẫn của thầy, chúng em không chỉ học được nhiều kiến thức bổ ích mà còn học ở thầy phương pháp nghiên cứu khoa học, thái độ và tinh thần làm việc nghiêm túc. Chúng em cũng xin chân thành cảm ơn các thầy cô trong khoa công nghệ thông tin đã trang bị cho chúng em những kiến thức bổ ích trong suốt quá trình học tập tại trường. Những kiến thức ấy đã giúp chúng em rất nhiều trong quá trình làm đề tài và cũng là hành trang cho chúng em tự tin, vững bước vào đời. Chúng con xin ghi nhớ công ơn của Ba, Mẹ. Ba mẹ luôn là niềm động viên giúp chúng con vuợt qua khó khăn trong cuộc sống. Chúng em xin cảm ơn các anh chị khóa trước đã truyền đạt các kinh nghiệm cho chúng em trong quá trình thực hiện luận văn tốt nghiệp. Mặc dù đã cố gắng hoàn thành luận văn với tất cả nỗ lực của bản thân, nhưng luận văn chắc chắn không tránh khỏi những sai sót, chúng em rất mong quí thầy cô tận tình chỉ bảo. Một lần nữa chúng em xin gửi đến tất cả mọi người lời cảm ơn chân thành nhất.
  • 2. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 2 Giới thiệu tổng quan đề tài Ngày nay, cùng với sự gia tăng quy mô tổ chức, công việc ngày càng phức tạp. Nhu cầu sử dụng tin học trong tổ chức cũng gia tăng tương ứng. Tuy nhiên, hiện nay, tin học chỉ được áp dụng để thực hiện các công việc thường ngày, việc quản lý quy trình thực hiện các chuỗi công việc chưa được hỗ trợ. Từ đó xuất hiện nhu cầu sử dụng tin học để quản lý có hiệu quả các quy trình nghiệp vụ. Năm 1998, tổ chức WfMC được thành lập với mục đích nghiên cứu và ứng dụng tin học vào việc quản lý các quy trình nghiệp vụ. WfMC mong muốn xây dựng được hệ thống quản lý quy trình nghiệp vụ, gọi tắt là BPMS (Business Process Management System), một BPMS gồm hai phần chính sau: Ø Phần hỗ trợ mô hình hóa quy trình nghiệp cụ (để định nghĩa các quy trình nghiệp vụ trong thực tế): thông thường gồm một ngôn ngữ dùng để đặc tả quy trình nghiệp vụ và các công cụ trực quan hỗ trợ người dùng thiết kế các quy trình này. Ø Phần hỗ trợ vận hành quy trình nghiệp vụ: thường gồm một động cơ vận hành quy trình giúp quản lý việc vận hành quy trình cùng với các công cụ giúp người dùng tham gia vào quá trình thực hiện quy trình nghiệp vụ. Tuy nhiên hướng phát triển BPMS chưa có độ trưởng thành cao, đa số các BPMS vẫn còn dừng lại ở mức nghiên cứu. Về ngôn ngữ đặc tả đã có những bước phát triển, xuất hiện một số ngôn ngữ đặc tả chuẩn như XPDL, BPML. Về công cụ thiết kế và hỗ trợ vận hành vẫn còn nhiều hạn chế. Trong luận văn cử nhân tin học về đề tài “Tìm hiểu XPDL và xây dựng ứng dụng minh hoạ” của hai sinh viên Trần Đăng Khoa và Phạm Minh Tuấn (Sinh viên khoa công nghệ thông tin, trường Đại học Khoa học Tự nhiên) đã xây dựng thành công công cụ mô hình hóa eXPDL. Trong khuôn khổ luận văn này, chúng em dự định nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành quy trình nghiệp vụ dựa trên đặc tả do công cụ mô hình hóa eXPDL phát sinh. Với đề tài “Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB ”, chúng em hy vọng góp một phần nhỏ vào việc ứng dụng tin học quản lý các quy trình nghiệp vụ.
  • 3. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 3 Mục lục Danh mục các ký hiệu, các chữ viết tắt........................................................................ 6 Danh mục các hình vẽ..................................................................................................... 6 Danh mục các bảng ......................................................................................................... 7 Chương 1. Tổng quan.................................................................................................. 9 1.1. Tổng quan về quy trình nghiệp vụ:.................................................................... 9 1.1.1. Định nghĩa:...................................................................................................... 9 1.1.2. Các hướng nghiên cứu về tiến trình nghiệp vụ:............................................ 9 1.1.3. Cơ chế vận hành quy trình nghiệp vụ:.........................................................13 1.1.4. Ưu và khuyết điểm của vận hành quy trình nghiệp vụ bằng WEB: ..................14 1.2. Tổng quan về đề tài: ...........................................................................................14 1.2.1. Các yêu cầu của đề tài:.................................................................................14 1.2.2. Kết quả đạt được:..........................................................................................14 1.2.3. Bố cục luận văn: ...........................................................................................15 Chương 2. Giới thiệu một số ngôn ngữ mô hình hóa:..........................................16 2.1. Ngôn ngữ mô hình hóa XPDL: .........................................................................16 2.1.1. Lịch sử:..........................................................................................................17 2.1.2. Các đặc điểm chính của XPDL 2.0: ............................................................20 2.2. Ngôn ngữ mô hình hóa BPML:.........................................................................22 2.2.1. Khái niệm:.....................................................................................................22 2.2.2. Các thành phần chính:...........................................................................................23 2.2.2.1. Công việc (Acitivity) :..................................................................................23 2.2.2.2. Các loại công việc (Activity types): ............................................................23 2.2.2.3. Ngữ cảnh công việc (The activity context):................................................23 2.2.2.4. Công việc đơn giản và công việc phức hợp (simple and complex activity): ........................................................................................................................24 2.2.2.5. Thể hiện công việc (Activity instance): ......................................................25 2.2.3. Quy trình (Process):......................................................................................26 2.2.4. Ngữ cảnh (Context):.....................................................................................31 2.2.5. Thuộc tính (Property):..................................................................................32 2.2.6. Tín hiệu (Signal):..........................................................................................34
  • 4. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 4 2.2.7. Kế hoạch (Schedule): ...................................................................................35 2.2.8. Ngoại lệ (Exception): ...................................................................................35 2.2.9. Giao tác (Transaction):.................................................................................38 2.2.10. Hàm (Function):............................................................................................40 2.3. Ngôn ngữ mô hình hóa eXPDL:........................................................................40 2.3.1. Giới thiệu: .....................................................................................................40 2.3.2. Những cải tiến của eXPDL so với XPDL và BPML:.................................41 2.3.2.8. Hỗ trợ mô tả các quy trình có những hoạt động theo mẫu cột mốc: .........43 Chương 3. Giới thiệu tổng quan hệ thống..............................................................44 3.1. Ngữ cảnh phát triển hệ thống:..........................................................................45 3.2. Yêu cầu hệ thống cần xây dựng:.......................................................................45 3.3. Ý nghĩa hệ thống:................................................................................................45 3.4. Công cụ thiết kế: .................................................................................................46 3.4.1. Giới thiệu về công cụ mô hình hóa quy trình nghiệp vụ :..........................46 3.4.2. Một số chỉnh sửa công cụ MyXPDL cho phù hợp với việc quản lý quy trình nghiệp vụ...............................................................................................................47 3.5. Nguyên lý tổ chức hệ thống:..............................................................................47 3.6. Nguyên lý vận hành hệ thống:...........................................................................47 3.7. Quy trình tổng quan:..........................................................................................48 Chương 4. Phân tích yêu cầu hệ thống ...................................................................49 4.1. Các thành phần hỗ trợ trong luận văn:...........................................................49 4.2. Các chức năng chính:.........................................................................................50 4.2.1. Quản lý quy trình mẫu:.................................................................................50 4.2.2. Khởi tạo dự án: .............................................................................................50 4.2.3. Quản lý dự án:...............................................................................................51 4.2.4. Thực hiện dự án:...........................................................................................52 4.2.5. Các chức năng quản trị:................................................................................52 4.3. Mô hình Use Case: ..............................................................................................52 4.4. Đặc tả Actor:........................................................................................................53 4.5. Đặc tả Use Case:..................................................................................................53 Chương 5. Phân tích và thiết kế hệ thống ..............................................................72
  • 5. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 5 5.1. Thiết kế dữ liệu: ..................................................................................................72 5.2. Một số lược đồ cơ sở dữ liệu: ............................................................................73 5.3. Thiết kế xử lý:......................................................................................................74 5.3.1. Sơ đồ lớp:......................................................................................................75 5.3.2. Một số mô hình chính:..................................................................................76 5.3.3. Một số luồng tuần tự chính trong ứng dụng:...............................................79 5.4. Thiết kế giao diện:...............................................................................................91 Chương 6. Thử nghiệm và đánh giá........................................................................93 6.1. Một số quy trình mẫu:........................................................................................93 6.1.1. Quy trình đăng ký học phần:................................................................................93 6.1.2. Quy trình chuẩn bị thi thực hành: ........................................................................94 6.1.3. Quy trình xét tốt nghiệp cuối khóa ......................................................................94 6.2. Cài đặt và triển khai hệ thống: .........................................................................95 6.3. Đánh giá: ..............................................................................................................95 Chương 7. Tổng kết và hướng phát triển...............................................................96 7.1. Những kết quả đạt được:...................................................................................97 7.1.1. Về mặt lý thuyết:...........................................................................................97 7.1.2. Về mặt ứng dụng: .........................................................................................97 7.2. Ưu và khuyết điểm của hệ thống:.....................................................................97 7.3. Hướng phát triển: ...............................................................................................98 7.4. Lời kết:..................................................................................................................99 Tài liệu tham khảo.........................................................................................................99 Phụ lục...........................................................................................................................100 Phụ lục 1: Mô tả các bảng cơ sở dữ liệu ..................................................................100 Phụ lục 2: Các màn hình giao diện chính................................................................117 Phụ lục 3: Quy trình đăng ký học phần...................................................................128
  • 6. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 6 Danh mục các ký hiệu, các chữ viết tắt WfMS Workflow Management System WfMC Workflow Management Coalition XPDL XML for Process Definition Language BPML Business Process Modeling Language BPEL Business Process Execution Language BPMI Business Process Management Initiative UML Unified Modelling Language Danh mục các hình vẽ Hình 1 Mô hình hóa tiến trình nghiệp vụ............................................................................... 9 Hình 2 Mô hình vận hình quy trình nghiệp vụ.....................................................................13 Hình 3Sơ đồ chuyển đổi trạng thái thể hiện công việc trong BPML .................................26 Hình 4 Nguyên lý tổ chức hệ thống......................................................................................47 Hình 5 Nguyên lý vận hành hệ thống...................................................................................48 Hình 6 Quy trình tổng quan ..................................................................................................49 Hình 7 Mô hình Use Case.....................................................................................................53 Hình 8 Mô hình cơ sở dữ liệu tổng quan..............................................................................73 Hình 9 Lược đồ cơ sở dữ liệu phân công thực hiện công việc ...........................................73 Hình 10 Lược đồ cơ sở dữ liệu tạo mới công việc ..............................................................73 Hình 11 Lược đồ cơ sở dữ liệu tạo mới sản phẩm...............................................................74 Hình 12 Sơ đồ lớp các đối tượng trong dự án......................................................................75 Hình 13 Sơ đồ lớp các đối tượng liên quan đến công việc .................................................76 Hình 14 Sơ đồ trạng thái công việc......................................................................................76 Hình 15 Quy trình hiển thị cây dự án...................................................................................78 Hình 16 Quy trình tìm kích hoạt công việc tiếp theo ..........................................................79 Hình 17 Lược đồ tuần tự tạo mới dự án theo mẫu...............................................................80 Hình 18 Lược đồ tuần tự kích hoạt dự án ............................................................................81 Hình 19 Lược đồ tuần tự tạo mới thể hiện công việc..........................................................82 Hình 20 Lược đồ tuần tự tìm công việc tiếp theo trong dự án............................................83 Hình 21 Lược đồ tuần tự xử lý endevent .............................................................................84 Hình 22 Lược đồ tuần tự xử lý Gateway..............................................................................85 Hình 23 Lược đồ tuần tự thay đổi thông tin công việc........................................................86 Hình 24 Lược đồ tuần tự hiển thị cây tiến trình...................................................................87 Hình 25 Lược đồ tuần tự upload sản phẩm..........................................................................88 Hình 26 Lược đồ tuần tự doawnload sản phẩm...................................................................88 Hình 27 Lược đồ tuần tự thêm mới đối tượng.....................................................................89 Hình 28 Lược đồ tuần tự luân chuyển sản phẩm.................................................................90 Hình 29 Lược đồ tuần tự truy xuất cơ sở dữ liệu.................................................................90 Hình 30 Menu chức năng hệ thống.......................................................................................91 Hình 31 Cây tiến trình dự án.................................................................................................91 Hình 32 Màn hình vận hành dự án .......................................................................................92
  • 7. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 7 Hình 33 Màn hình báo cáo....................................................................................................93 Hình 34 Quy trình thi thực hành...........................................................................................94 Hình 35 Quy trình xét tốt nghiệp cuối khóa.........................................................................95 Hình 36 Màn hình thực hiện công việc..............................................................................117 Hình 37 Màn hình tạo mới dự án........................................................................................118 Hình 38 Màn hình quy định thời gian thực hiện công việc...............................................119 Hình 39 Màn hình phân công user thực hiện công việc....................................................120 Hình 40 Màn hình chính thêm công việc vào dự án..........................................................121 Hình 41 Màn hình thêm sản phẩm......................................................................................122 Hình 42 Màn hình thêm cổng điều khiển...........................................................................123 Hình 43 Màn hình thêm kiểu dữ liệu tự định nghĩa ..........................................................124 Hình 44 Màn hình thêm luồng điều khiển vào quy trình ..................................................125 Hình 45 Màn hình quản lý sản phẩm..................................................................................126 Hình 46 Màn hình xem thông tin công việc.......................................................................127 Hình 47 Màn hình báo cáo dự án........................................................................................128 Hình 48 Quy trình đăng ký học phần .................................................................................129 Hình 49 Quy trình chuẩn bị công tác giảng dạy................................................................129 Hình 50 Quy trình chuẩn bị đăng ký học phần lý thuyết ..................................................130 Hình 51 Quy trình đăng ký học phần lý thuyết..................................................................131 Hình 52 Quy trình chuẩn bị đăng ký thực hành.................................................................132 Hình 53 Quy trình đăng ký thực hành................................................................................133 Hình 54 Quy trình hiệu chỉnh học phần .............................................................................133 Hình 55 Quy trình đăng ký trả nợ.......................................................................................134 Hình 56 Quy trình tính toán và đóng học phí ....................................................................134 Hình 57 Các vai trò trong quy trình đăng ký học phần.....................................................135 Hình 58 Các sản phẩm trong quy trình đăng ký học phần................................................135 Danh mục các bảng Bảng 1 Bản so sánh các loại khởi tạo quy trình...................................................................28 Bảng 2 Bảng mô tả các trạng thái công việc........................................................................77 Bảng 3 CSDL mô tả người dùng ........................................................................................100 Bảng 4 CSDL mô tả quyền trong hệ thống........................................................................101 Bảng 5 CSDL mô tả sự phân quyền trong hệ thống..........................................................101 Bảng 6 CSDL lưu trữ các mẫu mô hình hóa......................................................................101 Bảng 7 CSDL lưu trữ các tập tin ........................................................................................102 Bảng 8 CSDL lưu trữ dự án ................................................................................................102 Bảng 9 CSDL lưu trữ mô hình............................................................................................103 Bảng 10 CSDL lưu trữ vai trò.............................................................................................103 Bảng 11 CSDL lưu trữ tiến trình ........................................................................................104 Bảng 12 CSDL lưu trữ công việc .......................................................................................104 Bảng 13 CSDL lưu trữ trạng thái mở rộng của công việc ................................................105 Bảng 14 CSDL lưu trữ sản phẩm........................................................................................105 Bảng 15 CSDL lưu trữ trạng thái mỡ rộng của sản phẩm.................................................106 Bảng 16 CSDL lưu trữ thuộc tính sản phẩm......................................................................106 Bảng 17 CSDL lưu trữ các sản phẩm vào/ra của công việc..............................................106
  • 8. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 8 Bảng 18 CSDL lưu trữ phân vai trò thực hiện công việc..................................................107 Bảng 19 CSDL lưu trữ kiểu dữ liệu tự định nghĩa ............................................................107 Bảng 20 CSDL lưu trữ giá trị các kiểu dữ liệu tự định nghĩa...........................................107 Bảng 21 CSDL lưu trữ luồng tuần tự .................................................................................108 Bảng 22 CSDL lưu trữ điều kiện........................................................................................108 Bảng 23 CSDL lưu trữ biểu thức điều kiện nguyên tố......................................................109 Bảng 24 CSDL lưu trữ cổng điều khiển.............................................................................109 Bảng 25 CSDL lưu trữ biến cố bắt đầu..............................................................................110 Bảng 26 CSDL lưu trữ biến cố trung gian .........................................................................111 Bảng 27 CSDL lưu trữ biến cố kết thúc.............................................................................112 Bảng 28 CSDL lưu trữ bộ định giờ ....................................................................................112 Bảng 29 CSDL lưu trữ thể hiện công việc.........................................................................113 Bảng 30 CSDL lưu vết quá trình thực hiện công việc.......................................................113 Bảng 31 CSDL lưu trữ thể hiện sản phẩm.........................................................................114 Bảng 32 CSDL lưu trữ thể hiện sản phẩm đầu vào của công việc...................................114 Bảng 33 CSDL lưu trữ thể hiện sản phẩm đầu ra của công việc......................................114 Bảng 34 CSDL lưu trữ thời gian thực hiện công việc.......................................................115 Bảng 35 CSDL lưu trữ phân công vai trò cho người dùng trong dự án...........................115 Bảng 36 CSDL lưu trữ câu hỏi ...........................................................................................116 Bảng 37 CSDL lưu trữ câu trả lời.......................................................................................116
  • 9. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 9 Chương 1. Tổng quan Trình bày tổng quan các vấn đề sẽ được nghiên cứu trong luận văn. Đồng thời cung cấp một số định nghĩa, khái niệm ban đầu về các vấn đề liên quan đến luận văn. 1.1.Tổng quan về quy trình nghiệp vụ: 1.1.1. Định nghĩa: Là một tập hợp của một hoặc nhiều thủ tục hoặc công việc mà cùng chung mục đích nghiệp vụ, thông thường trong ngữ cảnh của tổ chức định nghĩa các vai trò chức năng và các mối quan hệ. 1 1.1.2. Các hướng nghiên cứu về tiến trình nghiệp vụ: 1.1.2.1. Về mô hình hóa tiến trình nghiệp vụ: 1.1.2.1.1. Mô hình hóa nghiệp vụ là gì? Mô hình hóa tiến trình nghiệp vụ là việc định nghĩa các tiến trình nghiệp vụ bằng cách sử dụng ngôn ngữ mô hình hóa tiến trình thích hợp. Hiện tại có rất nhiều ngôn ngữ mô hình hóa tiến trình đang được nghiên cứu và phát triển nhưng trong đó phổ biến nhất là 2 ngôn ngữ BPML và XPDL. Hình 1 Mô hình hóa tiến trình nghiệp vụ2 Ngôn ngữ mô hình hóa tiến trình cần diễn đạt được các thành tố chính trong tiến trình, thêm vào đó cũng cần diễn đạt được các thông tin phụ như tài nguyên, việc phân tích, theo dõi, đo lường...Nhưng tại sao lại phải mô hình hóa tiến trình ? 1 Trang 3, Business Project Modeling Languages: Sorting through the alphabet soup, WfMC, 1999 2 Nghiên cứu và áp dụng các kỹ thuật hỗ trợ vận hành một số tiến trình phần mềm hửu dụng, luận văn thạc sĩ ngành tin học, TP HCM 2003
  • 10. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 10 1.1.2.1.2. Mục đích của việc mô hình hóa: Việc mô hình hóa quy trình nghiệp vụ nhằm các mục đích sau đây: Ø Mô tả quy trình Cung cấp một hệ thống đặc tả mang tính hình thức để thống nhất cơ chế giao tiếp trao đổi tài liệu giữa các tổ chức. Ø Phân tích quy trình Dựa vào mô hình để xem xét cải tiến quy trình, phân tích nhằm tìm ra các thiếu sót và hạn chế của quy trình. Ø Thực thi quy trình Mô phỏng hay cung cấp một mức độ hỗ trợ xử lý tự động nhất định cho các quy trình nghiệp vụ. Cung cấp hướng dẫn chi tiết cho các đối tượng tham gia vào tiến trình: nhờ đó quá trình phối hợp thực hiện dễ dàng hơn. 1.1.2.1.3. Một số đặc điểm của các ngôn ngữ mô hình hóa: XPDL,BPML, BPEL: BPML, BPEL và XPDL là những ngôn ngữ định nghĩa tiến trình dựa trên XML. Chúng cung cấp một mô hình hình thức để biểu thị những tiến trình có thể thực hiện, những tiến trình này thể hiện tất cả diện mạo của tiến trình nghiệp vụ của 1 công ty. Chúng dựa vào những mô hình đặc tả khác nhau. Mỗi mô hình đều xem hoạt động (activities) như những phần tử cơ bản của sự định nghĩa tiến trình. Mỗi hoạt động (activity) lại là 1 bộ phận của tiến trình đặc biệt nào đó. Mỗi cái đều có thể hiện dữ liệu liên quan riêng có thể được đề cập đến cổng lôgic và những biểu thức (expresstion). Trong khi BPML và BPEL được xem như những ngôn ngữ lập trình có cấu trúc khối, cho phép đệ quy các khối thì XPDL được xem như một ngôn ngữ có cấu trúc đồ thị với những khái niệm bổ sung để điều khiển những khối. BPML tập trung trong việc định nghĩa những dịch vụ mạng. BPEL cũng tập trung trong vấn đề này và hướng giải quyết cũng tương tự với BPML. Trong khi đó XPDL tập trung trên những vấn liên quan đến phân phối các công việc.
  • 11. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 11 1.1.2.1.4. Các hướng nghiên cứu hiện nay: Lĩnh vực mô hình hóa nghiệp vụ đang trong bước xây dựng và phát triển nên có khá nhiều hướng nghiên cứu. Một số hướng tập trung vào việc đặc tả các nghiệp vụ theo tính hướng sự kiện, một số khác lại xem xét mô hình nghiệp vụ theo một lĩnh vực công nghiệp hay thương mại chuẩn. Trong đề tài này chúng em xin được tập trung chủ yếu vào phương pháp mô hình hóa nghiệp vụ theo mô hình luồng công việc (Workflow). Đây là mô hình xem xét quy trình nghiệp vụ tổng quát dưới dạng các luồng thực thi có thứ tự, tập trung vào cơ chế mô tả nghiệp vụ sao cho có thể đễ dàng lưu trữ và vận hành được trên máy tính. Mô hình Workflow ra đời cách đây hơn 15 năm và hiện đang được xây dựng dần dần để hoàn chỉnh về cấu trúc và ngữ nghĩa. Một số hướng nghiên cứu chính về mô hình Workflow ü Xây dựng các giao diện của mô hình Workflow Để mô hình Workflow có khả năng hiểu được trong các hệ thống quản trị luồng công việc, thì nó phải được cung cấp các giao diện ra “thế giới lập trình” bên ngoài. Các giao diện này có thể được xem như các API chuẩn cung cấp khả năng cho những thành phần bên ngoài có thể quản lý thông tin, giao tiếp, gọi các hành vi ứng xử tương ứng trong mô hình. ü Xây dựng hệ thống quản lý nghiệp vụ từ các mô hình Workflow : Các hệ thống quản lý luồng công việc cung cấp khả năng đọc dữ liệu từ mô hình đã được mô hình hóa, và cho phép vận hành, kiểm soát các mô hình này để tự động hóa các nghiệp vụ thực tế. Hiện nay hướng nghiên cứu này đạt khá nhiều thành tựu như : việc cung cấp các cơ chế động để hỗ trợ việc thực thi mô hình workflow, giám sát ghi nhận các thông tin quản lý từ mô hình, cho phép phân quyền và xử lý trên các thành phần thuộc mô hình khi thực thi. ü Xây dựng cấu trúc mô hình luồng công việc ở mức meta : Mô hình luồng công việc ở mức meta được định nghĩa ở mức trừu tượng hóa cao nhất, nhằm cung cấp khả năng mở rộng mô hình luồng công việc ở mức tối đa. Nó có ứng dụng rất mạnh trong việc chuyển đổi giữa các ngôn ngữ mô hình hóa
  • 12. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 12 luồng công việc. Đồng thời từ mô hình này các ngôn ngữ mô hình hóa luồng công việc có thể cung cấp những khả năng mở rộng khi cần thiết. Đây là một trong những hướng nghiên cứu chính của các tổ chức mô hình hóa lớn hiện nay. Điển hình là UML, WfMC, và BPMI. Tổ chức đang có những nghiên cứu khá sâu về vấn đề này là WfMC. WfMC xây dựng một mô hình Meta tương đối tốt và có cấu trúc tương tự với khá nhiều ngôn ngữ mô hình hóa khác. Thông qua mô hình meta này có thể dễ dàng chuyển đổi giữa khá nhiều ngôn ngữ mô hình hóa khác nhau thông qua việc ánh xạ về mô hình meta. ü Xây dựng các ngôn ngữ mô hình hóa cho mô hình Workflow Những nghiên cứu về ngôn ngữ mô hình hóa đi sâu vào việc phân tích khả năng diễn đạt, xây dựng cú pháp, đặc tả các cấu trúc hỗ trợ cho các hệ quản trị Workflow có thể phân tích và dễ dàng triển khai những mô hình xây dựng theo các ngôn ngữ này. Hiện tại có khá nhiều ngôn ngữ được xây dựng cho mô hình Workflow như : XPDL, BPML, UML,… Tuy nhiên các ngôn ngữ này vẫn còn khá nhiều hạn chế về khả năng diễn đạt cho các nghiệp vụ thực tế. Bên cạnh đó còn có một số hướng tiếp cận khác đi sâu về lý thuyết các cơ chế nghiệp vụ của mô hình luồng công việc : xây dựng phương pháp luận, tính toán độ phức tạp, tính hiệu quả của các mô hình,... 1.1.2.2. Về vận hành tiến trình nghiệp vụ 1.1.2.2.1. Vận hành tiến trình nghiệp vụ là gì? Vận hành tiến trình nghiệp vụ chính là quá trình xây dựng và phát triển nghiệp vụ thực sự. Nếu một tiến trình được mô hình hóa hoặc định nghĩa trước đó bằng các ngôn ngữ mô hình hóa tiến trình, việc vận hành tiến trình chính là việc trình diễn lại những mô hình đã được mô hình hóa. Việc vận hành tiến trình được những nhân viên tham gia phát triển tiến trình thực hiện thông qua các thao tác, hành động
  • 13. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 13 Hình 2 Mô hình vận hình quy trình nghiệp vụ3 1.1.2.2.2. Mục đích của vận hành tiến trình nghiệp vụ: Tiến trình có thể được vận hành dưới sự kiểm soát và quản lý, hướng dẫn của các động cơ tiến trình, đảm bảo các bước thực hiện đúng theo những mô hình tiến trình đã được thiết kế, một số công việc đơn giản cũng có thể được thực hiện tự động. 1.1.2.2.3. Hiện trạng: Hiện nay cũng có nhiều cơ chế hỗ trợ vận hành một tiến trình phần mềm như: hỗ trợ vận hành và quản lý tiến trình nghiệp vụ trên môi trường WEB, hỗ trợ vận hành tiến trình bằng các hệ thống Agent hoặc các bằng các CaseTool, hỗ trợ vận hành tập trung hoặc phân tán về mặt không gian, thời gian...Trên cơ sở khảo sát một số cơ chế vận hành trong các môi trường PSEE hiện có Adele,Arcadia, ALF, AP5, EPOS, Marvel, OIKOS, ProcessWeaver, SPADE,… chúng tôi thử nghiệm xây dựng một Tool hỗ trợ việc vận hành tiến trình phần mềm được đặc tả bằng ngôn ngữ eXPDL, hỗ trợ vận hành tiến trình nghiệp vụ trong một môi trường WEB. 1.1.3. Cơ chế vận hành quy trình nghiệp vụ: Quy trình nghiệp vụ được vận hành dựa vào một hệ thống quản lý luồng công việc (Workflow Management System, gọi tắt là WfMS). WfMS xác định luồng 3 Nghiên cứu và áp dụng các kỹ thuật hỗ trợ vận hành một số tiến trình phần mềm hửu dụng, luận văn thạc sĩ ngành tin học, TP HCM 2003
  • 14. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 14 công việc đã được định nghĩa trước trong định nghĩa quy trình nghiệp vụ. WfMS quản lý các tài nguyên (ứng dụng, dữ liệu, con người) cần thiết để đạt được mục tiêu của công việc, cung cấp khả năng theo dõi và điều khiển quy trình 4 1.1.4. Ưu và khuyết điểm của vận hành quy trình nghiệp vụ bằng WEB: Ø Ưu điểm: - Hỗ trợ tính chất phân tán của tiến trình rất mạnh. - Tính không đồng nhất của tiến trình: do việc giao tiếp đều thông qua Web nên các thành viên chỉ cần có một Web Browser để giao tiếp với hệ thống, hoàn toàn không lệ thuộc vào môi trường thực hiện. - Hỗ trợ người dùng thực hiện công việc bất kỳ lúc nào - Hỗ trợ làm việc nhóm thông qua mạng. - Thực hiện liên kết với các quy trình nghiệp vụ khác trong nội bộ tổ chức. Ø Khuyết điểm: - Vấn đề bảo mật thông tin. - Truyền thông chậm, đặc biệt việc kết nối cơ sở dữ liệu từ xa. Nếu dự án lớn và đòi hỏi khối lượng thông tin trao đổi nhiều thì đây là khó khăn rất lớn. 1.2.Tổng quan về đề tài: 1.2.1. Các yêu cầu của đề tài: Trong phạm vi nghiên cứu của luận văn chúng em dự kiến thực hiện một số yêu cầu chủ yếu sau: Ø Tìm hiểu về các ngôn ngữ mô hình hóa quy trình nghiệp vụ hiện nay. Ø Tìm hiểu về vận hành quy trình nghiệp. Ø Xây dựng ứng dụng hỗ trợ vận hành quy trình nghiệp vụ theo đặc tả của một ngôn ngữ mô hình hóa. 1.2.2. Kết quả đạt được: Ø Về mặt lý thuyết: 4 Micheal zur Muehlen và Rob Allen, Workflow classification Embeded & Autonomous Workflow Management System, Workflow Management Coalition, 10/3/2000.
  • 15. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 15 o Kiến thức về vấn đề mô hình hóa và vận hành quy trình nghiệp vụ hiện nay. Thực hiện so sánh đặc điểm của các ngôn ngữ mô hình hóa (trình bày trong chương 1). o Nguyên lý vận hành quy trình nghiệp vụ (trình bày trong chương 1) o Kết quả nghiên cứu về ngôn ngữ mô hình hóa BPML (trình bày trong chương 2). o Kết quả nghiên cứu về ngôn ngữ mô hình hóa XPDL (trình bày trong chương 2) o Kết quả nghiên cứu về ngôn ngữ mô hình hóa eXPDL và công cụ mô hình hóa MyXPDL (trình bày trong chương 2). Ø Về mặt ứng dụng: o Xây dựng ứng dụng hỗ trợ vận hành quy trình nghiệp vụ được đặc tả theo ngôn ngữ eXPDL trên môi trường WEB. (trình bày trong chương 4,5). o Ứng dụng hỗ trợ thiết kế và vận hành trực tiếp các quy trình đơn giản. 1.2.3. Bố cục luận văn: Ø Chương 1: Tổng quan: Giới thiệu tổng quan về tiến trình nghiệp vụ, các ngôn ngữ mô hình hóa và công cụ vận hành tiến trình nghiệp vụ hiện tại: các kết quả đạt được, các vấn đề còn tồn động. Giới thiệu tổng quan về các yêu cầu và kết quả đạt được của đề tài. Ø Chương 2: Giới thiệu các ngôn ngữ mô hình hóa BPML phiên bản 1.0, XPDL 2.0, eXPDL. Ø Chương 3: Giới thiệu tổng quan hệ thống: Giới thiệu các công cụ, ngôn ngữ chính sử dụng, nguyên lý tổ chức hệ thống, một số quy trình tổng quan trong hệ thống. Ø Chương 4: Phân tích yêu cầu hệ thống: Bối cảnh ra đời, giới thiệu các chức năng chính mà hệ thống cần phải xây dựng. Ø Chương 5: Phân tích và thiết kế hệ thống: Trình bày về kỹ thuật thiết kế và xây dựng ứng dụng iPMS.
  • 16. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 16 Ø Chương 6: Thử nghiệm và đánh giá: Trình bày về thử nghiệm vận hành một số quy trình nghiệp vụ, đánh giá kết quả đạt được và quá trình cài đặt và triển khai hệ thống. Ø Chương 7: Tổng kết và hướng phát triển: Tổng kết lại kết quả đạt được của luận văn, ưu và khuyết điểm, cuối cùng đưa ra các hướng phát triển trong tương lai. Chương 2. Giới thiệu một số ngôn ngữ mô hình hóa: Trình bày kiến thức tổng quát về các ngôn ngữ mô hình hóa: XPDL, BPML, eXPDL. Đặc biệt là eXPDL, vì đặc tả quy trình nghiệp vụ theo eXPDL là đầu vào cho việc xây dựng ứng dụng vận hành quy trình nghiệp vụ iPMS (Trình bày trong chương 4,5). XPDL, BPML, BPEL là những ngôn ngữ mô hình tiến trình được dùng cho việc thực hiện tiến trình. Chúng không được sử dụng trực tiếp trong các pha phân tích thiết kế. Được thể hiện trong bộ cú pháp của XML, chúng còn có một khuôn dạng trao đổi riêng cho chính mình. Không có cái nào trong số chúng đưa ra được bộ ký hiệu đồ họa chuẩn.Từ định nghĩa của chúng ta có thể thấy chúng thì chưa được thiết kế để bao trùm các cấp độ của sự phân tích dây chuyền và có tổ chức. WFMC là tổ chức đầu tiên phát triển một chuẩn thực hiện. Một phiên bản XML mới của ngôn ngữ WFMC được phát hành vào năm 2002 dưới tên XPDL. BPMI đã đưa ra 1 ngôn ngữ cạnh tranh vào năm 2001 được gọi là Ngôn ngữ mô hình hóa tiến trình nghiệp vụ (BPML). Sáng kiến này khởi động lại những công việc về những ngôn ngữ thực hiện tiến trình và làm ngày càng có nhiều đóng góp tiếp sau đó như, BPEL. BPEL (Business Process Execution Language) được bắt đầu bởi Microsoft và IBM để đáp lại sáng kiến của BPMI. Kể từ đó, ngôn ngữ này đã nhận sự hỗ trợ của đa số người trên thị trường, bao gồm cả BPMI. BPEL đã trở thành là chuẩn thực tế cho việc thực hiện qui trình nghiệp vụ. Nó có nhiệm vụ chính là đặc tả các dịch vụ mạng. Từ năm 2003, một tổ chức có tính tiêu chuẩn là OASIS đã mua và có trách nhiệm cho sự phát triển của ngôn ngữ BPEL.. 2.1.Ngôn ngữ mô hình hóa XPDL:
  • 17. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 17 2.1.1. Lịch sử: STT Tên phiên bản Tác giả Đặc điểm chính 1 Version 1.0 Roberta Norin 2 Version 1.01 Mike Marin và Robert Shapiro Bản thảo ban đầu, ánh xạ 2 chiều đến BPMN 1.0 3 Version 1.02 Mike Marin và Robert Shapiro Tổ chức lại tài liệu và thêm những siêu mô hình (meta model) mới 4 Version 1.03 Robert Shapiro - Thêm phần chú thích dưới dạng Text trong phần siêu mô hình của BPMN - Cập nhật lại những bảng và mô hình riêng, thêm những mục (section) cho tất cả các thành phần. 5 Version 1.04 Robert Shapiro - Một số thay đổi nhỏ trong mô hình: thứ tự các phần tử và một số phần tử được tạo tùy chọn. - Ví dụ về gateways và events. 6 Version 1.05 Robert Shapiro - Một phần nhỏ thay đổi trong mô hình: ProcessType - thứ tự của các thành phần được giữ lại để tương thích với phiên bản XPDL 1.0 - Một số lỗi nhỏ về in ấn. - Thuộc tính Instantiate được loại bỏ khỏi TaskSend và TaskService. Tài liệu TaskSend được chỉnh sửa - Giải thích mệnh đề OTHERWISE được chuyển thành SPLITS. Chỉnh sửa tài liệu về Splits và Joins trong
  • 18. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 18 phần mở rộng của BPMN. Thêm tài liệu vào mục Route Activity - Những gói liên quan được mở rộng bao gồm cả phần khai báo kiểu - Thêm thuộc tính External Package Reference - Thêm sự tham khảo vào gói ngoài (external package) cho những người tham gia nhận biết. 7 Version 1.06 Robert Shapiro - Bao gồm tất cả những soạn thảo thay đổi từ Justin Brunt (JBrunt@staffware.com) 8 Version 1.07 Robert Shapiro - Bao gồm những thay đổi dựa trên những yêu cầu của phiên bản XPDL 1.0 - Chỉ số tham số hình thức (Formal parameter index) không còn dùng nữa - Thuộc tính AccessLevel của tiến trình được tạo tùy chọn với mặc định là PUBLIC - Thuộc tính Additional của dòng con (Subflow) cung cấp tên của vùng dữ liệu (datafield) trong đó chứa instantiation id - Thuộc tính Execution cho các luồng con được tùy chọn với mặc định là SYNCHR
  • 19. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 19 - Thuộc tính GraphConformance trong lớp Conformance được tùy chọn với mặc định là NON_BLOCKED. - Điều kiện chuyển tiếp có thể có ở bất cứ 1 thành phần con nào của biểu thức - “Kiểu” thuộc tính Tool được loại bỏ : nó không còn được cần nữa kể từ khi không có sự khởi dựng trong việc khai báo Thủ tục (Procedures) hoặc bất kỳ những thông tin nào về tham số hình thức hoặc chuyển tham số. Vì vậy kể từ giờ tất cả các Tools phải chuyển là Applications. - DeadlineCondition được loại bỏ. Phần tử DeadlineDuration được giới thiệu Ví dụ làm lại sử dụng ký hiệu của BPMN 9 Version 1.08 Mike Marin - Tăng cường tài liệu và mô hình với những mẫu thuộc tính mở rộng mới - Tất cả các kiểu mô hình (schema types) được thêm vào tiếp đầu ngữ ‘t’ - Thay đổi thuộc tính ExternalPackage id thành Id để
  • 20. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 20 thích hợp với tất cả những Ids khác - Bình thường hóa thuộc Name và id cho tất cả các thực thể - Thay đổi Assignment để có được thực thể Đích (Target) và Biểu thức (Expression) - Thay đổi TaskScript để được biểu thức tùy ý - Giới thiệu kiểu tExpressionType và sử dụng cho tất cả các biểu thức - Cập nhật thêm mô hình ở tất cả các mục(section) - Thêm 1 mục (section) vào phiên bản 1.0 để tượng thích 10 Version 1.09 Robert Shapiro - Những lỗi in của phiên bản trước đã được chỉnh sửa - Thuộc tính toolId được thay thế bằng ToolId - Kiểu thuộc tính Target được thay đổi thành NMTIKEN - Tất cả giản đồ thêm vào được cập nhật cho cách tiếp cận mới sử dụng namespace. 11 Version 2.0 Robert Shapiro, Mike Marin, Justin Brunt và Sasa Bojanic - Phiên bản mới nhất hiện nay. 2.1.2. Các đặc điểm chính của XPDL 2.0: Chúng em xin giới thiệu sơ lược về phiên bản mới nhất của XPDL 2.0
  • 21. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 21 Phiên bản XPDL 2.0 thì tương thích với phiên bản XPDL 1.0, và được dự định sẽ sử dụng như một dạng tập tin (file) cho BPMN. Mục đích nguyên thủy của XPDL là phải được duy trì và tăng cường bởi phiên bản thứ hai này của bảng đặc tả. XPDL và bảng đặc tả BPMN đều có chung 1 vấn đề về mô hình từ những viễn cảnh khác nhau. XPDL cung cấp 1 định dạng file XML mà từ đó ta có thể sử dụng để trao đổi giữa những mô hình tiến trình và những công cụ. BPMN cung cấp một bộ ký hiệu đồ họa để làm dễ dàng cho việc truyền thông của con người như giữa những người dùng nghiệp vụ và người dùng kỹ thuật hoặc của những quy trình nghiệp vụ phức tạp. Có một số thành phần trong BPMN phiên bản 1.0 nhưng không được thể hiện trong XPDL phiên bản 1.0. Tất cả các thành phần này được hợp nhất lại trong phiên bản XPDL 2.0. Phiên bản XPDL 2.0 tương thích với phiên bản XPDL 1.0. Tuy nhiên có một số ngoại lệ phụ. Phiên bản XPDL 2.0 có một tên miền (namespace) khác, và những công cụ muốn tương thích với phiên bản XPDL 1.0 cần hiểu cả XPDL 1.0 và tên miền của XPDL 2.0 Những thành phần trong phiên bản XPDL 1.0 sau đây đã được loại bỏ trong phiên bản 2.0 • Thành phần Automatic. Thay thế bởi thuộc tính Mode trong thành phần StartMode và FinishMode • Thuộc tính BlockId của thành phần BlockActivity. Thay thế bởi ActivitySetId. • Thành phần DeadlineCondition. Thay thế với DeadlineDuration. • Thuộc tính Index trong thành phần FormalParameter. Vì FormalParameters phải phù hợp với thứ tự trong khai báo, và như vậy không cần thiết phải có thuộc tính Index • Thành phần Manual. Thay thế bởi thuộc tính Mode trong thành phần FinishMode và StartMode
  • 22. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 22 • Thuộc tính Type của thành phần Tool. Vì những công cụ là những ứng dụng và như vậy thuộc tính này không phải là cần thiết. ( những công cụ không thể là những thủ tục – từ WPDL - vì XPDL không cung cấp bất kỳ những cách định nghĩa tham số hình thức cho những thủ tục nào.) • Thành phần Xpression bên trong thành phần Condition. Thay thế bởi Expression • Thứ tự trong một WorkflowProcess thay đổi từ DataFields, Participants, và Applications thành Participants, Applications, và DataFields. 2.2.Ngôn ngữ mô hình hóa BPML: 2.2.1. Khái niệm: Ø Phiên bản mới nhất BPML 1.0. Ø Đặc tả BPML cung cấp một mô hình trừu tượng và cấu trúc XML cho việc diễn tả các quy trình nghiệp vụ có thể thực hiện và hỗ trợ các thực thể.BPML định nghĩa một mô hình hình thức cho việc diễn tả các quy trình nghiệp vụ một cách trừu tượng và có thể thực thi được mà nhắm đến tất cả các khía cạnh của của quy trình nghiệp vụ phát triển, bao gồm các công việc ở các mức độ phức tạp khác nhau, các giao tác và cơ chế đền bù giao tác, sự quản lý dữ liệu, sự nhất quán, bắt lỗi và các ngữ nghĩa toán học (operational semantics). BPML cũng cung cấp một cấu trúc ngữ pháp dưới dạng lược đồ XML cho việc duy trì và trao đổi định nghĩa giữa các hệ thống và công cụ mô hình hóa không thống nhất nhau. BPML tự nó không định nghĩa bất kỳ một ngữ nghĩa ứng dụng nào cụ thể ví dụ như các quy trình cụ thể hay các quy trình trong một lĩnh vực cụ thể. Thay vào đó, nó định nghĩa một mô hình trừu tượng và ngữ pháp cho việc diễn tả các quy trình chung. Điều này cho phép BPML có thể được sử dụng cho nhiều mục đích khác nhau bao gồm, nhưng không hạn chế, định nghĩa các quy trình nghiệp vụ phát triển (enterprise business processes), định nghĩa các dịch vụ WEB
  • 23. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 23 phức tạp, và định nghĩa sự tương tác giữa nhiều đối tác cung cấp (multi - party) với nhau. 5 Ø Là một ngôn ngữ hình thức, độc lập với nền tảng (flatform)/ phần mềm, do đó các công ty có thể diễn tả rõ ràng quy trình nghiệp vụ của họ dưới dạng biểu mẫu có thể chỉnh sủa và thực hiện được. 6 Ø Có thể cho phép tất cả các đối tượng tham gia trong việc thiết kế, triển khai, thực hiện, bảo trì và tối ưu hóa quy trình quản lý các công việc nghiệp vụ trong mô hình hướng quy trình (process – oriented fashion) trong khi vẫn giữ nguyên tính toàn vẹn trong liên kết quy trình nghiệp vụ. 2.2.2. Các thành phần chính: Trong khuôn khổ luận văn chúng em xin giới thiệu tổng quan một số thành phần chính và quan trong trong BPML. 2.2.2.1. Công việc (Acitivity) : Là thành phần thực hiện một chức năng cụ thể. Các công việc phức tạp là sự kết hợp của các công việc khác và hướng trực tiếp đến sự thực hiện của chúng. Một quy trình là một sự kết hợp của các công việc và có thể nó là một công việc trong một quy trình khác lớn hơn. Ngữ nghĩa của một công việc được áp dụng cho định nghĩa quy trình với một số ngoại lệ. 2.2.2.2. Các loại công việc (Activity types): BPML định nghĩa tất cả 17 loại Activity và 3 loại Process. Tất cả các loại Activity đều được xuất phát từ một loại cơ bản thông dụng (common base type) sau. Các thuộc tính của loại cơ bản: - name: Tên công việc - documentation: Tài liệu mô tả công việc. - other: Các thuộc tính khác định nghĩa cho 1 loại Activity cụ thể. 2.2.2.3. Ngữ cảnh công việc (The activity context): 5 Business Process Modeling Language, 13/11/2002, Assaf Arkin, Intalio 6 IEEE Workshop on advanced issues of e-commerce and web-based information system, 26-28/6/2002, Newport Beach, California.
  • 24. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 24 Các công việc mà thực hiện trong cùng ngữ cảnh sử dụng ngữ cảnh để trao đổi thông tin thông qua thuộc tính được định nghĩa trong ngữ cảnh. Ví dụ, một công việc nhận vào một thông điệp thiết lập các giá trị cho một thuộc tính từ nội dung của thông điệp. Một chuỗi tuần tự con các công việc sử dụng giá trị của thuộc tính vừa được tạo để tạo và gửi một thông điệp ra. Ngữ cảnh định nghĩa tính chất thông dụng cho tất cả các công việc trong ngữ cảnh đó, ví dụ bắt các điều kiện và lỗi ngoại lệ, cung cấp các ngữ nghĩa nguyên tố, định nghĩa rang buộc thời gian… Các công việc và ngữ cảnh được xây dựng theo kiểu phân cấp. Ngữ cảnh hiện tại của công việc này có thể là ngữ cảnh con của một vài ngữ cảnh khác, và cũng có thể là “cha” của nhiều ngữ cảnh con khác. 2.2.2.4. Công việc đơn giản và công việc phức hợp (simple and complex activity): Ø Công việc đơn giản (Simple activity): là một con việc mà không thể phân rã nhỏ hơn. Các loại công việc đơn giản được định nghĩa trong BPML: o Action: Thực hiện hoặc gọi một hành động liên quan đến trao đổi các thông điệp vào và ra. o Assign: Gán một giá trị mới cho thuộc tính. o Call: Tạo mới một quy trình và chờ cho quy trình hoàn tất. o Compensate: Gọi thực hiện đền bù (compensation) cho các quy trình đã được đặt tên. o Delay: Diễn tả sự trôi đi của thời gian. o Emty: Không làm gì hết. o Fault: Phát ra lỗi trong ngữ cảnh hiện tại. o Raise: Phát sinh một tín hiệu. o Spawn: Khởi tạo một quy trình nhưng không chờ cho quy trình hoàn tất. o Synch: Đồng bộ hóa trên một tín hiệu
  • 25. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 25 Ø Công việc phức hợp (Complex activity): Là sự kết hợp của một hoặc nhiều công việc. Các công việc có thể là đơn giản hoặc phức hợp. Một công việc phức hợp chức một tập một hoặc nhiều công việc và hướng trực tiếp đến sự thực hiện của các công việc từ một trong các tập công việc này. Các loại công việc phức hợp được định nghĩa trong BPML: o All: Thực hiện các công việc song song. o Choice: Thực hiện các công việc từ một trong tập các công việc, được chọn thực hiện để đáp ứng cho một sự kiện. o Foreach: Thực hiện các công việc một lần cho mỗi công việc trong danh sách các công việc. o Sequence: Thực hiện các công việc theo thứ tự tuần tự. o Switch: Thực hiện các công việc từ một trong tập các công việc, được chọn dựa vào giá trị đúng của điều kiện. o Until: Thực hiện các công việc một hoặc nhiều lần dựa vào giá trị đúng của điều kiện. o While: Thực hiện các công việc không hoặc nhiều lần dựa vào giá trị đúng của điều kiện. 2.2.2.5. Thể hiện công việc (Activity instance): Sự định nghĩa công việc chỉ rõ một thể hiện công việc sẽ được thực hiện như thế nào. Nhiều thể hiện của công việc đó có thể được thực hiện song song. Mặc dù các thể hiện này được khởi tạo từ cùng một định nghĩa công việc, chúng là khác nhau và không có liên quan trực tiếp với nhau. Các trạng thái của một thể hiện công việc: o Ready: Thể hiện công việc chưa thực hiện bất kỳ công việc nào. Ở trạng thái này chúng ta có thể thực hiện bỏ qua công việc, khi đó nó chuyển qua “Cancelled” (tức là công việc bị hủy bỏ). o Active: Thể hiện công việc đang thực hiện công việc cụ thể theo định nghĩa của nó.
  • 26. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 26 o Completing: Thể hiện công việc đã thực hiện tất cả các công việc mà nó được định nghĩa, và bây giờ đang thực hiện tất cả các công việc được yêu cầu để hoàn tất. o Completed: Thể hiện công việc đã thực hiện tất cả các công việc được yêu cầu để hoàn tất. o Aborting: Thể hiện công việc không thể hoàn tất công việc được định nghĩa và đang thực hiện tất cả các công việc được yêu cầu để bỏ qua (kết thúc thất bại). Một số công việc mà thể hiện công việc phải thực hiện khi ở trạng thái này: kiểm soát lỗi, kết thúc giao tác, thực hiện đền bù… o Aborted: Thể hiện công việc đã thực hiện tất cả các công việc được yêu cầu để bỏ qua. Sơ đồ chuyển đổi trạng thái: Hình 3Sơ đồ chuyển đổi trạng thái thể hiện công việc trong BPML 2.2.3. Quy trình (Process): Quy trình là một loại công việc phức hợp mà định nghĩa trong nó ngữ cảnh cho sự thực thi. Quy trình bao gồm nhiều công việc và hướng trực tiếp đến sự thực thi của các công việc này. Quy trình có thể xem như là một công việc của một quy trình lớn hơn. Quy trình thường được định nghĩa như một đơn vị có tính tái sử dụng của công việc. 2.2.3.1. Sự khởi tạo quy trình: Tuỳ theo định nghĩa quy trình mà chúng ta có ba cách khởi tạo sau:
  • 27. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 27 Ø Activity: Các công việc loại call, compensate, và spawn được dùng để khởi tạo định nghĩa quy trình mà có sự thể hiện loại activity. Các quy trình đang khởi tạo và đã khởi tạo phải ở cùng ngữ cảnh hoặc các ngữ cảnh liên quan. Định nghĩa quy trình đang khởi tạo phụ thuộc vào quy trình đã khởi tạo. Hai quy trình này gắn kết chặt chẽ với nhau. Ø Message: Một quy trình được khởi tạo để trả lời cho một thông điệp đầu vào có thể được triển khai như một dịch vụ độc lập và có thể được khởi tạo từ các tiến trình được triển khai trong các hệ thống khác hoặc trong các hệ thống mạng. Các quy trình như vậy không gắn kết chặt chẽ với nhau và có thể được triển khai và thực hiện trong môi trường không thống nhất suy ra độc lập từ những quy trình khác. Tất cả các công việc phát sinh sự kiện phải là “action activities”. Ø Signal: Một quy trình được khởi tạo để đáp ứng cho việc phát sinh một tín hiệu chỉ có thể được khởi tạo trong ngữ cảnh của đối tượng. Một quy trình lưới (nested process) có thể đáp ứng một tín hiệu được phát sinh bởi các công việc khác đang mà thực thi trong cùng ngữ cảnh. Hình thức khởi tạo này chỉ được thực hiện đối với các quy trình được định nghĩa như một phần của quy trình khác lớn hơn, ví dụ như nested processes và exception processes. Tất cả các công việc phát sinh sự kiện phải là “synch activities”. Bảng so sánh ba cách khởi tạo tiến trình: để tiện cho việc tham khảo chúng em xin giữ nguyên bảng so sánh gốc bằng tiếng anh. Instantation Definition Inputs Instantiating activity Activity No event Parameter Call, compensate, spawn, schedule Message Event activity=a Action name=a Receive messageA Send messageA
  • 28. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 28 messageA Message Event activity=a b Exclusive=true Action name=a Receive messgeA Action name=b Receive messageB messageA or messageB Send messageA or messageB Event activity=a b Exclusive=false Action name=a Receive messgeA Action name=b Receive messageB messageA and messageB Send messageA and messageB Signal Event activity=a Synch name=a signalA condA signalA Raise signalA Signal Event activity=a b Exclusive= true Synch name=a signalA condA synch name=b signalB condB signalA or signalB Raise signalA or signalB Signal Event activity=a b Exclusive= false Synch name=a signalA condA synch name=b signalB condB signalA and signalB Raise signalA and signalB Bảng 1 Bản so sánh các loại khởi tạo quy trình
  • 29. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 29 Nếu quy trình không được định nghĩa để tương tác với các công việc khác đang thực hiện trong cùng ngữ cảnh, hoặc không được khởi tạo bởi quy trình khác được định nghĩa trong cùng ngữ cảnh thì định nghĩa nên được khởi tạo theo loại “message”. 2.2.3.2. Nested process: Là sự định nghĩa quy trình được áp dụng cho một ngữ cảnh cho trước. Nested process được dùng như một công việc trong một quy trình lớn hơn, để cục bộ hóa sự định nghĩa quy trình trong ngữ cảnh mà nó được sử dụng, và để ràng buộc sự khởi tạo và có giá trị của quy trình đối với ngữ cảnh cụ thể. Nested process được khởi tạo trong ngữ cảnh mà nó được định nghĩa, có thể truy cập các thuộc tính được định nghĩa trong ngữ cảnh đó, khởi tạo các quy trình khác mà được định nghĩa trong ngữ cảnh đó, sử dụng tín hiệu để tương tác với các công việc khác được định nghĩa trong cùng ngữ cảnh, và sử dụng các quy trình ngoại lệ (exception processes) và bắt lỗi (fault handler) được định nghĩa bởi ngữ cảnh. Một “top – level process” là một định nghĩa quy trình mà không áp dụng cục bộ cho bất kỳ ngữ cảnh cụ thể nào, nó được định nghĩa tại cấp độ gói (package level) và không chia ngữ cảnh của nó với các “top – level process” khác. “Top – level process” có thể được khởi tạo bất kỳ lúc nào. “Top – level process” không sử dụng loại khởi tạo “signal activity”. “Exception process” là một loại nested process đặc biệt. Khi “exception process” được khởi tạo thì nó buộc công việc cha phải huỷ bỏ. Trong khi đó “nested process” có thể được khởi tạo nhiều lần trong một ngữ cảnh đối tượng, chỉ duy nhất một “exception process” được khởi tạo trong một ngữ cảnh đối tượng cho trước. “Compensation process” là một dạng “nested process” đặc biệt khác. Một “compensation process” được khởi tạo sau khi thể hiện quy trình cha hoàn tất để đền bù cho bất kỳ công việc nào mà nó đã thực hiện. “Compensation process” chỉ
  • 30. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 30 được khởi tạo nếu thể hiện quy trình cha đã hoàn tất và có thể được khởi tạo duy nhất một lần. 2.2.3.3. Định nghĩa quy trình (process definition): Bao gồm các thuộc tính sau: Name :tên quy trình. Documentation: tài liệu mô tả quy trình. Identity: Một hoặc nhiều tên định danh. Persistent: thuộc tính sự liên tục. Event: sự kiện khởi tạo. Paranmeters: không có hoặc có nhiều tham số đầu vào. Activity set: một tập các công việc. Compensation: compensation process. 2.2.3.4. Tham số (parameter): Bao gồm các thuộc tính sau: Name: tên tham số. Direction: input, output. Requyre: true nế được yêu cầu, mặc định là false. Code: mã số lỗi (chỉ dành cho output). Thuộc tính direction xác định tham số là tham số vào hay tham số ra. • Input: Khi một quy trình được khởi tạo, một giá trị đầu vào của tham số được gắn cho một thuộc tính đã được đặt tên trong quy trình. • Output: Khi một tiến trình hoàn thành hay bỏ dở (abort), giá trị của thuộc tính thể hiện quy trình được sử dụng như một giá trị ra cho tham số. 2.2.3.5. Định danh quy trình (process indentity): Định danh quy trình phục vụ như một phương tiện để xác định một thể hiện quy trình cụ thể từ một tập hợp các thể hiện quy trình được khởi tạo từ cùng một định nghĩa. Nó cũng xác định các thể hiện quy trình liên quan trong một tập hợp các thể hiện được khởi tạo từ các định nghĩa khác nhau. Cấu trúc định danh
  • 31. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 31 Name: tên định danh Properties: một hoặc nhiều thuộc tính. Documentation: tài liệu mô tả. 2.2.4. Ngữ cảnh (Context): Ngữ cảnh định nghĩa một môi trường cho việc thực thi các công việc liên quan. Các công việc thực thi trong cùng ngữ cảnh sử dụng ngữ cảnh cho việc trao đổi thông tin và phối hợp hoạt động. Một công việc có thể truy cập và sửa đổi giá trị của thuộc tính được định nghĩa trong ngữ cảnh, khởi tạo một “nested process”, phát và đồng bộ hóa tín hiệu… Ngữ cảnh định nghĩa các thuộc tính thông dụng cho tất cả các công việc đang thực hiện trong nó.Nó định nghĩa các điều kiện ngoại lệ và lỗi được quản lý như thế nào, cung cấp các ngữ nghĩa nguyên tố cho việc truy xuất thuộc tính và trao đổi thông điệp… Một định nghĩa ngữ cảnh chứa các định nghĩa cục bộ (local definitions) cho các thực thể mà chỉ có thể truy cập trong ngữ cảng đó. Định nghĩa ngữ cảnh có thể được kế thừa. Có hai loại ngữ cảnh: Current context và Process context. • Current context: Là ngữ cảnh mà trong đó một công việc được định nghĩa, bao gồm ngữ cảnh chứa định nghĩa công việc và tất cả các ngữ cảnh cha. • Process context: Là ngữ cảnh được dùng chung cho tất cả các công việc thực hiện như một phần của định nghĩa quy trình. Ngữ cảnh này phục vụ như là ngữ cảnh cha cho ngữ cảnh của nested và exception process. Ngữ cảnh tiến trình của “top – level process” được gọi là root context, vì nó không là ngữ cảnh con của bất kỳ ngữ cảnh cha nào. Các thể hiện ngữ cảnh được khởi tạo từ cùng định nghĩa ngữ cảnh là khác nhau và không dùng chung bất kỳ thể hiện nào của định nghĩa cục bộ. Đặc biệt, hai thể hiện “top – level process” không dùng chung bất kỳ thể hiện thuộc tính , thể hiện công việc và thể hiện của “nested process”. 2.2.4.1. Định nghĩa cục bộ (Local definition): bao gồm 6 loại sau:
  • 32. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 32 • Exception: Định nghĩa một “exception process” cục bộ đối với ngữ cảnh để đảm bảo các quy trình chỉ đáp ứng các sự kiện từ thể hiện của ngữ cảnh đó, và tất cả các sự kiện dừng tất cả các công việc đang thực hiện trong thể hiện ngữ cảnh đó. • Process: Định nghĩa một quy trình cục bộ đối với ngữ cảnh để đảm bảo các quy trình chỉ có thể được khởi tạo trong thể hiện của ngữ cảnh đó. • Property: Định nghĩa một thuộc tính cục bộ trong ngữ cảnh để đảm bảo giá trị của thể hiện thuộc tính chỉ có thể được truy cập và sửa đổi từ các công việc đang thực hiện trong thể hiện của ngữ cảnh đó. Nó được dùng để giới hạn quyền truy cập đối với thuộc tính. • Schedule: Định nghĩa một kế hoạch cục bộ trong ngữ cảnh để đảm bảo kế hoạch sẽ phát sinh các sự kiện thời gian trong khi các công việc đang thực hiện trong thể hiện của ngữ cảnh. • Signal: Định nghĩa một tín hiệu cục bộ trong ngữ cảnh để đảm bảo tín hiệu chỉ có thể được phát sinh và được đồng bộ hóa bởi các công việc đang thực hiện trong thể hiện của ngữ cảnh. 2.2.4.2. Định nghĩa ngữ cảnh (Context definition): bao gồm các thuộc tính sau: Atomic: True nếu là ngữ cảnh nguyên tố. Exception: Không hoặc nhiều “exception process”. Processes: Không hoặc nhiều định nghĩa quy trình. Properties: Không hoặc nhiều định nghĩa thuộc tính. Schedule: Không hoặc nhiều định nghĩa kế hoạch. Signals: Không hoặc nhiều định nghĩa tín hiệu. Faults: Không hoặc nhiều bộ quản lý lỗi. 2.2.5. Thuộc tính (Property): Một định nghĩa thuộc tính khai báo tên, kiểu và cung cấp một giá trị khởi tạo ban đầu (có thể không có). Một thể hiện thuộc tính giữ giá trị của thuộc tính.
  • 33. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 33 Một thể hiện ngữ cảnh không thể có hai thể hiện thuộc tính cùng tên. Hai thể hiện thuộc tính cùng tên là khác nhau nếu chúng thuộc hai thể hiện ngữ cảnh khác nhau. Thể hiện thuộc tính được khởi tạo khi một trong các điều sau xẩy ra: • Định nghĩa thuộc tính khởi gán giá trị ban đầu khi thể hiện ngữ cảnh được tạo. • Định nghĩa thuộc tính được xác định bởi một thuộc tính tham chiếu (reference attribute) và một thể hiện thuộc tính với cùng định nghĩa tồn tại trong thể hiện ngữ cảnh cha khi một thể hiện ngữ cảnh được tạo. Thể hiện thuộc tính sẽ có cùng giá trị với thể hiện thuộc tính mà nó được tham chiếu. • Một giá trị được gán đầu tiên từ bất kỳ công việc nào thực hiện trong thể hiện của ngữ cảnh đó hoặc trong một ngữ cảnh con. Một công việc chỉ có thể truy cập giá trị của thuộc tính khi đã có thể hiện thuộc tính. 2.2.5.1. Các loại thuộc tính: • Đơn giản: Loại thuộc tính chỉ có thể là một trong các loại đơn giản được định nghĩa bởi lược đồ XML hoặc một loại được xuất phát từ nó. Giá trị thuộc tính là 1 giá trị nguyên tố của loại đó hoặc xuất phát từ loại đó và cũng có thể là rỗng. • Phức hợp: Loại thuộc tính là kiểu phức hợp được định nghĩa bởi lược đồ XML. Giá trị thuộc tính cũng là giá trị phức hợp. Giá trị thuộc tính chỉ có thể là rỗng nếu định nghĩa kiểu phức hợp cho phép một trình tự rỗng. • Thành phần (element): Thuộc tính là một thành phần được định nghĩa bởi sự khai báo lược đồ XML . Giá trị không được phép rỗng. 2.2.5.2. Thuộc tính cố định và thuộc tính ẩn: Giá trị của thể hiện thuộc tính cố định không thể bị sửa đổi. Khi nó được khởi tạo, giá trị của nó trở thành hằng. Nếu định nghĩa thuộc tính cố định không gán giá trị ban đầu, một giá trị được gán cho thuộc tính khi nó khởi tạo thể hiện.
  • 34. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 34 2.2.5.3. Biểu thức điều kiện (Expression): Biểu thức điều kiện dùng để thiết lập giá trị động cho thuộc tính và có thể được dẫn xuất từ giá trị của một hoặc nhiều thuộc tính. 2.2.5.4. Định nghĩa thuộc tính (Property definition): Bao gồm các thuộc tính sau: Name Type Value Fixed Documentation Định nghĩa thuộc tính được tham chiếu: Reference: tên định nghĩa được tham chiếu. Value Fixed Documentation 2.2.6. Tín hiệu (Signal): Tín hiệu được dùng để phối hợp sự thực hiện của các công việc trong cùng ngữ cảnh “Raise activity” phát tín hiệu bằng cách khởi tạo một thể hiện tín hiệu. “Synch activity” đồng bộ hóa trên tin hiệu bằng cách chờ cho tín hiệu được phát sinh, và sau đó giảm tín hiệu bằng cách loại bỏ một thể hiện tín hiệu. “Raise activity” và “Synch activity” có thể trao đổi thông tin bằng các truyền giá trị thông qua thể hiện tín hiệu. Thể hiện tín hiệu được tạo trong thể hiện của ngữ cảnh chứa định nghĩa của nó. Định nghĩa tín hiệu: Name: Tên tín hiệu. Documentation: Tài liệu mô tả. Type: loại giá trị. Multi: đa tín hiệu hay đơn tín hiệu.
  • 35. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 35 Source: nguồn của tín hiệu như một thuộc tính. Value: Giá trị ban đầu. 2.2.7. Kế hoạch (Schedule): Đại diện cho một chuỗi các sự kiện thời gian. Nếu sự kiện thời gian được tính toán từ các thể hiện thuộc tính thì sự kiện thời gian có thể đươc thay đổi bằng cách gán giá trị mới cho các thuộc tính này. Kế hoạch có thể được sửa đổi, hủy bỏ hoặc làm phát sinh một sự kiện thời gian khác. Kế hoạch cũng có thể đại diện cho một rang buộc về thời gian bằng cách phát sinh một lỗi buộc các công việc hoặc quy trình liên quan phải bỏ dở. Thể hiện kế hoạch được tạo từ sự định nghĩa kế hoạch. Thể hiện kế hoạch theo dấu sự kiện thời gian tiếp theo và kích hoạt tại một thời gian xác định. Thể hiện kế hoạch tính toán sự kiện thời gian tiếp theo dựa vào các đặc điểm sau: • Giá trị của thể hiện thuộc tính cung cấp sự kiện thời gian tiếp theo. • Giá trị của thuộc tính duration đựơc thêm vào thể hiện thời gian tại thời điểm kế hoạch được tạo. • Giá trị của thuộc tính repeat được thêm vào thể hiện thời gian hiện hành Định nghĩa kế hoạch: Name Documentation Process: Tên quy trình. Code: Mã số lỗi. Duration Instant Reapeat Other: Các cơ chế khác. 2.2.8. Ngoại lệ (Exception): Một quy trình phải có khả năng phát hiện các điều kiện ngoại lệ nếu chúng được giao tiếp bởi các quy trình khác sử dụng các thông điệp, báo hiệu bằng tín
  • 36. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 36 hiệu, hoặc là kết quả của các công việc mà thất bại để hoàn tất. Quy trình tác động trở lại các điều kiện ngoại lệ này sử dụng “exception process” và bộ kiểm soát lỗi. 2.2.8.1. Quy trình ngoại lệ (Exception process): Các biến cố ngoại lệ có thể xẩy ra làm cho các công việc và quy trình không thể hoàn tất thành công. Các biến cố ngoại lệ có thể được phát sinh từ các thông điệp vào, yêu cầu quy trình phải kết thúc tất cả các công việc và hoàn tất ngay tức thì, hoặc từ một nguồn phát sinh một tín hiệu thông báo điều kiện ngoại lệ. Exception process chỉ được khởi tạo một lần trong một thể hiện ngữ cảnh và chỉ đáp ứng cho một thông điệp vào hoặc một tín hiệu được phát sinh. Khi nó được khởi tạo tất cả các công việc đang thực hiện trong ngữ cảnh đó bị kết thúc. Exception process cắt ngang sự thực hiện của một công việc cha và buộc nó phải bỏ dở. Công việc định nghĩa các “exception process” cắt ngang nó trong một ngữ cảnh con. Sự cắt ngang chỉ có thể xảy ra khi công việc đang ở trạng thái “active” Định nghĩa “exception process” giống như định nghĩa “nested process”, với một số khác biệt sau: • “Exception process” không hỗ trợ kiểu khởi tạo “activity”, và không thể đuợc khởi tạo từ các loại công việc “call”,”spawn”. Thuộc tính tham số không được hỗ trợ. • Bởi vì chỉ có một “Exception process” được khởi tạo trong một thể hiện ngữ cảnh, nên nó có cùng định danh như quy trình cha. Thuộc tính “identity” không được hỗ trợ. • “Exception process” không được đền bù. Thuộc tính “compensation” không được hỗ trợ. Một thể hiện “Exception process” tồn tại nếu thể hiện quy trình cha tồn tại. Thuộc tính “persistent” không được hỗ trợ. 2.2.8.2. Lỗi và kiểm soát lỗi (Fault và Fault handler): Một lỗi là một điều kiện sai mà ngăn một công việc kết thúc thành công, hoặc phục hồi từ một lỗi khác.
  • 37. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 37 Các công việc phức hợp có thể phục hồi lại từ một lỗi bằng cách thực hiện kiểm soát lỗi (Fault handler). Kiểm soát lỗi được thực hiện sau “exception process”. Điều này cho phép các công việc cha bỏ dở mà không để lại lỗi, thậm chí khi “exception process” để lại lỗi. Khi tất cả các công việc trong thể hiện ngữ cảnh kết thúc hoặc bỏ dở, một kiểm soát lỗi được thực hiện. Các kiểm soát lỗi là một phần của định nghĩa ngữ cảnh, và thực hiện trong thể hiện ngữ cảnh nơi mà lỗi được phát sinh. Sau khi thực hiện xong kiểm soát lỗi, công việc cha chuyển qua trạng thái “aborted”. Cấu trúc kiểm soát lỗi: Name: Tên kiểm soát lỗi. Code: một hoặc nhiều mã lỗi. Documentation: Tài liệu mô tả. Activities: một hoặc nhiều công việc (có sắp thứ tự). 2.2.8.3. Chấm dứt công việc (Terminating activity): Một công việc có thể chấm dứt mà khộng ảnh hưởng đến các đối tượng khác chỉ khi nó đang ở trạng thái “ready”. Thực chất là công việc bị hủy bỏ (cancelled). Nếu công việc ở bất kỳ trạng thái nào khác thì nó không thể chấm dứt và phải kết thúc hoặc bỏ dở. Một thể hiện công việc chấm dứt bằng các chuyển qua trạng thái “aborting”, sau đó chuyển qua “aborted”. Các công việc phức hợp có thể chấm dứt khi đang ở trạng thái “ready” hoặc “active”. Ở trạng thái “active” chúng thực hiện các công việc được định nghĩa trong ngữ cảnh con và chấm dứt bằng cách phát ra lỗi “bpml:terminate” trong thể hiện ngữ cảnh đó. Kết quả là công việc phức hợp chuyển qua trạng thái “aborting” và kết thúc hoặc hoàn thành tất cả các công việc đang thực hiện. Sau đó công việc phức hợp thực hiện một kiểm soát lỗi, và cuối cùng chuyển qua trạng thái “aborted”. 2.2.8.4. Đền bù (Compensation): Khi một công việc gặp một điều kiện ngoại lệ ngăn chúng hoàn thành thì nên trả lại những gì nó đã làm trước khi bỏ dở. Nếu quy trình đã chiếm giữ các tài
  • 38. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 38 nguyên được yêu cầu để hoàn thành thì chúng nên giải phóng các tài nguyên đó để các quy trình khác có thể sử dụng. Nếu quy trình đã thực hiện công việc có khả năng đảo ngược thì nên đảo ngược lại công việc đó. Đền bù là sự phục hồi lại tất cả ảnh hưởng của một công việc đã hoàn thành. Một quy trình đền bù (Compensation process) là một quy trình được định nghĩa như một phần của quy trình cha với mục đích thực hiện sự đền bù. Quy trình đền bù chỉ có thể được khởi tạo khi thể hiện quy trình cha hoàn tất. Nếu quy trình cha thất bại để hoàn tất thì dùng kiểm soát lỗi để phục hồi và đền bù. Trong kiểm soát lỗi có thể chứa các quy trình đền bù của bất kỳ quy trình nào mà nó được khởi tạo. Định nghĩa quy trình đền bù giống định nghĩa quy trình lưới (nested process), với một số khác biệt sau: • Thêm hai thuộc tính “instant”, “duration”. • Vì chỉ có một quy trình đền bù có thể được tạo thể hiện từ một thể hiện quy trình cha, nên nó có cùng định danh như quy trình cha. Thuộc tính “indentity” không được hỗ trợ. • Quy trình đền bù không thể được đền bù. Thuộc tính “compensation” không được hỗ trợ. • Một thể hiện quy trình đền bù tồn tại nếu thể hiện quy trình cha tồn tại. Thuộc tính “persistent” không được hỗ trợ. 2.2.9. Giao tác (Transaction): 2.2.9.1. Công việc nguyên tố (Atomic activity): Một công việc nguyên tố là một công việc thực hiện như một đơn vị công việc riêng lẻ. Một công việc nguyên tố đảm bảo rằng các công việc khác sẽ không thấy kết quả từng phần trong khi công việc đang thực hiện, chỉ thấy được kết quả sau khi công việc thực hiện xong. Hầu hết các công việc đơn là công việc nguyên tố. Một số ngoại lệ là loại công việc: call, compensate, action khi thuộc tính “activities” được xác định. 2.2.9.2. Persistent process:
  • 39. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 39 Một công việc thực hiện qua một khoảng thời gian dài phải thực hiện trong môi trường phục hồi sự cố (do các điều kiện ngoại cảnh ví dụ : hệ thống bị dừng do mất điện…). Khi hệ thống bị dừng xẩy ra, thì công việc phải cho phép thực hiện tiếp ở trạng thái đã tồn tại rồi (thực hiện tiếp công việc mà công việc đã làm rồi trước khi sự cố xẩy ra). “Persistence” được định nghĩa như là khả năng gọi lại một thể hiện quy trình đã tồn tại sau khi hệ thống bị dừng. Một thể hiện “persistent process” được định nghĩa như là trạng thái của thể hiện quy trình tồn tại sau sự thực hiện của các công việc nguyên tố. Thể hiện quy trình phải gọi lại tất cả các công việc nguyên tố đã hoàn thành hay bỏ dở. Sự thực thi BPML cung cấp môi trường phục hồi sự cố cho việc thực hiện các quy trình bằng cách thực hiện hai cơ chế phục hồi “backward” và “forward”. • Forward: Là khả năng gọi các thể hiện quy trình sau khi hệ thống thất bại, đưa chúng trở về trạng thái tồn tại và tiếp tục thực hiện chúng. • Backward: Là khả năng hủy bỏ một công việc nguyên tố mà chưa hoàn thành hoặc bỏ dở trước khi hệ thống xảy ra sự cố. 2.2.9.3. Giao tác (Transaction): Các phương thức giao tác cho phép hai quy trình tương tác với nhau thông qua trao đổi thông điệp để phối hợp cùng hoàn thành công việc của chúng. Có hai loại giao tác: atomic transaction, open nested transaction. • Atomic transaction: Cho phép hai hệ thống thực hiện các công việc nguyên tố trong một ngữ cảnh nguyên tố dùng chung, do đó cả hai công việc hoàn thành và bỏ dở cùng nhau. Đầu ra của giao tác là sự kết hợp của tất cả các đầu ra của tất cả các công việc thực hiện như một phần của ngữ cảnh của giao tác. Đầu ra của giao tác thành công nếu tất cả các đầu ra của các công việc thành công, thất bại nếu bất kỳ công việc nào không thể kết thúc hoặc trạng thái của công việc đó không thể xác định được. Ngữ cảnh giao tác được xác định trước khi thực hiện công việc đầu tiên trong giao tác. Ngữ cảnh giao tác được kết nối như một phần của trao đổi thông điệp để chỉ rằng các công việc phải thực hiện như một phần của giao tác đó.
  • 40. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 40 Một công việc nguyên tố thực hiện trong một ngữ cảnh giao tác không hoàn thành cho đến khi các đầu ra của giao tác được xác định. Chúng vẫn giữ nguyên trạng thái “completing”, chờ một giải pháp cho đầu ra của giao tác. Sau khi đầu ra giao tác được xác định (thành công) thì công việc chuyển qua trạng thái “completed”. • Open nested transaction: Các công việc không phải nguyên tố cần phối hợp với nhau sử dụng “open nested transaction”. Trong khi “atomic transaction” được sủ dụng cho các giao tác ngắn, thì “open nested transaction” thích hợp cho cả giao tác ngắn và dài. Một “open nested transaction” có thể bao gồm các công việc thực hiện tương tác yêu cầu/ trả lời (request/response) sử dụng các hành động đồng bộ hóa, và các công việc thực hiện qua một thời gian dài. Một “open nested transaction” có thể bao gồm sự thực thi của một hoặc nhiều “open nested transaction” và “atomic transaction”. Các công việc không là nguyên tố giao tiếp với ngữ cảnh giao tác và đầu ra giao tác giống như cách giao tiếp của công việc nguyên tố. 2.2.10.Hàm (Function): Đặc tả BPML cung cấp một số hàm cần thiết cho việc định nghĩa quy trình có khả năng thực thi. Một định nghĩa quy trình có thể sử dụng bất kỳ hàm nào trong mô tả quy trình. Cấu trúc chung: returnType funcName(paramType paramName,…) BPML phân chia làm hai loại hàm chính: • Generic: Tập hợp các hàm dùng để tương tác với các thông tin tổng quát như: thời gian, định danh… • Instances: Dùng để tương tác với các thông tin của thể hiện công việc trong quá trình thực hiện của công việc, ví dụ: thông tin trạng thái. 2.3.Ngôn ngữ mô hình hóa eXPDL: 2.3.1. Giới thiệu:
  • 41. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 41 Trên cơ sở nghiên cứu hai ngôn ngữ mô hình hóa hiện nay là XPDL, BPML, hai sinh viên Trần Đăng Khoa và Phạm Minh Tuấn, sinh viên trường Đại học Khoa học Tự nhiên, đã nghiên cứu và đề xuất ngôn ngữ mô hình hóa eXPDL. 7 eXPDL quan tâm đặc biệt đến việc mô hình hóa các quy trình trong thực tế, không quan tâm đến “siêu mô hình” (meta - model). Ngôn ngữ XPDL là ngôn ngữ mô hình hóa hướng luồng công việc với khả năng vận hành và tính chuẩn hóa luồng công việc rất cao. Ngôn ngữ BPML là ngôn ngữ xem xét quy trình dưới dạng cấu trúc điều khiển, nó có tính biểu đạt và tính hình thức rất cao. eXPDL là sự kết hợp của XPDL và BPML. Tuy nhiên eXPDL được xây dựng chủ yếu dựa vào XPDL có kết hợp bổ sung các khái niệm mới của BPML để tăng tính diễn đạt. 2.3.2. Những cải tiến của eXPDL so với XPDL và BPML: Phần này đã được trình bày chi tiết trong luận văn cử nhân tin học của Trần Đăng Khoa và Phạm Minh Tuấn. Dưới đây chúng em xin tóm tắt lại một số ý chính: 2.3.2.1. Loại bỏ sự nhập nhằng giữa các hoạt động và các cổng điều khiển: • XPDL: Đồng nhất các cổng điều khiển với các hoạt động. • BPML: Các cổng điều khiển không được định nghĩa, mà việc điều khiển các luồng công việc thông qua các hoạt động chuẩn (được định nghĩa như các khối cấu trúc (while,switch,all, choice,…). • eXPDL: Định nghĩa thêm đối tượng Gateway. Gateway làm nhiệm vụ thể hiện ngữ nghĩa đồng bộ hóa giữa các luồng công việc trong quy trình. Có thể chia Gateway thành 4 loại cơ bản : AND, OR, XOR, COMPLEX. 2.3.2.2. Hỗ trợ mô tả các tiến trình thuộc loại Ad – Hoc: Tiến trình loại AdHoc là các tiến trình bên trong nó các hoạt động không được quy định thứ tự thực hiện . Tất cả các hoạt động này sẽ được thực hiện tùy ý cho 7 Tìm hiểu XPDL và xây dựng ứng dụng minh hoạ,Trần Đăng Khoa và Phạm Minh Tuấn, Luận văn cử nhân tin học, Tp.HCM 2004.
  • 42. Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB Trang 42 đến khi tất cả các hoạt động đều được hoàn thành. - chỉ có ràng buộc duy nhất là không có 2 hoạt động nào được tiến hành song song cùng lúc. Đây là tiến trình thuộc về mẫu “đường vào song song” (Interleaved Parallel Routing). • XPDL: Định nghĩa hai loại cổng là Split và Join nhưng không đủ ngữ nghĩa thể hiện cho Ad - Học. • BPML: Không có cơ chế trực tiếp hỗ trợ mẫu này. • eXPDL: Cung cấp thuộc tính để chỉ ra tiến trình thuộc loại Ad - Học. 2.3.2.3. Hỗ trợ mô tả các hoạt động đa thể hiện: Có 4 mẫu hoạt động đa thể hiện: • Mẫu đa thể hiện không đồng bộ • Mẫu đa thể hiện biết thông tin ở thời điểm thiết kế • Mẫu đa thể hiện biết trước thông tin ở thời điểm thực thi • Mẫu đa thể hiện không biết trước thông tin. • XPDL: chỉ thể hiện được mẫu đa thể hiện không đồng bộ và mẫu đa thể hiện biết thông tin ở thời điểm thiết kế. • BPML: hỗ trợ được tất cả các mẫu đa thể hiện thông qua việc sử dụng các hoạt động điều khiển. • eXPDL: Cung cấp các thuộc tính hỗ trợ cho việc thể hiện của mẫu đa thể hiện trong các tác vụ và các tiến trình con. 2.3.2.4. Bổ sung các sự kiện vào mô hình nghiệp vụ: • XPDL: Không hỗ trợ cơ chế đón bắt sự kiện giữa các hoạt động thành phần với nhau. • BPML: cho phép mô tả cơ chế này ở mức độ tương đối thông qua các tín hiệu (signal). • eXPDL: Cung cấp 3 loại sự kiện chính: - Các sự kiện kích hoạt tiến trình : Start Events - Các sự kiện kết thúc tiến trình : End Events