Hành động của tiến trình Workflow

Một phần của tài liệu Nghiên cứu và xây dựng workflow system (Trang 53)

Định nghĩa hành động Workflow được sử dụng đểđịnh nghĩa cho mỗi hành động thành phần cấu tạo nên một tiến trình Workflow. Các thuộc tính có thể được định nghĩa để chỉ định thông tin điều khiển hành động, các cài đặt có thể lựa chọn, gán nhiệm vụ, thông tin liên quan đến thời điểm thực thi như quyền ưu tiên, dữ liệu sử

dụng một cách cụ thể trong BPR và các trạng thái mô phỏng (và không sử dụng trong Workflow enacment). Thêm vào đó các hạn chế trong viêc truy cập dữ liệu và giá trị

chuyển đổi (ví dụ: Split và Join) có thể được mô tả. Các thuộc tính bắt buộc được sử

dụng để định nghĩa định danh và loại hành động. Một số các thuộc tính khác là tuỳ

chọn nhưng chúng có cách dùng chung đối với tất cả các loại hành động.

Đối với mỗi hành động pham vi của tên và định danh là bao phủ toàn bộ tiến trình. Tức là tên và định danh đó phải là duy nhất.

Bảng 2-16 Hành động của tiến trình Workflow – Các thuộc tính

Thuộc tính Mô tả

BlockActivity Một hành động để thực hiện tập hành động bên trong.

Deadline Đặc tả của deadline và hành động sẽ thực hiện nếu nó xảy ra. Description Mô tả của hành động.

Documentation Địa chỉ (đường dẫn và tên file) của một file trợ giúp hoặc file mô tả của hành động.

Extended Attributes Phần thuộc tính mở rộng do nhà cung cấp thêm vào. Finish Mode Mô tả hệ thống kết thúc các hành động như thế nào. Icon Địa chỉ (một phần-và tên file) cho một biểu tượng để mô tả

hành động.

Id Định danh của hành động tiến trình Workflow.

Implementation Bắt buộc cho mọi kiểu hành động trừ hành động định tuyến. Limit Thời hạn hiệu lưc mong đợi cho mục đích quản lý thời gian

trong các đơn vị của DurationUnit. Name Tên của hành động.

Performer Kết nối đến các thành phần tham gia thực thể Workflow. Có thể là một biểu thức.

Priority Một giá trị dùng để mô tảưu tiên ban đầu của hành động khi nó bắt đầu thực hiên. Có thể thuộc tính này không được định nghĩa nhưng một mức ưu tiên phải được định nghĩa trong

định nghĩa tiến trình và sau đó sẽđược sử dụng. Route Là một hành động định tuyến( hành động ảo). Simulation

Information

Những đánh giá cho sự mô phỏng của một hành động. Start Mode Mô tả việc thực hiện một hành động được bắt đầu như thế

nào.

Transition Restrictions Cung cấp các giới hạn xa hơn và mô tả ngữ nghĩa liên quan

a.Hành động định tuyến

Hành động định tuyến là một hành động “ảo” (dummy) cho phép hoặc cấm biểu thức của các điều kiện chuyển tiếp xếp tầng (ví dụ : IF Điều kiên-1 THEN TO Hành

động-1 ELSE IF Điều kiện-2 THEN TO Hành động-2 ELSE Hành động-3 ENDIF). Một vài nhà cung cấp có thể cài đặt các điều kiện chuyển tiếp xếp tầng một cách trực tiếp mà không cần một bản sao hành động cho việc định tuyến, một vài nhà cung cấp khác thì lại yêu cầu. Tuy nhiên tại bất cứđâu các nhà cung cấp và các nhà thiết kế tiến trình đều mong muốn cấu trúc các điều kiện xếp tầng như một XOR Split từ hành động

đầu ra. Chắc chắn rằng việc phối hợp chuyển tiếp không thểđược biểu diễn trong một danh sách các chuyển tiếp đơn từ hành động đầu ra, hoặc danh sách đầu vào đơn đến một hành động. Trong trường hợp này phải yêu cầu sử dụng một hoặc nhiều hành

động ảo( hành động định tuyến).Ví dụ :

