Tải bản đầy đủ (.pdf) (81 trang)

Tích hợp ứng dụng dựa trên nền công nghệ workflow

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.83 MB, 81 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

.......................................

PHẠM THỊ PHƯƠNG GIANG

TÍCH HỢP ỨNG DỤNG DỰA TRÊN NỀN CÔNG
NGHỆ WORKFLOW

LUẬN VĂN THẠC SĨ KHOA HỌC

NGƯỜI HƯỚNG DẪN : TS. VŨ TUYẾT TRINH

HÀ NỘI – 2010


MỤC LỤC
LỜI CAM ĐOAN .......................................................................................................3
Danh mục các ký hiệu, các chữ viết tắt.......................................................................4
Danh mục các hình vẽ, đồ thị......................................................................................5
ĐẶT VẤN ĐỀ.........................................................................................................6
CHƯƠNG I: TỔNG QUAN VỀ WORKFLOW.....................................................8
I. Khái niệm cơ bản..............................................................................................8
II. Đặc điểm .......................................................................................................14
2.1. Độc lập luồng .........................................................................................14
2.2. Độc lập miền ứng dụng ...........................................................................15
2.3. Giám sát và Lưu vết ................................................................................16
2.4. Hỗ trợ thao tác thủ công..........................................................................16
III. Hệ thống quản lý WF...................................................................................17
3.1. Mô hình tham chiếu WF .........................................................................17


3.2. Các thành phần........................................................................................18
3.2.1. Định nghĩa tiến trình ........................................................................18
3.2.2. Dịch vụ sắc lệnh ...............................................................................20
3.2.3. Các chức năng của WF phía khách ..................................................22
3.2.4. Các chức năng triệu gọi ứng dụng....................................................24
3.2.5. Quản trị hệ thống..............................................................................26
III. Tổng kết .......................................................................................................27
CHƯƠNG II. TÍCH HỢP ỨNG DỤNG DỰA TRÊN WF...................................29
I. Tích hợp ứng dụng .........................................................................................29
1.1. Các vấn đề trong tích hợp .......................................................................29
1.1.1. Ngữ nghĩa .........................................................................................29
1.1.2. Trao đổi thông tin .............................................................................31
1.2. Các kiến trúc tích hợp .............................................................................34
1.2.1. Kiến trúc point–to-point ...................................................................34
1.2.2. Kiến trúc Hus&Bus ..........................................................................35
1.2.3. Kiến trúc Bus-Oriented ....................................................................37
1.2.4. Kiến trúc hướng đối tượng phân tán ................................................38
1.3. Các công nghệ tích hợp...........................................................................38
II. Tích hợp dựa trên WF ...................................................................................41
2.1. Phương pháp tích hợp xử lý nghiệp vụ ...................................................41
2.1.1. Khái niệm ........................................................................................41
2.1.2. Thành phần .......................................................................................43
2.1.3. Đặc điểm...........................................................................................44
2.1.4. Kiến trúc ba tầng của BPI ................................................................45
2.2. Yêu cầu WF cho tích hợp........................................................................46
2.3. Các chuẩn đăng tả WF trên mạng ...........................................................48
2.3.1. Đặc tả chuẩn tương tác WFMC........................................................49
2.3.2. Đặc tả joinFlow(OMG) ....................................................................50
2.3.3. Đặc tả SWAP....................................................................................51


1


2.3.4. Đặc tả WF-XML ..............................................................................52
2.4. Kiến trúc tích hợp dựa trên WF ..............................................................56
CHƯƠNG III. MÔ PHỎNG BÀI TOÁN E-LEARNING ....................................61
I. Mô tả bài toán.................................................................................................61
II. Mô hình hóa trong môi trường WF...............................................................63
2.1. Mô hình hóa các hệ thống con ................................................................64
2.1.1. Luồng xử lý dạy học của giáo viên (Ký hiệu T) ...............................64
2.1.2. Luồng xử lý học tập của sinh viên (Ký hiệu là L) ............................64
2.1.3. Luồng xử lý quản lý đào tạo của cán bộ (Ký hiệu A) .......................65
2.1.4. Luồng xử lý quản trị của quản trị hệ thống ......................................65
2.2. Mô hình hóa tương tác giữa các hệ thống con ........................................66
III. Thiết kế kiến trúc hệ thống WF.. ................................................................71
IV. Môi trường và công cụ triển khai ứng dụng................................................76
KẾT LUẬN ...........................................................................................................78
TÀI LIỆU THAM KHẢO .....................................................................................79

2


LỜI CAM ĐOAN
Tôi – Phạm Thị Phương Giang – cam kết Luận văn tốt nghiệp Cao học là công
trình nghiên cứu của bản thân tôi, dưới sự hướng dẫn của TS.Vũ Tuyết Trinh các
kết quả nêu trên luận văn là trung thực, không phải là sao chép toàn văn của bất cứ
công trình nào khác.

3



Danh mục các ký hiệu, các chữ viết tắt
Từ

Viết đầy đủ

viết tắt
WF

Ý nghĩa

Workflow

Thuật ngữ luồng công việc

WFMS Workflow Management System

Hệ thống quản lý Workfow

WFMC Workflow Management Coliation Hội liên hiệp quản lý Workflow
WFRM Workflow Reference Model
BPI

