14
VIETBANDO WORKFLOW SERVER Tháng 10, 2016 TÓM TT Tài liu mô t định nghĩa, các thành phần, các thi ết kế ca Vietbando Workflow Server. VIETBANDO INFORMATIC AND MAPPING CORPORATION

VIETBANDO WORKFLOW SERVERapi.vietbando.com/vbd_pricing/document/200-002 VBD... · Tài liệu Vietbando Workflow Server Page 3 of 13 o Thiết lập trạng thái. a) Tạo đối

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: VIETBANDO WORKFLOW SERVERapi.vietbando.com/vbd_pricing/document/200-002 VBD... · Tài liệu Vietbando Workflow Server Page 3 of 13 o Thiết lập trạng thái. a) Tạo đối

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

Page 2: VIETBANDO WORKFLOW SERVERapi.vietbando.com/vbd_pricing/document/200-002 VBD... · Tài liệu Vietbando Workflow Server Page 3 of 13 o Thiết lập trạng thái. a) Tạo đối

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

Page 3: VIETBANDO WORKFLOW SERVERapi.vietbando.com/vbd_pricing/document/200-002 VBD... · Tài liệu Vietbando Workflow Server Page 3 of 13 o Thiết lập trạng thái. a) Tạo đối

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.

Page 4: VIETBANDO WORKFLOW SERVERapi.vietbando.com/vbd_pricing/document/200-002 VBD... · Tài liệu Vietbando Workflow Server Page 3 of 13 o Thiết lập trạng thái. a) Tạo đối

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ý

Page 5: VIETBANDO WORKFLOW SERVERapi.vietbando.com/vbd_pricing/document/200-002 VBD... · Tài liệu Vietbando Workflow Server Page 3 of 13 o Thiết lập trạng thái. a) Tạo đối

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

Page 6: VIETBANDO WORKFLOW SERVERapi.vietbando.com/vbd_pricing/document/200-002 VBD... · Tài liệu Vietbando Workflow Server Page 3 of 13 o Thiết lập trạng thái. a) Tạo đối

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ử

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:

Page 7: VIETBANDO WORKFLOW SERVERapi.vietbando.com/vbd_pricing/document/200-002 VBD... · Tài liệu Vietbando Workflow Server Page 3 of 13 o Thiết lập trạng thái. a) Tạo đối

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”.

Page 8: VIETBANDO WORKFLOW SERVERapi.vietbando.com/vbd_pricing/document/200-002 VBD... · Tài liệu Vietbando Workflow Server Page 3 of 13 o Thiết lập trạng thái. a) Tạo đối

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)

Page 9: VIETBANDO WORKFLOW SERVERapi.vietbando.com/vbd_pricing/document/200-002 VBD... · Tài liệu Vietbando Workflow Server Page 3 of 13 o Thiết lập trạng thái. a) Tạo đối

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

Page 10: VIETBANDO WORKFLOW SERVERapi.vietbando.com/vbd_pricing/document/200-002 VBD... · Tài liệu Vietbando Workflow Server Page 3 of 13 o Thiết lập trạng thái. a) Tạo đối

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”.

Page 11: VIETBANDO WORKFLOW SERVERapi.vietbando.com/vbd_pricing/document/200-002 VBD... · Tài liệu Vietbando Workflow Server Page 3 of 13 o Thiết lập trạng thái. a) Tạo đối

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.

Page 12: VIETBANDO WORKFLOW SERVERapi.vietbando.com/vbd_pricing/document/200-002 VBD... · Tài liệu Vietbando Workflow Server Page 3 of 13 o Thiết lập trạng thái. a) Tạo đố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.

Page 13: VIETBANDO WORKFLOW SERVERapi.vietbando.com/vbd_pricing/document/200-002 VBD... · Tài liệu Vietbando Workflow Server Page 3 of 13 o Thiết lập trạng thái. a) Tạo đối

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ả

Page 14: VIETBANDO WORKFLOW SERVERapi.vietbando.com/vbd_pricing/document/200-002 VBD... · Tài liệu Vietbando Workflow Server Page 3 of 13 o Thiết lập trạng thái. a) Tạo đối

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