Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
VIETBANDO
WORKFLOW SERVER Tháng 10, 2016
TÓM TẮT Tài liệu mô tả định nghĩa, các thành phần, các thiết
kế của Vietbando Workflow Server.
VIETBANDO INFORMATIC AND MAPPING CORPORATION
www.vietbando.com Tài liệu Vietbando Workflow Server
Page 1 of 13
MỤC LỤC 1. Giới thiệu ......................................................................................................................2
2. Các thành phần chính ....................................................................................................2
2.1. WorkflowRuntime .................................................................................................2
2.2. Scheme ..................................................................................................................5
2.3. DB Interfaces .........................................................................................................6
3. Thiết kế quy trình ..........................................................................................................7
3.1. Server-side .............................................................................................................7
3.2. Client-side .............................................................................................................7
3.3. Thanh công cụ Toolbar ..........................................................................................8
3.4. Activities ...............................................................................................................9
3.5. Transitions ........................................................................................................... 10
3.6. Actors .................................................................................................................. 12
3.7. Commands ........................................................................................................... 12
3.8. Parameters ........................................................................................................... 12
3.9. Timers ................................................................................................................. 12
3.10. Code actions ..................................................................................................... 13
www.vietbando.com Tài liệu Vietbando Workflow Server
Page 2 of 13
1. Giới thiệu
Vietbando Workflow Server cho phép thêm quy trình(workflow) vào ứng dụng của
người dùng. Nó có thể được tích hợp đầy đủ vào ứng dụng người dùng hoặc dưới
dạng một dịch vụ riêng biệt (như dịch vụ web).
Các ưu điểm khi sử dụng Vietbando Workflow Server:
o Thiết kế quy trình nghiệp vụ trên trình duyệt web (HTML5)
o Hiệu suất cao
o Bổ sung nhanh vào dự án quy trình(workflow) của người dùng
o Tự động tạo ra danh sách đầu vào
o Thay đổi sơ đồ quy trình xử lý theo thời gian thực.
o Hỗ trợ các database: MS SQL Server, MongoDB, RavenDB.
Vietbando Workflow Server hoàn hảo cho:
o Thêm án quy trình(workflow) vào ứng dụng thì không làm thay đổi code
nhiều.
o Quy trình phức tạp và thay đổi thường xuyên.
o Một số module hoặc vài ứng dụng cần phải thay đổi trạng thái của dữ liệu.
2. Các thành phần chính
Core hổ trợ các chức năng thao tác trên án quy trình (workflow) cơ bản sau:
o Tạo quy trình
o Xác định trạng thái hiện tại
o Tiếp nhận lệnh truy cập của người dùng
o Thực thi các khối lệnh.
o Cho phép thiết lập trạng thái .
o Ủy quyền cho người dùng khác thực thi
o Thiết lập các phiên bản khác nhau cho một quy trình.
o Chuyên ngữ (localization).
2.1. WorkflowRuntime
Các hỗ trợ các chức năng cơ bản:
o Tạo đối tượng.
o Lấy danh sách lệnh điều khiển luồng có sẵn.
o Thực thi lệnh điều khiển luồng.
o Lấy danh sách các trạng thái có thể thiết lập.
www.vietbando.com Tài liệu Vietbando Workflow Server
Page 3 of 13
o Thiết lập trạng thái.
a) Tạo đối tượng
Ý nghĩa: Tạo ra một thể hiện của quy trình
Tham số:
STT Tên tham số Kiểu dữ liệu Mô tả
1. schemeCode Tên quy trình
2. processId Guid Id quy trình xử lý
3. identityId String Id người dùng tạo đối tượng.
4. impersonatedIdentityId String Id người dùng được ủy quyền
5. parameters IDictionary<string,
object>
Các tham số để tạo quy trình
xử lý.
b) Lấy danh sách lệnh điều khiển luồng
Hàm: WorkflowRuntime.GetAvailableCommands
Ý nghĩa: Trả về danh sách lệnh diều khiển luồng hiện có của trạng thái xử lý hiện
tại và id người dùng.
Tham số:
STT Tên tham số Kiểu dữ liệu Mô tả
1. processId Guid Id quy trình xử lý
2. identityIds IEnumerable<string> Danh sách Id người dùng
3. commandNameFilter string Tên của lệnh cần kiểm tra. Nếu
trường này không được chỉ
định thì hàm sẽ kiểm tra truy
cập vào tất các lệnh.
4. mainIdentityId string? Id người dùng chính.
c) Thực thi lệnh
Hàm: WorkflowRuntime.ExecuteCommand
Ý nghĩa: Thực thi lệnh diều khiển luồng được gọi.
Tham số:
STT Tên tham số Kiểu dữ liệu Mô tả
1. processId Guid Id trình xử lý
www.vietbando.com Tài liệu Vietbando Workflow Server
Page 4 of 13
2. identityId String Id người dùng thực thi lệnh
3. impersonatedIdentityId String User id của lệnh đang thực
hiện.
4. command WorkflowCommand Lệnh điều khiển luồng sẽ
thực thi
d) Lấy danh sách các trạng thái có thể thiết lập
Hàm: WorkflowRuntime.GetAvailableStateToSet
Ý nghĩa: Trả về danh sách các trạng thái khả dụng, danh sách này được thiết lập
xuyên suốt trong hàm SetState.
Tham số:
STT Tên tham số Kiểu dữ liệu Mô tả
1. processId Guid ID trình xử lý
2. identityIds CultureInfo Tên của các tham số trạng thái cục bộ.
e) Thiết lập trạng thái
Hàm: WorkflowRuntime.SetState
Ý nghĩa: Thiết lập trạng thái xử lý.
Tham số:
STT Tên tham số Kiểu dữ liệu Mô tả
1. processId Guid ID trình xử lý
2. identityId string Id người dùng thực thi lệnh
3. impersonatedIdentityId string User id của lệnh đang thực
hiện.
4. state string Tên trạng thái để thực thi
5. parameters IDictionary<string,
object>
Các tham số để thiết lập trạng
thái xử lý.
Bảng danh sách các phương thức hoàn thiện như sau:
STT Phương thức Mô tả
1. CreateInstance Tạo đối tượng xử lý
2. ExecuteCommand Thực thi lệnh
www.vietbando.com Tài liệu Vietbando Workflow Server
Page 5 of 13
3. GetAllActorsForAllCommandTransitions
GetAllActorsForDirectAndUndefinedCommand
Transitions
GetAllActorsForDirectCommandTransitions
GetAllActorsForReverseCommandTransitions
Lấy các tác nhân
4. GetAvailableCommands Lấy danh sách lệnh điều
khiển khả dụng
5. GetAvailableStateToSet
6. GetCurrentActivityName
7. GetCurrentStateName
8. GetInitialCommands
9. GetInitialState
10. GetLocalizedCommandName
GetLocalizedCommandNameBySchemeId
GetLocalizedStateName
GetLocalizedStateNameByProcessName
GetLocalizedStateNameBySchemeId
11. GetProcessInstanceAndFillProcessParameters
12. GetProcessScheme Lấy quy trình đang xử lý
13. GetProcessStatus Lấy trạng thái xử lý
14. IsProcessExists Kiểm tra một quy trình xử
lý đã tồn tại chưa?
15. PreExecute
PreExecuteFromCurrentActivity
PreExecuteFromInitialActivity
Khởi động chế độ tiền xử
lý
16. SetSchemeIsObsolete Thiết lập cờ IsObsolete cho
quy trình xử lý
17. SetState thiết lập trạng thái mới
18. UpdateSchemeIfObsolete Cập nhật các quy trình lỗi
thời
19. DisableActionCode Vô hiệu hóa các khối lệnh.
2.2. Scheme
Quy trình xử lý Workflow được biểu diễn bởi XML.
Quy trình Workflow được mô tả bởi các phần sau:
www.vietbando.com Tài liệu Vietbando Workflow Server
Page 6 of 13
o Activities
o Transitions
o Actors
o Commands
o Timers
o Parameters
o Localization
2.3. DB Interfaces
Các provider hiện có của cơ sở dữ liệu:
o MS SQL Server / AsureSQL
o MongoDB
o RavenDB
o Oracle
o MySQL
o PostgreSQL
Nếu người dùng sử dụng các cơ sở dữ liệu khác, thì cần hiện thực các Interface:
o IPersistenceProvider
o ISchemePersistenceProvider
o IRuntimePersistence
o IworkflowGenerator.
Các đối tượng db điển hình như sau:
STT Các đối tượng DB Mô tả
1. WorkflowProcessScheme Chứa hình ảnh chụp nhanh của quy
trình đang xử lý, chụp tại thời điểm
tạo trình xử lý mới. Việc này được
xử dụng để xác định các phiên bản
của quy trình.
2. WorkflowProcessInstance Chứa các tham số chỉnh của trình xử
lý, như trạng thái hiện tại, trạng thái
trước đó…
3. WorkflowProcessInstancePersistence Chứa người dùng định nghĩa các
tham số của trình xử lý được đánh
dấu bởi “Persisted”.
www.vietbando.com Tài liệu Vietbando Workflow Server
Page 7 of 13
4. WorkflowProcessInstanceStatus Chứa thông tin về trạng thái thực thi
trình xử lý (đang chạy hay rỗi).
5. WorkflowProcessTransitionHistory Chứa lịch sử thay đổi trạng thái của
các quy trình xử lý.
6. WorkflowProcessTimer Chứa thời gian hoạt động của trình
xử lý.
7. WorkflowRuntime Sẽ hiển thị trong các phiên bản
tương lai.
8. WorkflowScheme Chứa các quy trình cơ bản để tạo các
trình xử lý mới.
9. WorkflowGlobalParameter Chứa các thông số chung
10. spWorkflowProcessResetRunningStat
us
Tất cả trình xử lý sẽ được đánh dấu
là rỗi sau khi thực thi thủ tục này.
11. DropWorkflowProcess Xóa tất cả thông tin về trình xử lý.
12. DropWorkflowProcesses Xóa tất cả thông tin về các trình xử
lý.
3. Thiết kế quy trình
Sản phẩm này cung cấp một thiết kế dựa trên nền web hoàn chỉnh, được sử dụng để
xử lý các mô hình quy trình xử lý công việc của người dùng. Thiết kế hổ trợ
HTML5. Người dùng có thể sử dụng bất kỳ trình duyệt tương thích.
3.1. Server-side
Để xử lý các tác vụ server cần phải định tuyến ngoài bởi phương thức yêu cầu: Các
loại tác vụ server được định nghĩa trong bước thiết lập tham số:
o load
o save
o uploadscheme
o downloadscheme
3.2. Client-side
Yêu cầu:
o JQuery
o JQuery.treeTable
o KineticJS v 5
o ACE (http://ace.c9.io)
www.vietbando.com Tài liệu Vietbando Workflow Server
Page 8 of 13
Sử dụng bắt đầu bằng việc tạo ra các đối tượng: WorkflowDesigner:
STT Tham số Mô tả
1. Name Tên
2. apiurl Đường dẫn Url API
3. renderTo DIV
4. graphwidth Chiều rộng
5. graphheight Chiều cao
Tải dữ liệu từ máy chủ:
Các tham số:
o schemecode
o processid
o schemeid
3.3. Thanh công cụ Toolbar
Nút Chú thích
Create activity Tạo một hoạt động
Copy selected Sao chép các đối tượng đã chọn
Delete Xóa các đối tượng đã chọn
Move Di chuyển
Zoom In Thu nhỏ
Zoom Out Phóng to
Zoom and position
default set
Phóng to và vị trí thiết lập mặc định
Auto arrangement Sắp xếp tự động
Actors Mở cửa sổ tác nhân
Commands Mở cửa sổ lệnh
www.vietbando.com Tài liệu Vietbando Workflow Server
Page 9 of 13
Parameters Mở cửa sổ tham số
Localization Mở cửa sổ cục bộ. Được dùng để định nghĩa
các tên cục bộ của: trạng thái, lệnh, tham số
Timers Mở cửa sổ Timers. Được dùng để định nghĩa
timer.
CodeActions Mở cửa sổ CodeActions. Được dùng để định
nghĩa các mã hành động tùy chỉnh.
Additional Parameters Mở cửa sổ Additional Parameters (IsObsolete,
Defining parameters, Process parameters).
3.4. Activities
Trong Activity, xác định trạng thái dữ liệu, một thiết lập của phương thức phải được
thực thi khi một dữ liệu đạt một Activity cụ thể.
STT Tên Mô tả
1. Name Tên của hành động hiện tại
2. State Trạng thái của hành động hiện tại
3. Delete Xóa hành động
4. Create activity and transition Tạo hành động mới và sự chuyển tiếp (Từ:
hành động hiện tại, Đến: hành động mới)
5. Create transition Tạo chuyển tiếp mới (Từ: hành động hiện
tại).
Các thuộc tính của biểu mẫu Activity:
STT Tên thuộc tính Mô tả
1. Name Tên
2. State Tên trạng thái
3. Initial Xác định trạng thái khởi tạo
4. Final Xác định trạng thái kết thúc
5. For set state Xác định khả năng thiết lập trạng thái này
thông qua hàm “Set State”.
www.vietbando.com Tài liệu Vietbando Workflow Server
Page 10 of 13
6. Auto scheme update Nếu quy trình đang xử lý lỗi thời, thì
Workflow Runtime sẽ cố gắng nâng cấp
nó tự động
7. Implementation Mô tả một thiết lập các thao tác, các thao
tác này sẽ được thực thi trong trường hợp
thực thi Activity.
8. PreExecution Implementation Các hành động đang chạy khi phương
thức PreExecute trong WorkflowRuntime
được gọi.
3.5. Transitions
Trong Transition, xác định các chuyển tiếp có thể giữa các Activity, các giới hạn
chuyển tiếp, và các sự kiện sẽ gây ra một chuyển tiếp.
Các thuộc tính của Transition:
STT Tên thuộc tính Mô tả
1. Name Tên Transition
2. From activity Tên Activity nguồn
3. To activity Tên Activity đích
4. Classifier Phân loại để xác định hướng chuyển tiếp
của dữ liệu. Ví dụ, trường hợp từ chối thì
các giá trị khả dụng là:
1. NotSpecified
2. Direct
3. Reverse
5. Restrictions Cho phép người dùng hiện tại có quyền
thực thi lệnh.
6. Triggers Các tác động dẫn đến việc thực thi quá
trình chuyển đổi.
Các loại tác động:
1. Auto
2. Command
3. Timer
7. Conditions Các điều kiện phải là đúng, để thực thi quá
trình chuyển đổi.
www.vietbando.com Tài liệu Vietbando Workflow Server
Page 11 of 13
Các loại điều kiện:
1. Always
2. Action*
3. Otherwise
8. Is fork Cho biết một chuyển tiếp bắt đầu hay kết
thúc một tiến trình con.
9. Merge subprocess via set state Sát nhập một tiến trình cha và một tiến
trình con xảy ra thông qua việc thiết lập
hành động hiện tại của tiến trình cha để
kết thúc hành động của tiến trình con.
10. Disable parent process
control
Vô hiệu tính năng tự động loại bỏ một tiến
trình con nếu một tiến trình cha được thiết
lập một hành động mà tiến trình con
không tồn tại.
Danh sách các Action được thông qua IworkflowActionProvider:
Tên Mô tả
AA Auto Always Chuyển tiếp tự động, được thực thi ở mọi thời
điểm.
AC Auto Condition Chuyển tiếp tự động, được thực thi nếu một
Action đã chọn trả về True.
AO Auto Otherwise Chuyển tiếp tự động, được thực thi nếu các
chuyển tiếp khác không thực thi
CA Command Always Chuyển tiếp theo lệnh, được thực thi ở mọi thời
điểm
CC Command Condition Chuyển tiếp theo lệnh, được thực thi nếu một
Action đã chọn trả về True.
CO Command
Otherwise
Chuyển tiếp theo lệnh, được thực thi nếu các
chuyển tiếp khác không thực thi.
TA Timer Always được thực thi ở mọi thời điểm
TC Timer Condition Được thực thi nếu một Action đã chọn trả về
True.
TO Timer Otherwise Được thực thi nếu các chuyển tiếp khác không
thực thi.
www.vietbando.com Tài liệu Vietbando Workflow Server
Page 12 of 13
3.6. Actors
Được dùng để định nghĩa các Actor. Được dùng trong Transition-Restrictions.
Các thuộc tính của biểu mẫu Actor:
STT Tên thuộc tính Mô tả
1. Name Tên
2. Rule Danh sách các action được thông qua
IWorkflowRuleProvider
3. Value Thông số của IWorkflowRuleProvider
3.7. Commands
Được dùng để định nghĩa lệnh.
STT Tham số Mô tả
1. Name Tên
2. Input Parameters Các tham số đầu vào
3.8. Parameters
Được dùng để định nghĩa các tham số.
STT Tham số Mô tả
1. Name Tên tham số
2. Type .NET-type
3. Purpose Các giá trị:
1. Temporary- tham số vẫn giữ giá trị của nó
trong quá trình thực thi lệnh và không được
lưu trong cơ sở dữ liệu.
2. Persistence – tham số luôn luôn giữ giá trị của
nó và được lưu trong cơ sở dữ liệu.
3. System- tham số là một phần của workflow
engine.
4. DefaultValue Giá trị mặc định
3.9. Timers
Được dùng để định nghĩa Timer.
STT Tên thuộc tính Mô tả
www.vietbando.com Tài liệu Vietbando Workflow Server
Page 13 of 13
1. Name Tên
2. Type Các loại Timer:
1. Interval
2. Time
3. Date
4. DateAndTime
3. Value Dùng định dạng UTC:
12/16/2014 12:50:00
12/17/2014
12:51:00
Interval: giá trị nguyên trong mili giây.
4. Do not
override timer
if exists
Không thiết lập lại timer, nếu Activity trước đã sử dụng
timer này.
3.10. Code actions
Được dùng để định nghĩa các Action tùy chỉnh.
STT Tên thuộc tính Mô tả
Name Tên
1. Type Các loại Code action:
1. Condition
2. Action
3. RuleGet
4. RuleCheck
2. Is global Cờ Global. Nếu cờ này được bật, thì các code action
có thể được sử dụng trong các quy trình khác.
3. Edit code Thực thi trong một mã hóa