• Sự phối hợp của các điều kiện phân tách XOR và AND trên các chuyển tiếp đầu ra từ một hành động.

• Sự phối hợp của các điều kiện gia nhập XOR và AND trên các chuyển tiếp đầu vào đến một hành động.

Một hành động định tuyến sẽ không có người thực hiện và không có các ứng dụng cho nó. Hành động định tuyến không ảnh hưởng đến dữ liệu liên quan đến Workflow hoặc dữ liệu ứng dụng. (adsbygoogle = window.adsbygoogle || []).push({});

b. Hành động kiểu khối

Một khối hành động thi hành một tập hành động hoặc ánh xạ các chuyển tiếp/hành động của bản thân nó. Hành động kiểu khối sẽ thực hiện từ một hành động

đầu tiên trong tập và cứ tiếp diễn đến hành động cuối cùng (Hành động mà không có chuyển tiếp đầu ra). Sự thực thi đó sẽ trả về các chuyển tiếp đầu ra theo sau hành động khối đó.

c. Thuộc tính điều khiển thực thi

Có nhiều thuộc tính của một hành động cho phép định nghĩa các đặc trưng của các hànhh vi khác nhau trong việc điều khiển sự thực thi của các hành động .

Chếđộ (mode) định nghĩa mức độ tựđộng khi bắt đầu hoặc kết thúc hành động. Có hai kiểu chếđộ :

Chếđộ tđộng: Được điều khiển hoàn toàn bởi các Workflow engine.

Chếđộ th công:Yêu cầu người sử dụng phải tương tác để cho hành động bắt

đầu hoặc kết thúc. Trong những hệ thống như thế này hành động bắt đầu và/hoặc hoàn thành là kết quả của những hành động của người sử dụng.

Bảng 2-17 Thuộc tính điều khiển thi hành – Các thuộc tính

Thuộc tính Mô tả

Start Mode Mô tả cách thi hành của một hành động được bắt đầu.

Automatic Hành động được bắt đầu ngay lập tức bởi hệ thống. Mặc định. Manual Hành động được bắt đầu bởi người sử dụng cuối.

Finish Mode Mô tả hệ thống thực hiện việc kết thúc hành động như thế

nào.

Automatic Tựđộng trả về khi ứng dụng triệu gọi kết thúc điều khiển. Mặc định.

Manual Hành động được kết thúc bởi người sử dụng cuối.

d.Các lựa chọn cài đặt

Một hành động có thểđược cài đặt theo một trong các cách được mô tảở dưới:

Bảng 2-18 Các lựa chọn cài đặt - Các thuộc tính

Thuộc tính Mô tả

No implementation Được thực thi bởi các thủ tục thủ công (Không được hỗ trợ

bởi Workflow engine).

Tool Được thực thi bởi các công cụứng dụng. Subflow Được thực thi bởi tiến trình khác.

d.1. Không cài đặt (No Implementation)

Không cài đặt nghĩa là việc thi hành của hành động không được hỗ trợ bởi Workflow engine (được thực thi thủ công).

d.2. Công c (tool)

Hành động được thực thi bởi một hay nhiều công cụ. Một công cụ có thể là một chương trình ứng dụng, ứng dụng đó có thể được triệu gọi thông qua giao diện ứng dụng khách (giao diện 2).

Bảng 2-19 Công cụ - Các thuộc tính

Thuộc tính Mô tả (adsbygoogle = window.adsbygoogle || []).push({});

Actual Parameters Danh sách các tham sốđược truyền Description Phần mô tả.

Extended Attributes Phần mở rộng do nhà cung cấp thêm vào. Id Định danh để xác định ứng dụng

Type APPLICATION Một công cụứng dụng PROCEDURE Một thủ tục

e.Luồng con (Subflow)

Hành động có thể là luồng con. Các luồng con có thểđược thi hành đồng bộ hoặc không đồng bộ. Những luồng con được sử dụng được kế thừa từ những gói bao phủ.

Bảng 2-20 Luồng con—Các thuộc tính

Thuộc tính Mô tả

Actual Parameters Danh sách các tham sốđược truyền.

