Giao diện 2– Giao diện Các ứng dụng Workflow phía khách

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

Trong mô hình Workflow, việc tương tác xảy ra giữa các ứng dụng khách và Workflow engine thông qua một giao diện được xác định rõ ràng với các khái niệm như Worklist (danh sách công việc) - hàng đợi của các mục công việc do Workflow Engine gán cho một người dùng cụ thể (hay một nhóm người dùng chung). Tại mức

đơn giản nhất, danh sách công việc có thể được truy cập bởi Workflow engine nhằm mục đích gán các khoản mục công việc và bởi bộ quản lý danh sách công việc để lấy ra các khoản mục công việc giao cho người dùng xử lý.

Việc kích hoạt các khoản mục công việc riêng lẻ từ danh sách công việc (ví dụ

khởi động ứng dụng và liên kết dữ liệu liên quan tới Workflow) có thểđược kiểm soát bởi ứng dụng Workflow client hay người dùng cuối. Một loạt các thủ tục được xác

định giữa ứng dụng Workflow client và dịch vụ Workflow enactment để cho phép: bổ

sung các hành động vào trong danh sách công việc, loại bỏ các hành động đã hoàn thành khỏi danh sách công việc, dừng tạm thời một số hành động.

Việc triệu gọi ứng dụng có thể được điều khiển từ bộ quản lý danh sách công việc, hoặc dưới sự kiểm soát trực tiếp của người dùng cuối. Phần này sẽ được đề cập chi tiết trong giao diện 3 - giao diện triệu gọi ứng dụng.

Một danh sách công việc có thể chứa nhiều khoản mục liên quan đến một vài bản sao đã được kích hoạt khác nhau của một tiến trình đơn lẻ hoặc các khoản mục cụ thể

từ việc kích hoạt một vài tiến trình khác nhau. Bộ quản lý danh sách công việc phải có tiềm năng tương tác với một vài Workflow engine và một vài dịch vụ enactment khác nhau.

Để hỗ trợ các cách tiếp cận khác nhau cho việc xây dựng các ứng dụng, giao diện giữa ứng dụng Workflow client và Workflow engine phải có các thành phần như sau:

• Bộđịnh danh các tiến trình và hành động • Tên và địa chỉ tài nguyên

• Tham chiếu dữ liệu và cấu trúc dữ liệu • Các cơ chế truyền thông có thể có

WFMC đặc tả một tập chuẩn các API được sử dụng trong một khuôn khổ thống nhất để truy cập từ một ứng dụng Workflow tới Workflow engine và danh sách công việc bất chấp bản chất việc cài đặt thực tế của sản phẩm.

Cách tiếp cận tổng quát cho API ứng dụng khách được chỉ ra trong hình dưới. Dịch vụ Workflo w Enactment Workflow Engine(s) Client Appilication Ứng dụng được gọi User Interface

Chuẩn hoá APIs & Interchange

Tập hợp lệnh Kết nối/huỷ kết nối Chức năng điều khiển tiến trình và hoạt động Chức năng trạng thái tiến trình Các lệnh thao tác Worklist Hình 2-3 Giao diện ứng dụng khách

Các APIs cho ứng dụng máy khách được nhóm theo các lĩnh vực chức năng khác nhau:

Thiết lập session

• Kết nối/ huỷ kết nối của các session giữa các hệ thống tham gia

Các hoạt động định nghĩa Workflow

• Lấy lại/ truy vấn (với các tiêu chuẩn chọn lọc để chọn) trên tên hay thuộc tính

định nghĩa tiến trình.

• Tạo/ khởi động/ kết thúc một tiến trình riêng lẻ cụ thể

• Đình chỉ/ bắt đầu lại một tiến trình riêng lẻ

• Ép buộc thay đổi một trạng thái trong một tiến trình đơn lẻ hay một hoạt động • Gắn hay truy vấn một thuộc tính của một tiến trình hoặc một hoạt động

Các chức năng trạng thái tiến trình

• Mở/đóng một tiến trình hay một hoạt động truy vấn, thiết lập để chọn lọc các tiêu chuẩn.

• Nắm bắt chi tiết tiến trình hay hoạt động, lọc những thông tin quan trọng • Nắm bắt chi tiết một tiến triến trình hoặc hoạt động cụ thể (đơn lẻ)

Các chức năng quản lý danh sách công việc/ khoản mục công việc

• Mở/đóng một truy vấn danh sách công việc, thiết lập để chọn lọc các tiêu chuẩn

• Nắm bắt các danh mục danh sách công việc, chọn lọc những thông tin quan trọng (adsbygoogle = window.adsbygoogle || []).push({});

• Khai báo sự lựa chọn/ gán lại/ hoàn thành một mục công việc cụ thể

