Tải bản đầy đủ (.doc) (80 trang)

Xây dựng phần mềm quản lý tiến trình điều trị bệnh nhân sử dụng công nghệ windows workflow foundation

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 (1.97 MB, 80 trang )

LỜI CẢM ƠN
Trải qua thời gian 5 năm học tập và rèn luyện tại Trường Đại Học Công nghệ
thông tin và truyền thông, đến nay em đã kết thúc khoá học và hoàn thành đồ án tốt
nghiệp. Để có được kết quả này em xin chân thành cảm ơn :
Em xin gửi lời cảm ơn đến các thầy, cô giáo trong ngành công nghệ phần
mềm, Khoa Công Nghệ Thông Tin, Trường Đại học Công Nghệ Thông Tin và
Truyền Thông, những nhà giáo đã truyền dạy cho em những kiến thức quý báu
trong suốt những năm học vừa qua.
Em xin chân thành cảm ơn cô giáo hướng dẫn ThS.Trần Thị Ngân, cô luôn
quan tâm và rất nhiệt tình hướng dẫn em từ việc tìm tài liệu cho đến việc định hướng
lựa chọn giải pháp để triển khai đồ án. Cô cũng luôn nhắc nhở, giúp đỡ em mỗi khi
gặp khó khăn, nhờ vậy mà em đã hoàn thành tốt đồ án tốt nghiệp của mình đúng thời
hạn.
Do thời gian hoàn thành đồ án có hạn, sự thể hiện đồ án không tránh khỏi có
những khiếm khuyết. Em rất mong được sự động viên và đóng góp ý kiến của các
thầy cô giáo, giúp em hoàn thành tốt đồ án và chuẩn những kỹ năng tốt nhất cho trải
nghiệm sau này, có khả năng ứng dụng trong thực tế.
Em xin chân thành cảm ơn!
Sinh Viên
Dương Văn Khương

1


LỜI CAM ĐOAN
Em xin cam đoan những kết quả trong đồ án “Xây dựng phần mềm quản lý
tiến trình điều trị bệnh nhân sử dụng công nghệ Windows Workflow Foundation ” là
sự nghiên cứu của em, không sao chép của ai. Nội dung đồ án có tham khảo thông
tin tài liệu được trích dẫn trong phần tài liệu tham khảo. Nếu có gì giả dối em xin
hoàn toàn chịu trách nhiệm.
Tác giả đồ án


Dương Văn Khương

2


MỤC LỤC
LỜI CẢM ƠN...................................................................................1
LỜI CAM ĐOAN.............................................................................2
MỤC LỤC.........................................................................................3
DANH MỤC HÌNH ẢNH................................................................5
DANH MỤC THUẬT NGỮ............................................................8
DANH MỤC TỪ VIẾT TẮT...........................................................9
............................................................................................................9
LỜI NÓI ĐẦU................................................................................10
CHƯƠNG 1. TỔNG QUAN VỀ WORKFLOW VÀ WINDOWS
WORKFLOW FOUNDATION....................................................11
1.1. Giới thiệu về Workflow.......................................................................11
1.1.1. Khái niệm Workflow.................................................................................11
1.1.2. Hệ thống quản lý Workflow......................................................................11
1.1.3. Mô hình tham chiếu workflow..................................................................12
1.1.4. Dịch vụ sắc lệnh workflow........................................................................13

1.2. Giới thiệu Windows Workflow Foundation (WWF)........................19
1.2.1. Giới thiệu Windows Workflow Foundation (WWF)................................19
1.2.2. Mô hình kiến trúc của Windows workflow...............................................20

CHƯƠNG 2. KHẢO SÁT, PHÂN TÍCH, THIẾT KẾ HỆ
THỐNG QUẢN LÝ TIẾN TRÌNH ĐIỀU TRỊ BỆNH NHÂN
TRONG BỆNH VIỆN....................................................................27
2.1. Khảo sát, phân tích hệ thống..............................................................27

2.1.1. Khảo sát, phân tích tiến trình điều trị bệnh nhân trong bệnh viện............28
2.1.2. Các chức năng quản lý các danh mục chung của hệ thống.......................34
2.1.3. Chức năng quản lý nghiệp vụ kế toán.......................................................37
2.1.4. Chức năng lập các báo cáo thống kê cho bệnh viện.................................37
2.1.5. Một số biểu mẫu, hóa đơn.........................................................................38

2.2. Thiết kế các chức năng của hệ thống.................................................41
2.2.1. Xác định các tác nhân................................................................................41
2.2.2. Xác định các Use Case chính....................................................................42
2.2.3. Biểu đồ lớp.................................................................................................69