Mô hình tham chiếu Workflow

Business Process Integration

Tích hợp quy trình nghiệp vụ

Workflow Application


Giao diện lập trình ứng dụng

Programming Interface

Workflow.

Inter Process Communication

Sự liên lạc giữa các tiến trình.

Business process integration

Phương pháp tích hợp quy trình

oriented Approach

nghiệp vụ

MOM

Message Oriented Middware

Tầng trung gian hướng thông điệp

DOT

Ditributed Object Technology

Công nghệ đối tượng phân tán


WAPI
IPC
BPI

SWAP

Simple Workflow Access

Giao thức truy nhập WF đơn giản

Protocol

SOA

Service Oriented Architecture

Kiến trúc hướng dịch vụ

RPC

Remote Procedure Call

Lời gọi thủ tục từ xa

WS

Web Service

Dịch vụ Web


OMG

Object Management Group

RMI

Remote Method Invocation

Lời triệu gọi phương thức từ xa

4


Danh mục các hình vẽ, đồ thị
Hình 1 : Ví dụ xử lý đăng ký khóa học .......................................................................9
Hình 2 : Trình tự xử lý tuần tự ..................................................................................10
Hình 3 : Trình tự xử lý song song .............................................................................11
Hình 4 : Trình tự xử lý chọn .....................................................................................11
Hình 5 : Trình tự xử lý lặp ........................................................................................12
Hình 6 : Mối quan hệ giữa các thuật ngữ case, workitem, resource, activity...........13
Hình 7: Góc nhìn WF ba chiều ..............................................................................14
Hình 8: Sự phân biệt các ứng dụng độc lập luồng và ứng dụng phụ thuộc luồng…15
Hình 9: Tầng logic và tầng xử lý được phân chia vào 2 tầng ...................................16
Hình 10: Mô hình tham chiếu WF- Các thành phần và giao diện ............................17
Hình 11: Sự trao đổi định nghĩa tiến trình ................................................................18
Hình 12: Siêu mô hình định nghĩa tiến trình cơ bản .................................................19
Hình 13: Giao diện ứng dụng phía khách .................................................................23
Hình 14: Giao diện ứng dụng được triệu gọi ............................................................26
Hình 15: Giao diện quản trị và giám sát hệ thống ....................................................27

Hình 16: Tầng trung gian RPC..................................................................................31
Hình 17: Tầng trung gian hướng thông điệp.............................................................32
Hình 18: Tầng trung gian hướng đối tượng phân tán................................................33
Hình 19: Tầng trung gian hướng cơ sở dữ liệu .........................................................33
Hình 20: Kiến trúc point-to-point .............................................................................35
Hình 21: Kiến trúc Hub&Bus ...................................................................................36
Hình 22: Kiến trúc Bus - Oriented ............................................................................37
Hình 23: Kiến trúc hướng đối tượng phân tán ..........................................................38
Hình 24: Mô hình tích hợp hướng xử lý ...................................................................42
Hình 25: Các thành phần giải pháp tích hợp xử lý nghiệp vụ...................................44
Hình 26: BPI quản lý việc di chuyển thông tin và chia sẻ các mô hình xử lý ..........45
Hình 27: Kiến trúc 3 tầng BPI...................................................................................46
Hình 28: Tích hợp ứng dụng dựa trên quy trình xử lý..............................................47
Hình 29: Sự tương tác giữa các nguồn......................................................................54
Hình 30: Kiến trúc tích hợp dựa trên WF hướng Bus...............................................57
Hình 31: Kiến trúc tích hợp dựa trên WF hướng Hub&Bus.....................................58
Hình 32: Kiến trúc tích hợp với WF đóng vai trò trung tâm ....................................58
Hình 33: Mối quan hệ giữa các đối tượng trong môi trường e-learning...................63
Hình 34: WF dạy học của giáo viên..........................................................................64
Hình 35: WF học của sinh viên.................................................................................65
Hình 36: WF quản lý đào tạo ....................................................................................65
Hình 37: WF quản trị hệ thống .................................................................................66
Hình 38: Mô phỏng sự tương tác giữa 2 hệ thống con ............................................72
Hình 39. Ba vai trò trong kiến trúc SOA ..................................................................72
Hình 40: Các thành phần lõi WWF...........................................................................74
Hình 41: Các thành phần tích hợp cho hệ thống E-learning .....................................75

5