Execution KHÔNG ĐỒNG BỘ Thi hành không đồng bộ ĐỒNG BỘ Thi hành đồng bộ

f.Deadline

Bảng 2-21 Deadline – Các thuộc tính

Thuộc tính Mô tả

Execution Định nghĩa phản ứng của hệ thống khi xuất hiện deadline. ASYNCHR: Deadline được tạo ra không đồng bộ. Đó là một thao tác AND SPLIT ẩn, khi đó hành động tiếp tục và luồng khác được bắt đầu theo chuyển tiếp ngoại lệđã được gán tên. Các Deadline khác có thể xảy ra với cùng một hành động, bởi vì hành động tiếp tục được chạy.

SYNCHR : Hành động được hoàn thành không bình thường và luồng tiếp tục chạy trên tên chuyển tiếp ngoại lệ.

DeadlineCondition Biểu thức chỉ ra thời gian deadline xảy ra. Biểu thức này được cài đặt phụ thuộc vào các yếu tố:

Thời gian liên quan tới sự bắt đầu của hành động. Thời gian cốđịnh.

Thời gian tính toán sử dụng dữ liệu liên quan Worklow ExceptionName Tên của ngoại lệ dẫn tới deadline

g.Thông tin mô phỏng

Bảng 2-22 Thông tin mô phỏng – Các thuộc tính

Thuộc tính Mô tả

Cost Giá thành trung bình

Duration Khoảng thời gian lý tưởng để thực hiện một tác vụ trong các đơn vị

của DurationUnit.

Instantiation Định nghĩa khả năng của một hành động được kích hoạt: Một hoặc nhiều lần

ONCE Chỉđược tạo ra một lần (mặc định) MULTIPLE Có thểđược tạo ra nhiều lần. Time

Estimation

Khoảng thời gian mong đợi (thời gian tổng cộng của working time, waiting time, và duration) trong các đơn vị của DurationUnit. Waiting Time Thời gian đợi trung bình trong các đơn vị của DurationUnit. Working Time Thời gian làm việc trung bình trong các đơn vị của DurationUnit.

h.Các giới hạn chuyển tiếp

Bảng 2-23 Giới hạn chuyển tiếp – Các thuộc tính

Thuộc tính Mô tả (adsbygoogle = window.adsbygoogle || []).push({});

Join Chỉ ra rằng các chuyển tiếp đầu vào của hành động là JOIN-ed Split Chỉ ra rằng các chuyển tiếp đầu ra của hành động là SPLIT-ed

h.1. Kết hp (Join)

Một join mô tả các ngữ nghĩa của hành động với nhiều chuyển tiếp đầu vào.

Bảng 2-24 Join – các thuộc tính

Thuộc tính Mô tả

Type AND Kết nối các luồng đồng thời trong bản sao tiến trình với các chuyển tiếp đầu vào đểđến hành động đó. Ở đây phải có sựđồng bộ. Số lượng của các luồng được

đồng bộ có thể phụ thuộc vào kết quả các điều kiện của các phép AND split trước đó.

XOR Kết nối một trong các luồng được lựa chon, không cần phải có sựđồng bộ.

h.2. Chia tách (Split)

Một split mô tả các ngữ nghĩa nơi có nhiều phép chuyển đầu ra cho một hành

động tồn tại.

Bảng 2-25 Split – Các thuộc tính

Thuộc tính Mô tả

Transition Refs Một danh sách các chuyển tiếp đầu ra từ hành động đó. Mỗi chuyển tiếp được xác định bởi định danh của chúng.

Type AND Các chuyển tiếp đầu ra là đồng thời.

XOR Các chuyển tiếp đầu ra là không phải đồng thời.

2.5.6.Thông tin chuyển tiếp giữa các hành động

Thông tin chuyển tiếp mô tả các chuyển tiếp có thể giữa các hành động và với các điều kiện trong quá trình thực thi workfllow. Hơn nữa các giới hạn điều khiển hoặc cấu trúc có thểđược diễn tả trong định nghĩa hành động.

Một định nghĩa tiến trình giống như một mạng các đường nối nút hành động. Tất cả các đường được xác đình bởi cặp:

(nút xuất phát, nút đích)

Các đường này có thể được gán nhãn bởi các điều kiện chuyển tiếp. Một điều kiện chuyển tiếp của mỗi đường sẽ cho phép chuyển tiếp tương ứng thực hiện nếu điều kiện của nó có giá trị là TRUE.

Nếu có nhiều chuyển tiếp đầu vào hoặc đầu ra của một hành động, khi đó để mà thực hiện các chuyển tiếp thì phải sử dụng đến các khái niệm AND/XOR của SPLIT/JOIN.

Bảng 2-26 Thông tin chuyển tiếp – các thuộc tính

Thuộc tính Mô tả

Condition Một biểu thức điều kiện chuyển đổi dựa trên dữ liệu liên quan Workflow.

(ví dụ. 'Contract' = 'SMALL' OR 'Contract' <$20,000 ). Mặc định: TRUE

Description Phần mô tả của chuyển tiếp. Extended

Attributes

Phần mở rộng do nhà cung cấp thêm vào. From Xác định hành động xuất phát của chuyển tiếp. Id Định danh của chuyển tiếp.

Name Tên của chuyển tiếp. (adsbygoogle = window.adsbygoogle || []).push({});

a.1. Điu kin

Bảng 2-27 Điều kiện-các thuộc tính

Thuộc tính Mô tả

Type Định nghĩa kiểu của điều kiện chuyển tiếp. Chúng nhận các giá trị sau: CONDITION Chỉ ra rằng chuyển tiếp được thực hiện

nếu điều kiện đó được thỏa mãn.

OTHERWISE Chỉ ra rằng chuyển tiếp đó là chuyển tiếp mặc định (là chuyển tiếp được thực hiện nếu không có điều kiện nào đạt được). EXCEPTION Chỉ ra rằng chuyển tiếp đó được thực hiện

nếu có một ngoại lệ và điều kiện của nó được thỏa mãn. DEFAULTEXCEP TION Chỉ ra rằng chuyển tiếp đó là chuyển tiếp mặc định (là chuyển tiếp được thực hiện nếu có một ngoại lệ và không có điều kiện ngoại lệ nào đạt được)

Xpression Một biểu thức điều kiện được biểu diễn bằng XML

a.2. Các điu kin ngoi l:

Ngoại lệ và kiểu DEFAULTEXCEPTION cho phép đặc tả các nhánh được tạo ra chỉ khi một ngoại lệ xảy ra. Kiểu EXCEPTION tương đương với kiểu CONDITION và kiểu DEFAULTEXCEPTION phù hợp với kiểu OTHERWISE. Điều kiện có thể

chứa hoặc là tên của một ngoại lệ hoặc là một biểu thức phức tạp hơn.

2.5.7.Mô hình tổ chức (Thành phần tham gia Worflow)

Mô hình tổ chức (Organisation Model) cho phép định nghĩa cấu trúc phân cấp của tổ chức bằng các thành phần tham gia và các mối quan hệ của chúng với nhau. Thành phần tham gia không chỉ là một người cụ thể, mà còn có thể là các chức năng nghiệp vụ hoặc bất kỳ một thực thể tổ chức khác. Thành phần tham gia có thể được gán để thực hiện một hành động cụ thể, được chỉ ra như một thuộc tính của một hành

động.

Siêu mô hình cho một mô hình tổ chức xác định các kiểu cơ sở của các thành phần tham gia và các quan hệ của chúng. Thành phần tham gia có các kiểu sau: tập tài nguyên (resource set), tài nguyên (resource), đơn vị tổ chức (organization unit), vai (role), con người (human) và hệ thống (system). Một vai và một tài nguyên được sử

dụng theo nghĩa là các tác nhân trừu tượng. Điều này đưa ra một mức trừu tượng giữa người thực hiện và hành động phải được thực hiện. Tại thời điểm thực thi những định

nghĩa trừu tượng trên sẽđược đánh giá và gán cho những con người/ máy móc cụ thể

(quá trình giải phân vai workflow).

Hình 2-12 Siêu mô hình định nghĩa mô hình tổ chức