CHƯƠNG 3. XÂY DỰNG, CÀI ĐẶT HỆ THỐNG QUẢN LÝ
TIẾN TRÌNH ĐIỀU TRỊ BỆNH NHÂN TRONG BỆNH VIỆN
..........................................................................................................70
3.1. Môi trường triển khai..........................................................................70

3


3.2. Kết quả chương trình..........................................................................70
3.2.1. Nhập thông tin bệnh nhân đến khám.........................................................70

..........................................................................................................70
3.2.2. Thu phí sơ khám........................................................................................71
..............................................................................................................................71
3.2.3. Sơ khám....................................................................................................72
3.2.4. Lập phiếu xét nghiệm................................................................................73
3.2.5. Nộp phí xét nghiệm...................................................................................74
3.2.6. Xem kết quả xét nghiệm............................................................................75
3.2.7. Thủ tục nhập viện......................................................................................75

3.2.8. Xem, ghi bệnh án, y lệnh...........................................................................76
3.2.9. Cấp thuốc...................................................................................................77
3.2.10. Ghi tổng kết bệnh án................................................................................78

KẾT LUẬN.....................................................................................79
TÀI LIỆU THAM KHẢO.............................................................80

4


DANH MỤC HÌNH ẢNH
LỜI CẢM ƠN...................................................................................1
LỜI CAM ĐOAN.............................................................................2
MỤC LỤC.........................................................................................3
DANH MỤC HÌNH ẢNH................................................................5
DANH MỤC THUẬT NGỮ............................................................8
DANH MỤC TỪ VIẾT TẮT...........................................................9
............................................................................................................9
LỜI NÓI ĐẦU................................................................................10
CHƯƠNG 1. TỔNG QUAN VỀ WORKFLOW VÀ WINDOWS
WORKFLOW FOUNDATION....................................................11
1.1. Giới thiệu về Workflow.......................................................................11
1.1.1. Khái niệm Workflow.................................................................................11
1.1.2. Hệ thống quản lý Workflow......................................................................11
Hình 1.1: Các đặc trưng của hệ thống Workflow.....................................................12
1.1.3. Mô hình tham chiếu workflow..................................................................12
a. Tổng quan.................................................................................................12
b.Mô hình tham chiếu workflow....................................................................13
Hình 1.2: Mô hình tham chiếu Workflow - Các thành phần và các giao diện..........13
1.1.4. Dịch vụ sắc lệnh workflow........................................................................13

a. Dịch vụ Sắc lệnh là gì?.............................................................................13
b. Workflow Engine.......................................................................................14
c. Dịch vụ sắc lệnh Workflow đồng nhất và không đồng nhất.......................14
Hình 1.3: Ví dụ về các chuyển tiếp trạng thái cho các thể hiện một tiến trình.........15
Hình 1.4: Ví dụ về chuyển trạng thái cho các thể hiện hoạt động............................15
d. Dữ liệu điều khiển Workflow, dữ liệu liên quan Workflow và dữ liệu ứng
dụng Workflow..............................................................................................16
e. Sự trao đổi dữ liệu.....................................................................................17
Hình 1.5 Giao diện ứng dụng khách........................................................................18
Hình 1.6: Mô hình đồng bộ hóa song song..............................................................18
Hình 1.7: Giao diện tác động lẫn nhau Workflow....................................................19

1.2. Giới thiệu Windows Workflow Foundation (WWF)........................19
1.2.1. Giới thiệu Windows Workflow Foundation (WWF)................................19
1.2.2. Mô hình kiến trúc của Windows workflow...............................................20
Hình 1.8 :Mô hình kiến trúc của Windows Workflow..............................................21
a. Hosting layer.............................................................................................22
b. Runtime layer............................................................................................23
c. Model layer...............................................................................................24
5


Hình 1.9 Ví dụ về quy trình dùng sequential workflow............................................24
Hình 1.10 Ví dụ về sơ đồ công việc dùng state machine workflow model................25

CHƯƠNG 2. KHẢO SÁT, PHÂN TÍCH, THIẾT KẾ HỆ
THỐNG QUẢN LÝ TIẾN TRÌNH ĐIỀU TRỊ BỆNH NHÂN
TRONG BỆNH VIỆN....................................................................27
2.1. Khảo sát, phân tích hệ thống..............................................................27
2.1.1. Khảo sát, phân tích tiến trình điều trị bệnh nhân trong bệnh viện............28