ĐẶT VẤN ĐỀ
Workflow (viết tắt là WF) – luồng công việc là khái niệm được đề xuất bởi Fritz
Nordsieck [15] (1968). Từ những năm 70 đến năm 80, đã có nhiều công ty, tổ chức
cá nhân nghiên cứu và phát triển các sản phẩm WF, và chứng minh tính giá trị của
nó trong nhiều lĩnh vực. Đặc biệt hội liên hiệp các tổ chức quản lý WF (WfMC) đã
cố gắng nghiên cứu, đưa ra các chuẩn công nghệ WF vào năm 1993 , giúp cho công
nghệ WF phát triển rộng rãi trên nhiều lĩnh vực.
Công nghệ WF mặc dù mới ra đời nhưng đã hứa hẹn đóng góp tạo bước đột biến
quan trọng trong quá trình phát triển CNTT, đặc biệt trong lĩnh vực tích hợp ứng
dụng làm nền tảng cho một thế hệ các ứng dụng kiểu mới. Điều này được giải thích
bởi các lý do sau:
- Bản chất công nghệ WF là “tư duy tiến trình”
Tư duy tiến trình là tư duy thực hiện công việc theo một thứ tự nào đó. Tư duy
này phù hợp với thực thi công việc cuộc sống hàng ngày. Thực tế tư duy này xuất
hiện từ thời kỳ nguyên thủy, khi đó con người phải từ mày mò, tìm ra cách thức
sinh tồn và phát triển. Tư duy này thể hiển rõ khi xã hội phát triển, công việc đòi hỏi
sự tương tác của nhiều người, khi đó sự tường minh công việc càng trở nên cần thiết,
giúp con người có thể làm việc cùng nhau đề hoàn thành một công việc nào đó.
- Xu hướng thực hiện tương tác giữa các ứng dụng WF
Nếu như trước đây, các ứng dụng được xây dựng nhằm giải quyết một vấn đề cụ
thể khép kín thì ngày nay người ta muốn các ứng dụng đó có thể trao đổi, ‘nói
chuyện’ với nhau để cùng đóng góp giải quyết những vấn đề có nội dung, phạm vị
rộng hơn. Yêu cầu về một môi trường cho phép các ứng dụng có thể trao đổi, phối
hợp với nhau cùng đáp ứng yêu cầu chung ngày càng trở nên bức thiết. Nền tảng
công nghệ WF cho phép tạo ra môi trường như vậy.
- Tính không đồng nhất của các ứng dụng
Các ứng dụng được xây dựng trên những công nghệ nền khác nhau. Vì vậy các
ứng dụng đang vận hành là không đồng nhất và phân tán theo địa lý. Việc tích hợp
chúng để tạo thành những hệ thống lớn hơn là rất khó khăn, tốn kém thậm chí là


6


không khả thi. Hơn nữa, logic nghiệp vụ luôn thay đổi. Việc tách logic nghiệp vụ ra
khỏi các ứng dụng sẽ cho phép “dễ dàng” thay đổi hệ thống trước những đòi hỏi sửa
đổi logic nghiệp vụ mà ít làm thay đổi cấu trúc bên trong của từng ứng dụng. Vấn
đề quản lý các đối tượng tham gia bao gồm xác định vai trò của từng đối tượng
trong tiến trình, phân công công việc, cung cấp công cụ, ... cũng là một khía cạnh
rất quan trọng khi đề cập tới tư duy tiến trình.
Từ những nguyên nhân trên, tôi nhận thấy WF đóng vài trò quan trọng trong việc
tích hợp ứng dụng. Vì thế mà tôi lựa chọn đề tài “Tích hợp ứng dụng dựa trên nền
công nghệ Workflow”
Mục tiêu của luận văn là tìm hiểu về WF và các công nghệ liên quan. Dựa trên
công nghệ WF, luận văn khai thác khả năng sử dụng công nghệ trong việc tích hợp
ứng dụng.
Để đạt được mục đích trên, tôi sẽ tập trung vào các nội dung sau:
-

Tìm hiểu về WF: các khái niệm cơ bản, các đặc điểm WF, và các yêu cầu
quản lý WF, hệ thống quản lý WF.

-

Tìm hiểu về khả năng tích hợp ứng dụng với WF: mô hình hóa quy trình
tích hợp, tương tác giữa các ứng dụng, các công nghệ.

-

Ứng dụng công nghệ tích hợp dựa trên WF để xây dựng hệ thống elearning.


Phần tiếp theo của luận văn được trình bày như sau:
-

Chương 1: Giới thiệu tổng quan về WF

-

Chương 2: Trình bày tích hợp dựa trên nền công nghệ WF

-

Chương 3: Đề xuất áp dụng giải pháp tích hợp ứng dụng dựa trên nền
công nghệ WF cho bài toán e-learning.

-

Kết luận: Tổng kết các kết quả đã làm được và chưa làm được, đưa ra
hướng phát triển cho luận văn.

7


CHƯƠNG I: TỔNG QUAN VỀ WORKFLOW
I. Khái niệm cơ bản
“WF là sự tự động hóa của một tiến trình công việc, toàn bộ hay một phần, trong
đó các tài liệu, thông tin hay các tác vụ được luân chuyển từ đối tượng này đến đối
tượng kia thay cho hành động, tuân theo một tập các quy tắc mang tính thủ tục”
[1][2].
Theo định nghĩa trên, WF gồm hai thành phần chính: Công việc và tiến trình thực
hiện công việc. Công việc mô tả cái gì đó được làm. Một công việc cụ thể gọi là