Ngôn ngữ WPDL mô tả thành phần tham gia như sau: <Workflow Participant List> ::=

PARTICIPANT <participant id>

[NAME <name>]

[DESCRIPTION <description>]

[<extended attribute list>] // for participant specific a.

<participant type description>

END_PARTICIPANT

[<Workflow Participant List>] <participant id> ::= <identifier>

<capacity> ::= <integer> // số lượng hành động có thể thực // hiện song song

<prepare time> ::= <integer> // thời gian cần để chuẩn bị trước

// khi thực hiện hành động, (adsbygoogle = window.adsbygoogle || []).push({});

// tính theo giây, mặc đinh: 0

<strategy> ::= FIFO // vào trước, ra trước

| LIFO // vào sau, ra trước

| SJF // việc ngắn nhất trước

| LJF // việc dài nhất trước

| RD // bất kỳ chiến lược nào

<participant type description>

::= <declaration Ptype description>

| <definition Ptype description>

<Workflow Participant Declaration>

::= <Workflow Participant List>

// sử dụng <declaration Ptype description> <declaration Ptype description>

::= [TYPE <Ptype key>]

<Workflow Participant Definition>

::= <optional simulation data>

<Workflow Participant List>

// sử dụng <definition Ptype description> <optional simulation data> ::=

[CAPACITY <capacity>]

[COST<cost estimation>]

[PREPARETIME <prepare time> ]

[STRATEGY <strategy> ]

<definition Ptype description>

::= TYPE <Ptype related information>

<Ptype key> ::= <ou key> | <hu key> | <ro key> | <resource key> <ou key> ::= ORGANISATIONAL_UNIT // là một tổ chức

<hu key> ::= HUMAN // là một con người <ro key> ::= ROLE // là một vai trò

<resource key> ::= RESOURCE // là một tài nguyên

<Ptype related information> ::= <ou key> <ou attributes>

<pteal>] <ou relationships>

| <hu key> <hu attributes> [<pteal>]

<hu relationships> (adsbygoogle = window.adsbygoogle || []).push({});

| <ro key> <ro attributes> [<pteal>]

<ro relationships>

| <resource key> [<pteal>]

<pteal> ::= <extended attribute list>

// dùng cho các thuộc tính cụ thể // của kiểu thành phần tham gia

<ou attributes> ::= [MANAGER <manager>] // người quản lý <manager> ::= <participant id> // là một người <ou relationships> ::= [<superior description list>]

[<person description list>]

<hu attributes> ::= [USERID <string>]

[SURNAME <string>] [FORENAME <string>] [ADDRESS <string>] [PHONENUMBER <string>] [FAXNUMBER <string>] [EMAIL <string>] [X400 <string>] <hu relationships>

::= [<roles description list>]

[<organisational units description list>]

<ro attributes> ::= [FUNCTION <function>]

[COORDINATOR <coordinator>] // người phối hợp

<function> ::= <string> // mô tả nhiệm vụ hoặc thẩm quyền <coordinator> ::= <participant id>

// môt người hoặc một đơn vị tổ chức

<ro relationships> ::= [<person description list>]

Các danh sách liên kết đến kiểu thành phần tham gia (các phần tử sinh kết thúc với “relationships>”) cho phép xác định ngữ cảnh của một (kiểu) thực thể tổ chức như

là con người, vai trò, đơn vị tổ chức, … Một ký hiệu đơn giản hơn để mô tả các danh sách đó là

<Prelationship list> ::= <Prelation key>

<Prelation description list>

<Prelation description list>

::= <Prelation description>

[<Prelation description list>]

// tất cả các quan hệ cùng loại

<Prelation key> ::= PERSONDESCR | SUPERIOR | ORGUNITDESCR

| ROLEDESCR | ALTERNATE

<Prelation description>::= <participant id>

<person description list> ::= <PRelationship list>

// dùng cho một người

<superior description list> ::= <Prelationship list> (adsbygoogle = window.adsbygoogle || []).push({});

// dùng cho một cấp trên

Một phần của tài liệu Nghiên cứu và xây dựng workflow system (Trang 53)