• Gán hay truy vấn một thuộc tính mục công việc

Các chức năng giám sát tiến trình

• Thay đổi trạng thái hoạt động của một định nghĩa tiến trình Workflow và/hoặc tiến trình hiện còn hoạt động.

• Thay đổi trạng thái của toàn bộ tiến trình hoặc hoạt động của một loại cụ thể

• Gán các thuộc tính tới tất cả các tiến trình hay hoạt động của một loại cụ thể

• Chấm dứt toàn bộ tiến trình

Các chức năng điều khiển dữ liệu

• Lấy lại/ trả về dữ liệu liên quan hay ứng dụng Workflow

Các chức năng quản trị

Hỗ trợ thêm các chức năng quản lý thông qua WAPI để có thể phù hợp cho các

ứng dụng khách nào đó.

Sự triệu gọi ứng dụng

Các chức năng được giới thiệu ở trên cung cấp một mức chức năng cơ bản để hỗ

trợ triệu gọi ứng dụng nhờ bộ điều khiển danh sách công việc. Một số câu lệnh được

đưa ra cho chức năng triệu gọi ứng dụng cũng có thể có liên quan và được sử dụng cho môi trường ứng dụng khách.

CHÚ Ý — Hiện tại, WFMC đã kết hợp đặc tả của hai giao diện 2 và 3 với nhau

2.4.3.Giao diện 3 – Giao diện Triệu gọi ứng dụng

Giao diện triệu gọi ứng dụng định nghĩa một giao diện thực thi giữa các hệ thống quản lý Workflow và bất kì một ứng dụng khác, có sự khác biệt với các giao diện khác

mà WFMC định nghĩa. Triệu gọi một ứng dụng không phải là một chức năng đặc trưng của Workflow, nhưng một hệ thống Workflow mà không có chức năng này thì sẽ không nhiều ý nghĩa. Vì vậy, giao diện này đối với các nhà cung cấp hệ thống Workflow như một nhà cung cấp phần mềm thứ ba.

Bất kỳ cài đặt cụ thể nào của hệ thống quản lý Workflow nào cũng có thể hiểu

được làm thế nào để triệu gọi những ứng dụng tiềm năng, đang tồn tại trong môi trường sản phẩm không thuần nhất. Điều này đòi hỏi phải đáp ứng được việc triệu gọi trong tất cả các nền và môi trường mạng, cũng như phương tiện truyền dữ liệu ứng dụng hay dữ liệu liên quan tới Workflow trong một phương pháp mã hóa và định dạng chung (hoặc chuyển đổi nó sang môi trường ứng dụng riêng biệt).

Tuy nhiên rất nhiều hệ thống Workflow còn giới hạn về lĩnh vực của ứng dụng, ở đây kiểu dữ liệu là tuyệt đối và có thể trực tiếp kết hợp với công cụ ứng dụng riêng biệt như xử lý từ hoặc bảng tính. Trong trường hợp khác việc vận hành triệu gọi ứng dụng riêng rẽ có thể được hoàn thành qua một cơ chế trao đổi chuẩn như giao thức OSI TP hoặc X.400. Một vài sự thực thi sử dụng khái niệm “Ứng dụng Agent” (Tool Agent) để chứa nhiều phương thức triệu gọi đằng sau giao diện chuẩn tới dịch vụ

Workflow Enactment.Có công cụ ứng dụng phát triển khả năng Workflow, ứng dụng này sử dụng chuẩn API kết nối với dịch vụ Workflow Enactment để chấp nhận dữ liệu

ứng dụng, đăng ký và trả lời các sự kiện hành động vvv. Các API có thể sử dụng trực tiếp bởi công cụ ứng dụng hoặc một ứng dụng Agent, tiến trình thực thi bắt đầu bằng tương tác với ứng dụng kế thừa có khả năng Workflow hoặc các ứng dụng khác được viết mà không có khả năng Workflow.

Một vài kiểu giao diện cho ứng dụng được triệu gọi được xác định theo bảng sau.

Bảng 2-1 Giao diện cho ứng dụng được triệu gọi

Kiểu giao diện thích hợp luồng công việc Truy nhập dữ liệu Chuẩn tham gia

Gọi tiến trình nội bộ File nội bộ Không Khung kịch bản File nội bộ Môi trường POSIX Gọi ORB (Đối tượng liên

kết và bắt đầu dịch vụ ) (adsbygoogle = window.adsbygoogle || []).push({});

Qua sự diễn tả (gọi tham số ) Có Gọi sự thực thi từ xa Qua sự diễn tả (gọi tham số ) Có Chuyển tin nhắn (X.400) Gắn vào hoặc thông qua diễn tả Có Giao dịch Gắn vào hoặc thông qua diễn tả Có