case. Mỗi case có một định danh duy nhất, và chu trình sống giới hạn. Các case
tương tự nhau là các case được xử lý theo cùng một cách thức được nhóm vào một
loại case. Một case gắn liền với một tiến trình thực hiện. Tiến trình thực hiện là
cách thức thứ tự các bước xử lý, được gọi là process. Mỗi loại case có một process
riêng.
Ví dụ: Phòng đào tạo xử lý đăng ký học của sinh viên.
Loại case, đối tượng được xử lý: “đăng ký học” gồm các case như: đăng ký học của
sinh viên (đã có tài khoản), đăng ký học của người dùng bất kỳ.
Các bước xử lý đăng ký học như sau:
(1) Đăng nhập hệ thống
(2) Kiểm tra tài khoản
(3) Lấy thông tin của sinh viên (tài khoản hợp lệ)
(4) Lấy thông tin của khóa học (tài khoản hợp lệ)
(5) Từ chối (tài khoản không hợp lệ)
(6) Hiển thị danh sách các khóa học có thể được đăng ký
(7) Chọn khóa học cần đăng ký
(8) Kiểm tra điều kiện hợp lệ đăng ký khóa học
(9) Thực hiện đăng ký khóa học cho sinh viên (khóa học hợp lệ )
(10) Từ chối (khóa học này chưa hợp lệ với sinh viên)
(11) Kết thúc quá trình đăng ký
Trình tự thực hiện các bước

8


Hình 1 : Ví dụ xử lý đăng ký khóa học

Như ví dụ trên, process gồm tập các bước xử lý theo một thứ tự nào đó. Mỗi bước
xử lý gọi là task. Task được hiểu như một đơn vị công việc không thể phân chia nhỏ
hơn nữa. Ví dụ các task trong xử lý đăng ký khóa học như trên là: đăng nhập hệ

thống, nhận thông tin sinh viên, nhận thông tin khóa học,… Như vậy một Process
gồm tập các task, và thứ tự thực hiện các task đó. Một Process được coi như một
thủ tục cho một loại case cụ thể. Như vậy một tác vụ được xử lý trong một hay
nhiều case.

9


Theo ví dụ trên, trình tự thực hiện các task có thể tiến hành tuần tự, hay song song.
Để mô tả trình tự xử lý, theo định nghĩa các thuật ngữ do tổ chức WFMC đưa ra [3],
có bốn khối cơ bản như sau:
- Tuần tự (Sequential Routing): là tuyến thực thi tuần tự các task. Hay nói cách
khác, task này hoàn thành rồi đến task tiếp theo, luôn có sự kết nối giữa chúng. Ví
dụ trong xử lý đăng ký khóa học, các task6, task7, task8 thực thi tuần tự.

Hình 2 : Trình tự xử lý tuần tự

- Song Song(Parallel Routing): Là tuyến có nhiều hơn một hành động được thực
thi cùng một lúc. Trong trường hợp này, hai hoạt động cần thiết được thực thi đồng
thời mà kết quả task này không phụ thuộc vào task còn lại. Để thực thi tuyến song
song, tại thời điểm bắt đầu ta sử dụng một bộ AND-split để phân chia điều khiển và
bộ AND-join để kết hợp nó lại tại thời điểm kết thúc. Nhiệm vụ chính của bộ ANDjoin nhằm để đồng bộ thực thi các hoạt động song song. Như xử lý trên, sau khi
task2 sẵn sàng, task3, task4 có thế được tiến hành cùng một lúc, nhưng không phải
bắt buộc. Nhưng điều kiện tiên quyết để task6 bắt đầu thực thi là khi tất cả các hoạt
động song song (task3, task4) phải được sẵn sàng.

10


Hình 3 : Trình tự xử lý song song


- Chọn (Selective routing): Khi chỉ duy nhất một hoạt động xử lý phải được tiến
hành cùng lúc. Để thực thi tuyến chọn, ở thời điểm bắt đầu, ta sử dụng bộ OR-split
để phân chia điều khiển và OR-join để hợp nó lại ở thời điểm kết thúc. Nhiệm vụ
chính của OR-join là chọn giữa các hoạt động xử lý có thể từ trước. Từ xử lý trên,
task8 sẵn sàng, task9 hoặc task10 có thể được tiến hành. Điều kiện tiên quyết cho
task11 bắt đầu thực thi là khi một trong các hoạt động phải được sẵn sàng. Như mô
tả ở hình sau:

Hình 4 : Trình tự xử lý chọn

11


- Lặp (Iteration routing): Tuyến lặp định nghĩa chu trình hoạt động WF bao gồm
thực thị có tính lặp của một hay nhiều hoạt động cho đến khi điều kiện được đáp
ứng.

Hình 5 : Trình tự xử lý lặp

Như trên ta đã biểu diễn WF dưới các khái niệm mô tả (case, process, task). Sau
đây ta biểu diễn WF dưới các khái niệm thực thi:
Một task có thể được xử lý trong một hay nhiều case. Vì vậy một task trong case
cụ thể được gọi là workitem. Khi thực thi một task cho một case nào đó, ta cần các
nguồn hỗ trợ (resource). Resource (mô tả ai thực thi tác vụ hoặc nguồn thông tin
nào được khai thác bởi hệ thống) ở đây có thể là phần cứng (CPU, máy in, máy fax),
hay có thể là dữ liệu (hệ quản trị CSDL), hay có thể là con người...Một workitem
được thực thi bởi resource gọi là activity.
Như với case sinh viên đăng ký khóa học ở trên, gồm các task như: đăng nhập hệ
thống, hiển thị danh sách các khóa học, kiểm tra điều kiện đăng ký có hợp lệ không.

