Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 74 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
74
Dung lượng
1,38 MB
Nội dung
Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHẠM THANH TÙNG KỸ THUẬT PHÁT TRIỂN ỨNG DỤNG WEB BẰNG NGÔN NGỮ WS - BPEL LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2013 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHẠM THANH TÙNG KỸ THUẬT PHÁT TRIỂN ỨNG DỤNG WEB BẰNG NGÔN NGỮ WS - BPEL Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Ngƣời hƣớng dẫn khoa học: PGS.TS. ĐẶNG VĂN ĐỨC THÁI NGUYÊN - 2013 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ i LỜI CAM ĐOAN Tôi xin cam đoan rằng đây là công trình nghiên cứu của tôi, có sự hỗ trợ từ Giáo viên hướng dẫn là PGS.TS. Đặng Văn Đức. Các nội dung nghiên cứu và kết quả trong đề tài này là trung thực và chưa từng được ai công bố trong bất cứ công trình nghiên cứu nào trước đây. Những số liệu trong các hình phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi trong phần tài liệu tham khảo. Ngoài ra, đề tài còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả, cơ quan tổ chức khác, và cũng được thể hiện trong phần tài liệu tham khảo. Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm trước Hội đồng, cũng như kết quả luận văn của mình. Thái nguyên, ngày 12 tháng 11 năm 2013 Tác giả Phạm Thanh Tùng Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ ii LỜI CẢM ƠN Để hoàn thành luận văn này, em xin tỏ lòng biết ơn sâu sắc đến thầy PGS.TS.ĐẶNG VĂN ĐỨC, đã tận tình hướng dẫn trong suốt quá trình viết luận văn tốt nghiệp. Em chân thành cảm ơn quý thầy, cô trong trường Đại Học Công nghệ Thông tin và Truyền thông đã tận tình truyền đạt kiến thức trong hai năm học tập. Với vốn kiến thức được tiếp thu trong quá trình học là nền tảng cho quá trình nghiên cứu để em hoàn thành luận văn. Chân thành cảm ơn Ban giám đốc Trung tâm Tin học thuộc Sở Giáo dục và Đào tạo Hải Phòng và các bạn đồng nghiệp đã cho phép và tạo điều kiện thuận lợi để tôi có thời gian học tập và nghiên cứu trong quá trình đào tạo cao học. Cảm ơn gia đình đã động viên cũng như cảm ơn các bạn lớp CH K10C đã cùng tôi đoàn kết xây dựng tập thể lớp K10C, đạt được những thành tích cao trong học tập. Một lần nữa xin chân thành cảm ơn! Học viên cao học lớp K10C Phạm Thanh Tùng Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC HÌNH v MỞ ĐẦU 1 1. Đặt vấn đề 1 2. Đối tượng và phạm vi nghiên cứu 2 3. Hướng nghiên cứu của đề tài 2 Chƣơng 1. TỔNG QUAN VỀ DỊCH VỤ WEB 3 1.1. Ngôn ngữ XML 3 1.2. Giao thức truy cập dịch vụ Web - SOAP 9 1.2.1. Kiến trúc dịch vụ SOAP 9 1.2.2. Đặc trưng của SOAP 9 1.2.3. Cấu trúc một message theo dạng SOAP 11 1.2.4. Những kiểu truyền thông SOAP 12 1.2.5. Mô hình dữ liệu 12 1.3. Ngôn ngữ mô tả dịch vụ Web - WSDL 12 1.4. Mô tả và tìm kiếm dịch vụ Web – UDDI 14 1.4.1. Lớp dịch vụ Web với UDDI 14 1.4.2. Cấu trúc dữ liệu UDDI 17 1.5. Các dịch vụ web hiện nay đã phát triển 19 1.6. Tình hình nghiên cứu hiện nay trong và ngoài nước 19 Chƣơng 2. NGÔN NGỮ BPEL 21 2.1. Giới thiệu ngôn ngữ BPEL 21 2.1.1. Nguyên tắc hoạt động của một tiến trình BPEL 22 2.1.2. Cấu trúc của một tiến trình BPEL 24 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ iv 2.2. Các khái niệm cơ bản về BPEL 25 2.2.1. Các thành phần tác vụ trong BPEL 25 2.2.2 . BPEL với chương trình dịch Java 37 2.3. Kiến trúc một số trình xử lý tiêu biểu trong BPEL 38 2.3.1. Khái niệm trình xử lý BPEL 38 2.3.2. Kiến trúc một số trình xử lý tiêu biểu 41 2.4. Đánh giá hiệu năng của các trình xử lý 54 2.5. Quy trình thiết kế tái sử dụng. 55 Chƣơng 3. XÂY DỰNG HỆ THỐNG THỬ NGHIỆM TÍCH HỢP DỊCH VỤ WEB TRÊN CƠ SỞ BPEL 58 3.1. Mô tả bài toán 58 3.2. Phân tích hệ thống 59 3.2.1. Mục đích của hệ thống 59 3.2.2. Phạm vi bài toàn 59 3.3. Thiết kế hệ thống 59 3.4. Triển khai hệ thống demo kết hợp dịch vụ Web 61 KẾT LUẬN 64 TÀI LIỆU THAM KHẢO 66 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ v DANH MỤC HÌNH Hình 1.1: Một SOAP Operation đơn giản 10 Hình 1.2: Cấu trúc thông điệp SOAP 10 Hình 1.3: Cấu trúc message SOAP 11 Hình 1.4: Lớp dịch vụ Web với UDDI 14 Hình 1.5: Luồng thông báo UDDI giữa Client và Registry 15 Hình 2.1: Ví dụ về một tiến trình BPEL 22 Hình 2.2: Ví dụ về kiểu liên kết ngoài - PartnerLink Type 23 Hình 2.3: Ví dụ về liên kết ngoài – PartnerLink 23 Hình 2.4: Cấu trúc file BPEL 24 Hình 2.5: Cấu trúc XML của receive 27 Hình 2.6: Ví dụ về trường hợp sử dụng invoke 28 Hình 2.7: Cấu trúc XML của invoke 28 Hình 2.8: Trường hợp sử dụng của Reply 29 Hình 2.9: Cấu trúc XML của Reply 29 Hình 2.10: Trường hợp sử dụng của Validate 30 Hình 2.11: Cấu trúc XML của Assign 31 Hình 2.12: Trường hợp sử dụng của Throw 31 Hình 2.13: Trường hợp sử dụng của ReThrow 32 Hình 2.14: Cấu trúc XML của Flow 33 Hình 2.15: Cấu trúc XML của Repeat Until 33 Hình 2.16: Trường hợp sử dụng của Pick 34 Hình 2.17: Cấu trúc XML của If 34 Hình 2.18: Cấu trúc XML của Flow 35 Hình 2.19: Trường hợp sử dụng của Foreach 35 Hình 2.20: Cấu trúc XML của Foreach 36 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ vi Hình 2.21: Cấu trúc XML của While 36 Hình 2.22: Trường hợp sử dụng của Scope 37 Hình 2.23: Mô hình kiến trúc BPEL 39 Hình 2.24: Mẫu tiến trình logic 40 Hình 2.25: Bảng Danh sách các trình xử lý BPEL hiện nay 41 Hình 2.26: Trình thiết kế của Apache ODE trên nền tảng Eclipse 42 Hình 2.27: Kiến trúc của Apache ODE 43 Hình 2.28: Bộ sản phẩm ActiveVOS 45 Hình 2.29: Trình thiết kế ActiveVOS 46 Hình 2.30: Kiến trúc tổng quan của ActiveVOS Server 47 Hình 2.31: Mối quan hệ của Oracle BPEL Process Manager với các thành phần khác 50 Hình 2.32: Kiến trúc của Oracle BPEL Process Manager 51 Hình 2.33: Trình thiết kế Jdeveloper cho Oracle BPELProcess Manager 53 Hình 2.34: Mô hình đo hiệu năng trình xử lý BPEL 55 Hình 2.35: Thiết lập khách hàng dịch vụ Web 56 Hình 3.1: Mô hình xây dựng quá trình BPEL 59 Hình 3.2: Sơ đồ luồng dữ liệu quy trình BPEL 60 Hình 3.3: Sơ đồ quá trình gán (Assign) theo định nghĩa BPEL 60 Hình 3.4: Cửa sổ Preferences 61 Hình 3.5: Cửa sổ New Server Runtime Environment 61 Hình 3.6: Địa chỉ dịch vụ cùng các cổng kết nối dịch vụ máy chủ Vietnamses 62 Hình 3.7: Địa chỉ dịch vụ cùng các cổng kết nối dịch vụ máy chủ English 62 Hình 3.8: Quy trình kết nối dịch vụ bằng kỹ thuật BPEL trên chương trình dịch Java (Eclipse) 63 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ 1 MỞ ĐẦU 1. Đặt vấn đề Trong vài năm qua, Công nghệ thông tin IT (Information Technology) đã bắt đầu phát triển các dịch vụ web (web service). Mặc dù các dịch vụ web là một cách để chia sẻ các tài nguyên máy tính, chứ không phải là một công nghệ mới, nhưng nó đã châm ngòi một cuộc cách mạng trong cách cung cấp dịch vụ của các tổ chức. Lúc đầu dịch vụ web trên máy tính cung cấp các tính năng ưu việt thông qua các trang web nhưng hiện nay nó đã mở rộng ra với các thiết bị công nghệ thông tin khác như điện thoại, máy kỹ thuật số. Công nghệ thông tin hiện đại ngày càng phổ biến chức năng của công nghệ di động, việc ghép nối các dịch vụ ngày càng cần thiết. Tuy nhiên, cuộc cách mạng này giống như mọi cuộc cách mạng khác, có các thành phần của quá khứ mà từ đó nó phát triển lên. Vì vậy, để đưa dịch vụ web phát triển mạnh mẽ hơn cần tích hợp chúng sao cho dễ dàng với người sử dụng. Về nhiều mặt, sự thay đổi quan trọng này là vấn đề làm sao kết hợp chúng một cách toàn diện chứ không phải là sự ghép nối chắp vá đơn giản. Trong thế giới mới việc một người sử dụng một phần mềm dịch vụ web với tất cả tiện ích cơ bản có sẵn là việc thiết yếu, giảm tải sự phức tạp khi sử dụng nhiều phần mềm dịch vụ khác nhau do nhiều hãng khác nhau thiết kế. Sự thay đổi thực sự ấy trong cách chúng ta tính toán mang lại các cơ hội to lớn cho người sử dụng dịch vụ công nghệ thông tin để kiểm soát sự thay đổi và sử dụng chúng cho lợi ích cá nhân và tổ chức của họ. Xuất phát từ những vấn đề nêu trên, đề tài ―Kỹ thuật phát triển ứng dụng Web bằng ngôn ngữ WS-BPEL‖ nhằm mục tiêu tiếp cận, nghiên cứu các đặc điểm, ứng dụng, cơ sở hạ tầng, các mô hình triển khai dịch vụ dựa trên các dịch vụ có sẵn để đề xuất lựa chọn mô hình dịch vụ kết hợp và thay thế chúng. Trên cơ sở các mô hình dịch vụ web đã có tìm ra mô hình dịch vụ thay thế và sử dụng ngôn ngữ thực thi tiến trình nghiệp vụ dịch vụ Web WS-BPEL (Web Service Business Process Execution Language) để thể hiện chúng. Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ 2 2. Đối tƣợng và phạm vi nghiên cứu Kiến trúc tổng thể và các thành phần cơ bản như XML, kiến trúc dịch vụ Web như SOAP, WSDL và UDDI, ngôn ngữ BPEL. Lựa chọn một dịch vụ web để xây dựng demo trên cơ sở kiến trúc đã nghiên cứu trên đây. 3. Hƣớng nghiên cứu của đề tài - Hướng của đề tài đặt ra phương án kết hợp một số dịch vụ web thông thường lại với nhau trong cùng một chương trình xử lý. - Thực hiện bản thử nghiệm với các tính năng đơn giản, gọn nhẹ vào các thiết bị công nghệ thông tin phổ thông. - Nghiên cứu thuật toán kết hợp các dịch vụ rời rạc thành một ứng dụng nghiệp vụ thống nhất một cách đơn giản và nhanh chóng mà không cần thay đổi các dịch vụ đó. - Xây dựng hệ thống quy trình thiết kế tái sử dụng các ứng dụng sẵn có được viết trên các ngôn ngữ khác nhau, kết hợp chúng thành ứng dụng nghiệp vụ thống nhất có tính khả thi. - Sử dụng ngôn ngữ mô phỏng và thực thi tiến trình nghiệp vụ có tên là BPEL. Ngôn ngữ BPEL sẽ định nghĩa tiến trình, các dịch vụ ngoài và sử dụng các tác vụ, các phép toán logic để tạo thành quy trình. - Thiết lập demo module sử dụng kỹ thuật xây dựng ứng dụng web dựa trên ngôn ngữ WS- BPEL. [...]... http://www.lrc.tnu.edu.vn/ 21 Chƣơng 2 NGÔN NGỮ BPEL 2.1 Giới thiệu ngôn ngữ BPEL BPEL (Business Process Execution Language) là ngôn ngữ dùng để hỗ trợ phát triển các ứng dụng phức tạp, lớn đòi hỏi phải tổng hợp nhiều dịch vụ Web khác nhau Phiên bản BPEL đầu tiên (BPEL 1.0) ra đời vào tháng 07/2002 Vào tháng 05/2003 BPEL1 .1 ra đời dựa trên việc kết hợp BPEL 1.0 với một số ngôn ngữ khác và được đệ trình lên... nhiệm cho sự phát triển của ngôn ngữ BPEL Để hổ trợ cho việc thể hiện các ngôn ngữ này thì các công cụ desingner được phát triển ra như là một tất yếu Có rất nhiều Design Engine được phát triển bởi nhiều tổ chức khác nhau như Oracle SOA Suite, PPEL Eclipse Plugin… hỗ trợ mạnh mẽ cho việc tổng hợp và xây dựng các dịch vụ Tuy nhiên với sự phát triển mạnh mẽ của của internet và các công nghệ web đã là cho... một ngôn ngữ được sử dụng cho việc phân tích thiết kế và được thể hiện bằng một bộ cú pháp xml và có các giao thức riêng Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ 20 của mình, chúng không có một ngôn ngữ riêng cụ thể nào cả mà chỉ được thể hiện qua các giao diện đồ họa, cũng không có một chuẩn ký hiệu chung cho các ngôn ngữ này Trong các ngôn ngữ trên thì BPEL là ngôn ngữ được sử dụng. .. save và delete) 1.5 Các dịch vụ web hiện nay đã phát triển Hiện nay trên phương diện về dịch vụ web đang phát triển càng ngày càng đa dạng với nhiều lĩnh vực khác nhau Vào những năm 2000 khi công nghệ thông tin Việt Nam còn đang chập chững trước ngưỡng cửa thông tin toàn cầu thì việc triển khai dịch vụ web vẫn còn rất nghèo nàn về công nghệ dịch vụ web lẫn kỹ thuật Việc triển khai công nghệ thông tin... 04/2007 tổ chức OASIS chuẩn hóa BPEL và đổi tên thành WS- BPEL 2.0 được dùng cho đến nay [4] BPEL cho phép đặc tả và xử lý luồng công việc bằng cách cung cấp sẵn các thẻ mô tả các đối tượng và các hoạt động xử lý của một quy trình nghiệp vụ thông thường BPEL đại diện cho một quy tụ của hai ngôn ngữ workflow (quy trình làm việc), WSFL (Web Services Flow Language) và XLANG WSFL này được thiết kế bởi IBM... operation=‖NCName‖, các tham số này được ứng dụng khách sử dụng và gửi thông điệp đến Biến BPEL VariableName được sử dụng để lưu giá trị đầu vào từ thông điệp Tác vụ gọi dịch vụ Web - Invoke Để gọi hoặc thực hiện một dịch vụ Web nào đó thì ta sử dụng tác vụ invoke Tác vụ Invoke mô tả một dịch vụ Web thực hiện ở dạng ―một chiều‖ hoặc ―yêu cầu - đáp ứng Các dịch vụ Web đối tác được xác định thông qua PartnerLink... http://www.lrc.tnu.edu.vn/ 22 Hình 2.1: Ví dụ về một tiến trình BPEL 2.1.1 Nguyên tắc hoạt động của một tiến trình BPEL Trong số các đặc tả: WSDL, XML Schema 2.0,XPath 2.0 và WS- Addressing thì WSDL đóng vai trò cốt lõi trong một tiến trình của BPEL Cốt lõi của BPEL là khái niệm peer-to-peer là sự tương tác giữa các dịch vụ Web được mô tả trong WSDL Một tiến trình BPEL làm thế nào để phối hợp giữa các dịch vụ khác... hình nghiên cứu hiện nay trong và ngoài nƣớc Với sự phát triển và ứng dụng mạnh mẽ của công nghệ SOA vào các quy trình nghiệp vụ và đang mang lại một lợi ích lớn cho các tổ chức và doanh nghiệp Đi đôi với kiến trúc SOA là sự phát triển của các ngôn ngữ mô hình hóa các quy trình nghiệp vụ như: XPDL, BPML ,BPEL Nó giúp cho các lập trình viên và các nhà sử dụng dịch vụ đơn giãn hóa việc tổng hợp cũng như... nghĩa bằng namespace SOAP-ENC 1.3 Ngôn ngữ mô tả dịch vụ Web - WSDL WSDL định nghĩa cách mô tả web service theo cú pháp tổng quát XML, bao gồm các thông tin [7]: - Tên service - ể gọi các hàm của web service - Loạ Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ 13 : ối ể truy xuất service Cả 2 phần trên sẽ được lưu trong 2 tập tin XML, bao gồm: - Tậ (cho phần 1) - Tậ 2) Một tài liệu WSDL gồm... ngày càng nhiều và ngày càng chất lượng Ứng dụng web trở nên phổ biến nên dịch vụ mạng trở thành một tiềm năng khai thác cho rất nhiều doanh nghiệp Từ việc quản lý nhân viên, quản lý hồ sơ, quản lý điểm học tập cho đến giáo dục đào tạo từ xa Tất cả đều có thể thông qua ứng dụng dịch vụ mạng để thực hiện công việc trực tuyến Một số ứng dụng mạng hiện nay đang phát triển có thể kể đến như: - Mạng thanh . CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHẠM THANH TÙNG KỸ THUẬT PHÁT TRIỂN ỨNG DỤNG WEB BẰNG NGÔN NGỮ WS - BPEL LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI. CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHẠM THANH TÙNG KỸ THUẬT PHÁT TRIỂN ỨNG DỤNG WEB BẰNG NGÔN NGỮ WS - BPEL Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN. dụng dịch vụ công nghệ thông tin để kiểm soát sự thay đổi và sử dụng chúng cho lợi ích cá nhân và tổ chức của họ. Xuất phát từ những vấn đề nêu trên, đề tài Kỹ thuật phát triển ứng dụng Web