Khóa luậ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

Mụclục

Danhmục các ký hiệu, các chữ viết tắt . . . . . . . . . . . . . . . . . . . . . . . . 6

Danhmục các hìnhvẽ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Danhmục cácbảng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Chương 1. Tổng quan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1. 1. Tổng quanvềquytrình nghiệp vụ: . . . . . . . . . . . . . . . . . . . . . . . 9

1. 1.1. Định nghĩa: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1. 1.2. Cáchướng nghi êncứuvề ti ến trình nghiệpvụ: . . . . . . . . . . . . . . . 9

1. 1.3. Cơ chếvận hành quy trình nghiệpvụ:. . . . . . . . . . . . . . . . . . . 13

1.1.4. Ưu và khuyết điểmcủavận hành quy trình nghiệpvụbằngWEB: . . . . . . 14

1. 2. Tổng quanvề đề tài: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1. 2.1. Các yêucầucủa đề tài: . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1. 2.2. Kết quả đạt được:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1. 2.3. Bốcục luậnvăn: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Chương 2. Giới thiệu mộtsố 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ịchsử: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2. 1.2. Các đặc đi ểm chínhcủ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ứchợp (simpl e and complex activity):

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

2. 2.7. Kế hoạch (Schedule): . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2. 2.8. Ngoạilệ(Exception): . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2. 2.9. Giao tác (Transaction): . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2. 2.10. Hàm(Functi on):. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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ữngcải ti ếncủa eXPDL sovới XPDL và BPML:. . . . . . . . . . . 41

2. 3.2. 8.Hỗ trợ môtả các quy trình có những hoạt động theomẫucộtmốc: . . . . 43

Chương 3. Giới thiệu tổngquan hệ thống . . . . . . . . . . . . . . . . . . . . 44

3. 1. Ngữcảnhphát triểnhệ thống: . . . . . . . . . . . . . . . . . . . . . . . . 45

3. 2. Yêucầuhệ thốngcần xâydựng:. . . . . . . . . . . . . . . . . . . . . . . 45

3. 3. Ý nghĩahệ thống: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3. 4. Côngcụ thiết kế: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3. 4.1. Giới thiệuvề côngcụ mô hình hóa quy trình nghiệpvụ : . . . . . . . . . 46

3. 4.2. Mộtsố chỉ nhsửa côngcụ MyXPDL cho phùhợpvới việc quản l ý quy

trình nghiệpvụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3. 5. Nguyên lýtổ chứchệ thống: . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3. 6. Nguyên lývận hànhhệ thống:. . . . . . . . . . . . . . . . . . . . . . . . . 47

3. 7. Quytrìnhtổngquan: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Chương 4. Phân tích yêucầuhệ thống . . . . . . . . . . . . . . . . . . . . . . 49

4. 1. Cácthành phần hỗ trợ trong luận văn: . . . . . . . . . . . . . . . . . . . . 49

4. 2. Các chứcnăng chính: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4. 2.1. Quản lý quy trìnhmẫu:. . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4. 2.2. Khởitạodự án: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4. 2.3. Quản lýdự án: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4. 2.4. Thực hiệndự án: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4. 2.5. Các chứcnăng quản trị : . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4. 3. Mô hình Use Case: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4. 4. Đặctả Actor: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4. 5. Đặctả Use Case: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Chương 5. Phân tích và thiếtkếhệ thống . . . . . . . . . . . . . . . . . . . . 72

5. 1. Thiếtkếdữ liệu: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5. 2. Mộtsốlược đồcơsởdữ liệu: . . . . . . . . . . . . . . . . . . . . . . . . . 73

5. 3. Thiếtkếxử lý: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5. 3.1. Sơ đồlớp: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5. 3.2. Mộtsố mô hình chính:. . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5. 3.3. Mộtsố luồng tu ầntự chính trong ứngdụng:. . . . . . . . . . . . . . . . 79

5. 4. Thiếtkế giaodiện:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Chương 6. Thử nghiệm và đánh giá . . . . . . . . . . . . . . . . . . . . . . . . 93

6. 1. Mộtsố quytrìnhmẫu:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

6.1.1. Quy trình đăng kýhọc phần: . . . . . . . . . . . . . . . . . . . . . . . . . . 93

6.1.2. Quy trình chuẩnbị thi thực hành: . . . . . . . . . . . . . . . . . . . . . . . . 94

6.1.3. Quy trình xéttốt nghiệp cuối khóa . . . . . . . . . . . . . . . . . . . . . . . 94