Task đăng nhập hệ thống (task1) có thể được chứa trong nhiều case như trong case
đăng ký khóa học (case1), case theo dõi kết quả đánh giá môn học (case2)…task1
trong case1 gọi là workitem1, task1 trong case2 gọi là workitem2. Workitem1 thực
thi trong thực tế yêu cầu nguồn là con người cụ thể là đối tượng sinh viên sử dụng
tài khoản của mình để đăng nhập vào hệ thống. Workitem1 được thực thi bởi nguồn

12


con người gọi là activity1 sinh viên đăng nhập hệ thống trong case sinh viên đăng
ký khóa học.
Mối quan hệ giữa case, task, workitem, resource, activity được biểu diễn như hình
sau:

Hình 6 : Mối quan hệ giữa các thuật ngữ case, workitem, resource, activity

Điều kiện thực hiện
Một workitem có thể được thực thi chỉ khi có nguồn khởi động nó. Ta gọi nó là
trigger. Có nhiều dạng trigger khác như: sự kiện bên ngoài, thời điểm cụ thể (ví dụ:
sinh ra danh sách thứ tự vào lúc 6 giờ). Vì thế chúng ta phân biệt giữa 3 loại trigger
(1) Nguồn khởi tạo; (2) Sự kiện bên ngoài; (3) Tín hiệu thời gian.
Như vậy thành phần công việc của WF được mô tả bởi các case, case gắn liền với
một process được thực thi. Process là tập các task, và thứ tự thực thi các task. Task
trong một case cụ thể gọi là workitem, workitem được thực thi bởi nguồn nào đó gọi
là activity
Dựa vào mô tả các khái niệm cơ bản trong WF nói trên, Van der Aalst and van Hee
[6] biểu diễn các khái niệm của WF dưới không gian ba chiều như sau:

13



Hình 7: Góc nhìn WF ba chiều

II. Đặc điểm
Với các thành phần của WF được trình bày ở trên, dẫn tới WF có những đặc điểm
sau [14]:

2.1. Độc lập luồng (Flow-Independence)
Trong các ứng dụng thông thường, logic xử lý ứng dụng và luồng điều khiển thực
thi lẫn lộn vào nhau - ứng dụng này còn được gọi là ứng dụng phụ thuộc luồng. Còn
trong các ứng dụng WF do việc phân chia thành công việc (case) và trình tự thực
hiện (process) cho phép ứng dụng được phân chia thành hai phần. Hình sau mô tả
sự khác nhau giữa ứng dụng phụ thuộc luồng và ứng dụng WF:

14


Hình 8: Sự phân biệt giữa các ứng dụng độc lập luồng và ứng dụng phụ thuộc luồng [4]

Dưới góc nhìn WF, ứng dụng được chia thành hai phần: logic ứng dụng (công
việc hay chức năng), điều khiển ứng dụng (tiến trình xử lý). Sự phân tách này cho
phép các ứng dụng trở thành độc lập luồng. Nhờ đặc tính này, các ứng dụng WF
giúp cho việc nâng cấp và phát triển trong tương lai. Đặc biệt là khi có sự thay đổi
quy trình nghiệp vụ, các ứng dụng phụ thuộc luồng do sự lẫn lộn logic nghiệp vụ và
điều khiển thực thi mà làm nó khó thích nghi. Còn các ứng dụng WF dễ dàng thay
đổi để thích nghi với quy trình nghiệp vụ mới mà không tác động nhiều đến cấu trúc
bên trong của chương trình. Mặt khác nhờ đặc tính này mà ứng dụng WF có khả
năng tái sử dụng cao. Vì thế, WF phù hợp với việc xây dựng các ứng dụng trong
tương lại (ứng dụng phức tạp, dễ thích nghi với sự thay đổi quy trình nghiệp vụ, khả
năng mở rộng cao).

Ví dụ trong quy trình xử lý đăng ký khóa học, có tác vụ đăng nhập hệ thống. Giả sử
khi ta muốn thay cách thức đăng nhập từ sử dụng tài khoản sang sử dụng dấu vấn
tay. Với ứng dụng WF, ta đơn giản thay logic đăng nhập mức logic ứng dụng, mà
không tác động gì đến cấu trúc bên trong của hệ thống.

2.2. Độc lập miền ứng dụng (Domain – Independence)

15


Hình 9: Tầng logic và tầng xử lý được phân chia vào 2 tầng: Flow và work [4]

Từ đặc điểm độc lập luồng của ứng dụng WF: tách ứng dụng thành hai phần logic
ứng dụng và logic điều khiển, dẫn tới WF không phụ thuộc vào lĩnh vực ứng dụng
cụ thể nào cả. Vì thế khi ứng dụng WF vào các lĩnh vực ứng dụng cụ thể yêu cầu
cung cấp các thành phần thực thi công việc cụ thể cho lĩnh vực ấy. Đặc tính này
giúp cho công nghệ WF có thể áp dụng cho nhiều lĩnh vực ứng dụng khác nhau.

