Luận văn Ứng dụng thử nghiệm Mobile Agent và xây dựng Workflow

Mục lục

Mục lục hình ________________________________________________________ 1

Mục lục bảng________________________________________________________ 3

Bảng chú giải _______________________________________________________ 5

Tóm tắt luận văn _____________________________________________________ 6

Chương 1: Giới thiệu đềtài ____________________________________________ 7

Chương 2: Khái niệm và nguyên lý hoạt động của Mobile Agent ______________ 9

1. Tổng quát vềsoftware agent _____________________________________________9

1.1. Nguồn gốc _______________________________________________________________ 9

1.2. Khái niệm ______________________________________________________________ 10

1.3. Các tính năng của agent: ___________________________________________________ 11

1.4. Phân loại agent __________________________________________________________ 12

2. Mobile Agent và nguyên lý hoạt động_____________________________________14

2.1. Khái niệm Mobile Agent___________________________________________________ 14

2.2. Tính chất mobile agent: ____________________________________________________ 15

2.3. Một sốhệthống MA: _____________________________________________________ 15

2.4. Nguyên lý hoạt động ______________________________________________________ 19

2.5. Agent Host : ____________________________________________________________ 25

2.6. Ích lợi của mobile agent ___________________________________________________ 26

2.7. Môi trường ứng dụng mobile agent___________________________________________ 27

2.8. Bảo mật ________________________________________________________________ 29

3. Tổng quát vềAglet ____________________________________________________30

3.1. Khái niệm ______________________________________________________________ 30

3.2. Tính chất _______________________________________________________________ 31

3.3. Cách cài đặt và sửdụng Aglet trên môi trường Window__________________________ 31

3.4. Aglet LifeCycle __________________________________________________________ 38

3.5. Aglet API ______________________________________________________________ 40

Chương 3: Khái niệm và các mô hình WorkFlow _________________________ 43

1. Khái niệm ___________________________________________________________44

2. Ích lợi áp dụng workflow: ______________________________________________44

3. Các dạng workflow ____________________________________________________45

3.1. Các dạng đơn giản: _______________________________________________________ 45

3.2. Các dạng nâng cao: _______________________________________________________ 48

4. Kết hợp kĩthuật MA và workflow _______________________________________56

4.1. Ích lợi _________________________________________________________________ 56

4.2. Các hướng nghiên cứu tích hợp hệthống mobile agent và workflow _________________ 56

Chương 4: Xây dựng ứng dụng ________________________________________ 58

1. Giới thiệu ứng dụng ___________________________________________________58

1.1. Cơcấu tổchức trong cơquan:_______________________________________________ 58

1.2. Các cách giải quyết vấn đề: _________________________________________________ 60

1.3. Yêu cầu cơbản của hệthống: _______________________________________________ 62

1.4. Các đối tượng sửdụng hệthống:_____________________________________________ 62

1.5. Cấu trúc hệthống ________________________________________________________ 62

1.6. Kiến trúc hệthống: _______________________________________________________ 64

1.7. Quy trình nghiệp vụcủa từng đối tượng sửdụng:________________________________ 65

1.8. Yêu cầu cụthểcác chức năng _______________________________________________ 66

1.9. Cách thức xửlý văn bản ___________________________________________________ 66

1.10. Vấn đềmerge dữliệu: ____________________________________________________ 68

1.11. Các xửlý tình huống _____________________________________________________ 70

2. Phân tích, thiết kế ứng dụng ____________________________________________73

2.1. Phân tích module FormDesigner _____________________________________________ 73

2.2. Thiết kếmodule Form Designer _____________________________________________ 82

2.3. Phân tích module WorkFlow Designer ________________________________________ 99

2.4. Thiết kếchương trình WorkFlow Designer_____________________________________110

2.5. Phân tích chương trình Manager Agent________________________________________119

2.6. Thiết kếchương trình Agent Manager ________________________________________123

Chương 5: Cài đặt và thửnghiệm _____________________________________ 138

1. Cài đặt hệthống _____________________________________________________138

1.1. Cài đặt và sửdụng Form Designer ___________________________________________138

1.2. Cài đặt và sửdụng Workflow Designer _______________________________________140

1.3. Cài đặt và sửdụng Agent Manager ___________________________________________141

2. Thửnghiệm hệthống _________________________________________________145

2.1. Nhận xét chương trình Manager Agent ________________________________________145

2.2. Nhận xét hệthống ________________________________________________________145