6. 2. Cài đặt và triển khaihệ thống: . . . . . . . . . . . . . . . . . . . . . . . . 95

6. 3. Đánh giá: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Chương 7. Tổngkết vàhướngphát triển . . . . . . . . . . . . . . . . . . . . . 96

7. 1. Nhữngkết quả đạt được: . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

7. 1.1. Vềmặt lý thuyết: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

7. 1.2. Vềmặt ứngdụng: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

7. 2. Ưu vàkhuyết điểmcủahệthống: . . . . . . . . . . . . . . . . . . . . . . . 97

7. 3. Hướng phát triển: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

7. 4. Lờikết:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Tài liệu thamkhảo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Phụlục . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Phụlục 1: Môtả cácbảngcơsởdữ liệu . . . . . . . . . . . . . . . . . . . . . 100

Phụlục 2: Các màn hình giaodiện chính . . . . . . . . . . . . . . . . . . . . . 117

Phụlục 3: Quytrình đăngkýhọcphần . . . . . . . . . . . . . . . . . . . . . . 128

pdf135 trang | Chia sẻ: maiphuongdc | Lượt xem: 1489 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Khóa luậ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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
L) 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 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 43 - Các sự kiện xảy ra tức thời trong tiến trình : Intermediate Events. 2.3.2.5. Hỗ trợ mô tả cơ chế giao tác của hoạt động nghiệp vụ: · XPDL: Không hỗ trợ việc định nghĩa các hoạt động mang tính giao tác. · BPML: Có khả năng định nghĩa giao tác. · eXPDL: Hỗ trợ thông qua thuộc tính Transaction của các tiến trình con và các sự kiện Cancel bên trong tiến trình con này. 2.3.2.6. Hỗ trợ mô tả cơ chế giải quyết đền bù: eXPDL cung cấp cơ chế giải quyết đền bù thông qua các sự kiện Intermediate Event loại Compensation hoặc các End Event loại Compensation. 2.3.2.7. Hỗ trợ mô tả cơ chế phát sinh và giải quyết lỗi: · XPDL: Không đủ ngữ nghĩa mô tả cơ chế này. · BPML: Hỗ trợ mô tả cơ chế này. · eXPDL: Sử dụng các đối tượng sự kiện để cung cấp khả năng biểu đạt của cơ chế phát sinh và giải quyết lỗi, thông qua thuộc tính Exception của sự kiện. 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: · Cả XPDL và BPML chưa hỗ trợ việc mô tả này. · eXPDL sử dụng loại IntermediateEvent kiểu Timer(với Timer là MileStone) để hỗ trợ mô tả cơ chế này. 2.3.2.9. Hỗ trợ cơ chế mô tả tổ chức và phân công vai trò nghiệp vụ trong các hoạt động: · XPDL: Cung cấp phần mô tả tổ chức: Role (các vai trò nghiệp vụ trong tổ chức), Tool ( các công cụ hỗ trợ nghiệp vụ trong tổ chức). Ngoài ra còn hỗ trợ việc phân công các Role tham gia các hoạt động và các Tool hỗ trợ các hoạt độ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 44 · BPML: Không hỗ trợ đặc tả các Role, Tool mà chỉ tập trung vào các cơ chế điều khiển hoạt động là chính. · eXPDL: Giữ lại đặc tính mô tả của XPDL. Tuy nhiên cụ thể hóa khái niệm công cụ hơn để dễ mô tả cho các nghiệp vụ điện tử. Các công cụ được phân làm 2 loại : các ứng dụng (Application) và các WebService 2.3.2.10. Hỗ trợ mô tả cơ chế phân công thực thi trên các sản phẩm: Hầu hết các ngôn ngữ mô hình hóa luồng công việc không cho phép mô tả cơ chế này (kể cả XPDL và BPML). eXPDL hỗ trợ hai quyền là: Quyền đọc (Read) và Quyền ghi (Write). 2.3.2.11. Cải tiến trong khái niệm luồng vận chuyển sản phẩm của nghiệp vụ: Hiện tại đặc tính này chỉ ở mức đề xuất thử nghiệm trong đặc tả eXDPL, chưa hỗ trợ mô tả cụ thể. 2.3.2.12. Hỗ trợ cơ chế kích hoạt giữa các hoạt động thông qua thông điệp: eXPDL hỗ trợ hai cơ chế: Cơ chế bắt thông điệp và Cơ chế gửi thông điệp. 2.3.2.13. Hỗ trợ việc mở rộng các đối tượng: XPDL và BPML cho phép các tổ chức khác có thể mở rộng đối tượng đã có thông qua các thuộc tính mở rộng. Tuy nhiên không có cơ chế thêm vào một loại đối tượng mới thuộc cùng một lớp đối tượng. Ví dụ: không thể thêm vào một kiểu hoạt động mới hoàn toàn. eXPDL cho phép thêm vào mô hình các kiểu đối tượng mở rộng: UserDefinedActivityType, UserDefinedEventType, UserDefinedFlowType. Do đó có thể tạo các đối tượng mở rộng từ các kiểu trên: UserDefinedActivity (hoạt động tự định nghĩa), UserDefinedEvent (sự kiện tự định nghĩa), UserDefinedFlow (luồng tự định nghĩa). Chương 3. Giới thiệu tổng quan hệ thống Chúng ta thường nghe “tin học hóa trong giáo dục”, “tin học hóa trong quản lý kế toán”, “tin học hóa ….” trong nhiều lĩnh vực. Vậy tại sao lại không nghĩ 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 45 việc “tin học hóa cho một tiến trình nghiệp vụ”. Chương này sẽ cho ta thấy rõ hơn về con đường cần phải có một “bộ máy vận hành một tiến trình nghiệp vụ” và bộ máy đó được xây dựng ra sao ? 3.1. Ngữ cảnh phát triển hệ thống: Một hệ thống quản lý quy trình nghiệp vụ gồm hai phần chủ yếu sau: Ø Phần hỗ trợ mô hình hóa quy trình nghiệp vụ: giúp người dùng có thể mô hình hóa quy trình nghiệp vụ trong thực tế theo một chuẩn đặc tả nhất định. Ø Phần hỗ trợ vận hành quy trình nghiệp vụ đã được định nghĩa: thường bao gồm một động cơ tiến trình giúp người dùng vận hành một quy trình nghiệp vụ trong thực tế, ngoài ra còn hỗ trợ người dùng một số tiện ích nhằm theo dõi và kiểm soát quy trình. Về phần mô hình hóa quy trình nghiệp vụ: đã có nhiều ngôn ngữ mô hình hóa ra đời nhằm hỗ trợ người dùng mô tả quy trình nghiệp vụ của mình. Mỗi ngôn ngữ đều cố gắng cung cấp một hệ thống các ký hiệu và ngữ nghĩa kèm theo giúp cho việc mô hình hóa phù hợp với thực tế hơn. Tuy nhiên công cụ mô hình hóa đi kèm với đặc tả của ngô ngữ thì còn rất hạn chế. Riêng ngôn ngữ eXPDL có công cụ mô hình hóa kèm theo MyXPDL hỗ trợ rất tốt mô hình hóa nghiệp vụ [trình bày trong chương 2]. Về phần vận hành quy trình nghiệp vụ, hiện tại còn rất hạn chế. Trong khuôn khổ luận văn, chúng em dự định xây dựng công cụ vận hành quy trình nghiệp vụ do công cụ mô hình hóa MyXPDL phát sinh. 3.2. Yêu cầu hệ thống cần xây dựng: Ø Quản lý các quy trình nghiệp vụ trong tổ chức: Lưu trữ các quy trình nghiệp vụ với mục đích tái sử dụng. Ø Khởi tạo và vận hành một dự án theo quy trình nghiệp vụ trong thực tế. 3.3. Ý nghĩa hệ thố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 46 Công cụ mô hình hóa định nghĩa một quy trình mẫu. Tuy nhiên khi áp dụng quy trình vào trong thực tế thì rất phức tạp. Khi thực hiện một nghiệp vụ trong thực tế thì liên quan đến vấn đề nhân sự, kết quả cụ thể của từng công việc. Do đó, hệ thống được xây dựng với mục đích hỗ trợ người dùng các nghiệp vụ sau: Đối với tổ chức: Ø Tái sử dụng các quy trình đã được định nghĩa. Ø Lưu trữ sản phẩm của công việc, có thể tái sử dụng sau này. Đối với người quản lý dự án: Ø Tạo mới dự án dựa vào quy trình có sẳn, hoặc tạo mới dự án trực tiếp. Ø Phân công nhân viên thực hiện công việc. Ø Quản lý sản phẩm vào ra trong từng công việc. Ø Theo dõi tiến độ thực hiện dự án. Ø Hiệu chỉnh thông tin dự án khi cần thiết (trong trường hợp dự án bị trễ, có sự thay đổi nhân sự…). Đối với nhân viên thực hiện công việc: Ø Thực hiện công việc phân tán: có thể thực hiện công việc bất cứ lúc nào chỉ cần đăng nhập vào hệ thống. Ø Xem thông tin các công việc phải thực hiện Đối với nhân viên phát triển phần mềm thì ứng dụng được xem như là cơ sở để phát triển thành một hệ thống quản lý quy trình nghiệp vụ hoàn chỉnh. 3.4. Công cụ thiết kế: 3.4.1. Giới thiệu về công cụ mô hình hóa quy trình nghiệp vụ : MyXPDL là một công cụ giúp thiết kế mô hình nghiệp vụ do 2 sinh viên trường ĐH Khoa học Tự nhiên là Trần Đăng Khoa và Phạm Minh Tuấn đã xây dựng thành công dựa trên ngôn ngữ mô hình hóa eXPDL do chính họ đề xuất dựa trên nền tảng của 2 ngôn ngữ mô hình phổ biến là BPML và XPDL. Bên cạnh đó phần mềm còn cung cấp thêm một số tính năng hữu dụng khác để ràng buộc các lỗi phát sinh khi mô hình hóa nghiệp vụ, kết xuất ra tài liệu dạng 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 47 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ụ Ø Dù Task có định nghĩa Moderator hay không thì khi phát sinh file XML vẫn tạo ra tag Moderator để tiện xử lý. Ø Nếu trong một Task Loop Type là STANDARD thì khi phát sinh file XML không phát sinh tag Loop Condition. Ø Thêm tag Id cho một số đối tượng Role, Product … khi phát sinh file XML để dễ xử lý tránh nhầm lẫn. Do đó, khi thêm một Role vào Task thì khi phát sinh XML cho Task phải có một “truy cập” đến Role. Trong phiên bản trước “truy cập” này là Name và trong bản sửa này được đổi thành Id. Ø Thêm chức năng Add Role vào trong Task (phiên bản trước chưa hỗ trợ), nhưng chưa thể hiện trong ứng dụng chỉ thêm trong file XML. 3.5. Nguyên lý tổ chức hệ thống: Hệ thống được tổ chức theo mô hình dữ liệu tập trung. Ø Tất cả các dữ liệu (tiến trình mẫu, các sản phẩm vào ra của hệ thống) đều được lưu trữ trên Database Server (sử dụng hệ quản trị SQL Server 2000). Ø Mỗi User sử dụng máy Client của mình đăng nhập vào hệ thống và thực hiện công việc của mình. Sau khi kết thúc công việc, tất cả các dữ liệu được lưu trữ lại trên Server. Hình 4 Nguyên lý tổ chức hệ thống 3.6. Nguyên lý vận hành hệ thống: Hệ thống quản lý qui 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 48 Hệ thống được vận hành theo cơ chế tuần tự, dựa vào trạng thái các hoạt động, luồng điều khiển và các cổng điều khiển. Chương trình hỗ trợ vận hành ba loại cổng chính: Ø Cổng AND: Khi tất cả các luồng tuần tự đi vào cổng được kích hoạt thì tất cả các hoạt động sau cổng sẽ được kích hoạt đồng thời. Ø Cổng OR:Khi một luồng tuần tự đi vào cổng được kích hoạt thì tất cả các luồng tuần tự sau cổng nếu thõa điều kiện sẽ được kích hoạt. Ø Cổng Xor_DATABASE: Chỉ có duy nhất một luồng tuần tự sau cổng thõa điều kiện đựơc kích hoạt. Các biểu thức điều kiện dựa vào trạng thái mở rộng của hoạt động, sản phẩm, và chương trình chỉ hỗ trợ loại điều kiện tự động (auto). Hình 5 Nguyên lý vận hành hệ thống 3.7. Quy trình tổng quan: 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 49 Hình 6 Quy trình tổng quan Chương 4. Phân tích yêu cầu hệ thống 4.1. Các thành phần hỗ trợ trong luận văn: eXPDL hỗ trợ mô tả tốt 18/20 mẫu luồng công việc đã được công bố. Tuy nhiên , trong khuôn khổ luận văn, chúng em không thể hỗ trợ hết tất cả các mẫu công việc trên. Sau đây là một số thành phần mà chúng em hỗ trợ, được phân chia theo đối tượng trong mô hình: Ø Activity: Hỗ trợ điều kiện lặp kiểu "Standard". Đối với process chỉ hỗ trợ ở mức đơn giản, không hỗ trợ "Transaction" và "Compensation". Hỗ trợ cơ chế lặp theo "Timer" Ø Gateway: Hỗ trợ 3 loại Gateway: AND, OR, Xor_DATABSED Ø Event:Hỗ trợ 2 loại sự kiện là : StartEvent và EndEvent, tuy nhiên chỉ hỗ trợ ở mức đơn giản nhất: loại "NONE". Ø Atomic: hỗ trợ loại "AUTO". Ø Expression 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 50 Ø UserDefinedType Ø Product: chỉ hỗ trợ loại sản phẩm là "DOCUMENT". Ø SequenceFlow: Hỗ trợ điều kiện dựa trên trạng thái mở rộng của Product và Activity. Ø ExecuteRelation: Chương trình hỗ trợ quan hệ thực thi thông qua việc người dùng tự thiết lập lúc chạy dự án. Do tập tin phát sinh của công cụ mô hình hóa eXPDL không lưu trữ quan hệ này. Ø Role Các đối tượng khác như: Model, Organization, Tool, IntermediateEvent được lưu trữ lại để phát triển tiếp hệ thống về sau. 4.2. Các chức năng chính: 4.2.1. Quản lý quy trình mẫu: Chức năng này cho phép các tổ chức có thể tạo mới các quy trình nghiệp vụ từ tập tin mô hình hóa. Các quy trình này có thể được tái sử dụng trong nhiều dự án khác nhau. 4.2.2. Khởi tạo dự án: Trong đề tài chúng em phân chia dự án theo hai loại: dự án được khởi tạo từ quy trình mẫu (template project) và dự án được khởi tạo không theo quy trình mẫu (none template project). Template project: là dự án được khởi tạo từ quy trình mẫu có sẳn. None template project: Là dự án do người dùng tạo mới ở dạng “dự án rỗng”, sau đó thêm các đối tượng cần thiết cho quy trình vào dự án. Thời gian có hạn nên chúng em chưa hỗ trợ hết các loại đối tượng cho loại dự án này. Chức năng này chỉ áp dụng cho các dự án đơn giản. Sau đây là một các đối tượng mà chương trình hỗ trợ: · Activity: Thêm công việc vào dự án, đây là các công việc nguyên tố. · Process: Thêm quy trình con vào một quy trình nào đó, nếu thêm quy trình vào dự án thì được xem là quy trình chính của dự án. Khi thêm một quy trình thì chương trình tự động thêm hai sự kiện bắt đầu và kế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 51 thúc cho quy trình. Do chương trình chưa hỗ trợ các loại sự kiện nên các sự kiện được thêm mặc định có kiểu là “NONE”. · Product: Thêm các sản phẩm vào trong dự án. · Gateway: Thêm các công điều khiển vào trong dự án. Chương trình hỗ trợ 3 loại cổng điều khiển là : AND, OR, Xor_DATABASED với ý nghĩa theo đặc tả ngôn ngữ eXPDL. · SequenceFlow: Thêm các luồng điều khiển. Các luồng điều khiển được thêm vào trong từng quy trình cụ thể. Người dùng phải đảm bảo thiết lập đúng luồng công việc, chương trình chưa hỗ trợ kiểm tra tính đúng đắn của luồng công việc. Có thể xác lập điều kiện cho luồng điều khiển thông qua trạng thái mở rộng của công việc và sản phẩm. · UserDefinedType: Thêm các kiểu dữ liệu do người dùng tự định nghĩa. Thường được dùng để quy định trạng thái mở rộng cho công việc, sản phẩm. · Expression: Thiết lập các biểu thức điều kiện. 4.2.3. Quản lý dự án: Để dự án có thể thực hiện được người quản lý dự án phải thực hiện phân công nhân sự, tài nguyên cho dự án. Ngoài ra khi dự án đang thực hiện người quản lý dự án có thể thực hiện điều chỉnh nhân sự, thời gian cho kịp tiến độ thực hiện dự án. Hệ thống hỗ trợ các chức năng sau: · Phân công nhân viên thực hiện trong từng công việc cụ thể, và quyền của nhân viên đối với công việc đó : o View: Nhân viên đó chỉ được xem các thông tin công việc mà không được phép cập nhật hay thực hiện bất kỳ thay đổi nào đối với công việc. o Edit: Nhân viên được thực hiện công việc (đây là quyền mặc định khi thêm nhân viên vào 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 52 · Đối với “none template project” người quản lý có thể quy định các sản phẩm vào/ra của từng công việc. · Trong từng công việc, thực hiện phân quyền cho nhân viên đối với từng sản phẩm của công việc: o Upload: Nhân viên được phép upload và download sản phẩm (đây là quyền mặc định). o Download: Nhân viên chỉ được phép download mà không được phép upload. Điều này tránh việc upload bừa bãi gây khó khăn cho công việc và hệ thống. · Cung cấp các tài nguyên (dưới dạng tập tin là chủ yếu) cho các sản phẩm. · Quy định khoảng thời gian thực hiện công việc. Mặc định các công việc được thực hiện theo luồng tuần tự đã được định nghĩa trước nếu người quản lý không quy định thời gian thực hiện cụ thể. · Theo dõi tiến độ thực hiện dự án, bao gồm: theo dõi tiến độ chung hoặc tiến độ của từng công việc cụ thể. 4.2.4. Thực hiện dự án: Giúp người dùng thực hiện công việc của mình. Người dùng có thể tham gia thảo luận nhóm trong công việc của mình thông qua “forum” trực tiếp trên công việc. Quản lý luân chuyển tự động sản phẩm qua các công việc trong dự án. 4.2.5. Các chức năng quản trị: · Quản lý thông tin các thành viên: Tìm kiếm thành viên, thay đổi thông tin cá nhân. · Thêm thành viên mới. · Phân quyền cho các thành viên trong hệ thống. 4.3. Mô hình Use Case: 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 53 Manage User Account Search User Account Manage Template Admin (f rom Actors) Run Activity UserActivity Manage Product Member Register LoginUpdate User Info User Setup template Project Edit Project Delete Project Project Report Search Project Project Manager Setup none template project Hình 7 Mô hình Use Case 4.4. Đặc tả Actor: Admin: Người quản trị hệ thống, có vai trò thiết lập các vai trò trong hệ thống, đây là Actor có quyền cao nhất hệ thống. Project Manager: Người quản lý dự án. Chịu trách nhiệm khởi tạo và vận hành một dự án, tạo mới một quy trình nghiệp vụ. Member: Thành viên, là actor có quyền thấp nhất trong hệ thống, chỉ được phép thực hiện các công việc do Project Manager phân công. 4.5. Đặc tả Use Case: 4.5.1. Manage Template (Quản lý quy trình mẫu): Tóm tắt:Use case này cho phép người quản lý dự án có thể thêm mới hoặc hủy bỏ 1 quy trình nghiệp vụ đã được định nghĩa. Dòng sự kiện : Ø Dòng sự kiện chí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 54 Use case này bắt đầu khi Admin muốn thêm hay hủy 1 số quy trình nghiệp vụ có sẳn trong tổ chức. 1. Hệ thống yêu cầu “Admin” chọn chức năng muốn thực hiện (“Delete template”,”Add new template”). 2. Sau khi “Admin” chọn chức năng thực hiện, một trong các luồng phụ sau được thực hiện. Nếu chọn “Add new template”, luồng phụ Add new template được thực hiện. Nếu chọn “Delete template”, luồng phụ Delete template được thực hiện. · Add new template(Thêm 1 quy trình nghiệp vụ mới): 1. Hệ thống yêu cầu nhập các thong tin sau: Name(Tên, Bắt buộc phải có) File(File mô hình hóa quy trình nghiệp vụ, bắt buộc) Mô tả(Description) Created date (Ngày tạo) 2. Sau khi “Admin” nhập thong tin cần thiết vào. Hệ thống lưu lại thông tin trên và phát sinh ra 1 số ID cho Template. · Delete template(Xóa template khởi hệ thống): 1. Hệ thống yêu cầu chọn template từ danh sách có sẳn. 2. Hệ thống hiển thị thong tin của template: Ngày tạo, người tạo. 3. Người dung nhấn nút xóa. 4. Hệ thống nhắc nhở người dùng xác nhận thao tác xóa. 5. Người dùng xác nhận thao tác xóa. 6. Hệ thống xóa template ra khởi cơ sở dữ liệu. Ø Dòng sự kiện khác: · Thao tác xóa bị hủy: Nếu trong luồng phụ “Delete template”, người dùng không xác nhận xóa template thì thao tác xóa bị hủy và Dòng dự kiện chính được bắt đầu lại từ đầu. o Tồn tại project đã tạ

Các file đính kèm theo tài liệu này:

  • pdf17vanhanhtientrinhBPML.pdf
Tài liệu liên quan