2.3. Giám sát và Lưu vết
Nhờ đặc tính tách rời logic xử lý trong các ứng dụng WF, dẫn tới hệ thống có thể
giám sát, lưu vết lại thông tin tại mức xử lý. Các thông tin mức xử lý, trình tự thực
hiện các bước, bắt đầu và kết thúc xử lý đều được lưu vết lai. Những thông tin này
ngoài việc giúp hệ thống phục hồi, còn giúp người dùng phân tích, tìm hiểu để cải
tiến các quy trình nghiệp vụ. Ví dụ xử lý đăng ký khóa học ở trên, WF giúp ta theo
dõi các bước xử lý (task) của một sinh viên đăng ký khóa học.

2.4. Hỗ trợ thao tác thủ công
Nhờ đặc tính giám sát và lưu vết, mà người dùng WF có thể phát hiển lỗi xảy ra
trong thời gian thực thi WF. Đặc tính hỗ trợ thao tác thủ công giúp cho người dùng


16


tự sửa các lỗi đã phát hiện bằng cách ghi đè lên định nghĩa xử lý hay thay đổi tiến
trình xử lý bằng thao tác thủ công. Ví dụ khi xuất hiện lỗi WF không cho phép sinh
viên đăng ký thành công khóa học dù sinh viên đó hợp lệ trong việc đăng ký. Nhờ
đặc tính giám sát và lưu vết mà người dùng WF biết WF lỗi ở bước nào, kết hợp với
đặc tính này giúp người dùng WF có thể tự sửa lỗi ở bước đó.

III. Hệ thống quản lý WF
3.1. Mô hình tham chiếu WF
Phần mềm thực thi WF được gọi là Hệ quản trị WF(viết tắt là WFMS)
"Là hệ thống cho phép định nghĩa, tạo ra các WF, cung cấp môi trường thực thị WF
và các công cụ giám sát thông qua việc sử dụng phần mềm, chạy trên một hoặc
nhiều máy WF có khả năng hiểu định nghĩa tiến trình, tương tác với người tham gia
WF và khi cần, có thể sử dụng các ứng dụng và công cụ IT" [1]

Hình 10: Mô hình tham chiếu WF- Các thành phần và giao diện

Hình 10 chỉ ra các thành phần và các giao diện chính của mô hình tham chiếu WF
(WFRM). MWFR gồm 5 giao diện chính như trên hình vẽ. Các giao diện và các
thành phần này sẽ được trình bày cụ thể ở các phần tiếp theo.

17


3.2. Các thành phần
3.2.1. Định nghĩa tiến trình
Công cụ định nghĩa tiến trình (tham chiếu thành phần 1 trong hình 10)
"Là sự biểu diễn một tiến trình nghiệp vụ theo một khuôn mẫu hỗ trợ thao tác tự

động hóa, như là mô hình hóa, hay ban hành sắc lệnh bởi một hệ thống quản lý WF.
Định nghĩa tiến trình bao gồm một mạng lưới các hoạt động và mối quan hệ giữa
chúng, điều kiện bắt đầu và kết thúc tiến trình, và thông tin về các hoạt động riêng
lẻ, như là những người tham gia, các ứng dụng IT và dữ liệu liên quan" [7]
Trao đổi định nghĩa WF (tham chiếu giao diện 1 hình 10)
Giao diện giữa các công cụ mô hình hóa, định nghĩa và phần mềm quản lý WF
trong lúc thực thi được gọi là giao diện xuất/nhập định nghĩa tiến trình. Bản chất
của giao diện này là khuôn dạng trao đổi và các lời gọi API, mà chúng có thể hỗ trợ
sự trao đổi thông tin định nghĩa tiến trình thông qua sự đa dạng trên phương diện
vật lý hay phương diện trao đổi điện tử. Giao diện có thể hỗ trợ trao đổi một định
nghĩa tiến trình đầy đủ (hoặc một phần - ví dụ một tập hợp định nghĩa tiến trình
thay đổi hoặc các thuộc tính của hoạt động riêng biệt trong định nghĩa tiến trình).

Hình 11: Sự trao đổi định nghĩa tiến trình

Có hai khía cạnh trong phần này là:

18


- Xuất xứ của một siêu mô hình mà có thể được dùng để biểu diễn các đối tượng,
các mối quan hệ của chúng và các thuộc tính trong một định nghĩa tiến trình và có
thể tạo thành nền tảng cho một tập hợp khuôn dạng trao đổi để trao đổi thông tin
giữa các sản phẩm.
- Lời gọi API (trong WAPI) giữa các hệ thống WF hoặc giữa một hệ thống WF
với sản phẩm định nghĩa tiến trình, cung cấp cách thức chung để truy cập định
nghĩa tiến trình WF. Việc truy cập có thể chỉ đọc, vừa đọc vừa ghi hoặc chỉ ghi và
có thể thao tác tập hợp các đối tượng chuẩn được xác định trong siêu mô hình hoặc
trong một tập hợp sản phẩm cụ thể.
Một siêu mô hình cơ bản


Hình 12: Siêu mô hình định nghĩa tiến trình cơ bản

Các thuộc tính riêng biệt theo các loại sẽ được xác định:
Định nghĩa loại WF:
- Tên tiến trình WF
- Số phiên bản
- Điều kiện bắt đầu và kết thúc tiến trình
- Bảo mật, kiểm tra thông tin hoặc dữ liệu điều khiển khác
Hoạt động:

19