a. Đón tiếp bệnh nhân...................................................................................28
b. Thu phí sơ khám........................................................................................28
Hình 2.1 Quá trình thu phí sơ khám.........................................................................29
c. Sơ khám.....................................................................................................29
Hình 2.2 Tiến trình sơ khám.....................................................................................30
d. Làm thủ tục nhập viện...............................................................................30
e. Quá trình điều trị nội trú...........................................................................30
Hình 2.3 Tiến trình nhập viện, vào điều trị nội trú...................................................31
f. Quá trình đưa bệnh nhân đi làm xét nghiệm, thủ thuật..............................32
g. Quá trình xuất viện....................................................................................32
Hình 2.4 Quá trình xuất viện....................................................................................33
h. Quá trình chuyển khoa cho bệnh nhân......................................................33
i. Tiến trình nhập viện của bệnh nhân trong trường hợp cấp cứu.................33
2.1.2. Các chức năng quản lý các danh mục chung của hệ thống.......................34
a. Quản lý nhân sự trong bệnh viện..............................................................34
b. Quản lý các danh mục trong cơ cấu tổ chức bệnh viện.............................36
2.1.3. Chức năng quản lý nghiệp vụ kế toán.......................................................37
2.1.4. Chức năng lập các báo cáo thống kê cho bệnh viện.................................37
2.1.5. Một số biểu mẫu, hóa đơn.........................................................................38
a. Phiếu chăm sóc.........................................................................................38
b. Phiếu xét nghiệm.......................................................................................39
c. Phiếu xuất viện..........................................................................................40

2.2. Thiết kế các chức năng của hệ thống.................................................41
2.2.1. Xác định các tác nhân................................................................................41
a. Quản trị hệ thống......................................................................................41
b. Bác sĩ.........................................................................................................41
c. Nhân viên kế toán......................................................................................41
d. Bệnh nhân.................................................................................................41
e. Y tá............................................................................................................41

2.2.2. Xác định các Use Case chính....................................................................42
a. Use Case của tác nhân quản trị hệ thống..................................................42
b. Use case của tác nhân Bác sĩ....................................................................45
c. Use case của tác nhân Y tá........................................................................54
d. Use case của tác nhân kế toán..................................................................59

6


e. Use case Đăng nhập và đổi mật khẩu chung cho các tác nhân.................66
2.2.3. Biểu đồ lớp.................................................................................................69

CHƯƠNG 3. XÂY DỰNG, CÀI ĐẶT HỆ THỐNG QUẢN LÝ
TIẾN TRÌNH ĐIỀU TRỊ BỆNH NHÂN TRONG BỆNH VIỆN
..........................................................................................................70
3.1. Môi trường triển khai..........................................................................70
3.2. Kết quả chương trình..........................................................................70
3.2.1. Nhập thông tin bệnh nhân đến khám.........................................................70

..........................................................................................................70
Hình 3.1 Nhập thông tin cho bệnh nhân mới đến.....................................................70
3.2.2. Thu phí sơ khám........................................................................................71
..............................................................................................................................71
Hình 3.2 Thu phí sơ khám........................................................................................71
3.2.3. Sơ khám....................................................................................................72
Hình 3.3 Ghi kết quả sơ khám..................................................................................72
3.2.4. Lập phiếu xét nghiệm................................................................................73
Hình 3.4 Lập phiếu xét nghiệm................................................................................73
3.2.5. Nộp phí xét nghiệm...................................................................................74
Hình 3.5 Thu phí xét nghiệm....................................................................................74

3.2.6. Xem kết quả xét nghiệm............................................................................75
Hình 3.6 Xem kết quả xét nghiệm.............................................................................75
3.2.7. Thủ tục nhập viện......................................................................................75
Hình 3.7 Thủ tục nhập viện......................................................................................75
3.2.8. Xem, ghi bệnh án, y lệnh...........................................................................76
Hinh 3.8 Xem ghi bệnh án, y lệnh............................................................................76
3.2.9. Cấp thuốc...................................................................................................77
Hình 3.9 Cấp thuốc..................................................................................................77
3.2.10. Ghi tổng kết bệnh án................................................................................78
Hình 3.10 Ghi tổng kết bệnh án...............................................................................78

KẾT LUẬN.....................................................................................79
TÀI LIỆU THAM KHẢO.............................................................80

7


DANH MỤC THUẬT NGỮ
Thuật ngữ
Workflow
Business process
Process

Ý nghĩa
Tiến trình công việc, tiến trình nghiệp vụ hay luồng công
việc.
Tiến trình, quy trình
Thể hiện của tiến trình: Khi một người tham gia Workflow

Instance


bắt đầu một tiến trình tức là tạo ra một thể hiện cho tiến
trình đó.

Process Definition Định nghĩa tiến trình
Hoạt động: là một bước trong tiến trình công việc, mỗi hoạt
Activity

động chứa tác vụ cần thực hiện bởi người tham gia
Workflow.
Sự kiện: Để hoàn thành được một hoạt động cần thực hiện

Event

một hoặc một số hành động. Mỗi hành động đó là một sự
kiện