Chương 6: Đánh giá kết quả_________________________________________ 146

1. Đánh giá luận văn ____________________________________________________146

2. Đánh giá ứng dụng ___________________________________________________146

2.1. Kết quả đạt được _________________________________________________________146

2.2. Một vài hạn chếcủa hệthống _______________________________________________147

3. Hướng phát triển ____________________________________________________147

4. Kết luận ____________________________________________________________148

pdf154 trang | Chia sẻ: maiphuongdc | Lượt xem: 1648 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Ứng dụng thử nghiệm Mobile Agent và xây dựng Workflow, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
kflow phân định rõ quan hệ và trách nhiệm trong công việc do nó tạo ra những phần công việc riêng. 9 Theo dự đoán, workflow sẽ tạo nên những phương pháp, những kĩ thuật từ nhiều nguồn trong khoa học máy tính cũng như quản trị học. Ví dụ, kĩ thuật workflow liên quan đến quản trị cơ sở dữ liệu, tính toán client-server, giao diện Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 45 người dùng, ứng dụng và kết hợp các hệ thống phụ, quản lý tài liệu, giả lập, tái cấu trúc và thực tập kinh doanh 3. Các dạng workflow Có rất nhiều dạng workflow từ đơn giản đến nâng cao. Ở góc độ thử nghiệm của luận văn, ứng dụng sẽ chỉ áp dụng các dạng workflow đơn giản. 3.1. Các dạng đơn giản: 3.1.1. Tuần tự (Sequence): Mô tả: một hoạt động trong luồng công việc được kích hoạt ngay sau khi 1 hoạt động khác kết thúc trong cùng 1 tiến trình. Ví dụ: hành vi gửi hóa đơn được thực hiện ngay sau hành vi gửi hàng hóa Cài đặt: dạng tuần tự được sử dụng để mô hình các bước liên tiếp trong cùng 1 tiến trình của luồng công việc. Mô hình: Hình 18: Mô hình Workflow Tuần tự Chú thích: Công việc B được thực hiện sau khi công việc A đã được hoàn thành. 3.1.2. Phân luồng song song (Parallel Split) Mô tả: 1 điểm trong 1 tiến trình của luồng công việc là nơi 1 công việc được tách thành nhiều công việc con. Các công việc con có thể được tiến hành đồng thời cùng lúc với nhau (song song nhau). Ví dụ: Sau khi hành vi nhận tiền hoàn thành, hành vi gửi hàng và hành vi xuất hóa đơn sẽ được kích hoạt và tiến hành đồng thời Mô hình: Công việc A Công việc B Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 46 Hình 19: Mô hình Workflow song song 3.1.3. Đồng bộ hoá Mô tả: 1 điểm trong luồng công việc là nơi các tiến trình hay các công việc con nhập lại làm 1 tiến trình hay công việc đơn. Trong dạng mô hình này, tất cả các luồng đi vào phải chờ nhau tại điểm đồng bộ hóa. Ví dụ: Sau khi hành vi gửi hàng và xuất hóa đơn được thực hiện, hành vi lưu trữ mới được kích hoạt. Mô hình: Hình 20: Mô hình workflow Đồng bộ hóa Chú thích: A và B phải hoàn thành thì C mới được kích hoạt 3.1.4. Phép chọn loại trừ (Exclusive Choice) Mô tả: tại 1 điểm trong luồng công việc sẽ diễn ra sự lựa chọn công việc nào sẽ được kích hoạt tiếp theo trong 1 loạt các công việc kế tiếp Ví dụ: Sau khi công việc kiểm thử phần mềm được thực hiện, dựa vào kết quả kiểm thử sẽ quyết định công việc tiếp theo là lập trình hay đóng gói phần mềm. Công việc A Công việc B Công việc C Công việc A Công việc B Công việc C AND Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 47 Mô hình: Hình 21: Mô hình workflow Chọn lọai trừ Chú thích: Chỉ có hoặc B hoặc C được thực hiện, không thể tiến hành đồng thời cả hai. 3.1.5. Trộn đơn giản (Simple Merge) Mô tả: 1 điểm trong luồng công việc là nơi 2 hay nhiều nhánh gặp nhau, không có sự đồng bộ hóa giữa các nhánh. Ví dụ: Công việc lưu trữ được thực hiện sau khi công việc gửi hóa đơn hoặc công việc nhận hóa đơn được thực hiện. Mô hình: Hình 22: Mô hình workflow Trộn đơn giản Chú thích: chỉ cần 1 trong 2 công việc A hoặc B được hoàn thành thì công việc C sẽ được kích hoạt Công việc A Công việc C Công việc B Lựa chọn B hay C Công việc A Công việc B Công việc C Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 48 3.2. Các dạng nâng cao: 3.2.1. Chọn đa nhánh (Multi-Choice) Mô tả: Một điểm trong tiến trình là nơi mà một hoặc nhiều nhánh được chọn theo một quyết định hoặc dựa trên dữ liệu của nghiệp vụ.Mẫu này khác với mẫu 2.4.1.4 (chọn loại trừ) có thể chọn một hoặc nhiều nhánh được chọn ra và thực thi, tương tự như phép XOR. Các ví dụ:Sau khi thực hiện hành vi đánh-giá-thiệt-hại, hành vi “liên hệ phòng cứu hỏa” hoặc hành vi “liên hệ công ty bảo hiểm” được thực hiện. Ít nhất một trong hai hành vi này được thực hiện. Tuy nhiên, cũng có thể là cả hai cần được thực hiện. Mô hình: Hình 23: Mô hình workflow Chọn đa nhánh 3.2.2. Trộn đồng bộ hoá Mô tả: Một điểm trong tiến trình là nơi nhiều nhánh hội tụ lại thành một tiến trình duy nhất. Nếu có nhiều hơn một nhánh thực thi, việc đồng bộ hóa (việc đợi nhau giữa các nhánh ) được thực hiện. Nếu chỉ có một nhánh được thực thi, các nhánh khác có thể hội tụ mà không cần đồng bộ hóa. Trong mẫu này nếu có một nhánh đã được kích hoạt, thì nó không thể kích hoạt lại lần nữa trong khi còn đang đợi các nhánh khác hoàn tất. Mẫu này khác với mẫu Đồng bộ hóa ở chỗ nó đồng bộ dựa trên số nhánh thực sự được kích hoạt lúc thực thi. Còn mẫu Đồng bộ hóa bắt buộc tất cả các nhánh đi ra khỏi nút AND phân luồng (AND-Split) phải đều được thực hiện. Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 49 Các ví dụ: Mở rộng ví dụ trong mẫu 6 (chọn đa nhánh), sau khi một hoặc cả hai hành vi liên-hệ-phòng-chữa-cháy và liên-hệ-công-ty-bảo-hiểm đã hoàn tất (dựa trên việc nó có được thực thi hay không), hành vi trình-báo-cáo phải được thực hiện (chỉ duy nhất một hành vi) Mô hình: Hình 24: Mô hình workflow Trộn đồng bộ hóa 3.2.3. Trộn đa nhánh Mô tả: Một điểm trong tiến trình là nơi hai hoặc nhiều nhánh hội tụ lại và không được đồng bộ hóa. Nếu nhiều hơn một nhánh được kích hoạt, ngay lập tức hành vi sau điểm trộn sẽ bắt đầu đối với mỗi kích hoạt của mỗi nhánh vào. Mẫu này chính là thể hiện cho cơ chế trộn phục vụ cho mục đích dùng chung cho các thành phần trong quy trình. Các ví dụ: Thỉnh thoảng hai hay nhiều nhánh có cùng điểm kết thúc. Thay vì lặp lại tiến trình này cho mỗi nhánh (có thể phức tạp), ta dùng mẫu trộn đa nhánh. Ví dụ đơn giản của trường hợp này là 2 hành vi “kiểm tra đơn xin việc” và “xử lý đơn xin việc” cùng thực hiện song song và thực hiện trước hành vi “đóng trường hợp”. Mô hình: Hình 25: Mô hình workflow Trộn đa nhánh Công việc A Công việc B Công việc C Công việc A Công việc B Công việc C Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 50 3.2.4. Discriminator Mô tả: Mẫu Discriminator là một điểm trong tiến trình làm nhiệm vụ đợi đến khi một trong các nhánh hoàn tất sau đó mới kích hoạt các hành động tiếp theo. Từ đó trở đi, nó vẫn cho phép các nhánh vào còn lại hoàn tất nhưng “phớt lờ” chúng. Trong trường hợp tất cả các nhánh hoàn tất, nó trở về tình trạng ban đầu để có thể được kích hoạt lại lần nữa. Các ví dụ: Để làm tăng tốc độ phản hồi, hai yêu cầu tìm kiếm được gửi đến 2 cơ sở dữ liệu trên Internet. Kết quả nào đến trước sẽ tiếp tục luồng công việc. Cái còn lại sẽ không được quan tâm. Mô hình: Hình 26: Mô hình workflow Discrimator 3.2.5. Các vòng lặp tuỳ ý Mô tả:Một điểm trong tiến trình là nơi các hành vi được thực hiện lặp lại nhiều lần. Mẫu này là thể hiện cho cơ chế lặp cấu trúc. Trong mẫu này việc lặp thường được quyết định bởi các điều kiện hoặc lựa chọn. Các ví dụ:Tiến trình xem xét sản phẩm : trong tiến trình này vòng lặp các hoạt động Make,Read, Note, Approve là một vòng lặp cấu trúc. Mô hình: Hình 27: Mô hình workflow Các vòng lặp tùy ý Công việc A Công việc B Công việc C Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 51 3.2.6. Kết thúc không tường minh Mô tả: Một tiến trình phải được chấm dứt khi không còn gì để thực hiện tiếp. Nói cách khác, không còn hành vi nào đang thực hiện trong workflow và không có hành vi nào sẽ được kích hoạt (tuy nhiên workflow không ở trong tình trạng deadlock). Mẫu này thường được thể hiện trong các ngôn ngữ mô hình hóa không bắt buộc điều kiện : “mọi tiến trình hoặc tiến trình con phải có nút quy định cuối cùng trong mô hình”. Mẫu này gọi là kết thúc không tường minh, bởi vì ràng buộc kết thúc của nó không bắt buộc tiến trình công việc phải thực hiện đến điểm cuối, mà chỉ dựa trên số công việc còn có khả năng được thực hiện. Các ví dụ: Trong một công việc có nhiều hoạt động thực hiện, giả sử đang thực hiện đến một công việc kế cuối. Nếu ta áp dụng mẫu 2.4.2.14 (Withdraw) thì trong tiến trình đang làm sẽ không còn hoạt động nào phải làm tiếp. Khi đó tiến trình công việc sẽ kết thúc mà không cần phải đợi phải thực hiện hoạt động cuối cùng (đã bị hủy) 3.2.7. Đa thể hiện không đồng bộ Mô tả: Mẫu này mô tả một hành vi có thể có nhiều thể hiện. Nếu hành vi có thể kích hoạt các thể hiện của nó, thì mỗi thể hiện của hành vi này sẽ tạo một tiến trình (một thể hiện luồng) riêng biệt được điều khiển độc lập với các thể hiện luồng khác phát sinh từ hành vi này. Hơn nữa, không cần thiết phải đồng bộ các thể hiện luồng này. Các ví dụ: Một khách hàng đang đặt một cuốn sách từ quầy sách điện tử như Amazon có thể đặt mua các quyển sách khác ở cùng một thời điểm. Rất nhiều hành vi (ví dụ: lập hóa đơn, cập nhật thông tin khách hàng, …) được thực hiện khi khách hàng đặt hàng. Tuy nhiên, cần phải có nhiều thể hiện để điều khiển các hoạt động thuộc về một cá nhân đặt hàng (ví dụ như cập nhật hàng dự trữ, giao hàng). Mẫu này có thể dùng trong trường hợp các hoạt động đặt hàng không cần phải đồng bộ. Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 52 3.2.8. Đa thể hiện với thông tin biết trước ở thời điểm thiết kế Mô tả: Trong một thể hiện của tiến trình, hành vi có thể được kích hoạt nhiều lần. Số các thể hiện của một hành vi trong một tiến trình cho trước biết được ở thời điểm thiết kế. Khi các thể hiện hoàn tất thì hành vi khác mới được bắt đầu. Ví dụ: Việc cấp giấy phép đối với các chất liệu nguy hiểm yêu cầu phải có 3 loại giấy phép khác nhau. Điều này có nghĩa là hoạt động cấp giấy phép được xác định số lần thực hiện trước là 3 lần (ở thời điểm thiết kế). 3.2.9. Đa thể hiện với thông tin biết trước ở thời điểm thực thi Mô tả: Là trường hợp một hành vi được kích hoạt nhiều lần. Số các thể hiện của một hành vi có thể biến đổi, tuy nhiên sẽ được xác định ở thời điểm thực hiện, trước khi các thể hiện của hành vi được tạo ra. Một khi tất cả thể hiện hoàn tất, hành vi khác sẽ được bắt đầu. Ví dụ: trong việc kiểm tra tiến độ thực hiện phần mềm, số lần kiểm tra phụ thuộc vào độ phức tạp của từng đề án cụ thể, nguồn nhân lực, mức độ rủi ro. Hoạt động kiểm tra hoàn toàn không thể xác định lúc thiết kế quy trình phần mềm, mà chỉ được quyết định việc kiểm tra bao nhiêu lần khi đã vào giai đoạn triển khai quy trình nghiệp vụ cho một phần mềm xác định. 3.2.10. Đa thể hiện không biết trước thông tin Mô tả: Dùng cho trường hợp hành vi được kích hoạt nhiều lần. Số thể hiện của hành vi cho trước không biết được trong thời điểm thiết kế và trong thời điểm thực thi - trước khi các thể hiện được tạo ra. Các thể hiện của hành vi có thể được tạo ra một cách tùy ý. Một khi tất cả các thể hiện hoàn tất, hành vi kế tiếp mới được bắt đầu. Sự khác biệt của mẫu này so với mẫu 14 là khi có một vài thể hiện được thực thi hoặc đã hoàn tất, những thể hiện mới vẫn có thể được tạo ra. Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 53 Các ví dụ: Để xử lý một trường hợp bảo hiểm, có thể có hoặc không có nhiều bản tường trình của các nhân chứng được xử lý. Số lượng bản tường trình là có thể thay đổi. Thậm chí khi đang xử lý các bản tường trình, nhân chứng mới lại xuất hiện và số bản tường trình lại tăng lên. Như vậy việc xử lý các bản tường trình là không thể biết trước được số lần thực hiện dù ở mức thiết kế (mô hình hóa) hay thực thi. Chỉ khi triển khai nghiệp vụ, bao giờ không còn công việc xử lý bản tường trình nào thì hoạt động xử lý tường trình mới kết thúc. 3.2.11. Chọn lựa bị trì hoãn Mô tả: Một điểm trong tiến trình là nơi một trong số các nhánh được chọn. Không giống như tách – XOR, nhánh được chọn không được thực hiện ngay (dựa trên dữ liệu hoặc quyết định) mà có nhiều nhánh tương tự được tạo ra. Tuy nhiên, chỉ có một nhánh được thực thi. Khi môi trường thực hiện kích hoạt một nhánh, các nhánh khác sẽ bị hủy. Việc chọn nhánh bị hoãn cho đến khi việc xử lý một trong các nhánh tương tự thực sự bắt đầu. Đó là thời điểm hủy các nhánh còn lại. Mẫu này tương tự như Discriminator, tuy nhiên có 2 điểm khác biệt: Discriminator dùng trong cơ chế trộn. Discriminator vẫn cho phép thực hiện các công việc của những nhánh còn lại, nhưng việc thực hiện các nhánh này sẽ không dẫn đến kích hoạt hoạt động kế tiếp. Ví dụ: Các chuyến công tác cần được phê chuẩn trước khi thực hiện. Có hai cách để phê chuẩn một nhiệm vụ : hoặc là trưởng phòng phê chuẩn nhiệm vụ (hành vi A) hoặc cả quản lý dự án (hành vi B) phê chuẩn nhiệm vụ. Hai hành vi này được thực thi duy nhất chỉ một, và việc chọn lựa giữa A và B là không tường minh, nghĩa là ở cùng một thời điểm các hành vi A và B được gửi đến trưởng phòng và quản lý dự án. Tại thời điểm mà một trong hai hành vi này được chọn lựa hoàn tất, hành vi còn lại sẽ biến mất. Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 54 3.2.12. Đường vào song song Mô tả: Một tập các hành vi được thực hiện theo thứ tự tùy ý sau : đối với mỗi hành vi trong tập, việc thực thi được xác định vào thời điểm chạy, và không có hành vi nào được thực hiện cùng lúc (có nghĩa là không có 2 hành vi nào được thực hiện trong cùng một thể hiện của workflow ở cùng một thời điểm). Các ví dụ:Hải quân đòi hỏi các ứng viên phải thực hiện 2 cuộc kiểm tra: “kiểm tra thể chất” và “kiểm tra tinh thần”. Các cuộc kiểm tra có thể diễn ra với bất kỳ thứ tự nào miễn là không có 2 cuộc kiểm tra nào cùng thời điểm. - Vào cuối mỗi năm, ngân hàng thực hiện 2 hoạt động “cộng lãi tức” và “tính tiền vay” trên mỗi tài khoản.Các hoạt động có thể thực hiện với bất kỳ thứ tự nào.Nhưng vì chúng có thể được thực hiện trên cùng một tài khoản, nên không được thực hiện đồng thời. 3.2.13. Cột mốc Mô tả: Việc kích hoạt một hành vi dựa vào một trạng thái cụ thể nào đó, ví dụ như hành vi được kích hoạt chỉ khi đi đến một cột mốc còn hoạt động. Xem xét các hành vi A, B và C. Hành vi A chỉ được kích hoạt khi hành vi B đã thực thi còn C thì chưa, nghĩa là A sẽ không được kích hoạt trước khi B thực thi hoặc sau khi C thực thi. Hình 17 minh hoạ trường hợp này. Trạng thái giữa B và C được mô hình bằng điểm m. Điểm này là cột mốc cho A. Các ví dụ: Trong một công ty du lịch, các chuyến bay, xe cho thuê, và các khách sạn có thể được đặt trước miễn là hóa đơn chưa in ra. Khách hàng có thể hủy đơn mua hàng trước 2 ngày khi có kế hoạch phân phối. Khách hàng có thể đòi hỏi các chứng nhận bay sáu tháng sau chuyến bay Mô hình: Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 55 Hình 28: Mô hình workflow Cột mốc 3.2.14. Widthdraw Mô tả: Mẫu này thể hiện việc một hoạt động đợi kích hoạt bị loại khỏi danh sách hoạt động. Các ví dụ: Một bản thiết kế phần mềm được kiểm tra bởi nhiều nhóm kĩ sư với các hoạt động kiểm tra khác nhau. Tuy nhiên, nhiều khi để có kết quả đúng hạn, chỉ cần một hoạt động kiểm tra được thực hiện. Khi đó, ở thời điểm có nhiều hoạt động kiểm tra đang sẵn sàng thực hiện, cho phép hủy một số thể hiện kiểm tra hiện tại (đang trong trạng thái sẵn sàng hoạt động) để kịp tiến độ hoạt động. 3.2.15. Hủy trường hợp Mô tả: Một thể hiện của nhánh hoạt động bị loại bỏ hoàn toàn kể cả các hoạt động được thực hiện nhiều lần trên các nhánh đó. Các ví dụ: Trong quá trình thuê người làm, các ứng viên tự rút đơn của mình thì các thể hiện hoạt động cho việc xét ứng viên đó hiện tại sẽ được hủy. Các thể hiện hoạt động của việc xét ứng viên thường đặt trên một nhánh luồng công việc. Khi đó tất cả các hoạt động ứng với nhánh xét cho ứng viên này được hủy. Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 56 4. Kết hợp kĩ thuật MA và workflow 4.1. Ích lợi Ưu điểm của MA: có thể hoạt động trong khi ngắt mạng, khả năng tự trị cao, tự xử lý các vấn đề xảy ra trên đường di chuyển, hoạt động tốt trong môi trường mạng bất đồng bộ, uyển chuyển, linh hoạt. Ưu điểm workflow: giúp người quản trị tiết kiệm thời gian và công sức quản lý quy trình nghiệp vụ, dễ dàng thay đổi cơ cấu quản lý trên máy tính khi có sự thay đổi trong thực tế. Từ trước đến nay, các phần mềm quản lý workflow vẫn hoạt động theo mô hình C-S. Khuyết điểm của mô hình là: Khi có sự cố mạng xảy ra, mọi công việc sẽ bị ngưng lại Người quản trị hệ thống workflow phải giải quyết tất cả các lỗi xảy ra như thay đổi đường đi hoặc hủy công việc khi 1 client có sự cố. Thay mô hình C-S bằng mô hình Mobile Agent, sẽ giải quyết được những khuyết điểm trên. Ngoài ra, còn có thêm những ưu điểm khác như: chương trình agent sẽ tự đốc thúc người thực hiện công việc hoàn thành công việc đúng thời hạn, giảm lưu lượng đường truyền do không phải liên lạc với server trong khi hoạt động.... 4.2. Các hướng nghiên cứu tích hợp hệ thống mobile agent và workflow 4.2.1. Agent Enhanced Workflow: Với mô hình tích hợp này, 1 engine workflow sẽ làm trung tâm điều khiển mọi hoạt động, còn agent sẽ hoạt động như những service được cung cấp bởi hệ thống quản lý workflow. Workflow engine sẽ quản lý việc khởi tạo và hủy của agent, do đó, trong mô hình này, agent chủ yếu là các interface agent, không cần phải là 1 agent thông minh. Thực tế, trong những phần mềm được Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 57 thương mại dựa trên mô hình này như IBM MQSeries Workflow, InConcert, chức năng của agent chỉ như một phần của phần mềm bình thường. 4.2.2. Agent Based Workflow Đây là 1 hệ thống phân tán với nhiều agent. Các agent này hoàn tòan độc lập với nhau, mỗi agent có một công việc riêng và tồn tại cho đến khi nó thực thi xong phần việc của nó. Trong mô hình này, tiến trình kinh doanh được thể hiện trên hệ thống mạng theo mô hình mobile agent. Các công việc sẽ được giao cho agent và agent sẽ di trú trên mạng theo workflow đã định sẵn để hoàn thành công việc. Mô hình này rất sát với thực tế, đòi hỏi agent phải thông minh, có khả năng liên lạc và giao tiếp với các agent khác để hoàn thành công việc. Hiện nay, vẫn chưa có phần mềm nào dựa trên mô hình này được thương mại hóa. Tuy nhiên, đang có khá nhiều nghiên cứu về mô hình này như ADEPT (Jennings et al, 1996) hay FireFlow System (Yan, 1999)… Luận văn sẽ tiến hành xây dựng ứng dụng hệ thống workflow sử dụng mobile agent theo mô hình Agent Based Workflow, cụ thể ứng dụng sẽ là xây dựng và điều kiển workflow nhằm mục đích trao đổi, thực thi các văn bản, tài liệu trong doanh nghiệp. Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 58 Chương 4: Xây dựng ứng dụng 1. Giới thiệu ứng dụng Ứng dụng sẽ là xây dựng và điều kiển workflow nhằm mục đích trao đổi, thực thi các văn bản, tài liệu trong công ty. Ứng dụng sẽ là 1 hệ thống khép kín từ khâu thiết kế, chỉnh sửa workflow cho đến điều khiển thực thi MA theo workflow đã thiết kế. Hệ thống được đặt tên là Workag. 1.1. Cơ cấu tổ chức trong cơ quan: Hình 29: Cơ cấu tổ chức trong cơ quan Trong doanh nghiệp, để bộ máy làm việc vận hành liên tục và hiệu quả, tồn tại nhu cầu rất lớn đòi hỏi sự liên lạc, trao đổi giữa các phòng ban với nhau ....... ....... ....... ....... ....... ....... Công ty Phòng 1 Phòng 2 Phòng 3 Tổ 1 Tổ 2 Nhân viên 1 Nhân viên 2 Role 1 Role 2 Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 59 bằng những báo cáo, tài liệu theo những quy trình cụ thể. Do các quy trình trao đổi này thường xuyên thay đổi theo những tình trạng và yêu cầu khác nhau của doanh nghiệp nên không thể xây dựng phần mềm theo kiểu truyền thống để thỏa mãn nhu cầu này. Trong khi đó, sử dụng công nghệ workflow lại rất thích hợp. Điều kiện thực tế trong doanh nghiệp như sau: Đứng đầu Công ty là Giám đốc. Đứng đầu mỗi phòng là trưởng phòng Đứng đầu mỗi tổ là tổ trưởng Dưới tổ trưởng có thể có các role như tổ phó, thành viên... Mỗi nhân viên trong cùng 1 phòng có 1 máy tính nối mạng LAN, có IP khác nhau và duy nhất, có cài AgentOS. Các phòng ban khác nhau có thể thuộc những mạng LAN khác nhau, nằm ở những quốc gia khác nhau nhưng đều nằm trong 1 mạng WAN chung của công ty. Xây dựng workflow theo các cấp trong công ty, tại mỗi node, sẽ quy định rõ chức năng từng node 1 ví dụ cho mô hình workflow: quy trình kiểm lỗi phần mềm: sau khi lập trình, module sẽ được chuyển từ phòng “Coding” đến phòng “Testing”. Phòng Testing sẽ không chia thành các tổ mà chỉ gồm trưởng phòng và các thành viên. Workflow cấp phòng sẽ là: NX: Dù phòng “Coding” và phòng “Testing” nằm ở trong cùng 1 mạng LAN của công ty hay nằm ở 2 nước khác nhau thì hệ thống vẫn hoạt động tốt. Mô hình workflow cấp role cho phòng Testing: giả sử phòng Testing có 3 nhân viên và 1 trưởng phòng, module sẽ được tách ra thành 3 phần để mỗi nhân viên kiểm tra. Sau khi kiểm tra, kết quả sẽ được gửi lại cho trưởng phòng Phòng “Coding Phòng “Testing” Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 60 Hình 30: Ví dụ 1 workflow đơn giản 1.2. Các cách giải quyết vấn đề: 1.2.1. Sử dụng nhân công Để thực hiện chuỗi công việc trong công ty mà không cần nhờ đến hệ thống máy tính hỗ trợ, cần có các nhân viên chuyên việc đưa các mẫu báo cáo đánh giá đến từng phòng, giao cho từng nhân viên sau đó đi thu thập lại, tổng hợp kết quả và đem kết quả qua phòng ban khác giao cho các nhân viên khác để tiếp tục công việc. 9 Ưu điểm: không tốn chi phí xây dựng hệ thống hỗ trợ 9 Khuyết điểm: ¾ Tốn thời gian để nhân viên giao mẫu báo cáo đến các nhân viên khác và tốn thời gian thu thập, tổng hợp lại báo cáo. ¾ Dễ lẫn lộn giữa các công văn, báo cáo với nhau do số lượng báo cáo nhiều. ¾ Các nhân viên gặp khó khăn trong việc xem, tham khảo những báo cáo của các nhân viên khác dù được phép. ¾ Khó khăn trong việc chỉnh sửa nếu báo cáo thực hiện sai ¾ Quy trình cứng nhắc, không linh hoạt đầu vào đầu ra Trưởng phòng Nhân viên 1 Nhân viên 2 Nhân viên 3 Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 61 1.2.2. Sử dụng mô hình Client-Server Server lưu trữ các mẫu báo cáo, các client sẽ truy cập vào server để lấy báo cáo về máy mình làm. Khi thực hiện xong, client sẽ gửi trả kết quả về server để client khác tiếp tục tải về máy thực hiện. 9 Ưu điểm: mọi thao tác đều do server quản lý nên quản lý được tập trung. 9 Khuyết điểm: ¾ Lượng gói tin di chuyển trên mạng là rất nhiều sẽ gây thiếu băng thông ¾ Nếu mẫu báo cáo được thực hiện ở client có lỗi thì server sẽ phải gửi trả lại client, gây tốn thời gian là lãng phí đường truyền. ¾ Nếu client bị sự cố mạng thì sẽ không thực hiện công việc được. 1.2.3. Sử dụng Mobile Agent Mobile agent sẽ mang các mẫu báo cáo theo mình đến các máy. Khi nhân viên đã hoàn thành báo cáo, agent sẽ kiểm lỗi, nếu báo cáo không hoàn chỉnh, agent sẽ yêu cầu nhân viên thực hiện lại báo cáo. Nếu báo cáo đã hoàn thành, agent sẽ đóng gói chính nó và di trú đến 1 máy khác để tiếp tục công việc. Khi hoàn thành, agent sẽ tổng hợp kết quả và gửi về cho máy chủ. Ưu điểm: ¾ Giảm lưu lượng thông tin di chuyển trên mạng ¾ Có thể hoạt động ngay cả khi mạng gặp sự cố nên đặc biệt thích hợp với các môi trường mạng bất đồng bộ. ¾ Có tính chủ động cao, có thể kiểm lỗi ngay tại máy nhân viên giúp tiết kiệm thời gian và chi phí di chuyển. ¾ Vì những lý do trên nên mobile agent được lựa chọn để giải quyết yêu cầu đặt ra Ứng dụng thử nghiệm Mobile Agent vào xây dựng Workflow Nguyễn Hoàng Linh Phương GVHD: GVC Cao Đăng Tân Nguyễn Văn Thoại 62 1.3. Yêu cầu cơ bản của hệ thống: Thiết kế được 1 workflow hoàn chỉnh. Mô hình workflow phải chứa được những cấu trúc sau: ¾ Tách 1 công việc ra nhiều công việc nhỏ, thực hiện tuần tự hoặc song song. ¾ Hợp các việc nhỏ lại theo các mô hình đã trình bày ở phần B.II.5 ¾ Ứng với mỗi node trên workflow, cho phép thiết kế 1 form báo cáo

Các file đính kèm theo tài liệu này:

  • pdfỨng dụng thử nghiệm Mobile Agent và xây dựng Workflow.pdf
Tài liệu liên quan