- Tên hoạt động
- Loại hoạt động (Luồng con, luồng nguyên tử, ...)
- Điều kiện hoạt động trước và sau.
- Các ràng buộc về danh mục khác.
Các điều kiện chuyển đổi:
- Các điều kiện luồng hoặc thực thi
Dữ liệu có liên quan đến WF:
- Tên và đường dẫn dữ liệu
- Loại dữ liệu
Vai trò:
- Tên và tổ chức thực thể
Ứng dụng được triệu gọi
- Loại hoặc tên chung
- Tham số thực thi
- Vị trí hay đường dẫn truy nhập


3.2.2. Dịch vụ sắc lệnh
(tham chiếu thành phần 2 hình 10)
" Là phần mềm bao gồm một hay nhiều WF Engine để tạo ra môi trường thực thi
WF. Các ứng dụng có thể giao tiếp với các dịch vụ này thông qua giao diện lập
trình ứng dụng WF" [1].
Dịch vụ sắc lệnh WF cung cấp môi trường thực thi trong đó, tiến trình được khởi
tạo và được kích hoạt, sử dụng một hoặc nhiều bộ máy quản lý WF, chịu trách
nhiệm cho việc thông dịch và kích hoạt một phần hoặc tất cả định nghĩa tiến trình
và tương tác với các tài nguyên bên ngoài cần thiết để xử lý các hoạt động khác
nhau.
Giao diện lập trình ứng dụng Workflow (Workflow Application Programming
Interface – WAPI) có thể được xem như một tập hợp các lời gọi API và các chức
năng trao đổi được hỗ trợ bởi dịch vụ sắc lệnh WF tại ranh giới của nó để tương tác
với các nguồn tài nguyên hay ứng dụng khác.

20


Sự tương tác với nguồn tài nguyên bên ngoài có thể sử dụng được bởi dịch vụ
enactment nào đó thông qua một trong hai giao diện sau:
- Giao diện ứng dụng phía khách (tham chiếu giao diện 2 hình 10): Thông qua
giao diện này, WF Engine tương tác với một bộ quản lý danh sách công việc
(worklist handler), có trách nhiệm tổ chức công việc với tư cách là tài nguyên người
dùng. Worklist handler có trách nhiệm lựa chọn và thực hiện worklist item từ
worklist. Sự kích hoạt các công cụ ứng dụng được kiểm soát bởi worklist handler
hoặc người dùng cuối.
- Giao diện triệu gọi ứng dụng (tham chiếu giao diện 3 hình 10): Giao diện này
cho phép WF Engine kích hoạt trực tiếp một công cụ nào đó để đảm nhận một họat
động cụ thể. Đây là điển hình của ứng dụng dựa trên máy chủ mà không có giao
diện người dùng. Tại đây một hoạt động cụ thể sử dụng một công cụ cần có sự

tương tác của người dùng cuối, thông thường sẽ được triệu gọi thông qua giao diện
worklist để cung cấp tính mềm dẻo nhiều hơn cho nhiệm vụ lập lịch cho người dùng.
Bằng việc sử dụng một giao diện chuẩn cho sự triệu gọi công cụ, các công cụ ứng
dụng trong tương lai có thể thực hiện WF theo cách chuẩn hóa.
Trong phần này, dịch vụ sắc lệnh WF được coi như là một thực thể logic đơn lẻ
mặc dù về mặt vật lý nó có thể hoặc tập trung hoặc phân tán về chức năng. Trong
một dịch vụ sắc lệnh WF phân tán, một vài WF Engine điều khiển một phần của
tiến trình enactment và tương tác với một vài người dùng và các công cụ ứng dụng
liên quan đến các hoạt động trong tiến trình. Một dịch vụ enactment như thế được
coi như có tên chung và phạm vi quản trị, để các định nghĩa tiến trình và tên người
dùng hay tên ứng dụng có thể được điều khiển trên một nền tảng phù hợp. Hệ thống
WF phân tán tận dụng các giao thức cụ thể và định dạng trao đổi giữa các WF
Engine để đồng bộ hoạt động, trao đổi thông tin điều khiển hoạt động và tiến trình
của chúng. Dữ liệu liên quan đến WF có thể cũng được chuyển giữa các WF
Engine.
Sự trao đổi chuẩn hóa là cần thiết giữa các WF Engine. Sử dụng giao diện 4, dịch
vụ enactment có thể truyền hoạt động hay các tiến trình con tới dịch vụ enactment

21


(đồng nhất) khác để thực hiện. Trong mô hình WF liên quan gọi là Workflow
Engine Interchange. Sự quản lý chung và chức năng giám sát cũng được yêu cầu
trong một môi trường đồng nhất.
WF Engine (tham chiếu thành phần 2 hình 10)
"Một WF Engine có trách nhiệm cho một phần hay toàn bộ môi trường điều khiển
thời gian thực thi trong một dịch vụ enactment" [1].
Là một phần mềm dịch vụ hay "Engine" cung cấp môi trường tại thời điểm thực thi
cho một WF. Đặc biệt phần mềm cung cấp điều kiện thuận lợi để điều khiển:
- Sự thông dịch của định nghĩa tiến trình.