Worklist
Worklist item
Workflow Engine
Workflow
Enactment Service

Danh sách công việc: Các nhiệm vụ, công việc mà người
tham gia Workflow cần làm.
Một mục trong danh sách công việc.
Máy Workflow: 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 Workflow.
Dịch vụ sắc lệnh Workflow: Phần mềm dịch vụ bao gồm
một hay nhiều Workflow Engine để tạo ra, quản lý và thực

thi Workflow.

8


DANH MỤC TỪ VIẾT TẮT
Từ
viết tắt

Viết đầy đủ

Ý nghĩa

BPR

Business Process Re-Engineering Tổ chức lại tiến trình nghiệp vụ

WfMC

Workflow Management Coliation Hội liên hiệp quản lý Workflow

WfMS

Workflow Management System

WfRM

Workflow Reference Model

IT


Information Technology

WAPI

Hệ thống quản lý Workfow
Mô hình tham chiếu Workflow
Công nghệ Thông tin

Workflow Application

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

Programming Interface

Workflow.

IPC

Inter Process Communication

BBL

Business Logic Layer

CBO

Custom Business Object

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

Tầng logic nghiệp vụ trong kiến trúc 3
tầng trên Web.
Đối tượng nghiệp vụ tùy chỉnh

9


LỜI NÓI ĐẦU
Trong những năm gần đây, xu hướng hội nhập toàn cầu đã tạo ra những động
lực phát triển rất lớn cho nhân loại nhưng đồng thời cũng đặt ra nhiếu thách thức cần
giải quyết nhằm đáp ứng nhu cầu sử dụng tài nguyên một cách hiệu quả. Công nghệ
Workflow mặc dù mới ra đời nhưng đã hứa hẹn đóng góp tạo một bước đột biến
quan trọng trong quá trình phát triển tự thân của Công nghệ Thông tin làm nền tảng
cho một thế hệ các ứng dụng kiểu mới.
Hiện nay các bệnh viện ở trong nước, từ nhỏ đến lớn, hoạt động theo các quy
trình khám chữa bệnh rất khác nhau. Chúng ta chưa thành lập được một quy trình
chuẩn cho các bệnh viện. Để làm được điều này, trước hết cần phải thành lập một
quy trình mang tính tương đối, được tạo ra dựa trên khảo sát quy trình tại một số
bệnh viện điển hình. Sau đó đưa quy trình này vào hoạt động. Thời gian hoạt động
sẽ giúp tìm ra ưu, nhược điểm để dần hoàn thiện quy trình, tiến tới một quy trình
chuẩn. Chính vì lý do này, việc đưa công nghệ workflow vào để xây dựng một ứng
dụng trong quản lý tiến trình khám và điều trị bệnh nhân trong bệnh viện là rất có ý
nghĩa trong thời điểm hiện nay.
Vì những lý do như trên, em đã tìm hiểu về công nghệ workflow với Windows
Workflow Foundation và ứng dụng nó trong xây dựng hệ thống “quản lý tiến trình
điều trị bệnh nhân trong bệnh viện”.

10



CHƯƠNG 1. TỔNG QUAN VỀ WORKFLOW VÀ
WINDOWS WORKFLOW FOUNDATION
1.1. Giới thiệu về Workflow
1.1.1. Khái niệm Workflow
Định nghĩa Workflow
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ừ người tham gia này tới
người tham gia kia thay cho hành động, tuân theo một tập các quy tắc mang tính
thủ tục - Định nghĩa theo WfMC.
Workflow thường gắn liền với việc tổ chức lại tiến trình nghiệp vụ (Business
Process Re-Engineering - BPR). Đó là công việc liên quan tới việc đánh giá, phân
tích, mô hình hóa, định nghĩa và việc thực thi hoạt động sau đó của các tiến trình
nghiệp vụ cốt lõi trong một tổ chức. Mặc dù không phải tất cả các hoạt động BPR
đều dẫn tới sự thực thi Workflow nhưng công nghệ Workflow thường là một giải
pháp thích hợp vì nó tách biệt logic thủ tục nghiệp vụ khỏi hỗ trợ vận hành IT và vì
vậy cho phép sự thay đổi sau này được chuyển vào các quy tắc thủ tục định nghĩa
tiến trình nghiệp vụ.

1.1.2. Hệ thống quản lý Workflow
Định nghĩa Hệ thống quản lý Workflow - Workflow Management System
Là hệ thống định nghĩa, tạo ra và quản lý sự thực thi của các Workflow thông
qua việc sử dụng phần mềm, chạy trên một hoặc nhiều các máy Workflow có khả
năng hiểu định nghĩa tiến trình, tương tác với người tham gia Workflow và khi cần,
có thể sử dụng các ứng dụng và công cụ IT - Định nghĩa theo WfMC.

