1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu mở rộng khả năng xử lý ngoại lệ trong quy trình nghiệp vụ với SOA và windows workflow foundation

136 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA - NGUYỄN THANH VŨ NGHIÊN CỨU MỞ RỘNG KHẢ NĂNG XỬ LÝ NGOẠI LỆ TRONG QUY TRÌNH NGHIỆP VỤ VỚI SOA VÀ WINDOWS WORKFLOW FOUNDATION Chuyên ngành: Khoa học máy tính LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 01 năm 2011 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hướng dẫn khoa học: PGS.TS Đặng Trần Khánh Cán chấm nhận xét : TS Nguyễn Tuấn Đăng……………………… Cán chấm nhận xét : TS Võ Thị Ngọc Châu……………………… Luận văn thạc sĩ bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA , ngày 15 tháng 01 năm 2011 TRƯỜNG ĐẠI HỌC BÁCH KHOA Khoa Khoa học & Kỹ thuật máy tính CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc -oOo Tp HCM, ngày 15 tháng 01 năm 2011 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: NGUYỄN THANH VŨ Phái: Nam Ngày, tháng, năm sinh: 06/04/1980 Nơi sinh: TP HCM Chuyên ngành: Khoa học Máy tính MSHV: 00707197 1- TÊN ĐỀ TÀI: Nghiên cứu mở rộng khả xử lý ngoại lệ quy trình nghiệp vụ với SOA Windows Workflow Foundation 2- NHIỆM VỤ LUẬN VĂN: - Nghiên cứu ngoại lệ quy trình nghiệp vụ với SOA - Đưa giải pháp thực việc mở rộng khả xử lý ngoại lệ quy trình nghiệp vụ với SOA Windows Workflow Foundation 3- NGÀY GIAO NHIỆM VỤ : 25/01/2010 4- NGÀY HOÀN THÀNH NHIỆM VỤ : 06/12/2010 5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN : PGS.TS.ĐẶNG TRẦN KHÁNH Nội dung đề cương Luận văn thạc sĩ Hội Đồng Chuyên Ngành thông qua CÁN BỘ HƯỚNG DẪN (Họ tên chữ ký) CHỦ NHIỆM BỘ MÔN QUẢN LÝ CHUYÊN NGÀNH (Họ tên chữ ký) KHOA QL CHUYÊN NGÀNH (Họ tên chữ ký) LỜI CẢM ƠN Tôi xin gởi lời cảm ơn chân thành sâu sắc đến PGS.TS Đặng Trần Khánh tận tình hướng dẫn tạo điều kiện để tơi hồn thành luận văn Tơi xin cảm ơn gia đình động viên tạo điều kiện tốt để tiếp tục theo đuổi việc học tập nghiên cứu Tôi trân trọng dành tặng thành luận văn cho Cha Mẹ Nhờ công lao dưỡng dục Người mà có thành ngày hôm Con xin hứa tiếp tục cố gắng phấn đấu để vươn cao TÓM TẮT LUẬN VĂN Sự phát triển công nghệ workflow, công nghệ web kiến trúc hướng dịch vụ tảng để xây dựng ứng dụng hệ thống xử lý quy trình vào hoạt động doanh nghiệp Tuy nhiên, công nghệ chưa quan tâm mức đến việc xử lý ngoại lệ quy trình Vì thế, việc sử dụng chúng thực tế chưa thật hiệu Mặc dù có số cơng trình nghiên cứu liên quan đến vấn đề này, đa số tập trung giải ngoại lệ quy trình mức ứng dụng Trong luận văn này, đề xuất thực framework mở rộng công nghệ workflow Microsoft để xử lý ngoại lệ quy trình nghiệp vụ hướng dịch vụ mức sở liệu Cách tiếp cận cho phép xử lý ngoại lệ quy trình mà không cần phải thay đổi mã nguồn ứng dụng Hai loại ngoại lệ quy trình mà chúng tơi tập trung xử lý ngoại lệ đa phiên (multi-version exception) ngoại lệ bỏ qua (bypassing exception) Bên cạnh đó, chúng tơi cung cấp tập công cụ để định nghĩa, thống kê theo dõi ngoại lệ quy trình cách trực quan Chúng tơi khảo sát thực quy trình nghiệp vụ thực tế để minh họa khả xử lý ngoại lệ framework ABSTRACT The development of workflow technologies, web technologies and service-oriented architecture (SOA) has helped more and more companies to build and apply the SOA-based workflow-processing systems to their activities However, current technologies are not mature enough to support workflow exception handling in SOA-based systems and the result is that their applications in practice are not effective Recent research works have tried to delve inside this subject matter, but most of them have concentrated on handling business exception at application level In this thesis, we propose and implement a framework that extends the Microsoft’s workflow technology to support business exception handling in SOA-based workflows at database level This new approach gives us a solution to handle workflow exceptions without modifying the application’s source code We focus on multi-version exceptions and bypassing exceptions In addition, we also provide a set of visual tools for definition, statistics and monitor workflow exception We also study and implement a practical workflow to illustrate the exception processing capability of this framework i MỤC LỤC CHƯƠNG GIỚI THIỆU 1.1 Giới thiệu sơ lược kiến trúc hướng dịch vụ (SOA) 1.1.1 Dịch vụ (service) gì? 1.1.2 Kiến trúc hướng dịch vụ (SOA) 1.2 Giới thiệu quy trình nghiệp vụ 1.2.1 Quy trình nghiệp vụ .7 1.2.2 Quy trình nghiệp vụ hướng dịch vụ .9 1.3 Tổng quan ngoại lệ xử lý ngoại lệ .10 CHƯƠNG WINDOWS WORKFLOW FOUNDATION 13 2.1 Giới thiệu 13 2.2 Các thành phần WWF 13 2.2.1 Workflow .13 2.2.2 Activity .14 2.2.3 Ứng dụng chủ (hosting application) 18 2.2.4 Máy thực thi workflow (Workflow runtime engine) 18 2.2.5 Các dịch vụ thực thi (Runtime Services) .19 2.3 Workflow WebService 21 2.4 Thay đổi động workflow instance .22 CHƯƠNG TỔNG THUẬT CÁC NGHIÊN CỨU CÓ LIÊN QUAN ĐẾN LUẬN VĂN 24 3.1 Ngoại lệ quy trình nghiệp vụ .24 3.2 Các phương pháp xử lý ngoại lệ 27 CHƯƠNG THIẾT KẾ VÀ HIỆN THỰC 31 4.1 Tóm tắt vấn đề 31 4.2 Tổng quan giải pháp .31 4.3 Các khái niệm sử dụng BESuite 33 Luận Văn Thạc Sĩ ii 4.4 Tổng quan trình xử lý ngoại lệ mức sở liệu sử dụng BESuite .36 4.5 Sơ đồ kiến trúc BESuite .38 4.6 Chi tiết thực thành phần BESuite 40 4.6.1 Các sở liệu 40 4.6.2 Các APIs .44 4.6.3 Các công cụ quản lý .57 CHƯƠNG QUY TRÌNH SỬ DỤNG BESUITE KẾT HỢP VỚI VISUAL STUDIO NET 64 5.1 Thiết kế workflow sử dụng VS NET 66 5.2 Định nghĩa message dùng workflow sử dụng VS NET BESuite APIs 68 5.2.1 Định nghĩa primary input message 68 5.2.2 Định nghĩa substitutive input message 69 5.3 Thiết kế substitutive activity sử dụng VS NET BESuite APIs .71 5.4 Định nghĩa exception metadata sử dụng BESuite .73 5.4.1 Khởi động Exception Definition Tool thiết lập kết nối đến sở liệu Exception Metadata 73 5.4.2 Nạp workflow vào Exception Definition Tool 74 5.4.3 “Gán” message vào activity 76 5.4.4 “Gán” substitutive activity vào activity .82 5.5 “Hook” BEH vào định nghĩa workflow .84 5.6 Xây dựng ứng dụng host workflow 87 5.7 Giám sát trình thực thi workflow sử dụng BESuite 88 5.8 Thống kê việc xảy ngoại lệ sử dụng BESuite 93 CHƯƠNG ỨNG DỤNG BESUITE ĐỂ XỬ LÝ NGOẠI LỆ TRONG QUY TRÌNH CHO VAY TÍN CHẤP 95 6.1 Quy trình cho vay tín chấp 95 6.2 Các ngoại lệ xảy quy trình 96 Luận Văn Thạc Sĩ iii 6.3 Xử lý ngoại lệ 99 6.3.1 Thiết kế quy trình theo hướng chấp nhận xử lý ngoại lệ 99 6.3.2 Xử lý ngoại lệ duyệt hạn mức cho vay .99 CHƯƠNG TỔNG KẾT VÀ ĐÁNH GIÁ 107 7.1 Những kết đạt 107 7.2 Những điều hạn chế 107 7.3 Hướng phát triển .108 PHỤ LỤC 109 A Hướng dẫn cài đặt 109 Cài đặt NET Framework 109 Cài đặt hệ quản trị sở liệu .111 Tạo sở liệu .113 Cài đặt BESuite .114 B Hướng dẫn sử dụng 115 TÀI LIỆU THAM KHẢO 121 Luận Văn Thạc Sĩ iv DANH MỤC HÌNH Hình 1.1 Service endpoints Hình 1.2 Khai báo dịch vụ NET .3 Hình 1.3 Ứng dụng phát triển theo kiến trúc hướng dịch vụ Hình 1.4 Các actor mơ hình SOA Hình 1.5 Quy trình cho vay tín dụng Hình 1.6 Quy trình cho vay tín dụng theo kiến trúc SOA Hình 2.1 WWF NET framework 13 Hình 2.2 Các thành phần WWF 14 Hình 2.3 Nhóm activity điều khiển 15 Hình 2.4 Nhóm activity truyền nhận thông điệp 16 Hình 2.5 Nhóm activity runtime 16 Hình 2.6 Nhóm activity 16 Hình 2.7 Nhóm activity transaction 17 Hình 2.8 Nhóm activity xử lý lỗi .17 Hình 2.9 Sơ đồ class activity sở .18 Hình 2.10 Minh họa đoạn mã nguồn ứng dụng chủ 21 Hình 2.11 Workflow gọi WebService 21 Hình 2.12 Workflow thực WebService 22 Hình 3.1 Các loại ngoại lệ thơng dụng quy trình nghiệp vụ 25 Hình 3.2 Hai phiên quy trình xét duyệt tốt nghiệp .26 Hình 3.3 Hai phiên liệu đầu vào trình xét tuyển giảng viên 26 Hình 4.1 Workflow activities 33 Hình 4.2 Input message output message activity 33 Hình 4.3 Các khái niệm sử dụng BESuite 34 Hình 4.4 Substitutive activity activity 35 Hình 4.5 Substitutive activity sub-flow 36 Hình 4.6 Tổng quan trình xử lý ngoại lệ BESuite 38 Hình 4.7 Sơ đồ kiến trúc BESuite .39 Luận Văn Thạc Sĩ 109 PHỤ LỤC A Hướng dẫn cài đặt Để sử dụng BESuite, ta cần phải có: - NET Framework 3.5 - Hệ quản trị sở liệu Microsoft SQLExpress (hoặc SQL Server) - Các sở liệu mô tả chương Sau phần hướng dẫn cài đặt Cài đặt NET Framework - Tải NET framework 3.5 từ http://go.microsoft.com/fwlink/?LinkId =76617 Tên tập tin tải dotNetFx35setup.exe - Thực thi tập tin dotNetFx35setup.exe để kích hoạt trình cài đặt Hình 8.1 Cài đặt NET Framework – bước - Chấp nhận ràng buộc quyền nhấn nút “Install” Luận Văn Thạc Sĩ 110 Hình 8.2 Cài đặt NET Framework – bước - Quá trình cài đặt thực cách tự động hồn tất Hình 8.3 Cài đặt NET Framework – bước Luận Văn Thạc Sĩ 111 Cài đặt hệ quản trị sở liệu - Tải tập tin SQLEXPR.exe từ http://www.microsoft.com/express/ Database/ - Chạy tập tin SQLEXPR.exe để kích hoạt q trình cài đặt Hình 8.4 Cài đặt SQL Express – bước - Chấp nhận điều kiện quyền nhấn nút “Next” Hình 8.5 Cài đặt SQL Express – bước Luận Văn Thạc Sĩ 112 - Quá trình cài đặt thực tự động hoàn tất Hình 8.6 Cài đặt SQL Express – bước Hình 8.7 Cài đặt SQL Express – bước Luận Văn Thạc Sĩ 113 Tạo sở liệu Phần hướng dẫn tạo sở liệu Exception Metadata, Exception Statistics, Workflow Tracking Demo Các script giới thiệu bên đặt thư mục SqlScripts đính kèm theo đĩa CD luận văn - Tạo sở liệu Hình 8.8 Tạo sở liệu - Đăng nhập vào sở liệu để tạo đối tượng liệu (table, index,…) Hình 8.9 Tạo đối tượng liệu Luận Văn Thạc Sĩ 114 Cài đặt BESuite - Chạy tập tin BESuite.msi đĩa CD luận văn để kích hoạt q trình cài đặt BESuite - Nhấn “Next” để thực cài đặt Hình 8.10 Cài đặt BESuite – bước - Chọn thư mục cài đặt Thực mục chứa tập tin cần thiết cho công cụ Exception Definition Tool, Workflow Monitor Tool, Exception Statistics Tool, chương trình Demo đặt biệt thư viện BESuite.Lib.dll dùng để xử lý ngoại lệ (Hình 8.11) - Nhấn “Next”, việc cài đặt diễn tự động hoàn tất Luận Văn Thạc Sĩ 115 Hình 8.11 Cài đặt BESuite – bước B Hướng dẫn sử dụng Sau cài đặt BESuite thành công, Program Menu có mục Hình 8.12 - Các mục gồm có cơng cụ hỗ trợ định nghĩa, thống kê theo dõi ngoại lệ Exception Definition Tool, Exception Statistics Tool Workflow Monitor Tool - Ứng dụng demo dịch vụ mà ứng dụng dùng Luận Văn Thạc Sĩ 116 Hình 8.12 Program menu sau cài đặt BESuite Ngồi ra, thư viện BESuite.Lib.dll tìm thấy thư mục cài đặt (Hình 8.13) Người phát triển workflow phải tham chiếu đến thư viện để sử dụng API trình bày chương Hình 8.13 Vị trí cài đặt BESuite.Lib.dll Luận Văn Thạc Sĩ 117 Chi tiết việc sử dụng cơng cụ BESuite API trình bày chương Phần hướng dẫn sử dụng chương trình Demo Huớng dẫn sử dụng chương trình Demo - Khởi động dịch vụ sử dụng chương trình Hình 8.14 Khởi động dịch vụ cần cho ứng dụng Demo - Khởi động chương trình Demo Luận Văn Thạc Sĩ 118 Hình 8.15 Khởi động ứng dụng Demo - Ứng dụng có nhiều chức năng, có chức “Mở hợp đồng tín dụng” (menu Loan -> Open New Loan) Sau nhập thông tin hợp đồng vay nhấn nút Submit, quy trình cho vay tín chấp (đã trình bày chương 6) kích hoạt Luận Văn Thạc Sĩ 119 Hình 8.16 Kích hoạt quy trình cho vay tín chấp - Ta sử dụng Workflow Monitor để theo dõi trình thực thi quy trình Luận Văn Thạc Sĩ 120 Hình 8.17 Theo dõi việc thực thi quy trình cho vay tín chấp Luận Văn Thạc Sĩ 121 TÀI LIỆU THAM KHẢO [1] Chiu, D K W.: A Meta Modeling Approach to Workflow Management Systems Supporting Exception Handling, (1999), p.159-184 [2] DANG Tran Khanh, NGUYEN Viet Hung, LY Hoang Hai: Towards an Exceptions-Aware Database Schema for Adaptive Workflows in SOA In Proceedings of International Workshop on Advanced Computing and Applications, Ho Chi Minh City, March 12-14, (2008), p.58-67 [3] DANG Tran Khanh, THAN Quang Minh, LE TRONG An Sinh: A Novel Solution to Workflow Exception Handling for Adaptive Workflows in SOA In Proceedings of International Workshop on Advanced Computing and Applications, Ho Chi Minh City, March 3-5, (2010), p.48-57 [4] ĐẶNG Trần Khánh: Báo cáo tóm tắt kết đề tài khoa học công nghệ trọng điểm ĐHQG – HCM Tên đề tài: “Nghiên cứu xây dựng hệ thống thông tin quản lý cho trường đại học” Mã đề tài: B2006-20-07TĐ, (2008), p.10-15 [5] Hagen, C and Alonso,G.: Flexible exception handling in the OPERA process support system In Proceedings of Distributed Computing Systems 18th International Conference on, (1998), p.526-533 [6] Kitta, T.: Professional Windows Workflow Foundation, Wiley Publishing, Inc., Indianapolis, Indiana, (2007) [7] Kloppmann,M.H.F., Koenig,D., Leymann,F : WS-BPEL Extension for People–BPEL4People, (2005) [8] Kradolfer, M., Geppert, A.: Dynamic Workflow Schema Evolution based on Workflow Type Versioning and Workflow Migration, In Proceedings of IFCIS International Conference on Cooperative Information Systems, UK, (1999), p 104-114 [9] Liu,L., Böttcher,T., Daiberl,J.: Building Workflow enabled End-to-End Applications using Microsoft NET Framework 3.0 and SAP Enterprise Services over Web Services, Microsoft Corp, (2006), p.2-9 Luận Văn Thạc Sĩ 122 [10] Luo,Z., Sheth,A., Kochut,K and Miller,J : Exception Handling in Workflow Systems, (2000), p.10-20 [11] LÝ Hoàng Hải: Xử lý bó hệ thống quản lý quy trình Luận văn Thạc sĩ, ĐHBK TPHCM, (2008), p.39-42 [12] Mathias,W.: Formal Foundation and Conceptual Design of Dynamic Adaptations in a Workflow Management System, In Proceedings of the 34th Annual Hawaii International Conference on System Sciences, USA (2001) [13] Matjaz,B.J.: Business Process Execution Language for Web Service, Packt Publishing Ltd, (2006), p.23-49 [14] Osborn,J.: Master Windows Comminication Foundation and SOA Fundamentals, O’Reilly Media, (2007), p.7-9 [15] Reichert,M., Rinderle,S and Dadam,P.: On the Common Support of Workflow Type and Instance Changes under Correctness Constraints, Lecture Notes in Computer Science, Springer Berlin Heidelberg, (2003), p.407-425 [16] Sankar, Pal,K and Shiu,K.: Foundation of Soft Cased-Base Reasoning, A John Wiley & Sons, Inc., Publication, (2004), p.26-59 [17] Scott,A.: Programming Windows Workflow Foundation, Packt Publishing Ltd, Birmingham, UK, (2006) [18] Vieira,P., Rito-Silva,J : Adaptive Workflow Management in WorkSCo, In Proceedings of The 6th International Workshop on Database and Expert Systems Applications, Denmark, (2005), p.199-204 [19] http://en.wikipedia.org/wiki/Business_Process_Execution_Language, (2009) [20] http://en.wikipedia.org/wiki/Service-oriented_architecture, (2008) [21] http://msdn.microsoft.com/en-us/library/ee342461.aspx# _Workflow_Services, (2009) [22] http://msdn.microsoft.com/en-us/library/ms734569.aspx, (2008) [23] http://msdn.microsoft.com/en-us/library/ms733107.aspx , (2010) [24] http://msdn.microsoft.com/en-us/library/s734702%28VS.90%29.aspx,(2010) Luận Văn Thạc Sĩ 123 [25] http://msdn.microsoft.com/en-us/magazine/cc164026.aspx, (2010) [26] http://www.hibernate.org , (2010) [27] http://www.ibm.com/developerworks/vn/library/ws-soa- progmodel4/index.html, (2009) [28] http://www.infoq.com/news/2008/05/lublinksy-workqueue-mgr, (2008) [29] http://en.wikipedia.org/wiki/Enterprise_service_bus, (2010) Luận Văn Thạc Sĩ ... - Nghiên cứu ngoại lệ quy trình nghiệp vụ với SOA - Đưa giải pháp thực việc mở rộng khả xử lý ngoại lệ quy trình nghiệp vụ với SOA Windows Workflow Foundation ... CÁC NGHIÊN CỨU CÓ LIÊN QUAN ĐẾN LUẬN VĂN Ngoại lệ quy trình nghiệp vụ hiểu tình cá biệt phát sinh q trình thực thi quy trình địi hỏi phải có xử lý riêng Trong trình thực thi quy trình nghiệp vụ, ... này, đề xuất thực framework mở rộng công nghệ workflow Microsoft để xử lý ngoại lệ quy trình nghiệp vụ hướng dịch vụ mức sở liệu Cách tiếp cận cho phép xử lý ngoại lệ quy trình mà không cần phải

Ngày đăng: 16/04/2021, 04:17

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w