- Điều khiển các thể hiện của tiến trình: tạo, kích hoạt, hủy bỏ, kết thúc, ...
- Điều hướng giữa các hoạt động của tiến trình: tuần tự hoặc song song, sắp
xếp các thời hạn, thông dịch của dữ liệu liên quan đến WF, ...
- Đăng nhập và kết thúc phiên làm việc của người tham gia.
- Xác định các mục công việc cho người dùng chú ý và một giao diện hỗ trợ
giao tiếp với người dùng.
- Duy trì dữ liệu điều khiển WF và dữ liệu liên quan WF, truyền dữ liệu liên
quan đến WF tới/từ ứng dụng hay người dùng.
- Một giao diện để triệu gọi các ứng dụng bên ngoài và liên kết với bất kỳ dữ
liệu liên quan đến WF.
- Giám sát hoạt động cho mục đích điều khiển, quản lý và kiểm tra sổ sách.
Một WF Engine có thể điều khiển sự thực thi của một tập các tiến trình, hay một tập
các tiến trình con, các thể hiển của tiến trình với một phạm vi xác định. Phạm vi đó
được quyết định bởi phạm vi của các loại đối tượng, và các thuộc tính của chúng.
WF Engine có thể thông dịch các loại đối tượng và các thuộc tính đó bên trong các
định nghĩa tiến trình.

3.2.3. Các chức năng của WF phía khách
Các ứng dụng WF phía khách (tham chiếu thành phần 3.1 hình 10)
Bộ quản lý danh sách công việc là thực thể phần mềm, thực thể này tương tác với
người dùng cuối trong các hành động yêu cầu huy động các nguồn tài nguyên của

22


con người. Bộ điều khiển danh sách có thể được cung cấp như một phần của sản
phẩm quản lý WF hay có thể được viết bởi một người dùng.
Sự kích hoạt các mục công việc riêng lẻ từ danh sách công việc (ví dụ khởi động
ứng dụng và liên kết dữ liệu liên quan tới WF) có thể nằm dưới sự điều khiển của
ứng dụng WF phía khách hay người dùng cuối. Một loạt các thủ tục được định

nghĩa giữa ứng dụng WF client và dịch vụ sắc lệnh WF để cho phép các mục mới
được thêm vào trong danh sách công việc, các hoạt động đã hoàn thành được loại ra
khỏi danh sách công việc, các hoạt động tạm thời sẽ bị đình chỉ.
Sự triệu gọi ứng dụng có thể cũng được điều khiển từ bộ quản lý danh sách công
việc, hoặc trực tiếp hoặc dưới sự kiểm soát của người dùng cuối.
Giao diện ứng dụng WF client (tham chiếu giao diện 2 hình 10)

Hình 13: Giao diện ứng dụng phía khách

Thiết lập phiên:
- Kết nối/hủy kết nối của các phiên giữa các hệ thống tham gia.
Các hoạt động định nghĩa WF:
- Lấy lại/truy vấn (với các tiêu chuẩn chọn lọc để chọn) trên tên hay thuộc tính
định nghĩa tiến trình.

23


Các chức năng điều khiển tiến trình:
- Tạo/khởi động/kết thúc một tiến trình riêng lẻ cụ thể.
- Đình chỉ/bắt đầu lại một tiến trình riêng lẻ.
- Ép buộc thay đổi một trạng thái trong một tiến trình đơn lẻ hay một hoạt động.
- Gắn hay truy vấn một thuộc tính của một tiến trình hay một hoạt động.
Các chức năng điều khiển danh sách công việc/mục công việc:
- Mở/đóng một truy vấn danh sách công việc, thiết lập để chọn lọc các tiêu
chuẩn.
- Nắm bắt các danh mục danh sách công việc, chọn lọc những thông tin quan
trọng.
- Khai báo sự lựa chọn/gán lại/hoàn thành một mục công việc cụ thể.
- Gán hay truy vấn một thuộc tính mục công việc.

Các chức năng giám sát tiến trình:
- Thay đổi trạng thái hoạt động của một định nghĩa tiến trình WF và/hoặc tiến
trình hiện còn hoạt động.
- Thay đổi trạng thái của toàn bộ tiến trình hoặc hoạt động của một loại cụ thể.
- Gán các thuộc tính tới tất cả các tiến trình hay hoạt động của một loại cụ thể.
- Chấm dứt toàn bộ tiến trình.
Các chức năng điều khiển dữ liệu:
- Lấy lại/trả về dữ liệu liên quan hay ứng dụng WF.
Các chức năng quản lý:
- Hỗ trợ thêm các chức năng quản lý thông qua WAPI có thể phù hợp cho các
ứng dụng khách nào đó.

3.2.4. Các chức năng triệu gọi ứng dụng
Các ứng dụng được triệu gọi (tham chiếu thành phần 3.2 hình 10)
Người ta giả sử rằng bất kỳ sự thực thi WFM riêng biệt nào sẽ không đủ logic để
hiểu làm thế nào để triệu gọi tất cả các ứng dụng có khả năng mà phải tồn tại trong
một môi trường sản phẩm không đồng nhất. Điều này sẽ yêu cầu tính logic để đối
phó với sự triệu gọi toàn bộ nền và môi trường mạng, cùng với nghĩa của ứng dụng

24


×