Tổ chức WfMC tập trung vào phát triển danh sách kiểu giao diện cùng với tập APIs để sử dụng cho ứng dụng Workflowriêng biệt trong tương lai.

a.Giao diện triệu gọi ứng dụng

Hình sau chỉ phạm vi của giao diện định dùng cho Ứng dụng Agent và nhiều ứng dụng được thiết kế có khả năng Workflow.

Dịch vụ Workflow Enactment Workflow Engine Agent ứng dụng Cácứng dụng được triệu gọi Các ứng dụng có khả năng WF Các giao diện ứng dụng đặc thù (Cục bộ hay từ xa có nhiều biến thể)

Các trao đổi và API được chuẩn hóa

Hình 2-4 Giao diện ứng dụng được triệu gọi

Trong trường hợp đơn giản, sự triệu gọi ứng dụng được Workflow engine quản lí một cách cục bộ dựa trên các thông tin bên trong định nghĩa tiến trình xác định bản chất của hành động, các kiểu ứng dụng được triệu gọi và bất kỳ yêu cầu dữ liệu nào.

Ứng dụng được triệu gọi có thể là cục bộ đối với Workflow engine và nằm trên cùng một nền với Workflow engine hoặc nằm trên một nền mạng truy cập được tách biệt;

định nghĩa tiến trình chứa những thông tin đầy đủ về kiểu ứng dụng và địa chỉđể triệu gọi ứng dụng. Trong trường hợp này các quy định về việc đặt tên và đánh địa chỉ ứng dụng là cục bộ giữa định nghĩa tiến trình và Workflow engine.

Phần dưới đây sẽ đưa ra phác thảo của tập các câu lệnh có thể áp dụng cho các chức năng triệu gọi ứng dụng :

Thiết lập phiên làm việc:

Các chức năng quản lý hành động: (Workflow engine tới ứng dụng) • Bắt đầu chạy hành động (Workflow engine tới ứng dụng). • Tạm ngưng / Khôi phục / Loại bỏ hành vi. • Cảnh báo hành động đã hoàn thành. • Sự kiện báo động (đồng bộ hoá). • Truy vấn các thuộc tính của hành động. Các chức năng quản lí dữ liệu:

• Cung cấp các dữ liệu liên quan đến Workflow. • Cung cấp dữ liệu ứng dụng hoặc địa chỉ của dữ liệu.

Trong các tình huống phức tạp hơn gồm có sự tương tác giữa các Workflow engine không thuần nhất, người ta đòi hỏi rằng các thông tin triệu gọi ứng dụng được truyền giữa các Workflow engine hoặc như là một phần của trao đổi trong thời gian thực hiện hoặc nhờ việc nhập vào các phần của định nghĩa tiến trình sau giai đoạn phát triển tiến trình.

b.Tool Agent

Dựa trên các công nghệ kết nối khác nhau, các “Tool Agent” có thể điều khiển các ứng dụng và thông tin trao đổi. Tool Agent dùng ít nhất một công nghệ triệu gọi nhất định, chẳng hạn là các câu lệnh DDE, giao thức OLE, CORBA….

Công nghệđể tương tác giữa một Tool Agent và một ứng dụng tương đương độc lập với mức dưới của kiến trúc và ứng dụng- các giao diện cụ thểđược quản lí dưới sự điểu khiển Tool Agents. Giao diện triệu gọi xác định cách Tool Agent được sử dụng bởi ứng dụng Workflow ví dụ như một worklist handler hoặc Workflow engine. Cuối cùng, mục đích của Tool Agents có thể được so sánh với mục đích của các thành phần phần mềm đã được chuẩn hóa..

Tập các chức năng giao diện ứng dụng cung cấp các dịch vụ tới Tool Agents,để

Tool Agent có thể triệu gọi và điều khiển các ứng dụng được kết hợp với các mục công việc.

Giao diện triệu gọi ứng dụng định nghĩa tập API, các API này ở mức cao và được sử dụng bởi các thành phần hệ thống Workflow (engine và ứng dụng khách) để chỉ ra driver ứng dụng được gọi bởi Tool Agents. Tool Agents có thể bắt đầu, kết thúc hoặc ngừng các ứng dụng, nó chuyển Workflow và các thông tin liên quan ứng dụng tới ứng dụng hoặc từ các ứng dụng tới Workflow và điều khiển các mức trạng thái ứng dụng

đang chạy. Vì thế giao diện triệu gọi ứng dụng WAPI chỉ được định hướng dựa vào Tool Agent. Tuy nhiên, thông tin thêm vào có thểđược yêu cầu bởi ứng dụng qua Tool

