Quy trình là một loại cơng việc phức hợp mà định nghĩa trong nĩ ngữ cảnh cho sự thực thi. Quy trình bao gồm nhiều cơng việc và hướng trực tiếp đến sự thực thi của các cơng việc này. Quy trình cĩ thể xem như là một cơng việc của một quy trình lớn hơn. Quy trình thường được định nghĩa như một đơn vị cĩ tính tái sử
dụng của cơng việc.
2.2.3.1. Sự khởi tạo quy trình:
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên mơi trường WEB
Activity: Các cơng việc loại call, compensate, và spawn được dùng để khởi tạo định nghĩa quy trình mà cĩ sự thể hiện loại activity. Các quy trình đang khởi tạo và đã khởi tạo phải ở cùng ngữ cảnh hoặc các ngữ cảnh liên quan.
Định nghĩa quy trình đang khởi tạo phụ thuộc vào quy trình đã khởi tạo. Hai quy trình này gắn kết chặt chẽ với nhau.
Message: Một quy trình được khởi tạo để trả lời cho một thơng điệp đầu vào cĩ thể được triển khai như một dịch vụđộc lập và cĩ thể được khởi tạo từ các tiến trình được triển khai trong các hệ thống khác hoặc trong các hệ
thống mạng. Các quy trình như vậy khơng gắn kết chặt chẽ với nhau và cĩ thể được triển khai và thực hiện trong mơi trường khơng thống nhất suy ra
độc lập từ những quy trình khác. Tất cả các cơng việc phát sinh sự kiện phải là “action activities”.
Signal: Một quy trình được khởi tạo đểđáp ứng cho việc phát sinh một tín hiệu chỉ cĩ thể được khởi tạo trong ngữ cảnh của đối tượng. Một quy trình lưới (nested process) cĩ thể đáp ứng một tín hiệu được phát sinh bởi các cơng việc khác đang mà thực thi trong cùng ngữ cảnh. Hình thức khởi tạo này chỉđược thực hiện đối với các quy trình được định nghĩa như một phần của quy trình khác lớn hơn, ví dụ như nested processes và exception processes. Tất cả các cơng việc phát sinh sự kiện phải là “synch activities”. Bảng so sánh ba cách khởi tạo tiến trình: để tiện cho việc tham khảo chúng em xin giữ nguyên bảng so sánh gốc bằng tiếng anh.
Instantation Definition Inputs Instantiating activity
Activity No event Parameter Call, compensate,
spawn, schedule
Message Event activity=a Action name=a Receive
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên mơi trường WEB
messageA
Message Event activity=a b Exclusive=true Action name=a Receive messgeA Action name=b Receive messageB messageA or messageB Send messageA or messageB Event activity=a b Exclusive=false Action name=a Receive messgeA Action name=b Receive messageB messageA and messageB Send messageA and messageB
Signal Event activity=a Synch name=a signalA condA
signalA Raise signalA
Signal Event activity=a b Exclusive= true Synch name=a signalA condA synch name=b signalB condB
signalA or signalB Raise signalA or signalB
Signal Event activity=a b Exclusive= false Synch name=a signalA condA synch name=b signalB condB signalA and signalB
Raise signalA and signalB
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên mơi trường WEB
Nếu quy trình khơng được định nghĩa để tương tác với các cơng việc khác
đang thực hiện trong cùng ngữ cảnh, hoặc khơng được khởi tạo bởi quy trình khác
được định nghĩa trong cùng ngữ cảnh thì định nghĩa nên được khởi tạo theo loại “message”.
2.2.3.2. Nested process:
Là sựđịnh nghĩa quy trình được áp dụng cho một ngữ cảnh cho trước. Nested process được dùng như một cơng việc trong một quy trình lớn hơn, để cục bộ hĩa sự định nghĩa quy trình trong ngữ cảnh mà nĩ được sử dụng, và để ràng buộc sự
khởi tạo và cĩ giá trị của quy trình đối với ngữ cảnh cụ thể.
Nested process được khởi tạo trong ngữ cảnh mà nĩ được định nghĩa, cĩ thể
truy cập các thuộc tính được định nghĩa trong ngữ cảnh đĩ, khởi tạo các quy trình khác mà được định nghĩa trong ngữ cảnh đĩ, sử dụng tín hiệu để tương tác với các cơng việc khác được định nghĩa trong cùng ngữ cảnh, và sử dụng các quy trình ngoại lệ (exception processes) và bắt lỗi (fault handler) được định nghĩa bởi ngữ
cảnh.
Một “top – level process” là một định nghĩa quy trình mà khơng áp dụng cục bộ cho bất kỳ ngữ cảnh cụ thể nào, nĩ được định nghĩa tại cấp độ gĩi (package level) và khơng chia ngữ cảnh của nĩ với các “top – level process” khác. “Top – level process” cĩ thểđược khởi tạo bất kỳ lúc nào. “Top – level process” khơng sử
dụng loại khởi tạo “signal activity”.
“Exception process” là một loại nested process đặc biệt. Khi “exception process” được khởi tạo thì nĩ buộc cơng việc cha phải huỷ bỏ. Trong khi đĩ “nested process” cĩ thểđược khởi tạo nhiều lần trong một ngữ cảnh đối tượng, chỉ
duy nhất một “exception process” được khởi tạo trong một ngữ cảnh đối tượng cho trước.
“Compensation process” là một dạng “nested process” đặc biệt khác. Một “compensation process” được khởi tạo sau khi thể hiện quy trình cha hồn tất để đền bù cho bất kỳ cơng việc nào mà nĩ đã thực hiện. “Compensation process” chỉ
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên mơi trường WEB
được khởi tạo nếu thể hiện quy trình cha đã hồn tất và cĩ thể được khởi tạo duy nhất một lần.
2.2.3.3. Định nghĩa quy trình (process definition): Bao gồm các thuộc tính sau:
Name :tên quy trình.
Documentation: tài liệu mơ tả quy trình.
Identity: Một hoặc nhiều tên định danh.
Persistent: thuộc tính sự liên tục.
Event: sự kiện khởi tạo.
Paranmeters: khơng cĩ hoặc cĩ nhiều tham sốđầu vào.
Activity set: một tập các cơng việc.
Compensation: compensation process.
2.2.3.4. Tham số (parameter): Bao gồm các thuộc tính sau:
Name: tên tham số.
Direction: input, output.
Requyre:true nếđược yêu cầu, mặc định là false.
Code: mã số lỗi (chỉ dành cho output).
Thuộc tính direction xác định tham số là tham số vào hay tham số ra.
• Input: Khi một quy trình được khởi tạo, một giá trị đầu vào của tham số được gắn cho một thuộc tính đã được đặt tên trong quy trình.
• Output: Khi một tiến trình hồn thành hay bỏ dở (abort), giá trị của thuộc tính thể hiện quy trình được sử dụng như một giá trị ra cho tham số.
2.2.3.5. Định danh quy trình (process indentity):
Định danh quy trình phục vụ như một phương tiện để xác định một thể hiện quy trình cụ thể từ một tập hợp các thể hiện quy trình được khởi tạo từ cùng một
định nghĩa. Nĩ cũng xác định các thể hiện quy trình liên quan trong một tập hợp các thể hiện được khởi tạo từ các định nghĩa khác nhau.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên mơi trường WEB
Name: tên định danh
Properties: một hoặc nhiều thuộc tính.
Documentation: tài liệu mơ tả. 2.2.4. Ngữ cảnh (Context):
Ngữ cảnh định nghĩa một mơi trường cho việc thực thi các cơng việc liên quan. Các cơng việc thực thi trong cùng ngữ cảnh sử dụng ngữ cảnh cho việc trao đổi thơng tin và phối hợp hoạt động. Một cơng việc cĩ thể truy cập và sửa đổi giá trị
của thuộc tính được định nghĩa trong ngữ cảnh, khởi tạo một “nested process”, phát và đồng bộ hĩa tín hiệu…
Ngữ cảnh định nghĩa các thuộc tính thơng dụng cho tất cả các cơng việc đang thực hiện trong nĩ.Nĩ định nghĩa các điều kiện ngoại lệ và lỗi được quản lý như
thế nào, cung cấp các ngữ nghĩa nguyên tố cho việc truy xuất thuộc tính và trao
đổi thơng điệp…
Một định nghĩa ngữ cảnh chứa các định nghĩa cục bộ (local definitions) cho các thực thể mà chỉ cĩ thể truy cập trong ngữ cảng đĩ. Định nghĩa ngữ cảnh cĩ thể được kế thừa.
Cĩ hai loại ngữ cảnh: Current context và Process context.
• Current context: Là ngữ cảnh mà trong đĩ một cơng việc được định nghĩa, bao gồm ngữ cảnh chứa định nghĩa cơng việc và tất cả các ngữ cảnh cha.
• Process context: Là ngữ cảnh được dùng chung cho tất cả các cơng việc thực hiện như một phần của định nghĩa quy trình. Ngữ cảnh này phục vụ
như là ngữ cảnh cha cho ngữ cảnh của nested và exception process.
Ngữ cảnh tiến trình của “top – level process” được gọi là root context, vì nĩ khơng là ngữ cảnh con của bất kỳ ngữ cảnh cha nào.
Các thể hiện ngữ cảnh được khởi tạo từ cùng định nghĩa ngữ cảnh là khác nhau và khơng dùng chung bất kỳ thể hiện nào của định nghĩa cục bộ. Đặc biệt, hai thể
hiện “top – level process” khơng dùng chung bất kỳ thể hiện thuộc tính , thể hiện cơng việc và thể hiện của “nested process”.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên mơi trường WEB
• Exception: Định nghĩa một “exception process” cục bộ đối với ngữ cảnh
đểđảm bảo các quy trình chỉ đáp ứng các sự kiện từ thể hiện của ngữ cảnh
đĩ, và tất cả các sự kiện dừng tất cả các cơng việc đang thực hiện trong thể
hiện ngữ cảnh đĩ.
• Process: Định nghĩa một quy trình cục bộđối với ngữ cảnh đểđảm bảo các quy trình chỉ cĩ thểđược khởi tạo trong thể hiện của ngữ cảnh đĩ.
• Property: Định nghĩa một thuộc tính cục bộ trong ngữ cảnh để đảm bảo giá trị của thể hiện thuộc tính chỉ cĩ thể được truy cập và sửa đổi từ các cơng việc đang thực hiện trong thể hiện của ngữ cảnh đĩ. Nĩ được dùng để
giới hạn quyền truy cập đối với thuộc tính.
• Schedule: Định nghĩa một kế hoạch cục bộ trong ngữ cảnh để đảm bảo kế
hoạch sẽ phát sinh các sự kiện thời gian trong khi các cơng việc đang thực hiện trong thể hiện của ngữ cảnh.
• Signal: Định nghĩa một tín hiệu cục bộ trong ngữ cảnh đểđảm bảo tín hiệu chỉ cĩ thểđược phát sinh và được đồng bộ hĩa bởi các cơng việc đang thực hiện trong thể hiện của ngữ cảnh.
2.2.4.2. Định nghĩa ngữ cảnh (Context definition): bao gồm các thuộc tính sau:
Atomic: True nếu là ngữ cảnh nguyên tố.
Exception: Khơng hoặc nhiều “exception process”.
Processes: Khơng hoặc nhiều định nghĩa quy trình.
Properties: Khơng hoặc nhiều định nghĩa thuộc tính.
Schedule: Khơng hoặc nhiều định nghĩa kế hoạch.
Signals: Khơng hoặc nhiều định nghĩa tín hiệu.
Faults: Khơng hoặc nhiều bộ quản lý lỗi. 2.2.5. Thuộc tính (Property):
Một định nghĩa thuộc tính khai báo tên, kiểu và cung cấp một giá trị khởi tạo ban đầu (cĩ thể khơng cĩ). Một thể hiện thuộc tính giữ giá trị của thuộc tính.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên mơi trường WEB
Một thể hiện ngữ cảnh khơng thể cĩ hai thể hiện thuộc tính cùng tên. Hai thể
hiện thuộc tính cùng tên là khác nhau nếu chúng thuộc hai thể hiện ngữ cảnh khác nhau.
Thể hiện thuộc tính được khởi tạo khi một trong các điều sau xẩy ra:
• Định nghĩa thuộc tính khởi gán giá trị ban đầu khi thể hiện ngữ cảnh được tạo.
• Định nghĩa thuộc tính được xác định bởi một thuộc tính tham chiếu (reference attribute) và một thể hiện thuộc tính với cùng định nghĩa tồn tại trong thể hiện ngữ cảnh cha khi một thể hiện ngữ cảnh được tạo. Thể hiện thuộc tính sẽ cĩ cùng giá trị với thể hiện thuộc tính mà nĩ được tham chiếu.
• Một giá trị được gán đầu tiên từ bất kỳ cơng việc nào thực hiện trong thể
hiện của ngữ cảnh đĩ hoặc trong một ngữ cảnh con.
Một cơng việc chỉ cĩ thể truy cập giá trị của thuộc tính khi đã cĩ thể hiện thuộc tính.
2.2.5.1. Các loại thuộc tính:
• Đơn giản: Loại thuộc tính chỉ cĩ thể là một trong các loại đơn giản được
định nghĩa bởi lược đồ XML hoặc một loại được xuất phát từ nĩ. Giá trị
thuộc tính là 1 giá trị nguyên tố của loại đĩ hoặc xuất phát từ loại đĩ và cũng cĩ thể là rỗng.
• Phức hợp: Loại thuộc tính là kiểu phức hợp được định nghĩa bởi lược đồ
XML. Giá trị thuộc tính cũng là giá trị phức hợp. Giá trị thuộc tính chỉ cĩ thể là rỗng nếu định nghĩa kiểu phức hợp cho phép một trình tự rỗng.
• Thành phần (element): Thuộc tính là một thành phần được định nghĩa bởi sự khai báo lược đồ XML . Giá trị khơng được phép rỗng.
2.2.5.2. Thuộc tính cốđịnh và thuộc tính ẩn:
Giá trị của thể hiện thuộc tính cốđịnh khơng thể bị sửa đổi. Khi nĩ được khởi tạo, giá trị của nĩ trở thành hằng. Nếu định nghĩa thuộc tính cốđịnh khơng gán giá trị ban đầu, một giá trị được gán cho thuộc tính khi nĩ khởi tạo thể hiện.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên mơi trường WEB
2.2.5.3. Biểu thức điều kiện (Expression):
Biểu thức điều kiện dùng để thiết lập giá trịđộng cho thuộc tính và cĩ thểđược dẫn xuất từ giá trị của một hoặc nhiều thuộc tính.
2.2.5.4. Định nghĩa thuộc tính (Property definition): Bao gồm các thuộc tính sau:
Name Type Value Fixed
Documentation
Định nghĩa thuộc tính được tham chiếu:
Reference: tên định nghĩa được tham chiếu.
Value Fixed
Documentation
2.2.6. Tín hiệu (Signal):
Tín hiệu được dùng để phối hợp sự thực hiện của các cơng việc trong cùng ngữ
cảnh
“Raise activity” phát tín hiệu bằng cách khởi tạo một thể hiện tín hiệu. “Synch
activity” đồng bộ hĩa trên tin hiệu bằng cách chờ cho tín hiệu được phát sinh, và sau đĩ giảm tín hiệu bằng cách loại bỏ một thể hiện tín hiệu. “Raise activity” và “Synch activity” cĩ thể trao đổi thơng tin bằng các truyền giá trị thơng qua thể hiện tín hiệu.
Thể hiện tín hiệu được tạo trong thể hiện của ngữ cảnh chứa định nghĩa của nĩ.
Định nghĩa tín hiệu:
Name:Tên tín hiệu.
Documentation: Tài liệu mơ tả.
Type: loại giá trị.
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên mơi trường WEB
Source: nguồn của tín hiệu như một thuộc tính.
Value: Giá trị ban đầu.
2.2.7. Kế hoạch (Schedule):
Đại diện cho một chuỗi các sự kiện thời gian. Nếu sự kiện thời gian được tính tốn từ các thể hiện thuộc tính thì sự kiện thời gian cĩ thểđươc thay đổi bằng cách gán giá trị mới cho các thuộc tính này. Kế hoạch cĩ thể được sửa đổi, hủy bỏ hoặc làm phát sinh một sự kiện thời gian khác. Kế hoạch cũng cĩ thể đại diện cho một rang buộc về thời gian bằng cách phát sinh một lỗi buộc các cơng việc hoặc quy trình liên quan phải bỏ dở.
Thể hiện kế hoạch được tạo từ sự định nghĩa kế hoạch. Thể hiện kế hoạch theo dấu sự kiện thời gian tiếp theo và kích hoạt tại một thời gian xác định.
Thể hiện kế hoạch tính tốn sự kiện thời gian tiếp theo dựa vào các đặc điểm sau:
• Giá trị của thể hiện thuộc tính cung cấp sự kiện thời gian tiếp theo.
• Giá trị của thuộc tính duration đựơc thêm vào thể hiện thời gian tại thời
điểm kế hoạch được tạo.
• Giá trị của thuộc tính repeat được thêm vào thể hiện thời gian hiện hành
Định nghĩa kế hoạch:
Name
Documentation
Process:Tên quy trình.
Code: Mã số lỗi. Duration Instant Reapeat Other: Các cơ chế khác. 2.2.8. Ngoại lệ (Exception): Một quy trình phải cĩ khả năng phát hiện các điều kiện ngoại lệ nếu chúng
Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên mơi trường WEB
hiệu, hoặc là kết quả của các cơng việc mà thất bại để hồn tất. Quy trình tác động trở lại các điều kiện ngoại lệ này sử dụng “exception process” và bộ kiểm sốt lỗi.
2.2.8.1. Quy trình ngoại lệ (Exception process):
Các biến cố ngoại lệ cĩ thể xẩy ra làm cho các cơng việc và quy trình khơng thể hồn tất thành cơng. Các biến cố ngoại lệ cĩ thể được phát sinh từ các thơng
điệp vào, yêu cầu quy trình phải kết thúc tất cả các cơng việc và hồn tất ngay tức thì, hoặc từ một nguồn phát sinh một tín hiệu thơng báo điều kiện ngoại lệ. Exception process chỉ được khởi tạo một lần trong một thể hiện ngữ cảnh và chỉ