11


Hệ thống quản lý Workflow cung cấp sự tự động hóa mang tính thủ tục của
một tiến trình nghiệp vụ bằng cách quản lý chuỗi các hoạt động và lời triệu gọi

những những người tương ứng và/hoặc những tài nguyên IT liên quan tới những
bước hoạt động khác nhau.
Hình 1.1. mô tả các đặc trưng cơ bản của các hệ thống WFM và các mối quan
hệ giữa các chức năng chính:

Hình 1.1: Các đặc trưng của hệ thống Workflow

1.1.3. Mô hình tham chiếu workflow
a. Tổng quan
Mô hình tham chiếu được khai thác từ cấu trúc chung của ứng dụng Workflow
bằng cách phân biệt các giao diện trong cấu trúc này. Cấu trúc đó cho phép các sản
phẩm có thể vận hành lẫn nhau tại nhiều mức khác nhau, các sản phẩm khác nhau

12


thể hiện các mức khả năng khác nhau bên trong mỗi thành phần trong những thành
phần chung này.
b.Mô hình tham chiếu workflow

Hình 1.2: Mô hình tham chiếu Workflow - Các thành phần và các giao diện
Giao diện xung quanh dịch vụ sắc lệnh Workflow được chỉ rõ là WAPI Workflow APIs và các định dạng trao đổi và được xem như tập hợp các cấu trúc về
các dịch vụ của hệ thống Workflow được cho phép truy cập và điều chỉnh các giao
tác giữa các phần mềm điều khiển Workflow và các thành phần hệ thống khác.

1.1.4. Dịch vụ sắc lệnh workflow
a. Dịch vụ Sắc lệnh là gì?
Định nghĩa Dịch vụ sắc lệnh Workflow - Workflow Enactment Service
Là phần mềm dịch vụ bao gồm một hay nhiều Workflow Engine để tạo ra,
quản lý và thực thi Workflow. 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 Workflow - Định nghĩa theo WfMC.
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:

13


 Giao diện ứng dụng phía khách: Thông qua giao diện này, Workflow
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: Giao diện này cho phép Workflow
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 Workflow theo cách chuẩn hóa.
b. Workflow Engine
Định nghĩa Workflow Engine:
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 Workflow - Định nghĩa theo WfMC.
Một Workflow 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. Workflow 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.
c. Dịch vụ sắc lệnh Workflow đồng nhất và không đồng nhất

Một dịch vụ sắc lệnh Workflow đồng nhất bao gồm một hoặc nhiều Workflow
Engine tương thích cung cấp môi trường thực thi thời gian chạy cho các tiến trình
Workflow với một tập định trước các thuộc tính định nghĩa tiến trình.

14


Tiến trình và hoạt động chuyển trạng thái:
Dịch vụ sắc lệnh Workflow có thể được xem xét như một máy chuyển trạng
thái. Nơi các tiến trình riêng lẻ hay các hoạt động thay đổi trạng thái trong sự phản
ứng với các tình huống bên hay để đưa ra quyết định điều khiển cụ thể bởi một
Workflow.
Một ví dụ minh họa cơ bản cho biểu đồ chuyển đổi trạng thái của tiến trình
được chỉ ra dưới đây:

Hình 1.3: Ví dụ về các chuyển tiếp trạng thái cho các thể hiện một tiến trình
Xét một ví dụ đơn giản minh họa trạng thái cơ bản và sự chuyển đổi cho một
hoạt động như sau:

Hình 1.4: Ví dụ về chuyển trạng thái cho các thể hiện hoạt động

15


d. Dữ liệu điều khiển Workflow, dữ liệu liên quan Workflow và dữ liệu ứng dụng
Workflow
Định nghĩa "Dữ liệu điều khiển Workflow"
Là dữ liệu bên trong được quản lý bởi hệ thống quản lý Workflow và/hoặc
Workflow Engine - Định nghĩa theo WfMC.
Dữ liệu liên quan đến Workflow được dùng bởi một hệ thống quản lý

