Nghiên cứu và thử nghiệm hệ thống workflow
Trang 1Nguyễn Huy Hoàng
NGHIÊN CỨU VÀ THỬ NGHIỆM
HỆ THỐNG WORKFLOW
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2006
Trang 2Nguyến Huy Hoàng
NGHIÊN CỨU VÀ THỬ NGHIỆM
HỆ THỐNG WORKFLOW
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: TSKH Nguyễn Minh Hải
Cán bộ đồng hướng dấn: Nguyễn Quốc Hưng
HÀ NỘI - 2006
Trang 3Chúng em xin chân thành cảm ơn thầy giáo TSKH Nguyễn Minh Hải và thầy giáo Nguyến Quốc Hưng – học viên công nghệ bưu chính viễn thông đã tận tình chỉ bảo, giúp đỡ chúng em hoàn thành khóa luận tốt nghiệp này.
Chúng em xin cám ơn các thầy giáo, cô giáo trong khoa Công Nghệ Thông Tin, trường đại học công nghệ đã tận tình dạy dỗ và chỉ bảo chúng em trong suốt thời gian học tập ở trường
Xin cảm ơn các bạn trong lớp K47CA, sự góp ý và giúp đỡ của các bạn đã giúp chúng tôi rất nhiều trong quá trình thực hiện đồ
Trang 4Tóm tắt nội dung
Ngày nay, việc ứng dụng các thành tựu phát triển của công nghệ thông tinvào các lĩnh vực của cuộc sống đang ngày càng trở nên phổ biến và đem lại nhiềuhiệu quả to lớn Quản lý Workflow là một công nghệ đang phát triển nhanh vàngày càng được khai thác bởi các hoạt động nghiệp vụ trong nhiều ngành côngnghiệp khác nhau Đặc điểm cơ bản của nó là tự động hoá tiến trình bao gồm việckết hợp các hoạt động của người và máy, đặc biệt là các tương tác liên quan tớicác công cụ và ứng dụng công nghệ thông tin Mặc dù nó được sử dụng phổ biếnnhất ở trong lĩnh vực như bảo hiểm, ngân hàng, luật pháp và quản lý chung,…song nó cũng có thể áp dụng cho một vài lớp công việc của các ứng dụng côngnghiệp và sản xuất
Mục tiêu của đồ án đồ án này đó là nghiên cứu và thử nghiệm hệ thốngquản lý Workflow tuân theo chuẩn do hiệp hội quản lý Workflow WFMC đưa ra.Nội dung bao gồm
- Giới thiệu tổng quan về Workflow, định nghĩa Workflow là gì, sự pháttriển của các ứng dụng Workflow hiện nay, các yêu cầu cho việc chuẩn hoá
- Giới thiệu tổng quan về mô hình tham chiếu do WFMC đề xuất và cácthành phần của nó (5 giao diện)
- Giới thiệu về siêu mô hình, ngôn ngữ biểu diễn Workflow và định dạng
XPDL
- Giới thiệu các hàm API phục vụ cho việc triệu gọi ứng dụng của
workflow
Trang 5MỤC LỤC
Trang 6CHƯƠNG 3 GIAO DIỆN ĐỊNH NGHĨA TIẾN TRÌNH 53
Trang 14Hình I -1 mô tả các đặc trưng cơ bản của các hệ thống WFM và các mối quan hệgiữa các chức năng chính
Các công cụ phân tích, mô hình hoá
và định nghĩa tiến trình kinh doanh
Định nghĩa tiến trình
Dịch vụ workflow Enactment
Các công cụ ứng dụng
và các công cụ IT
Thiết kế và định nghĩa tiến trình
Thời điểm xây dựng
Thời điểm thực thi
Cài đặt và điều khiển tiến trình
Tương tác với người dùng và
các công cụ ứng dụng
Hình 1-1 Đặc trưng của hệ thống Workflow
1.1.1 Các chức năng ở thời điểm xây dựng
Các chức năng thời điểm xây dựng là các chức năng sinh ra định nghĩa trên ngônngữ máy tính của một tiến trình nghiệp vụ Trong suốt thời gian này, một tiến trìnhnghiệp vụ được thông dịch từ thế giới thực sang định nghĩa hình thức mà máy tính cóthể xử lý được nhờ sử dụng các kỹ thuật phân tích, mô hình hoá và định nghĩa hệthống Định nghĩa nhận được đôi khi được gọi là mô hình tiến trình, khuôn mẫu tiếntrình, siêu dữ liệu tiến trình hoặc một định nghĩa tiến trình Trong tài liệu này thuậtngữ “định nghĩa tiến trình” sẽ được sử dụng
Định nghĩa - Định nghĩa tiến trình
Là biểu diễn máy tính hóa một tiến trình bao gồm các định nghĩa hướng dẫn và các định nghĩa Workflow
Thông thường, một định nghĩa tiến trình bao gồm một số bước hoạt động rời rạcgắn với máy tính hay con người và các quy tắc giám sát sự tiến triển của tiến trình qua
Trang 15các bước hoạt động khác nhau Định nghĩa tiến trình có thể có thể được thể hiện dướicác dạng sau:
1.1.2 Các điều khiển tiến trình ở thời điểm thực thi
Tại thời điểm thực hiện, định nghĩa tiến trình được thông dịch bởi phần mềm.Phần mềm này chịu trách nhiệm tạo ra và điều khiển các bản sao thực hiện của tiếntrình, lập lịch các bước hoạt động khác nhau trong tiến trình và gọi nguồn tài nguyênứng dụng IT và con người phù hợp… Các chức năng điều khiển này đóng vai trò mốiliên kết giữa tiến trình như được mô hình hóa trong định nghĩa tiến trình và tiến trìnhtrong thế giới thực được thể hiện qua các tương tác thời gian thực hiện của người dùng
và các công cụ ứng dụng IT Thành phần chính là một phần mềm điều khiển quản lýWorkflow cơ sở (hay “engine”) làm nhiệm vụ tạo ra và xoá bỏ tiến trình, giám sát hoạtđộng lập lịch biểu trong quá trình vận hành và sự tương tác với các công cụ ứng dụnghoặc các tài nguyên con người Thông thường, phần mềm này được cài đặt phân tántrên một số nền máy tính để bảo đảm hỗ trợ được các tiến trình hoạt động trên nhữngvùng địa lý rộng
1.1.3 Các hoạt động tương tác ở thời điểm thực thi
Các hoạt động riêng lẻ trong một tiến trình Workflow thường liên quan tới cácthao tác của con người gắn với việc sử dụng một công cụ IT cụ thể (ví dụ như nhậpthông tin vào một form) hoặc thao tác xử lý thông tin nhờ một chương trình ứng dụngtác động đến các thông tin đã được xác định (Ví dụ cập nhật một bản ghi mới vào cơ
sở dữ liệu đơn hàng) Tương tác với phần mềm điều khiển tiến trình là cần thiết đểchuyển điều khiển giữa các hoạt động, để xác định trạng thái hoạt động của tiến trình,
để triệu gọi các công cụ ứng dụng và dữ liệu phù hợp Sẽ rất có lợi khi có được cáckhuôn mẫu chuẩn hóa để hỗ trợ loại tương tác này, bao gồm việc sử dụng các giaodiện phù hợp cho nhiều hệ thống Workflow và phát triển các công cụ ứng dụng chung
có thể hoạt động trong các sản phẩm Workflow khác nhau
Trang 161.1.4 Sự phân phối công việc và các giao diện hệ thống
Khả năng phân phối nhiệm vụ và thông tin giữa những thành viên tham gia là đặcđiểm khác biệt chính của hạ tầng cơ sở thời điểm thực hiện Workflow Chức năngphân phối có thể hoạt động tại nhiều mức phụ thuộc vào phạm vi của Workflow; chứcnăng này có thể dùng các cơ chế truyền thông rất phong phú (thư điện tử, truyền thôngđiệp, công nghiệp đối tượng phân tán,…) Một khung nhìn mức trên cùng của kiếntrúc Workflow nhấn mạnh tới khía cạnh phân phối được chỉ trong hình 1-2
Dịch vụ Workflow enactment được xem như chức năng hạ tầng cơ sở với cácgiao diện với người dùng và các ứng dụng phân tán trên toàn bộ phạm vi củaWorkflow Mỗi giao diện là một điểm tích hợp tiềm năng giữa dịch vụ Workflowenactment với các thành phần ứng dụng hoặc hạ tầng cơ sở khác
Ứng dụng Cơ sở dữ liệu
Giao diện người dùng và các ứng dụng cục bộ
Tiến trình/Hoạt động Mgt Chức năng phân tán
Hoạt động riêng lẻ
Các bước
Hình 1-2 Sự phân phối trong dịch vụ Workflow enactmentLuồng công việc có thể bao gồm việc chuyển đổi các nhiệm vụ giữa các sảnphẩm Workflow của các nhà cung cấp khác nhau để cho phép các phần khác nhau củatiến trình nghiệp vụ được triển khai trên các nền hoặc các mạng con khác nhau, sửdụng các sản phẩm đặc thù phù hợp với giai đoạn tương ứng của tiến trình Trong kịchbản này luồng công việc tại trung tâm được trao đổi giữa hai hoặc nhiều sản phẩmWorkflow Các chuẩn để hỗ trợ cho việc chuyển điều khiển Workflow cho phép phát
Trang 17triển các ứng dụng Workflow với một vài sản phẩm Workflow khác nhau cùng hoạtđộng như một thực thể logic đơn.
Toàn bộ các giao diện bao gồm:
Các đặc tả dữ liệu định nghĩa tiến trình và sự trao đổi của chúng
Các giao diện hỗ trợ tương tác với các chức năng cơ bản của giao diện ngườidùng
Các giao diện hỗ trợ tương tác với các loại ứng dụng IT đa dạng
Các giao diện hỗ trợ khả năng tương tác giữa các hệ thống Workflow khácnhau
Các giao diện để cung cấp các chức năng quản trị giám sát hệ thống cũng nhưcác metric tiện lợi cho việc quản lý môi trường ứng dụng Workflow tổng hợp
1.2.MỘT SỐ LĨNH VỰC ỨNG DỤNG CỦA WORKFLOW
Trong những năm gần đây đã có nhiều loại sản phẩm trên thị trường IT hỗ trợcác chức năng của Workflow song gần đây tầm quan trọng của nó mới được nhìn nhậnđầy đủ Sự tiến hóa của Workflow như một công nghệ có thể gặp trong một số cácvùng sản phẩm khác nhau
1.2.1 Xử lý ảnh
Workflow đã được kết hợp chặt chẽ với các hệ thống xử lý ảnh và nhiều hệ thống
xử lý ảnh đã có khả năng Workflow, hoặc dưới dạng built-in hoặc kết hợp với một sảnphẩm Workflow chuyên dụng Nhiều thủ tục nghiệp vụ đòi hỏi phải tương tác vớithông tin giấy tờ và cần thu thập chúng dưới dạng dữ liệu ảnh Quá trình đó tạo thànhmột phần của cả tiến trình tự động hoá Mỗi khi các thông tin trên giấy được thu thậpdưới dạng dữ liệu ảnh điện tử chúng có thể được trao đổi giữa một số người tham giakhác nhau cho các mục đích khác nhau trong tiến trình và có thể cả với các ứng dụng
IT khác, do vậy tạo ra một nhu cầu phải có các chức năng của Workflow
1.2.2 Quản lý tài liệu
Công nghệ quản lý tài liệu gắn với việc quản lý vòng đời của các tài liệu điện tử.Công nghệ này bao gồm các tiện ích để quản lý các kho lưu trữ tài liệu phân tán bêntrong một tổ chức như một tài nguyên dùng chung và các tiện ích để phát tán tài liệu(thậm chí những phần riêng rẽ của tài liệu) tới từng cá nhân tương ứng với vai trò của
Trang 18họ trong quan hệ với từng tài liệu cụ thể phục vụ cho việc truy cập hoặc cập nhật thôngtin Các tài liệu tạo thành một phần của thủ tục nghiệp vụ đáp ứng nhu cầu truy cập tớitài liệu của từng nhân viên thực hiện các hoạt động riêng rẽ theo một trình tự cụ thểđược quy định trong các quy tắc hành chính Đó chính là dạng Workflow hướng tàiliệu
1.2.3 Thư điện tử và thư mục điện tử
Thư điện tử cung cấp các phương tiện mạnh cho việc phân phối thông tin giữacác cá nhân trong một tổ chức hoặc giữa các tổ chức Việc sử dụng các cơ chế thư mụckhông chỉ cung cấp một cách để xác định các cá nhân tham gia trong lĩnh vực email
mà còn có tiềm năng ghi nhận các thông tin về các thuộc tính người dùng như vai tròtrong tổ chức hoặc các thuộc tính khác liên quan tới các thủ tục nghiệp vụ Do vậy, hệthống thư điệu tử tự thân đã hướng tới các chức năng Workflow bằng cách thêm vàocác lệnh định tuyến để xác định một chuỗi các người nhận đối với các kiểu thư điện tử
cụ thể theo một số thủ tục nghiệp vụ được xác định trước
1.2.4 Workflow với các ứng dụng phần mềm nhóm
Nền công nghiệp phần mềm nhóm đã tạo nên một lĩnh vực rộng lớn các phầnmềm ứng dụng được thiết kế để hỗ trợ và nâng cao tính tương tác giữa các thành viêntrong nhóm Ban đầu các ứng dụng này hỗ trợ cải thiện cách làm việc nhóm theo cáctiến trình không hình thức như truy cập vào các bản tin nhóm hay các ứng dụng lậplịch biểu hàng ngày một cách tùy tiện Khi phạm vi của các ứng dụng chuyển dịch vềphía các nghiệp vụ hình thức hơn tập trung vào các mối tương tác nhóm thì bắt đầunảy sinh các yêu cầu trang bị các khuôn dạng hình thức giám sát được để hỗ trợ choviệc sử dụng các ứng dụng phần mềm nhóm Công nghệ Workflow cung cấp một giảipháp cho nhu cầu này
1.2.5 Workflow với các ứng dụng hướng giao dịch
Trong nhiều năm qua các ứng dụng hỗ trợ các thủ tục nghiệp vụ (“giao dịch”) đãđược phát triển với việc sử dụng các bộ giám sát giao dịch và/hoặc các phần mềmquản lý cơ sở dữ liệu Từ cách làm việc tập trung hóa đầu tiên, các phần mềm ứngdụng như vậy đã cho phép phân tán các ứng dụng hướng giao dịch trên các nền máytính khác nhau Các ứng dụng hướng giao dịch đã thể hiện những đặc trưng quan trọng
về tính bền vững và cũng hỗ trợ nhiều tính chất của giao dịch Tuy nhiên hầu nhưchúng không đưa ra sự tách biệt giữa logic thủ tục nghiệp vụ và sự triệu gọi các công
cụ ứng dụng khác nhau để đáp ứng các yêu cầu hỗ trợ cho các hoạt động riêng lẻ trongtiến trình nghiệp vụ Theo thời gian điều này dẫn đến yêu cầu hợp nhất các khả năng
Trang 19của Workflow để điều khiển các thủ tục nghiệp vụ với khả năng triệu gọi các chươngtrình ứng dụng giao dịch truyền thống cho các phần thích hợp của tiến trình nghiệp vụcũng như các loại chương trình ứng dụng khác (như word) cho các phần còn lại củatiến trình nghiệp vụ.
1.2.6 Phần mềm hỗ trợ dự án
Phần mềm giám sát sự phát triển dự án ứng dụng IT phức tạp thường có mộtdạng chức năng của Workflow trong môi trường dự án để “trao đổi” các nhiệm vụgiữa các cá nhân và định tuyến thông tin giữa họ để hỗ trợ các nhiệm vụ đó Trong mộtvài trường hợp các loại phần mềm này được tổng quát hóa để cung cấp khung nhìnhướng nghiệp vụ rộng hơn về tiến trình cũng như mở rộng miền công cụ ứng dụng -tức là đưa ra khả năng Workflow tổng quát hơn
1.2.7 BPR và các công cụ thiết kế hệ thống có cấu trúc
BPR (Business Process ReEngineering) là công cụ IT cung cấp hỗ trợ cho cáchoạt động phân tích, mô hình hoá, và định nghĩa lại các tiến trình nghiệp vụ cốt lõi củamột tổ chức Các ảnh hưởng tiềm ẩn của sự thay đổi trong các tiến trình hay các vai trò
và trách nhiệm tổ chức gắn với các tiến trình như vậy Ở đây có thể bao gồm việc phântích cấu trúc tiến trình và các luồng thông tin hỗ trợ nó, các vai trò của các cá nhân hayđơn vị tổ chức trong tiến trình và các hành động cần thực hiện để đáp ứng với các tìnhhuống khác nhau Sự mở rộng tự nhiên của các công cụ đó tạo ra sự thuận tiện choviệc triển khai tiến trình với hạ tầng hỗ trợ của IT để điều khiển các luồng của côngviệc và các hành động gắn kết bên trong tiến trình nghiệp vụ
1.3.CÁC MÔ HÌNH TRIỂN KHAI SẢN PHẨM
Mặc dù các sản phẩm Workflow rất phong phú nhưng việc xây dựng mô hình càiđặt tổng quát của hệ thống Workflow so với các sản phẩm đã có mặt trên thị trường là
có tính khả thi Mô hình như vậy sẽ tạo nên một nền tảng chung cho việc phát triển cáckịnh bản interoperability
Cách tiếp cận này xác định các thành phần chức năng chính trong một hệ thốngWorkflow và các giao diện giữa chúng như một mô hình trừu tượng Người ta đã nhậnthấy rằng rất nhiều dạng cài đặt cụ thể khác nhau của mô hình này đang tồn tại và vìvậy các giao diện có thể được triển khai trên nhiều nền và nhiều công nghệ cơ sở Hơnnữa không phải mọi nhà cung cấp đều có thể lựa chọn triển khai mọi giao diện giữacác cấu phần chức năng trong mô hình Điều này sẽ được đề cập đến trong phần đặc tả
Trang 20về mức độ thuận tiện dùng để xác định các chức năng interworking cụ thể với nhữnggiao diện mở cho việc tích hợp nhiều nhà cung cấp.
Các cấu phần chức năng chính của một hệ thống Workflow chung được minhhoạ trong Hình 1 -3
Mô hình chung có 3 loại thành phần:
Các thành phần phần mềm hỗ trợ cho các chức năng khác nhau trong hệ thốngWorkflow (hình bôi mầu thẫm)
Các loại định nghĩa hệ thống và dữ liệu điều khiển khác nhau (hình bôi mầunhạt) được sử dụng bởi một hay nhiều cấu phần phần mềm
Các ứng dụng và cơ sở dữ liệu ứng dụng (mầu sáng) không phải là một phầncủa sản phẩm Workflow nhưng chúng có thể được triệu gọi bởi một bộ phậncủa hệ thống Workflow
Vai trò của các cấu phần chức năng chính trong hệ thống này được mô tả dưới đây:
1.3.1 Công cụ định nghĩa tiến trình
Công cụ này được dùng để tạo ra định nghĩa tiến trình trong một khuôn dạng cóthể xử lý trên máy tính Công cụ này có thể dựa trên một ngôn ngữ định nghĩa tiếntrình hình thức, một mô hình quan hệ đối tượng, hoặc trong các hệ thống đơn giản hơn
là một kịch bản hay một tập hợp các lệnh định tuyến để trao đổi thông tin giữa nhữngngười dùng tham gia Công cụ định nghĩa có thể được cung cấp như một sản phẩm củaWorkflow chuyên biệt hoặc có thể là một phần của sản phẩm phân tích tiến trìnhnghiệp vụ có thêm các cấu phần khác để phân tích hoặc mô hình hóa các hoạt độngnghiệp vụ Trong trường hợp thứ hai chúng ta cần phải có một khuôn dạng trao đổithích hợp để chuyển các định nghĩa tiến trình tới/từ phần mềm Workflow lúc thời điểmthực hiện
1.3.2 Định nghĩa tiến trình
Định nghĩa tiến trình bao gồm tất cả các thông tin cần thiết về tiến trình để phầnmềm thực thi Workflow khai thác được nó Định nghĩa này bao gồm các thông tin vềviệc bắt đầu và các điều kiện bắt đầu và kết thúc Workflow, các hoạt động thành phần
và các quy tắc điều hướng giữa chúng, các nhiệm vụ của người dùng phải đảm nhiệm,các tham chiếu tới các ứng dụng cần triệu gọi, định nghĩa của mọi liệu gắn kết vớiWorkflow cần tham chiếu tới…
Trang 21Định nghĩa tiến trình có thể tham chiếu đến mô hình tổ chức/vai trò, chứa cácthông tin liên quan đến cấu trúc tổ chức và các vai trò trong tổ chức Điều này chophép định nghĩa tiến trình được đặc tả theo thuật ngữ các thực thể tổ chức và các chứcnăng của từng vai trò gắn với từng hoạt động cụ thể chứ không phải là những ngườitham gia xác định Dịch vụ Workflow enactment sau đó có trách nhiệm liên kết cácthực thể hay vai trò của tổ chức với những người tham gia cụ thể trong môi trườngWorkflow tại thời điểm thực hiện.
Thao tác
Dữ liệu ứng dụng workflow
Ứng dụng
Ứng dụng
Định nghĩa tiến trình
Dữ liệu điều khiển workflow
Dữ liệu mô
hình vai
trò/tổ chức
Dữ liệu liên quan đến workflow
Workflist
WFM Engine (s)
Gọi
Các thành phần phần mềm
Dữ liệu điều khiển hệ thống
Dữ liệu/sản phẩm bên ngoài
Gọi
Cập nhật
Trang 22được thực hiện nhờ 1 hoặc nhiều engine quản lý Workflow cùng hoạt động song song
để quản lý việc khai thác các bản sao riêng rẽ của các tiến trình khác nhau Dịch vụWorkflow enactment cập nhật các dữ liệu điều khiển bên trong theo phương thức tậptrung hoặc phân tán xuyên suốt tập hợp các Workflow engine Các dữ liệu điều khiểnWorkflow bao gồm thông tin trạng thái bên trong của các tiến trình và các bản sao củahành động đang được khai thác và có thể cũng bao gồm thông tin checkpointing vàrecovery/restart để Workflow engines phối hợp hoạt động hoặc khôi phục lại tiến trìnhtrong trường hợp xảy ra sự cố
Định nghĩa tiến trình cùng với dữ liệu gắn kết với Workflow thời điểm thực hiệnđược dùng để điều khiển việc điều hướng các bước hoạt động khác nhau trong tiếntrình như cung cấp thông tin về điều kiện khởi đầu hoặc kết thúc cho mỗi hoạt đôngriêng lẻ, lựa chọn việc thực hiện tuần tự hoặc song song cho các hoạt động khác nhau,nhiệm vụ của người dùng hay các ứng dụng IT gắn kết với mỗi hoạt động … Điều nàyđòi hỏi việc truy cập các dữ liệu của mô hình tổ chức/vai trò nếu như trong định nghĩatiến trình có chứa các cấu trúc liên quan tới các thực thể tổ chức
Workflow engine cũng bao gồm một vài cách triệu gọi công cụ ứng dụng để kíchhoạt ứng dụng cần thiết cho việc khai thác các hoạt động riêng biệt Có nhiều cáchtổng quát hóa các cơ chế như vậy Một vài hệ thống đơn giản có thể chỉ hỗ trợ công cụ
cố định đơn lẻ như các bộ soạn thảo tài liệu trong khi đó những hệ thống khác cungcấp các phương pháp triệu gọi nhiều công cụ đa dạng kể cả các công cụ cục bộ lẫncông cụ ở xa
1.3.4 Dữ liệu gắn kết và dữ liệu ứng dụng của Workflow
Các quyết định điều hướng tiến trình hay các hoạt động điều khiển khác trongWorkflow engine dựa trên dữ liệu do chương trình ứng dụng Workflow sinh ra Những
dữ liệu đó là truy nhập được đối với workfow engine và được gọi là dữ liệu gắn kếtvới Workflow (hoặc case data) Đây là dạng dữ liệu duy nhất mà Workflow enginetruy cập được Dữ liệu ứng dụng của Workflow được xử lý trực tiếp và chỉ bởi các ứngdụng được triệu gọi; mặc dù vậy các Workflow engine có thể đảm trách việc trao đổi
dữ liệu giữa các ứng dụng (nều cần thiết) khi các ứng dụng khác nhau được triệu gọitại các điểm hoạt động khác nhau trong tiến trình Workflow
1.3.5 Danh sách công việc - Worklist
Trong quá trình khai thác tiến trình nếu cần tương tác với người dùng cácWorkflow engine đặt các khoản mục vào danh sách công việc để thông báo cho bộquản lý danh sách công việc Bộ quản lý danh sách công việc này sẽ quản lý những
Trang 23tương tác với người tham gia vào Workflow Tiến trình đó là ẩn đối với những ngườitham gia Workflow khi danh sách công việc được cập nhật bên trong phần mềmWorkflow và người dùng sẽ tuần tự nhận được yêu cầu thực hiện công việc tiếp theo.Trong các hệ thống khác danh sách công việc có thể nhìn thấy được đối với ngườidùng chịu trách nhiệm lựa chọn những khoản mục riêng biệt từ danh sách và tiến hànhgiải quyết chúng một cách độc lập và khi đó danh sách công việc dùng để chỉ ra nhữngcông việc đã hoàn thành
1.3.6 Bộ quản lý danh sách công việc & giao diện người dùng
Bộ quản lý danh sách công việc là một cấu phần phần mềm dùng để quản lýtương tác giữa những người tham gia trong Workflow và dịch vụ Workflowenactment Nó chịu trách nhiệm thúc đẩy các công việc cần có sự tham gia của ngườidùng và tương tác với phần mềm Workflow enactment thông qua danh sách công việc.Trong một vài hệ thống bộ quản lý danh sách công việc khá đơn giản và giống nhưmột ứng dụng desktop cung cấp một khay đựng đơn giản các khoản mục công việcmới cần người dùng giải quyết Trong những hệ thống khác bộ quản lý danh sách côngviệc có thể phức tạp hơn nhiều để đáp ứng các nhiệm vụ bổ sung như giám sát việcphân bổ công việc giữa nhóm người dùng nhằm hỗ trợ cân đối hoặc phân công lạicông việc trong nhóm Cộng thêm vào các chức năng quản lý danh sách công việc, cácWorkflow engine còn hỗ trợ một vùng rộng hơn các tương tác với các ứng dụng kháchbao gồm việc đăng nhập và thoát ra của người tham gia Workflow, việc yêu cầu khởitạo bản sao của các loại tiến trình cụ thể, yêu cầu các mục công việc xếp hàng chờ
người tham gia cụ thể Trong mô hình tham chiếu thuật ngữ Workflow client
application (ứng dụng khách Workflow) thường được sử dụng hơn là “bộ quản lý danh
sách công việc” nhằm phản ánh vùng sử dụng tiềm năng rộng hơn nói trên bao gồm cảcác chức năng điều khiển tiến trình cũng như xử lý danh sách công việc
Trong biểu đồ, giao diện người dùng được chỉ ra như một cấu phần phần mềmriêng rẽ chịu trách nhiệm cho việc kiểm tra và giám sát sự giao tiếp của người dùng vàđiều khiển các giao diện cục bộ với người dùng Trong một số hệ thống giao diệnngười dùng có thể được kết hợp với bộ điều khiển danh sách công việc tạo thành mộtthực thể chức năng đơn Người ta mong muốn rằng một vài ứng dụng khách sẽ tươngtác với vài dịch vụ Workflow khác nhau để cho phép các khoản mục công việc từ cácdịch vụ này được hợp nhất vào trong một danh sách nhiệm vụ thống nhất chuyển giaocho người tham gia theo một giao diện người dùng chung
Việc triệu gọi các ứng dụng cục bộ có thể cần thiết để hỗ trợ cho người dùngtrong các nhiệm vụ cụ thể do họ đảm nhiệm Việc này có thể do bộ quản lý danh sách
Trang 24công việc đảm nhận tại thời điểm chuyển giao khoản mục công việc cho người dùnghoặc do người dùng chủ động tải những ứng dụng hỗ trợ phù hợp thông qua việc sửdụng các tiện ích sẵn có của phần mềm giao diện người dùng Có một sự khác biệtgiữa việc triệu gọi ứng dụng qua giao diện bộ quản lý danh sách công việc/người dùng(Workflow engine có thể không giám sát trực tiếp và có thể không nhìn thấy nó) vàviệc triệu gọi các ứng dụng trực tiếp thông qua phần mềm Workflow enactment.
1.3.8 Các giao diện chuẩn và giao diện nhúng
Mặc dù phần lớn các sản phẩm Workflow tuân thủ cấu trúc như trên nhưngkhông phải mọi các sản phẩm đều đưa ra các giao diện chuẩn giữa các cấu phần chứcnăng hệ thống riêng lẻ khác nhau Có những sản phẩm gộp một vài cấu phần chứcnăng với nhau như một thực thể logic đơn lẻ với các giao diện ẩn bên trong cấu phầnphần mềm và không cho phép hãng thứ 3 sử dụng Đối với mỗi giao diện, đặc tả củaWFMC sẽ xác định vai trò của giao diện này đáp ứng yêu cầu tương tác sao cho cácsản phẩm riêng biệt có thể tương tác được với nhau (Ví dụ một sản phẩm cụ thể có thểcung cấp một giao diện chuẩn để xử lý danh sách công việc nhưng không cung cấpgiao diện để trao đổi định nghĩa tiến trình)
1.4.CÁC TRƯỜNG HỢP TRIỂN KHAI KHÁC
Mô hình cấu trúc của sản phẩm Workflow tổng quát xác định một loạt các cấuphần phần mềm và các giao diện Trong mỗi sản phẩm được cài đặt cụ thể cấu trúc này
có thể được thể hiện theo nhiều cách khác nhau Đây là yếu tố quan trọng để phân biệtcác sản phẩm Những nhân tố chính để phân biệt các sản phẩm bao gồm sự lựa chọnnền tảng và cơ sở hạ tầng mạng cũng như các chức năng thừa hưởng của bản thânphần mềm Workflow Phần này minh hoạ làm thế nào mô hình tổng quát đối mặt với
Trang 25tính đa dạng của cách tiếp cận cài đặt trong khi vẫn giữ lại tính hiện của các giao diện
để việc tương tác giữa các sản phẩm của các nhà cung cấp khác nhau trở nên dễ dànghơn
Các vấn đề chính được xem xét ở đây là:
Dịch vụ Workflow enactment tập trung hay phân tán
Cơ chế định vị và phân phối bộ quản lý danh sách công việc
Dữ liệu điều khiển workflow
WFM Engine WFM
Engine WFM
Engine
Work list
Work list
B-Mô hình phân tán
Dữ liệu điều khiển Workflow
WFM Engine
Work List
Application(s)
Cục bộ hay từ xa
(Người quan sát)
Định nghĩa tiến trình
Gọ i
A –Mô hình tập trung Hình 1-4 Ranh giới dịch vụ Workflow enactment chuẩn
Trang 26Trong kịch bản trên hai dịch vụ Workflow đều có những tính chất chung tại ranhgiới nhưng tuân theo các kiến trúc cài đặt bên trong khác nhau với các đặc trưng phụthuộc sản phẩm.
Khi một vài Workflow engine cùng phối hợp để khai thác một bản sao tiến trình,các engine phải truy cập được tới dữ liệu điều khiển gắn kết với bản sao ấy Dữ liệuđiều khiển Workflow có thể được phân phối cho các engine và đặt tại engine chủ hoặcđược lưu dưới dạng tài nguyên chia sẻ hay kết hợp cả hai cách đó Cũng tương tự nhưvậy các dữ liệu định nghĩa tiến trình cũng được phân phối cho tất cả các engine hoặcđược chuyển một phần cho những engine riêng biệt từ nguồn nào đó trong suốt quátrình khai thác tiến trình Các giao diện nắm giữ các hoạt động giám sát hoặc triệu gọicác ứng dụng có thể được hỗ trợ như các đặc tính phân tán hoặc cục bộ hoá cho cácengine riêng biệt Các cách tiếp cận cài đặt để quản lý phân phối Workflow qua nhiềuengine rất đa dạng và phức tạp
Để hỗ trợ cho việc tương tác giữa các sản phẩm khác nhau, các giao diện đượcxác định để chỉ rõ các chức năng cộng tác giữa các dịch vụ enactment khác nhau.Thông qua các giao diện đó nhiều sản phẩm Workflow khác nhau của nhiều nhà cungcấp có thể khai thác các phần của một tiến trình cụ thể nào đó trên các dịch vụenactment khác nhau (mỗi dịch vụ bao gồm một hoặc nhiều nhà cung cấp cácWorkflow engine cụ thể) Việc hỗ trợ này được xem xét trong quá trình tiếp cận thực
tế hơn là cố gắng để chuẩn hóa các giao diện và trạng thái dữ liệu bên trong của dịch
vụ Workflow phân tán
Ứng dụng khách Workflow – Các khả năng tiếp cận
Trong mô hình Workflow tương tác xảy ra giữa bộ quản lý danh sách vàWorkflow engine riêng biệt thông qua một giao diện được định nghĩa bao gồm kháiniệm của một danh sách công việc – hàng đợi của các mục công việc được gán chomột người dùng cụ thể (hoặc nhóm những người dùng chung) bởi dịch vụ Workflowenactment Tại mức đơn giản nhất danh sách công việc có thể được Workflow enginedùng để gán các khoản mục công việc và được bộ quản lý danh sách công việc dùng
để khôi phục lại các khoản mục công việc để đưa cho người dùng xử lý
Có nhiều cách thức cài đặt sản phẩm khác nhau của mô hình tương tác danh sáchcông việc này phụ thuộc vào bản chất của quá trình cài đặt sản phẩm Cụ thể, nó phụthuộc vào loại cơ sở hạ tầng được sử dụng để hỗ trợ việc phân tán của bộ quản lý danhsách công việc
Trang 27Bốn cách tiếp cận được minh hoạ trong biểu đồ dưới đây, cách đầu tiên hỗ trợđiều khiển danh sách công việc tập trung và ba cách còn lại sử dụng chức năng bộquản lý danh sách công việc phân tán.
Bốn cách đó như sau:
Mô hình dựa trên máy chủ - ứng dụng bộ quản lý danh sách công việc máykhách dựa trên máy chủ và sự liên lạc với danh sách công việc qua một giaodiện cục bộ tại Workflow engine Trong trường hợp này chức năng giao diệnngười dùng có thể được hướng theo một đầu cuối hoặc một máy trạm MMI từxa
Mô hình file lưu trữ chung - ứng dụng bộ quản lý danh sách được cài đặt nhưmột chức năng khách và việc liên lạc dựa trên một file lưu trữ chung, chúngnằm trên ranh giới giữa môi trường nền máy chủ và máy khách và cả hai có thểtruy cập
Mô hình thư điện tử - vịêc liên lạc theo thư điện tử, mô hình này hỗ trợ sự phântán các mục công việc tới những người tham gia riêng biệt cho việc xử lý cục
bộ Thông thường, trong kịch bản này danh sách công việc nằm tại máy khách
Mô hình truyền thông điệp hay lời gọi thủ tục - việc liên lạc thông qua lời gọithủ tục hoặc cơ chế truyền thông điệp khác Trong kịch bản này danh sách côngviệc có thể được định vị về mặt vật lý trên các Workflow engine hoặc tại các bộquản lý danh sách công việc tùy theo các đặc điểm cài đặt cụ thể
Trang 28Workflow Client Appn
Workflow Client Appn
Workflow Client Appn
Workflow Client Appn
Worklist Access
Worklist Access
Worklist Access
Worklist Access Worklist
RPC Etc Môi trường Client
Workflow Engine(s)
Workflow Engine(s)
Workflow Engine(s)
Workflow Engine(s)
Mô hình thư điện
tử
Mô hình chia sẻ filestore
Hình 1-5 Lựa chọn sự thực thi trong bộ điều khiển worklist phía khách
Trong mỗi trường hợp có thể xây dựng một API chung, API chung này hỗ trợ bộquản lý danh sách công việc truy cập tới danh sách công việc và các chức năng củaWorkflow engine Nhưng API chung này chỉ đựợc xác định sau khi chức năng truycập danh sách công việc cụ thể thích hợp với kiểu cài đặt sản phẩm được xác lập
1.5.CÁC YÊU CẦU CHUẨN HÓA
Các nhân tố cơ bản ảnh hưởng tới việc cần chuẩn hóa các giao diện chức năngcủa Workflow được thể hiện thông qua hai vấn đề chính sau:
Hỗ trợ tính mềm dẻo trong việc tổ chức lại tiến trình nghiệp vụ và quá trình vậnhành
Yêu cầu tích hợp sinh ra từ việc đặc tả sản phẩm và sự đa dạng của thị trường
Tính mềm dẻo trong việc tổ chức lại tiến trình nghiệp vụ và quá trình vận hành
Chiến lược tổ chức lại tiến trình nghiệp vụ và tổ hợp các quy trình cài đặtWorkflow sẽ đưa ra yêu cầu sản phẩm đủ linh hoạt để đáp ứng các thay đổi nghiệp vụđang diễn ra Bao gồm cả trường hợp khi một vài tiến trình nghiệp vụ riêng biệt sửdụng các sản phẩm Workflow khác nhau được yêu cầu tổ chức lại vào trong một tiếntrình tổ hợp đơn Khi đó tiến trình tổ hợp mới đòi hỏi phải có sự tương tác giữa các
Trang 29Workflow đã tồn tại Các yêu cầu này có thể nảy sinh do việc tổ chức lại doanhnghiệp, thay đổi luật pháp, thay đổi mục đích nghiệp vụ… Khi trao đổi dữ liệu điện tửphát triển, các Workflow này có khả năng bao gồm sự trao đổi giữa các tổ chức cũngnhư trong nội tại của một tổ chức đơn lẻ.
Trong thực tế có nhiều khả năng các sản phẩm khác nhau sẽ được sử dụng trongnhiều tổ chức hay phòng ban khác nhau Khi đó các sản phẩm không có khả năng traođổi với nhau sẽ là nguyên nhân của vấn đề tiềm tàng để đáp ứng với sự thay đổi nghiệpvụ.Việc dự đoán sự thâm nhập một cách mạnh mẽ của công nghệ Workflow vào thịtrường trong vòng 5-10 năm sẽ cho ta thấy các vấn đề xung khắc có thể nảy sinh nhưtrong lĩnh vực công nghệ thông tin trước đây Vấn đề này chỉ có thể được giải quyếtkhi các chuẩn tương tác phù hợp được phát triển
Các sản phẩm được cài đặt sau khi các chuẩn đã được hình thành sẽ cung cấpmột mức độ tin tưởng để quyết định thị trường và tính hiệu quả khi áp dụng công nghệWorkflow
Sự đa dạng của thị trường
Hiện nay người ta ước lượng có khoảng hơn một trăm sản phẩm Workflow khácnhau, tập trung vào các khía cạnh khác nhau theo các chức năng và sự tích hợp dữ liệu/ứng dụng Sự phát triển của các chuẩn tương tác sẽ cho phép lựa chọn các sản phẩmtốt nhất tương ứng với từng khía cạnh riêng trong việc cài đặt Workflow Điều này cóthể gồm các sản phẩm phân tích và định nghĩa tiến trình từ một nhà cung cấp, kết hợpvới phần mềm Workflow engine từ một nhà cung cấp khác, tích hợp với ứng dụngquản lý danh sách công việc khách từ một nhà cung cấp thứ ba
Một worklow riêng lẻ có thể dễ dàng chia ra thành các tiến trình con, mỗi tiếntrình được cài đặt trên một sản phẩm chuyên dụng phù hợp với từng kiểu dữ liệu cụthể, nền tảng hoặc môi trường mạng liên quan đến tiến trình đó Sự tồn tại các chuẩntương tác sẽ cung cấp cơ hội triển khai các giải pháp tổng hợp nhằm đáp ứng các yêucầu tiến trình nghiệp vụ Giải pháp này sẽ liên kết một vài các sản phẩm chuyên gia đểđáp ứng các yêu cầu nghiêm ngặt của tiến trình
Hơn thế nữa, nhiều ứng dụng Workflow yêu cầu tích hợp với các ứng dụng khác,các ứng dụng đang tồn tại hoặc đang xuất hiện, từ các chức năng văn phòng tới quátrình xử lý giao dịch tập thể Việc cung cấp một giao diện chuẩn để hỗ trợ cho côngviệc này sẽ giảm sự phức tạp của sản phẩm và số các kỹ năng tích hợp chuyên dụngcần thiết trong khi cài đặt
Trang 30CHƯƠNG 2 MÔ HÌNH THAM CHIẾU WORKFLOW
Trang 31Hình 2-6 Mô hình tham chiếu hệ quản trị Workflow – các thành phần và các
giao diện
Điều hướng giữa các hoạt động của tiến trình bao gồm các thao tác tuần tựhay song song, lập lịch biểu, giải nghĩa các dữ liệu liên quan đếnWorkflow, …
Đăng nhập và kết thúc phiên làm việc của người tham gia
Xác định các khoản mục công việc mà người dùng cần thực hiện và giaodiện hỗ trợ tương tác với người dùng
Cập nhật dữ liệu điều khiển Workflow và dữ liệu liên quan Workflow,truyền dữ liệu liên quan đến Workflow từ ứng dụng này tới ứng dụngkhác hay tới người dùng
Một giao diện để triệu gọi các ứng dụng bên ngoài và kết nối với bất kỳ
dữ liệu liên quan đến Workflow nào
Các hoạt động giám sát cho các mục đích điều khiển, quản lý và kiểm tra Một Workflow engine có thể giám sát việc khai thác một tập các bản saotiến tình hay các tiến trình con với một phạm vi được xác định bởi các loại đốitượng, các thuộc tính của chúng Những kiểu đối tượng và các thuộc tính nàyđược giải thích trong định nghĩa tiến trình
Trang 322.2.3 Dịch vụ Enactment thuần nhất và không thuần nhất
Một dịch vụ Workflow enactment thuần nhất bao gồm một hoặc nhiềuWorkflow engine tương thích tạo nên môi trường khai thác thời gian thực đối vớitiến trình Workflow với một tập xác định trước các thuộc tính định nghĩa tiếntrình Cơ chế khai thác tiến trình mà theo đó sự thi hành tiến trình được tổ chứcthông qua nhiều Workflow engine, các giao thức và các định dạng trao đổi đượcdùng để hỗ trợ cơ chế này của các sản phẩm đặc biệt đó hiện tại chưa được chuẩnhoá
Một dịch vụ Workflow enactment không thuần nhất bao gồm hai hoặcnhiều hơn các dịch vụ thuần nhất tuân theo các chuẩn chung cho việc tương tác ởmột mức nhất định Người ta có thể mong muốn tạo ra một số mức tương tác bảođảm nâng cao các mức chức năng chung
Những mức đó có thể là:
Một lược đồ đặt tên chung cho toàn bộ miền không thuần nhất
Hỗ trợ cho các đối tượng và các thuộc tính dùng để định nghĩa tiến trìnhchung cho toàn bộ miền ứng dụng
Hỗ trợ việc truyền dữ liệu liên quan đến Workflow trong một miền ứngdụng
Hỗ trợ việc truyền các hành vi và các tiến trình con giữa các Workflowengine không thuần nhất
Hỗ trợ các chức năng giám sát và quản trị chung trong toàn miền ứngdụng
Việc hỗ trợ những dữ liệu điều khiển Workflow chung và trao đổi chúng làcần thiết để bảo đảm tính mở toàn bộ giữa các sản phẩm không thuần nhất
Tiến trình và việc chuyển trạng thái của các hành vi
Dịch vụ Workflow enactment có thể được coi như một máy chuyển trạngthái trong đó các bản sao tiến trình hoặc bản sao hành vi thay đổi trạng thái theocác sự kiện bên ngoài hoặc theo những quyết định điều khiển do Workflowengine đưa ra
Môt ví dụ minh hoạ cơ bản biểu đồ chuyển đổi trạng thái của tiến trình đượcchỉ ra dưới đây
Trang 33Lặp lại qua các hoạt động active
Chạy
Hoàn thành
Active Khởi động lại
Khởi động lại
Treo Phục hồi
Ngắt
Một hoặc nhiều trường hợp hoạt động
Khởi tạo Khởi tạo
Hình 2-7 Ví dụ về chuyển trạng thái đối với một bản sao tiến trình
Trong biểu đồ trên, việc chuyển trạng thái thái xảy ra theo những hàmWAPIs cụ thể; việc chuyển đổi giữa các trạng thái nào đó cũng sẽ xảy ra như làkết quả của việc thoả mãn các điều kiện chuyển trong định nghĩa tiến trình Cáctrạng thái cơ bản là:
- Khởi tạo: Một bản sao tiến trình được tạo ra bao gồm ngày tháng của
trạng thái tiến trình được gắn kết và dữ liệu liên quan Workflow, nhưng các tiếntrình chưa thoả mãn các điều kiện để bắt đầu thực hiện
- Chạy (running): Bản sao tiến trình bắt đầu khai thác và mọi hoạt động của
nó cũng có thể được bắt đầu (tất cả các điều kiện bắt đầu của hoạt động nào đượcđáp ứng)
- Kích hoạt (active): Một hoặc nhiều trạng thái đã bắt đầu và được gắn cho
một bản sao hành vi tương ứng
- Đình chỉ (suspended): Một bản sao tiến trình bị ngừng lại và không có
hành vi nào được bắt đầu cho đến khi tiến trình trở lại trạng thái chạy
- Hoàn thành (Completed): Bản sao tiến trình đã thoả mãn các điều kiện
kết thúc, mọi hoạt động sau khi kết thúc ở bên trong như là dữ liệu kiểm tra nhật
kí hoặc các phép thống kê sẽ được thực hiện và tiến trình sẽ bị loại bỏ
-Kết thúc (terminated): Quá trình thực thi tiến trình bị dừng lại trước khi
chúng được hoàn thành và bất kỳ các hoạt động bên trong như các bản ghi lỗihay các bản ghi khôi phục dữ liệu có thể được thực hiện và tiến trình bị huỷ bỏ.Các hành vi có thể không dừng được, ví dụ như một dịch vụ Workflow đãkhởi tạo một hành vi cụ thể trong bản sao tiến trình thì không thể tạm ngừng hoặckết thúc hành vi đó Điều này có nghĩa là các chức năng đình chỉ/ khởi tạo lại/ kết
Trang 34thúc không thể hoàn thành đến khi tất cả các hành vi được kích hoạt phải hoànthành và bản sao tiến trình quay trở lại một trạng thái chạy Thêm vào đó người
ta cũng đòi hỏi gộp một tập các hành vi thành một đơn vị nguyên tử mà việc khaithác chúng hoặc được thực hiện một cách nguyên vẹn hoặc bản sao tiến trình sẽquay ngược về điểm khởi đầu của chúng
Bỏ qua các điều kiện phức tạp mở rộng, một ví đơn giản minh hoạ trạngthái cơ bản và sự chuyển đổi cho một hoạt động như sau:
Treo
Không kích hoạt Kích hoạt Hoàn thành
Không kích hoạt (inactive): Hoạt động nằm trong tiến tình được tạo ra
nhưng chưa được kích hoạt (VD, bởi vì các điều kiện hoạt động chưa được đápứng) và không có danh mục công việc cho tiến trình
Kích hoạt (active): Một danh mục công việc được tạo và gán với một hành
động cho tiến trình
Đình chỉ (suspended): Hoạt động được chuyển sang trạng thái ngưng và
chờ đợi (ví dụ như khi hoạt động đó là một kết quả của câu lệnhchange_state_of_activity_instance) và sẽ không được cấp phát một mục côngviệc cho đến khi trở về trạng thái chạy
Hoàn thành (Completed): Sự thực thi của hành động được hoàn thành.
2.2.4 Các kiểu dữ liệu Workflow
2.2.4.1 Dữ liệu điều khiển Workflow
Dịch vụ Workflow enactment cập nhật các dữ liệu điều khiển bên trong đểxác định trạng thái của một bản sao tiến trình hoặc bản sao hành vi cụ thể và hỗtrợ các thông tin trạng thái bên trong khác Các dữ liệu này không truy nhập đượchoặc trao đổi thông qua các lệnh WAPI, nhưng một vài nội dung thông tin có thể
Trang 35được cung cấp bằng các lệnh đặc biệt (như truy vấn trạng thái tiến trình, đưa cáccác tiêu chí đánh giá thực thi, v.v ) Dịch vụ Workflow enactment thuần nhất cóthể trao đổi thông tin giữa các Workflow engine nhờ cơ chế đối thoại riêng cụthể.
Định nghĩa - Dữ liệu điều khiển Workflow
Là dữ liệu bên trong được quản lý bởi hệ thống quản lý Workflow và/hoặc Workflow engine.
2.2.4.2 Dữ liệu liên quan Workflow
Dữ liệu liên quan đến Workflow được sử dụng bởi hệ thống quản lýWorkflow để xác định các điều kiện chuyển tiếp cụ thể và có thể tác động đến sựlựa chọn các hành vi được khai thác tiếp theo Các dữ liệu này có thể được truycập bởi các ứng dụng Workflow phục vụ các thao tác trên dữ liệu đó và do vậy
có thể được truyền giữa các hành vi nhờ phần mềm dịch vụ Workflowenactment Khi vận hành ở trong một môi trường không thuần nhất, dữ liệu đó cóthể cần được trao đổi giữa các Workflow engine khi trình tự khai thác tiến trìnhxảy ra trong hai hoặc nhiều Workflow engine, các tiến trình như vậy có thể (cókhả năng) yêu cầu ánh xạ tên hay chuyển đổi dữ liệu
Định nghĩa - Dữ liệu có liên quan đến Workflow
Là dữ liệu được dùng bởi hệ thống quản lý Workflow để xác định việc chuyển trạng thái của một bản sao tiến trình Workflow
2.2.4.3 Dữ liệu ứng dụng Workflow
Việc xử lý dữ liệu ứng dụng Workflow có thể được yêu cầu trong mỗi hành
vi của định nghĩa tiến trình, ví dụ như được yêu cầu trong một công cụ hoặc ứngdụng cụ thể nào đó, dưới sự điều khiển trực tiếp của ứng dụng hoặc kết hợp vớimột vài dạng tương tác với người dùng nào đó Đôi khi việc xử lý dữ liệu cũngđòi hỏi phải biến đổi các dữ liệu giữa các định dạng khác nhau
Định nghĩa dữ liệu ứng dụng Workflow :
Là dữ liệu đặc trưng của ứng dụng và không truy cập được bởi hệ thống quản
lý Workflow.
Dữ liệu ứng dụng Workflow không được sử dụng bởi phần mềm Workflowenactment mà chỉ liên quan tới các ứng dụng hoặc các công việc của người dùng
Trang 36được khai thác trong Workflow Cũng như đối với dữ liệu liên quan vớiWorkflow, các dữ liệu đó có thể cần được trao đổi giữa các Workflow enginetrong dịch vụ enactment không thuần nhất và được chuẩn bị sẵn sàng cho cáchành vi phù hợp được khai thác trên các engine riêng lẻ
Mối liên hệ giữa một ứng dụng và bất cứ dữ liệu liên quan hay dữ liệu ứngdụng Workflow mà ứng dụng cần xử lý được xác định bên trong định nghĩa tiến
trình Trong một số trường hợp mối liên hệ này có thể là một liên hệ ẩn nhưng trong những trường hợp khác mối liên hệ này có thể là một liên hệ hiện xác định
đường dẫn ứng dụng và tên đối tượng đặc trưng
2.2.5 Sự trao đổi dữ liệu
Việc trao đổi dữ liệu của dữ liệu ứng dụng và dữ liệu liên quan tớiWorkflow cần được thực hiện thông qua WAPI để hỗ trợ cho việc tương tác lẫnnhau trong 3 vùng chức năng thời gian thực hiện
Bộ quản lý danh sách công việc (giao diện 2)
Ứng dụng được triệu gọi (giao diện 3)
Sự trao đổi Workflow engine (giao diện 4)
Phần này sẽ trình bày nguyên lý trao đổi dữ liệu chung Một tập lệnh API
đã được đặt ra bao gồm các lời gọi đặc trưng để tiếp nhận hoặc trả về dữ liệu cóliên quan đến Workflow từ một dịch vụ enactment này tới dịch vụ enactmentkhác thông qua WAPI Các phương án của các lời gọi này sẽ được xác định cho
cả việc trao đổi dữ liệu trực tiếp hoặc gián tiếp
Việc trao đổi dữ liệu ứng dụng trực tiếp thường được sử dụng trong các hệthống Workflow hướng email Khi đó dữ liệu được chuyển một cách vật lý giữacác hành vi hoặc các ứng dụng Cách trao đổi này cũng có thể được sử dụngtrong các hệ thống Workflow hướng người dùng Việc trao đổi này không cầnxác định mối liên hệ hiện giữa các hành vi và dữ liệu ứng dụng, dữ liệu này đượctruyền như một phần của quá trình điều hướng hành vi Workflow chuẩn và đượckết nối một cách cục bộ tới ứng dụng khi nó được triệu gọi Khi có yêu cầuchuyển đổi định dạng dữ liệu giữa các hành vi, mô hình sẽ nhận ra ứng dụng đòihỏi kiểu dữ liệu nào Điều này cho phép các hệ thống được xây dựng để sử dụngcác ứng dụng Workflow không thuần nhất cung cấp việc chuyển đổi dữ liệu khicần thiết trên cơ sở các kiểu thuộc tính xác định cho những ứng dụng tương ứng.Một số dạng hệ thống Workflow không truyền dữ liệu ứng dụng giữa cáchành vi một cách vật lý Trong các hệ thống này, các dữ liệu được truy cập bởiứng dụng theo một đường truy cập phù hợp Trong trường hợp này lược đồ gọi
Trang 37tên các nhánh truy cập phải là toàn cục cho tất cả các ứng dụng có thể được triệugọi bên trong dịch vụ Workflow và quyền truy cập thích hợp phải sẵn sàng vàđược quản lý cho mỗi bản sao tiến trình đã được kích hoạt Trong kịch bản nàyviệc chuyển đổi định dạng dữ liệu có thể được mô hình hoá như một hành vi sửdụng các công cụ ứng dụng thích hợp để chuyển đổi dữ liệu.
Các hệ thống thuần nhất có thể dùng quy ước riêng đối với việc đặt tên đốitượng và các quyền truy nhập, nhưng các hệ thống không thuần nhất đòi hỏi một
sơ đồ chung Trong trường hợp này, hoặc là định nghĩa tiến trình phải bao gồmđường dẫn truy cập tham chiếu tới kho đối tượng dữ liệu ứng dụng, hoặc việcđiều hướng giữa các hành vi phải bao gồm việc truyền các đường dẫn truy cậpcần thiết tham chiếu tới mỗi đối tượng dữ liệu cần truyền giữa các hành vi
Khi việc tương tác lẫn nhau giữa các sản phẩm Workflow không thuần nhấtđược đặt ra chúng hoặc phải tuân theo cùng một cách tiếp cận để trao đổi dữ liệuứng dụng hoặc tương tác với nhau thông qua cơ chế gateway Cơ chế gateway sẽánh xạ giữa 2 cách tiếp cận hoặc xử lý sự khác nhau trong việc gọi tên đối tượng
và chuyển đổi kiểu dữ liệu bằng những kiểu chuyển đổi phù hợp
2.3.ĐỊNH NGHĨA TIẾN TRÌNH
Định nghĩa tiến trình là sự biểu diễn một tiến trình nghiệp vụ dưới dạng nào
đó nhằm hỗ trợ các thao tác tự động như mô hình hoá hay thực thi bởi hệ thốngquản lí Workflow Định nghĩa tiến trình bao gồm một số các hành vi và mối quan
hệ giữa chúng, các tiêu chuẩn để xác định điểm khởi đầu và kết thúc của một tiếntrình, và các thông tin về các hành vi riêng biệt, các đối tượng tham gia, các ứngdụng IT và dữ liệu đi kèm
Một định nghĩa tiến trình có thể chứa các tham chiếu đến tiến trình con, tiếntrình con đó là tiến trình được định nghĩa riêng biệt và là thành phần của địnhnghĩa tiến trình tổng thể
Một định nghĩa tiến trình được tạo ra sẽ chứa một tập các đối tượng và cácthuộc tính để hỗ trợ việc thực thi tiến trình đó Một số đối tượng và thuộc tính đó
sẽ được kế thừa từ các bản sao của tiến trình đã được tạo ra trước đó
2.3.1 Các công cụ định nghĩa tiến trình
Có nhiều công cụ khác nhau có thể được dùng để phân tích, mô hình hoá,
mô tả và xây dựng tài liệu một tiến trình nghiệp vụ Các công cụ đó có thể làkhông hình thức hoặc hình thức hoá cao Mô hình Workflow không đề cập đếnbản chất riêng biệt của các công cụ như vậy và cũng không biết chúng tương tácnhư thế nào trong quá trình xây dựng Các công cụ có thể được cung cấp như là
Trang 38một phần của sản phẩm Workflow hoặc như là một tập công cụ của sản phẩmBPR ( Business process reengineering ).
Khi một sản phẩm Workflow cung cấp công cụ định nghĩa tiến trình choriêng nó, các định nghĩa tiến trình có được thông thường sẽ được xử lý bên trongphạm vi của sản phẩm Workflow và có thể hoặc không thể truy cập theo mộtgiao diện lập trình để đọc và ghi thông tin Khi các sản phẩm riêng biệt được sửdụng cho việc định nghĩa và thực thi tiến trình, các định nghĩa tiến trình có thểđược chuyển đổi giữa các sản phẩm đó khi đòi hỏi hoặc được lưu trữ trong mộtkho chứa tách biệt có thể truy cập được bởi tất cả các sản phẩm
Đầu ra sau cùng của hoạt động mô hình hoá và thiết kế tiến trình là mộtđịnh nghĩa tiến trình Định nghĩa tiến trình này có thể được thông dịch tại thờiđiểm thực thi bởi Workflow engine trong dịch vụ enactment Trong các sản phẩmWorkflow ngày nay mỗi một định nghĩa tiến trình riêng lẻ thông thường ở dạngđặc trưng cho một phần mềm quản lý Workflow cụ thể được thiết kế để xử lýchúng Giao diện trao đổi định nghĩa tiến trình cho phép tính mềm dẻo hơn trongmiền này
Các công cụ phân tích, mô hình hoá và định nghĩa tiến trình có thể bao gồmkhả năng mô hình hoá các tiến trình trong ngữ cảnh của cấu trúc tổ chức (mặc dùđiều này không phải là một khía cạnh bắt buộc của mô hình tham chiếu hệ quảntrị Workflow) Khi một mô hình tổ chức được kết hợp vào trong các công cụ nhưtrên, định nghĩa tiến trình sẽ bao gồm việc tổ chức đối tượng có liên quan vớinhau như là các vai diễn Các đối tượng này liên quan đến dữ liệu điều khiển hệthống như là các vai diễn: mối quan hệ các vai diễn có thể được tham chiếu trongquá trình khai thác tiến trình
2.3.2 Giao diện 1 - Trao đổi định nghĩa Workflow
Giao diện giữa các công cụ mô hình hoá và định nghĩa tiến trình với phầnmềm quản lý Workflow trong thời gian thực hiện được gọi là giao diện xuất/nhậpđịnh nghĩa tiến trình Bản chất của giao diện này là định dạng trao đổi và các lờigọi API Định dạng trao đổi và các lời gọi API có thể hỗ trợ sự trao đổi thông tinđịnh nghĩa tiến trình thông qua các phương tiện trao đổi điện tử hoặc vật lý rấtkhác nhau Giao diện có thể hỗ trợ trao đổi toàn bộ hoặc một phần của định nghĩatiến trình
Trang 39Hình 2-9 Sự trao đổi định nghĩa tiến trình
Có các lợi ích rất rõ ràng khi sử dụng các khuôn dạng được chuẩn hoá chođịnh nghĩa tiến trình :
Đầu tiên, việc đó sẽ xác định một điểm phân tách giữa môi trường thời gianxây dựng và thời gian thực hiện Vì vậy, nó cho nhiều sản phẩm Workflow thờigian thực thi khác nhau cùng sử dụng một định nghĩa tiến trình sinh ra bởi mộtcông cụ mô hình hóa Và như vậy người sử dụng có thể chọn các công cụ môhình hoá và các sản phẩm Workflow thời gian thực hiện một cách độc lập
Thứ hai là, nó cung cấp tiềm năng tạo ra một định nghĩa tiến trình cho mộtvài sản phẩm Workflow khác nhau đồng thời hoạt động để tạo nên một dich vụenactment thời điểm thực hiện phân tán
2.3.3 Siêu mô hình cơ bản:
Hiệp hội quản lý Workflow (WFMC) đã xây dựng một siêu mô hình đểđịnh nghĩa tiến trình với một tập các kiểu đối tượng cơ sở phù hợp cho việc traođổi các định nghĩa tiến trình tương đối đơn giản Sau đó tập các đối tượng cơ bản
có thể được mở rộng bởi nhà cung cấp với các đối tượng có chức năng bổ sung
Trang 40Hình 2-5 – Siêu mô hình cơ bảnĐịnh hướng cho các thuộc tính riêng của các kiểu sẽ được định nghĩa nhưdưới đây:
Các định nghĩa kiểu workflow:
Tên tiến trình workflow
Số phiên bản
Các điều kiện bắt đầu và kết thúc tiến trình
Bảo mật, kiểm định hoặc các điều khiển dữ liệu khác
Hoạt động:
Tên hoạt động
Kiểu hoạt động (luồng con, luồng nguyên tử, …)
Các điều kiện tiếp theo và trước đó của hoạt động
Các ràng buộc danh mục khác
Các dữ liệu liên quan workflow:
Tên dữ liệu và đường dẫn
Điều kiện chuyển trạng
Tham chiếu tới Tham
chiếu tới