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,
// 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>
| <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>
// dùng cho một cấp trên
<organisational units description list> ::= <Prelationship list>
// dùng cho một đơn vị tổ chức
<roles description list> ::= <Prelationship list>
// dùng cho một vai trò
<proxies description list> ::= <Prelationship list>
// dùng cho việc ủy quyền hoặc thay thế
Các từ khóa mô tả các loại quan hệ của thành phần tham gia như sau:
Bảng 2-28 Các quan hệ của thành phần tham gia workflow
Từ khóa Mô tả
PERSONDESCR Danh sách các thành phần tham gia thuộc về một đơn vị tổ
chức hoặc một vai trò có liên quan
SUPERIOR Danh sách của các đơn vị tổ chức cấp trên trực tiếp ORGUNITDESCR Danh sách các đơn vị tổ chức mà thành phần tham gia là
thành viên
ROLEDESCR Danh sách các vai trò được gán cho một người
ALTERNATE Danh sách các ủy quyền/đại diện của một thành phần tham gia
Đặc tả của WFMC có mô tả cách thức khai báo mô hình tổ chức tối thiểu, trong
đó không hỗ trợ mô tả các mối quan hệ giữa các thực thể thành phần tham gia khác nhau. Thông thường, mô hình tổ chức tối thiểu chỉ là một danh sách các định danh thuộc các kiểu thành phần tham gia nói trên.
Một mô hình tổ chức bên ngoài cũng có thể được sử dụng để cung cấp các thông tin bổ sung quan trọng; một số chức năng có thểđược thêm vào theo các yêu cầu khai báo thư viện mở rộng.
Thêm vào đó, các thủ tục và hàm thư viện (Library Functions and Procedures)
được cung cấp để sử dụng trong một định nghĩa tiến trình workflow. Mở rộng hơn nữa là các hàm thư viện mở rộng (Extended Library Functions) có thể được cung cấp bởi một nhà cung cấp hoặc người định nghĩa mô hình tổ chức (OM definer).
Giao diện truy cập tới mô hình tổ chức được sử dụng trong quá trình Định nghĩa Hành động (mô tả đối tượng thực hiện của một hành động) hoặc trong quá trình Định nghĩa Tiến trình (mô tả nhiệm vụ của một tiến trình).
Phạm vi của một định danh của một khai báo thực thể thành phần tham gia Workflow trong một khai báo mô hình OM tối thiểu là thực thể bao quanh (trong Định nghĩa Tiến trình Workflow hoặc trong Định nghĩa Mô hình Tiến trình) nơi mà nó được
định nghĩa. Khi khai báo ở mức gói (Package), phạm vi của thành phần tham gia là toàn cục, tức là có thểđược truy cập bởi bất kỳđịnh nghĩa tiến trình nào trong gói đó.
<xsd:element name=”Participant”> <xsd:complexType>
<xsd:sequence>
<xsd:element ref=”xpdl:ParticipantType”/>
<xsd:element ref=”xpdl:Description” minOccurs=”0”/>
<xsd:element ref=”xpdl:ExternalReference” minOccurs=”0”/>
<xsd:element ref=”xpdl:ExtendedAttributes” minOccurs=”0”/>
<xsd:any namespace=”##other” processContents=”lax”
minOccurs=”0” maxOccurs=”unbounded”/> </xsd:sequence>
<xsd:attribute name=”Id” type=”xsd:NMTOKEN” use=”required”/> <xsd:attribute name=”Name” type=”xsd:string” use=”optional”/>
<xsd:anyAttribute namespace=”##other” processContents=”lax”/>
</xsd:complexType> </xsd:element>
<xsd:element name=”Participants”> <xsd:complexType>
<xsd:sequence>
<xsd:element ref=”xpdl:Participant” minOccurs=”0”
maxOccurs=”unbounded”/>
<xsd:any namespace=”##other” processContents=”lax”
minOccurs=”0” maxOccurs=”unbounded”/> </xsd:sequence>
<xsd:anyAttribute namespace=”##other” processContents=”lax”/>
</xsd:complexType> </xsd:element>
Bảng 2-29 Thành phần tham gia—Các thuộc tính
Thuộc tính Mô tả
Description Mô tả sơ lược của thành phần tham gia.
ExternalReference Tham chiếu đến một đặc tả bên ngoài của một thành phần tham gia.
Extended Attributes Phần mở rộng do nhà cung cấp thêm vào.
Id Được sử dụng làm định danh cho một thành phần tham gia Name Tên được sử dụng để chỉ ra thành phần tham gia..
Participant Type Định nghĩa kiểu của thành phần tham gia
Simulation Data Các thông tin mô tả khả năng của thành phần tham gia, phục vụ
cho việc giải phân vai và lập lịch xử lý công việc cho thành phần tham gia.
a.1. Các kiểu của thành phần tham gia
Thuộc tính kiểu của thành phần tham gia mô tả thành phần tham gia là một đơn vị tổ chức, một đơn vị riêng lẻ hay một tài nguyên máy móc.
<xsd:element name="ParticipantType"> <xsd:complexType>
<xsd:attribute name="Type" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="RESOURCE_SET"/> <xsd:enumeration value="RESOURCE"/> <xsd:enumeration value="ROLE"/> <xsd:enumeration value="ORGANIZATIONAL_UNIT"/> <xsd:enumeration value="HUMAN"/> <xsd:enumeration value="SYSTEM"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element>
Bảng 2-30 Kiểu thành phần tham gia—Các thuộc tính
Thuộc tính Mô tả
Type RESOURCE_SET Một tập hợp các tài nguyên RESOURCE Một tài nguyên cụ thể
ROLE Kiểu thành phần tham gia này cho phép xác
định đối tượng thực hiện theo một vai trò hoặc tập kỹ năng. Thường mô tả chức vụ của một người trong một tổ chức. Có thểđịnh nghĩa người phối hợp (với mục tiêu quản trị
hoặc xử lý ngoại lệ) và một danh sách những người cụ thể có liên quan đến vai trò này. ORGANIZATIONAL
_UNIT
Một đơn vị tổ chức (phòng, ban, …). Khi một mục công việc được giao cho kiểu thành phần tham gia này thì người quản lý hoặc tất cả các thành viên của đơn vị tổ chức đều sẽ
nhận được mục công việc đó để thực hiện. HUMAN Một con người cụ thể. (thông thường sử dụng
ROLE để giao việc hơn là HUMAN) SYSTEM Mô tảđối tượng thực hiện là một hệ thống Mỗi thành phần tham gia đều có thể có một số thuộc tính phụ thuộc kiểu bổ sung
để cho phép mô tả các mối quan hệ của thực thể thành phần tham gia này với các thực thể thành phần tham gia khác. Lược đồ sau sẽ mô tả các thuộc tính bổ sung có thể có của mỗi thành phần tham gia.
Hình 2-13 Các kiểu gán thành phần tham gia
a.2. Đơn vị tổ chức
Khi mô tả một đơn vị tổ chức, người quản lý hoặc tất cả các thành viên của đơn vị tổ chức sẽ nhận được mục công việc khi đơn vị tổ chức đó được giao nhiệm vụ. Các danh sách người quản lý mô tả thứ bậc đảo ngược và chứa một danh sách thứ tự của các đơn vị tổ chức cấp trên. Danh sách thành viên chứa một danh sách toàn bộ các thành viên của một đơn vị tổ chức.
Các thuộc tính của mô hình tổ chức:
Bảng 2-31 Danh sách các thuộc tính của đơn vị tổ chức
Thuộc tính Mô tả
Function Mô tả nhiệm vụ hoặc thẩm quyền của đơn vị tổ chức. Manager Người quản lý của đơn vị tổ chức.
Superiors Danh sách các cấp trên của đơn vị tổ chức, thường là các đơn vị tổ chức khác.
PersonList Danh sách các nguồn lực nhân sự của đơn vị tổ chức.
a.3. Con người (Người thực hiện)
Trong hầu hết các tiến trình workflow, một người thực hiện được xác định một cách không trực tiếp thông qua vai trò của người ấy, qua đơn vị tổ chức của người ấy, …. Danh sách vai trò chứa tất cả các vai trò của người thực hiện. Danh sách đơn vị tổ
Thành phần tham gia Đơn vị tổchức Người thực hiện Vai trò Tài nguyên Danh sách thành viên Danh sách người quản lý Danh sách vai trò Danh sách các đơn vịtổ chức Danh sách
người được ủy quyền Danh sách thành viên là là là là Có một Có một Có một
chức chứa tất cả các đơn vị tổ chức mà người thực hiện là một thành viên trong đó. Danh sách người được ủy quyền gồm tất cả những người thực hiện được ủy quyền của người ấy. Các thuộc tính của người thực hiện được mô tả như trong bảng sau:
Bảng 2-32 Danh sách các thuộc tính của người thực hiện
Thuộc tính Mô tả UserID Mã ID của người thực hiện SurName Họ ForeName Tên PhoneNumber Sốđiện thoại FaxNumber Số fax Email Địa chỉ email X400 Mã định danh theo dạng X.400
OrgUnits Danh sách các đơn vị tổ chức mà người thực hiện là một thành viên trong đó
Alternates Danh sách những người thực hiện khác có thể thay thế cho người này
Roles Danh sách các vai trò mà người thực hiện đảm nhiệm
a.4. Vai trò
Kiểu thành phần tham gia này cho phép xác định một đối tượng thực hiện theo vai trò cần thiết để thực hiện công việc. Một vai trò là một chức vụ mà một người có thể nắm giữ ở trong một tổ chức. Vì một chức vụ không nhất thiết phải là duy nhất, một người phối hợp có thể được định nghĩa và có thêm một danh sách những người thực hiện có thể nắm giữ vai trò này. Các thuộc tính khác nhằm xác định năng lực của một người thực hiện phải được định nghĩa thông qua các thuộc tính mở rộng (ví dụ
như phụ trách quản lý các nhóm, mức độ quan hệ với các thành viên khác, mức độ
thành thạo công việc, …).
Sau đây là danh sách các thuộc tính của một vai trò:
Bảng 2-33 Danh sách các thuộc tính của một vai trò
Thuộc tính Mô tả
Function Mô tả nhiệm vụ hoặc thẩm quyền của vai trò Coordinator Người phối hợp
a.5. Tài nguyên
Kiểu thành phần tham gia này cho phép xác định đối tượng thực hiện là một tài nguyên. Một tài nguyên có thể là một chương trình ứng dụng hoặc một máy móc. Một chương trình có thể được hiểu là một tác nhân (agent). Một máy móc có thể là máy quét tựđộng.
Không có thuộc tính định nghĩa trước cho một tài nguyên.
b.Các thông tin mô tả khả năng của thành phần tham gia
Thông tin mô tả khả năng của thành phần tham gia bao gồm:
Bảng 2-34 Thông tin mô tả khả năng của thành phần tham gia
Thuộc tính Mô tả
Simulation Data
CAPACITY Số lượng các hành động song song mà thành phần tham gia có thể thực hiện đồng thời. Kiểu: INTEGER
Giá trị mặc định: 1
COST Chi phí cho việc sử dụng thành phần tham gia. Kiểu: STRING
PREPARETIME Thời gian để thiết lập sẵn sàng cho thành phần tham gia.
Kiểu: INTEGER Giá trị mặc định: 0
STRATEGY Chiến lược áp dụng để giao việc cho thành phần tham gia.
Kiểu: keyword Giá trị mặc định: 0
Trong đó, chiến lược áp dụng để giao việc cho thành phần tham gia được định nghĩa bởi các từ khóa sau:
Bảng 2-35 Các chiến lược giao việc
Thuộc tính Mô tả
STRATEGY FIFO Vào trước, ra trước. Đây là chiến lược giao việc mặc định. LIFO Vào sau, ra trước.
SJF Công việc ngắn nhất trước. LJF Công việc dài nhất trước.
RD Có thể áp dụng bất kỳ chiến lược nào (Random). UD Không định nghĩa.
b.1. Các hàm và thủ tục thư viện OM xây dựng sẵn
Các thủ tục và hàm thư viện sau đây được hỗ trợ bởi mô hình tổ chức, cho phép
đánh giá các mối quan hệ trong mô hình tổ chức.
Danh sách các hàm thư viện xây dựng sẵn bao gồm:
Bảng 2-36 Danh sách các hàm thư viện xây dựng sẵn
Hàm ID mô tả Kiểu trả về Kiểu tham số Mô tả
manager of MANAGER_OF PARTICI- PANT PARTICI- PANT Lấy thông tin về các thành phần tham gia chịu sự quản lý coordinator of COORDINATOR _OF PARTICI- PANT PARTICI- PANT Lấy thông tin về các thành phần tham giá cùng phối hợp Danh sách các thủ tục thư viện xây dựng sẵn bao gồm:
Bảng 2-37 Danh sách các thủ tục thư viện xây dựng sẵn Thủ tục ID mô tả Kiểu tham số Lớp
tham số Mô tả PARTICIPANT IN alternate of … ALTERNATE_OF Danh sách PARTICIPANT OUT Lấy danh sách các thành phần tham gia có thể thay thế PARTICIPANT IN superior of … SUPERIOR_OF Danh sách PARTICIPANT OUT Lấy danh sách các thành phần tham gia cấp trên
b.2. Các thành phần tham gia Lịch sử tiến trình (Process History Participants)
Lịch sử tiến trình (Process History) không thuộc mô hình tổ chức. Do đó, việc tham chiếu đến các đối tượng thực thi trước đây của một tiến trình được xử lý bởi Workflow Engine. Do vậy, các hàm thư viện hỗ trợ truy cập đến các đối tượng thực thi trước đây không phải là các hàm của mô hình tổ chức, mà là các hàm workflow. Tuy nhiên, một số nhà cung cấp có thể cài đặt các hàm này thành các hàm của mô hình tổ
chức.
b.3. Khai báo mô hình tổ chức tối thiểu
Cần phân biệt một định nghĩa mô hình tổ chức thông thường (gọi là Định nghĩa Thành phần tham gia Workflow – Workflow Participant Definition) với việc khai báo mô hình tổ chức tối thiểu (gọi là Khai báo Thành phần tham gia Workflow – Workflow Participant Declaration), vốn chỉ bao gồm một danh sách các định danh thành phần tham gia với các đặc trưng của mỗi thành phần tham gia, mà không bao gồm các thông tin bổ sung khác như cấu trúc phân cấp của tổ chức, … Khai báo mô hình tổ chức tối thiểu có thểđược sử dụng trong các Định nghĩa Tiến trình Workflow, trong khi các định nghĩa mô hình tổ chức có thể sử dụng trong các Định nghĩa Mô hình Workflow. Mô hình tổ chức tối thiểu thường được sử dụng có kết nối với các mô