Workflow để xác định các điều kiện chuyển đổi đặc biệt và có thể tác động đến sự
lựa chọn các hành động tiếp theo được thực thi. Dữ liệu như vậy có khả năng sử
dụng trong các ứng dụng Workflow để ứng dụng đó hoạt động trên dữ liệu đó và do
vậy cần phải được truyền giữa các hoạt động bởi phần mềm Workflow enactment.
Định nghĩa Dữ liệu liên quan đến Workflow
Là dữ liệu được dùng bởi hệ thống quản lý Workflow để xác định trạng thái
chuyển đổi của một tiến trình Workflow - Định nghĩa theo WfMC.
Sự trao đổi của dữ liệu ứng dụng có thể được yêu cầu trong mỗi hoạt động của
một định nghĩa tiến trình, ví dụ bằng một công cụ hay ứng dụng đặc biệt, hoặc được
điều khiển trực tiếp từ ứng dụng hoặc trong mối liên kết với một vài khuôn dạng của
tương tác người dùng.
Định nghĩa Dữ liệu ứng dụng Workflow
Là dữ liệu chỉ dành cho một ứng dụng xác định và không thể truy nhập bởi hệ
thống quản lý Workflow - Định nghĩa theo WfMC.
Dữ liệu ứng dụng Workflow không được sử dụng bởi phần mềm sắc lệnh
Workflow và chỉ có liên hệ tới các ứng dụng hoặc nhiệm vụ của người dùng thực thi
trong Workflow. Như với dữ liệu có liên quan với Workflow, nó có thể cần được
trao đổi giữa các Workflow Engine trong dịch vụ enactment không đồng nhất để tạo
sự sẵn có cho các hoạt động phù hợp thực thi trên các Engine riêng lẻ.

16


e. Sự trao đổi dữ liệu
Khi có một yêu cầu cung cấp sự chuyển đổi khuôn dạng dữ liệu giữa các hoạt
động, mô hình xác định ứng dụng đặc biệt có thể định nghĩa, như thuộc tính, loại dữ
liệu (hay nhiều loại) với sự kết hợp của chúng (thông tin thuộc tính này có thể được
lưu trữ cục bộ cho môi trường phần mềm đặc biệt hay tổng thể để cho toàn bộ dịch
vụ Workflow). Điều này cho phép các hệ thống được cấu trúc nhằm mục đích sử
dụng các ứng dụng Workflow không đồng nhất để cung cấp sự chuyển đổi dữ liệu

(nếu cần) trên nền tảng của các loại thuộc tính được định nghĩa cho riêng từng ứng
dụng.

 Các ứng dụng khách (Client Applications): Dữ liệu có liên quan tới
Workflow có thể được đưa vào trong mục công việc và trích ra từ danh sách công
việc cho việc biểu diễn để người dùng hợac cho sự liên kết tới một công cụ ứng
dụng riêng biệt.

 Các ứng dụng được triệu gọi (Invoked Applications): Sự trao đổi dữ liệu
sẽ phụ thuộc vào bản chất của giao diện ứng dụng được triệu gọi và có thể yêu cầu
dịch vụ dẫn xuất để gắn dữ liệu vào một giao thức ứng dụng cụ thể. APIs cho việc
đọc/viết dữ liệu liên quan đến Workflow là khả thi cho các ứng dụng Workflow
được phép.

 Khả năng tương tác của Workflow Engine: Sự xem xét tương tự như giao
diện ứng dụng khách, mặc dù ở cá hệ thống khác nhau hỗ trợ các cách tiếp cận trao
đổi dữ liệu ứng dụng khác nhau, việc sử dụng một chức năng cổng sẽ là cần thiết để
ánh xạ giữa hai biểu đồ và có thể xử lý sự chuyển đổi tên.

17


Hình 1.5 Giao diện ứng dụng khách

Hình 1.6: Mô hình đồng bộ hóa song song
Do vậy, những cặp công việc phù hợp có thể được đồng bộ hóa tại các điểm
đặc biệt trong mỗi tiến trình. Điều này yêu cầu một cơ chế phối hợp và theo dõi,
thêm vào đó cả 2 dịch vụ có thể thấy được các nhiệm vụ từ 2 định nghĩa tiến
trình.1.4.7.6. Các chức năng tác động lẫn nhau WAPI (Giao diện 4)


18


Hình 1.7: Giao diện tác động lẫn nhau Workflow

1.2. Giới thiệu Windows Workflow Foundation (WWF)
1.2.1. Giới thiệu Windows Workflow Foundation (WWF)
Windows Workflow Foundation (WWF) là thành phần chủ yếu trong .net
framework 3.0, còn được gọi là WinFX. WWF có thể được sử dụng rộng rãi với tất
cả người dùng sử dụng các hệ điều hành Windows (XP, Server 2003, Windows
Vista, …). Một số mục tiêu chủ yếu của WWF là:
 Xây dựng một công cụ nổi bật cho việc ứng dụng công nghệ workflow cho
tất cả các ứng dụng được xây dựng trên nền Windows
 Cho phép ứng dụng workflow một cách bao quát trong nhiều lĩnh vực, hỗ trợ
con người xây dựng các ứng dụng với kiến trúc rõ ràng trong đa số các trường hợp.
 Mang đến một mô hình mới cho những người phát triển workflow, .Net