Agent sử dụng các chức năng chuẩn của WAPI. Như vậy giao diện có thể nắm giữ được các yêu cầu hai chiều (các yêu cầu tới ứng dụng và từ ứng dụng), nó phụ thuộc vào các giao diện và kiến trúc các ứng dụng làm thể nào để tương tác với một Tool Agent.

Giao diện này cho phép yêu cầu và cập nhật dữ liệu ứng dụng và nhiều chức năng liên quan khác trong thời gian chạy.

Hệ thống Workflow biết sự cài đặt Tool Agents. Kiến trúc cơ bản của Tool Agent cũng có thể so sánh với các driver-interface ví dụ ODBC ….Trong phạm vi giao diện, không có nhiều kĩ thuật kết nối giữa Tool Agents và hệ thống Workflow.

c.Các ứng dụng có khả năng Workflow

Ứng dụng có khả năng Workflow là ứng dụng có chức năng Workflow được gắn vào hệ thống. Trong những hệ thống này, Workflow không thểđịnh nghĩa lại tiến trình

được mà những định nghĩa này là cứng trong hệ thống, nó được nhà cung cấp định sẵn để phản ánh những tiến trình được mọi người thừa nhận ví dụ như tiến trình phát triển dự án: lấy yêu cầu người dùng - phân tích thiết kế - mã hóa – kiểm thử - vận hành và bảo trì. Và ứng dụng sẽ thực thi xuyên suốt theo kịch bản của những tiến trình như

vậy. Việc cài đặt ứng dụng này tùy theo nhà khai thác sản phẩm Workflow và yêu cầu của từng khách hàng.

2.4.4.Giao diện 4 – Giao diện Phối hợp hoạt động (adsbygoogle = window.adsbygoogle || []).push({});

Một mục tiêu quan trọng của WFMC là định nghĩa các chuẩn cho phép các hệ

quản lý workflow của các nhà cung cấp khác nhau có thể trao đổi các mục công việc một cách trơn chu với nhau.

Các sản phẩm workflow rất đa dạng, từ những hệ quản lý workflow được sử

dụng cho việc định tuyến không dự tính trước của các công việc hoặc dữ liệu, cho đến các hệ quản lý workflow được sử dụng cho các tiến trình sản xuất đòi hỏi tuân thủ

nguyên tắc chặt chẽ. Với nỗ lực chuẩn hóa khả năng phối hợp hoạt động, WFMC xác

định không bắt buộc các nhà cung cấp sản phẩm workflow phải chọn lựa giữa việc cung cấp một sản phẩm mạnh tập trung vào nhu cầu của khách hàng và việc từ bỏ sức mạnh của các hệ quản lý workflow này đểđổi lấy khả năng phối hợp hoạt động.

Công việc của WFMC do đó tập trung vào việc phát triển một số tình huống phối hợp hoạt động ở một số mức độ, từ việc đơn gian như trao đổi công việc cho đến phức tạp như phối hợp hoạt động ứng dụng workflow với việc hoàn thiện trao đổi định nghĩa tiến trình, dữ liệu liên quan workflow và các giao diện cảm quan (look and feel) chung. Với nhiệm vụ này, ban đầu các tình huống phối hợp hoạt động đơn giản sẽ

được hỗ trợ, các tình huống phức tạp hơn đòi hỏi các công việc kế tiếp trong các định nghĩa phối hợp hoạt động.

Mặc dù có thể coi việc phát triển của các tình huống phối hợp hoạt động rất phức tạp trong đó một số engine của các nhà cung cấp khác nhau phối hợp để thực hiện một dịch vụ enactment riêng, tình huống này không có khả năng thực hiện trong tương lai gần, vì nó đòi hỏi tất cả các engine đều có thể thông dịch một định nghĩa tiến trình chung và chia sẻ một tập chung các dữ liệu điều khiển workflow, kết quả là việc bảo trì một khung nhìn chia sẻ của các trạng thái xử lý giữa các engine điều khiển workflow không đồng nhất. Một mục tiêu hiện thực hơn trong tương lai gần là khả

năng trao đổi các phần của một tiến trình để hỗ trợ trong thời gian thực thi của một dịch vụ enactment khác.

Bốn mô hình phối hợp hoạt động có thể xảy ra trong thực tế đã được xác định, bao gồm các mức độ (đang tăng lên) của khả năng phối hợp hoạt động.

Phần sau giới thiệu các mô hình phối hợp tiềm năng; các minh họa sử dụng các ô vuông để ám chỉ các công việc (task) và hành động (activity), được đánh bóng khác nhau để biểu thị các công việc được phối hợp bởi các dịch vụ workflow enactment riêng lẻ.

a.Tình huống 1 – Kết nối các thành phần rời rạc (Liên kết móc xích)

Mô hình này cho phép một điểm kết nối trong tiến trình A kết nối tới một điểm

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