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

Xây dựng ứng dụng tự động tổng hợp các web service

129 10 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

Thông tin cơ bản

Định dạng
Số trang 129
Dung lượng 3,21 MB

Nội dung

Đại Học Quốc Gia Thành Phố Hồ Chí Minh Trường Đại Học Bách Khoa BÙI DŨNG ANH TUẤN XÂY DỰNG ỨNG DỤNG TỰ ĐỘNG TỔNG HỢP CÁC WEB SERVICE Chuyên ngành: Khoa học Máy tính LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 09 năm 2009 Xây dựng ứng dụng tự động tổng hợp Web service     LỜI CAM ĐOAN Tôi cam đoan rằng, ngoại trừ kết tham khảo từ cơng trình khác ghi rõ luận văn, cơng việc trình bày luận văn tơi thực chưa có phần nội dung luận văn nộp để lấy cấp trường trường khác Ngày 02 tháng 07 năm 2009 Bùi Dũng Anh Tuấn         Trang i Xây dựng ứng dụng tự động tổng hợp Web service     LỜI CẢM ƠN Tôi xin gởi lời cảm ơn chân thành sâu sắc đến TS Phạm Trần Vũ Thầy tận tình hướng dẫn, định hướng từ cách đặt vấn đề, phương pháp nghiên cứu khoa học, đến công việc cụ thể luận án Tơi xin cảm ơn gia đình động viên tạo điều kiện tốt để tơi 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 em trai, Cha Mẹ Nhờ công lao dưỡng dục Người mà chúng có thành ngày hôm Con xin hứa tiếp tục cố gắng phấn đấu để vươn cao         Trang ii Xây dựng ứng dụng tự động tổng hợp Web service     TÓM TẮT LUẬN VĂN Web service ứng dụng Web có khả tương tác động với ứng dụng Web khác nhờ sử dụng tiêu chuẩn mở XML, UDDI SOAP Web service thêm vào mức chức đỉnh kiến trúc Web tại, cho phép sử dụng kết hợp thành phần chức phân bố bên bên tổ chức Với phát triển vượt bậc Web service, quan trọng trình tổng hợp Web service sẵn có thành service phức tạp để đạt giải pháp hữu dụng ngày gia tăng Qúa trình tổng hợp service để đạt chức cần thiết cho hoạt động thương mại, nghiên cứu khoa học loại ứng dụng phân bố khác Đặc biệt vấn đề tự động tổng hợp, hệ thống cần phải định nghĩa luồng điều khiển luồng liệu để hỗ trợ trình tổng hợp service riêng lẻ Điều cịn thách thức vơ khó khăn việc ánh xạ yêu cầu người dùng thành tập service có tương quan với mà output service thỏa mãn yêu cầu input service khác tổng hợp tất service lại thỏa mãn yêu cầu người dùng Luận văn đề xuất lập kế hoạch dựa phần mềm mã nguồn mở OWLS-Xplan JGraphpad để tự động tổng hợp service đặc tả ngôn ngữ OWL-S – ngôn ngữ ontology dựa kỹ thuật Web ngữ nghĩa Trong trường hợp mục tiêu thỏa mãn nhiều service, giải thuật backward-chaining áp dụng heuristic lựa chọn service có số lượng input nhỏ lựa chọn service có thơng số tiền điều kiện dễ thỏa mãn Giải thuật tự động thực thi gọi kế hoạch tạo lập kế hoạch xác định liệu cần thiết cho việc gọi thực thi nhờ sử dụng câu truy vấn thích hợp         Trang iii Xây dựng ứng dụng tự động tổng hợp Web service     ABSTRACT A Web service is commonly known as a Web-based application that dynamically interacts with other Web applications using open standards that include XML, UDDI and SOAP Web services have added a new level of functionality on top of the current Web, enabling the use and combination of distributed functional components within and across organizational boundaries With the growing number of Web services, importance of composing existing Web services into more complex services in order to achieve new and more useful solutions is increasing Composing existing services to obtain new functionality is essential for business, scientific and other types of distributed applications Especially in automatic composition, the system needs to define control and data-flow to guide the assembling individual services It is still a very challenging due to difficulty of mapping user needs to a collection of correlated services where their interim outputs can satisfy each other input requirements and the final deliverable meets the user demands This thesis proposes a planner based on OWLS-Xplan and JGraphpad open sources that automatically composes atomic/basic services described in OWL-S, which is an ontology language based on the Semantic Web technology In cases where a goal can be satisfied by more than one service, the backward chaining applying heuristics such as selecting the service with the least number of inputs, or selecting services that have preconditions that are known to be easily satisfiable The automatic invocation algorithm takes the plan generated by the planner and determines data required for invocation using suitable queries         Trang iv Xây dựng ứng dụng tự động tổng hợp Web service     MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii TÓM TẮT LUẬN VĂN iii ABSTRACT iv MỤC LỤC v DANH MỤC HÌNH x CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu chung đề tài 1.2 Tầm quan trọng khả ứng dụng thực tế đề tài 1.3 Mục tiêu giới hạn đề tài 1.3.1 Mục tiêu đề tài 1.3.2 Giới hạn đề tài 1.4 Phương pháp nghiên cứu đánh giá kết 1.4.1 Phương pháp nghiên cứu 1.4.2 Đánh giá kết CHƯƠNG 2: CƠ SỞ LÝ THUYẾT CỦA ĐỀ TÀI 2.1 World Wide Web 2.2 Service Oriented Architecture (SOA) 2.3 Web service 2.3.1 Tổng quan Web service 2.3.2 Kiến trúc Web service 10 2.3.3 Ưu điểm Web service 11 2.4 Web ngữ nghĩa 11 2.4.1 RDF 12 2.4.2 RDF schema 13 2.4.3 OWL 13 2.4.4 OWL-S 14         Trang v Xây dựng ứng dụng tự động tổng hợp Web service     2.5 Workflow 15 2.6 Tổng hợp workflow 16 2.7 Protégé 21 2.7.1 Tổng quan Protégé 21 2.7.2 Phân loại Protégé 21 2.7.3 Các đặc trưng Protégé-OWL 23 2.8 Jena 23 2.8.1 Tổng quan Jena 23 2.8.2 Các đặc trưng Jena 24 2.8.3 Kiến trúc Jena 24 2.9 Jess 26 2.9.1 Tổng quan Jess 26 2.9.2 Các đặc trưng Jess 27 2.10 OWLS-API 27 2.10.1 Tổng quan OWLS-API 27 2.10.2 Các đặc trưng OWLS-API 27 2.11 OWLS-Xplan 28 2.11.1 Tổng quan OWLS-Xplan 28 2.11.2 Các đặc trưng OWLS-Xplan 30 2.12 JGraph 30 2.12.1 Tổng quan JGraph 30 2.12.2 Các đặc trưng JGraph 31 2.13 JGraphpad 32 2.13.1 Tổng quan JGraphpad 32 2.13.2 Các đặc trưng JGraphpad 32 2.13.3 Tiêu chí thiết kế, thực JGraphpad 32 2.14 Nano XML Parser 33 2.14.1 Tổng quan Nano 33 2.14.2 Các đặc trưng Nano 34 CHƯƠNG 3: PHÂN TÍCH CÁC GIẢI PHÁP TỔNG HỢP SERVICE 39         Trang vi Xây dựng ứng dụng tự động tổng hợp Web service     3.1 BPEL 39 3.2 Các hướng nghiên cứu khác 42 3.3 Hướng nghiên cứu tác giả Berardi 46 3.4 Hướng nghiên cứu tác giả Mithun 48 3.5 Phần mềm mã nguồn mở OWLS-Xplan 49 3.6 Nhận xét hướng nghiên cứu 51 3.7 Nhận xét hướng nghiên cứu tác giả Mithun 52 3.8 Nhận xét phần mềm OWLS-Xplan 54 CHƯƠNG 4: YÊU CẦU THIẾT KẾ VÀ KIẾN TRÚC CỦA ỨNG DỤNG 54 4.1 Yêu cầu thiết kế ứng dụng 54 4.2 Kiến trúc ứng dụng 54 4.3 Các phần mềm thực kiến trúc 57 4.4 Kế hoạch thực ứng dụng 58 4.5 Giải thuật sử dụng thực ứng dụng 60 4.5.1 Giải thuật lựa chọn service tốt 60 4.5.2 Giải thuật tổng hợp service 61 CHƯƠNG 5: HIỆN THỰC ỨNG DỤNG 62 5.1 Cải tiến JGraph 62 5.1.1 JGraph.java gói org.jgraph 63 5.1.2 GraphUI.java gói org.jgraph.plaf 68 5.1.3 BasicGraphUI.java gói org.jgraph.plaf.basic 69 5.2 Cải tiến JGraphpad 70 5.2.1 JgraphpadAboutDialog.java gói com.jgraph.pad.dialog 72 5.2.2 JgraphpadPane.java gói com.jgraph.pad.factory 74 5.2.3 EditorGraph.java gói planner 74 5.3 Hiện thực Editor 75 5.3.1 Mục tiêu 75 5.3.2 Cách thực 75 5.3.3 Các phần thực quan trọng 77         Trang vii Xây dựng ứng dụng tự động tổng hợp Web service     5.4 5.3.3.1 Lấy thông tin trạng thái từ file ontology 77 5.3.3.2 Tạo initial file 79 5.3.3.3 Tạo goal file 80 Hiện thực Planner 80 5.4.1 Mục tiêu 80 5.4.2 Cách thực 81 5.4.3 Các phần thực quan trọng 83 5.4.3.1 Kiểm tra initial file goal file 83 5.4.3.2 Tạo domain file problem descrition file 84 5.4.3.3 Tạo đối số cần thiết cho việc khởi tạo kế hoạch 85 5.4.3.4 Tạo kế hoạch tổng hợp service 86 CHƯƠNG 6: THỰC NGHIỆM 89 6.1 Mục tiêu thực nghiệm 89 6.2 Thiết lập môi trường thực nghiệm 89 6.3 Tiến hành thực nghiệm 90 6.3.1 Thí nghiệm 90 6.3.2 Thí nghiệm 91 6.3.3 Thí nghiệm 92 6.3.4 Thí nghiệm 93 6.4 Đánh giá 95 6.4.1 Đánh giá định tính 95 6.4.2 Đánh giá định lượng 96 6.5 Kết luận 96 CHƯƠNG 7: KẾT LUẬN 97 7.1 Tổng kết 97 7.2 Những đóng góp đề tài 97 7.3 Hướng phát triển 98 TÀI LIỆU THAM KHẢO 100         Trang viii Xây dựng ứng dụng tự động tổng hợp Web service     PHỤ LỤC 103 PHỤ LỤC 104 PHỤ LỤC 109 PHỤ LỤC 115         Trang ix Xây dựng ứng dụng tự động tổng hợp Web service      PHỤ LỤC BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH - VIỆT Thuật ngữ tiếng Anh Domain Model Knowledge Structure Logic Stream Tool Atomic Precondition Effect Hill-climbing Editor Composition Input Output Planner Thuật ngữ tiếng Việt Miền Mơ hình Tri thức Kiến trúc Luận lý Luồng Công cụ Nguyên tử, sơ khai Tiền điều kiện Hiệu ứng phụ Leo đồi Trình soạn thảo Tổng hợp Đầu vào Đầu Bộ lập kế hoạch Viết tắt Trang 103   Xây dựng ứng dụng tự động tổng hợp Web service      PHỤ LỤC CÁC BƯỚC CHẠY ỨNG DỤNG Trong phần này, ta trình bày bước chạy ứng dụng xây dựng workflow tự động tổng hợp Web service - Bước 1: Chạy Apache HTTP server triển khai Web service Hình vẽ bên cho thấy Apache server chạy - Bước 2: Khởi tạo ứng dụng Hình bên minh họa giao diện chương trình sau khởi tạo lần đầu Giao diện ban đầu gồm có tab Editor, tab Planner diagram để vẽ đồ thị Trang 104   Xây dựng ứng dụng tự động tổng hợp Web service      - Bước 3: Vẽ workflow đặc tả yêu cầu người dùng Đồ thị workflow đặc tả thông tin bắt buộc người dùng cung cấp, ví dụ bên Time - thời điểm đến, thời điểm đi; Patient - tên bệnh nhân; Hospital - bệnh viện chuyển đến; Credit card – thơng tin credit card Hình vẽ bên đặc tả workflow phổ biến đặc tả yêu cầu người dùng - Bước 4: Tạo initial ontology file goal ontology file dựa theo chuẩn PDDL2.1 Ở tab Editor, ta double-click vào button Save diagram Nếu không tạo file thành công, thông báo lỗi ra; ngược lại thông báo tạo file thành công xuất hình bên - Bước 5: Tạo kế hoạch tổng hợp service tab Planner Giao diện ban đầu tab Planner hình vẽ bên Ta lựa chọn danh sách service có sẵn hệ thống, khai báo file services.txt, file đặc tả trạng thái khởi tạo initial trạng thái mục tiêu goal đặc tả initial ontology file goal ontology file Trang 105   Xây dựng ứng dụng tự động tổng hợp Web service      Ta tạo composition workflow cách double-click vào button Plan Đầu tiên, ứng dụng thông báo có tạo domain file problem description file thành cơng hay khơng Hình bên đặc tả thông điệp thông báo tạo file thành công Dựa file vừa tạo này, ứng dụng tạo workflow tổng hợp servie Một thông điệp thông báo tạo kế hoạch tổng hợp service thành công tạo kế hoạch thành công, ngược lại thông báo lỗi Trang 106   Xây dựng ứng dụng tự động tổng hợp Web service      Ta xem xét thông tin đầu vào, đầu ra, tiền điều kiện, hiệu ứng phụ bước kế hoạch tổng hợp cách double-click vào kế hoạch Hình bên mơ tả thơng tin bước kế hoạch tạo thành cơng Ngồi ra, ta xem thơng tin initial file, goal file, domain file problem description file cách click vào button View Thông tin file tương ứng hiển thị Firefox hình bên Trang 107   Xây dựng ứng dụng tự động tổng hợp Web service      Trang 108   Xây dựng ứng dụng tự động tổng hợp Web service      PHỤ LỤC INITIAL FILE VÀ GOAL FILE MẪU • Initial file mẫu Eye and Ear Hospital Malmi Hospital Trang 109   Xây dựng ứng dụng tự động tổng hợp Web service      Trang 110   Xây dựng ứng dụng tự động tổng hợp Web service      Mikka Hans Mustermann Trang 111   Xây dựng ứng dụng tự động tổng hợp Web service      • Goal file mẫu Trang 112   Xây dựng ứng dụng tự động tổng hợp Web service      Trang 113   Xây dựng ứng dụng tự động tổng hợp Web service      Trang 114   Xây dựng ứng dụng tự động tổng hợp Web service      PHỤ LỤC DOWNLOAD CÁC PHẦN MỀM Mà NGUỒN MỞ SỬ DỤNG TRONG ỨNG DỤNG • Protégé ƒ Version tại: 4.0 ƒ Download: http://protege.stanford.edu/download/download.html ƒ Homepage: http://protege.stanford.edu/ • OWLS-API ƒ Version tại: 1.1.3 ƒ Download: http://www.semwebcentral.org/frs/?group_id=32&release_id=322 ƒ Homepage: http://owl-s-api.projects.semwebcentral.org/ • OWLS-Xplan ƒ Version tại: 2.0 ƒ Download: http://projects.semwebcentral.org/frs/?group_id=99&release_id=308 ƒ Homepage: http://projects.semwebcentral.org/projects/owls-xplan/ • Jgraph ƒ Version tại: 5.12.2.1 ƒ Download: http://www.jgraph.com/pub/jgraph-latest-lgpl-src.jar ƒ Homepage: http://www.jgraph.com/ • JGraphPad ƒ Version tại: Jgraphpad Pro ƒ Download: http://www.jgraph.com/jgraphpadpro-lgpl/ ƒ Homepage: http://www.jgraph.com/jgraphpad.html • Nano XML parser ƒ Version tại: 2.2.3 ƒ Download: http://devkix.com/NanoXML-2.2.3.tar.gz ƒ Homepage: http://devkix.com/nanoxml.php • Jena ƒ Version tại: 2.6.0 ƒ Download: http://jena.sourceforge.net/downloads.html ƒ Homepage: http://jena.sourceforge.net/index.html • Jess ƒ Version tại: 7.0 Trang 115   Xây dựng ứng dụng tự động tổng hợp Web service      ƒ Download: http://www.jessrules.com/download.shtml ƒ Homepage: http://www.jessrules.com/jess/index.shtml Trang 116   Xây dựng ứng dụng tự động tổng hợp Web service      Lý Lịch Họ tên: Bùi Dũng Anh Tuấn Ngày sinh: 07/09/1984 Nơi sinh: TP HCM Địa liên lạc: 1953/20A Phạm Thế Hiển P6 Q8 TP HCM QUÁ TRÌNH ĐÀO TẠO + Từ 1/9/2002 -> 22/1/2007: học Đại học khoa Công Nghệ Thông Tin, trường Đại Học Bách Khoa, TP HCM + Từ 1/9/2007 -> 25/1/2009: học Thạc sĩ khoa Khoa Học Máy Tính, trường Đại Học Bách Khoa, TP HCM Q TRÌNH CƠNG TÁC + Từ 1/2/2007 -> nay: làm việc công ty TMA Solutions, Việt Nam Trang 117   ... Trang ii Xây dựng ứng dụng tự động tổng hợp Web service     TÓM TẮT LUẬN VĂN Web service ứng dụng Web có khả tương tác động với ứng dụng Web khác nhờ sử dụng tiêu chuẩn mở XML, UDDI SOAP Web service. .. mục tiêu tổng hợp Web service Các Trang   Xây dựng ứng dụng tự động tổng hợp Web service? ?     phương pháp tổng hợp đa dạng, từ cách làm thủ công đến cách làm bán tự động tự động hoàn toàn Một... service Tổng hợp Web service chia thành phần chính: tổng hợp tĩnh tổng hợp động Tổng hợp tĩnh bao gồm orchestration (một dịch vụ điều phối dịch vụ Trang 16   Xây dựng ứng dụng tự động tổng hợp Web service? ?

Ngày đăng: 15/02/2021, 18:21

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

TÀI LIỆU LIÊN QUAN

w