framework, giúp họ có thể ngay lập tức đưa vào sử dụng, xây dựng các workflow
ứng dụng trong xây dựng sản phẩm.
 Cho phép sử dụng lại những thành phần workflow đã phát triển, đảm bảo các
developer cũng như các doanh nghiệp sản xuất phần mềm có thể nhúng workflow
sâu vào các sản phẩm của họ.
19


Trên đây là những mục tiêu rất táo bạo và Microsofts đang cố gắng đạt được
bằng cách tập trung giải quyết các yêu cầu đề ra đối với workflow nảy sinh trong
nhiều hoàn cảnh. WWF là một công cụ, một framework, nó không phải là một sản
phẩm có đầy đủ các đặc tính để phục vụ cho một hoàn cảnh cụ thể nào đó. Mặc dù
WWF được xây dựng để hỗ trợ xây dựng ứng dụng trong hầu hết mọi trường hợp,
xong lại không hoàn toàn đầy đủ khi sử dụng trong một trường hợp cụ thể nào đó.

WWF mang đến một hướng tiếp cận mới đối với việc sử dụng workflow trong xây
dựng phần mềm với nhiều sự mở rộng. Nói tóm lại, WWF cho phép ứng dụng trong
sản xuất phần mềm trong nhiều hoàn cảnh, lĩnh vực. Nó mang lại một cơ hội mới,
một công cụ mới, tiện dụng, dễ học cho các developer và các doanh nghiệp sản xuất
phần mềm.

1.2.2. Mô hình kiến trúc của Windows workflow
Để có thể hỗ trợ developer trong nhiều tình huống và đạt được các mục tiêu đề ra
như đã nói ở trên, công nghệ workflow phải được xây dựng dưới dạng một
framework hạt nhân mà có thể thêm bớt các interfacecũng như các thành phần mở
rộng tùy theo hoàn cảnh. Dưới đây là mô hình kiến trúc của Windows Workflow
Foundation.

20


Hình 1.8 :Mô hình kiến trúc của Windows Workflow
WWF không có một quá trình thực hiện cố hữu nào. Hơn thế, nó là một công cụ
tiến trình hoạt động bên trong, nghĩa là hoạt động bên trong tiến trình chủ (host
process). Host process có nhiệm vụ cung cấp một tập các service cho WWF. Có thể
thấy được một số lượng rất lớn và đa dạng các host process tham gia hoạt động trên
môi trường Windows, chẳng hạn: console application, winform application, web
application, web service, các ứng dụng dạng dịch vụ trên WinNT, … . Nói ngắn gọn
hơn, mọi tiến trình thực thi trên môi trường Windows đều có thể là host process cho
workflow.
Việc mọi loại process trên Windows đều có thể sử dụng workflow như một
process bên trong dẫn đến một số thách thức rất đáng quan tâm bởi mỗi loại process,
mỗi process có các đặc điểm và thông số khác nhau. Chính vì nguyên nhân này, tầng

21



hosting (hosting layer) cung cấp một tập các interface có thể thêm, bớt từ WWF đến
host process.
Tầng mô hình ( model layer) là tầng mà các developer sẽ tương tác trực tiếp với
WWF và trong một trường hợp cụ thể nào đó. Nó bao gồm các workflow model,
programming API, các activity. Sau đây chúng ta sẽ nói chi tiết hơn về các tầng
hosting, runtime, model.
a. Hosting layer
Đây cũng là nơi mà các developer thực hiện việc triển khai các service chủ chốt
của workflow: communication, persistence, tracking, timer, threading, transaction.
Việc triển khai thực hiện 3 service đầu tiên gắn với WWF là có tính bền lâu, trong
khi đó 2 service sau có tính trạng thái, tạm thời.
• Persistence: mặc dù một số workflow chạy trong một thời gian ngắn, thuộc
tính không đồng bộ là thuộc tính cố hữu của workflow, một số workflow có thể phải
chạy trong một khoảng thời gian rất dài, vài giờ, vài ngày, thậm chí vài tháng hoặc
hơn thế nữa. Một công cụ của workflow giúp lưu giữ các state của nó trong bộ nhớ
trong những khoảng thời gian workflow ngừng hoạt động sẽ giúp tiết kiệm bộ nhớ
hơn là việc lưu trữ toàn bộ các workflow instance.
• Timer: workflow thường phải chờ đợi một sự kiện nào đó để có thể tiếp tục
hoạt động. Timer cung cấp một đồng hồ để giúp quản lý những khoảng thời gian trì
hoãn đó. Ví dụ, một workflow chờ đợi sự xác nhận từ một người quản lý có thẩm
quyền, nó phải chờ đến khi người đó đến và hoàn thành công việc phê duyệt. Timer
vẫn hoạt động trong trường hợp hệ thống restart.
• Tracking: một trong những nguyên nhân chủ yếu để sử dụng workflow là
workflow đưa ra một mô hình phần mềm mà có độ trong suốt cao hơn về hệ thống,
các workflow hoạt động một cách độc lập, tự cung, tự cấp. Tracking tự động theo
dõi các sự kiện, lấy nội dung, đưa vào xử lý thông qua các tracking interface.

22



• Communication: workflow gửi và nhận các sự kiện hay thông điệp từ host
application. Các sự kiện kích hoạt workflow, đưa workflow từ trạng thái này đến
trạng thái tiếp theo trong toàn bộ luồng công việc. Các nhà phát triển đã xây dựng
một nền tảng vững chắc cho việc giao tiếp giữa workflow với nhau, workflow với
host application, workflow với các service khác. Dưới đây là một số dịch vụ có sẵn
trong WWF:
Bảng 1.1 Một số dịch vụ sẵn có trong WWF
Host Layer
Persistence
Timer
Threading

Service Implementation
SQL Server state persistence
Both an in-memory and SQL Server–based timer
.NET thread pool
ASP.NET thread pool

Tracking SQL

Server Tracking Persistence and Event Log recording

for termination
Communications .NET components and web services
b. Runtime layer
Runtime layer là tầng cốt lõi của WWF. Khác với các tầng khác, nó không phải
là tầng mà developer có thể thêm bớt các interface để phù hợp vơi ứng dụng của
mình, nó gần như hoàn toàn cố định. Tầng này có các service sau đây:

• Execution: tổ chức các activity hỗ trợ các hành vi như xử lý sự kiện, xử lý
ngoại lệ, tracking, transaction.
• Tracking: Tạo các tracking event
• State management: quản lý các trạng thái của workflow
• Scheduler: tổ chức việc thực thi các activity
• Rules: cung cấp một số cơ chế thực thi workflow tùy theo điều kiện

23


c. Model layer
Đây là tầng mà developer tương tác trực tiếp với WWF, là nơi mà developer
thiết kế các activity, thiết kế workflow, thiết lập cơ chế thực hiện tùy theo luồng
công việc của quá trình nghiệp vụ thực tế. WWF cung cấp 2 mô hình workflow:
• Sequential workflow model: là loại mô hình workflow mà thứ tự các bước
trong quy trình công việc đã xác định sẵn, nghĩa là khi workflow đã đến một
bước nào đó thì bước tiếp theo nó cần đến đã xác định. Loại mô hình này
thường dùng trong trường hợp các công việc không liên quan đến người
dùng, các công việc được giải quyết thông qua tương tác bên trong hệ thống.
Sau đây là một ví dụ về sơ đồ công việc dùng sequential workflow:

Hình 1.9 Ví dụ về quy trình dùng sequential workflow
• State machine workflow model: loại mô hình này sử dụng một biểu đồ biến
đổi trạng thái để mô phỏng workflow. Nó thường được dùng trong trường
hợp mà quy trình, thứ tự giữa các bước khi thực hiện công việc là chưa xác
định, nghĩa là công việc tiếp theo của một công việc là chưa biết trước, có thể
có nhiều khả năng xảy ra. Do đó, loại hình này dùng trong trường hợp công
24



việc thực hiện có sự tham gia của con người, hay nói cách khác là trong
tương tác người máy. Ngoài ra nó cũng có thể dùng trong một số trường hợp
khác khi mà có một số bước nào đó lặp lại nhiều lần trước khi quá trình
nghiệp vụ kết thúc. Dưới đây là một ví dụ về sơ đồ công việc dùng state
machine workflow model:

Hình 1.10 Ví dụ về sơ đồ công việc dùng state machine workflow model
Phần tử cơ bản nhất của workflow là các activity, một ví dụ về activity là
“send goods” trong ví dụ về sequential workflow ở trên. Activity có 2 loại: activity
đơn (simple activity) và activity kết hợp (composite activity). Điều làm nên sự khác
biệt của WWF so với các công cụ workflow khác chính là ở chỗ WWF không bị
giới hạn cố định cho một ngôn ngữ hay cú pháp. WWF liên kết các activity thành
một chuỗi và điều này do developer quyết định, nghĩa là developer tạo ra các
activity và quy định trình tự của chúng trong chuỗi. WWF cung cấp cả các cấu trúc
điều khiển “If” hay “Code block” hỗ trợ xây dựng luồng điều khiển, ngoài ra
developer có thể tự xây dựng các cấu trúc điều khiển cho riêng mình, ví dụ như khối
“do until”, hơn thế nữa, developer còn có thể xây dựng các activity cấp cao (dạng

25


×