Kỹ thuật phát triển ứng dụng web bằng ngôn ngữ ws bpel

74 12 0
Kỹ thuật phát triển ứng dụng web bằng ngôn ngữ ws bpel

Đ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

ĐẠ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 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 trung tâm học liệu http://www.lrc.tnu.edu.vn/ i LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu tơi, có hỗ trợ từ Giáo viên hướng dẫn PGS.TS Đặng Văn Đức Các nội dung nghiên cứu kết đề tài trung thực chưa cơng bố cơng trình nghiên cứu trước Những số liệu hình phục vụ cho việc phân tích, nhận xét, đánh giá tác giả thu thập từ nguồn khác có ghi phần tài liệu tham khảo Ngồi ra, đề tài sử dụng số nhận xét, đánh số liệu tác giả, quan tổ chức khác, thể phần tài liệu tham khảo Nếu phát có gian lận tơi xin hồn tồn chịu trách nhiệm trước Hội đồng, kết luận văn Thái nguyên, ngày 12 tháng 11 năm 2013 Tác giả Phạm Thanh Tùng Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ ii LỜI CẢM ƠN Để hồ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 suốt trình viết luận văn tốt nghiệp Em chân thành cảm ơn quý thầy, cô trường Đại Học Công nghệ Thông tin Truyền thơng tận tình truyền đạt kiến thức hai năm học tập Với vốn kiến thức tiếp thu trình học tảng cho 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 Đào tạo Hải Phòng bạn đồng nghiệp cho phép tạo điều kiện thuận lợi để tơi có thời gian học tập nghiên cứu trình đào tạo cao học Cảm ơn gia đình động viên cảm ơn bạn lớp CH K10C tơi đồn kết xây dựng tập thể lớp K10C, đạt thành tích cao học tập Một lần 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 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 Đặt vấn đề Đối tượng phạm vi nghiên cứu Hướng nghiên cứu đề tài Chƣơng TỔNG QUAN VỀ DỊCH VỤ WEB 1.1 Ngôn ngữ XML 1.2 Giao thức truy cập dịch vụ Web - SOAP 1.2.1 Kiến trúc dịch vụ SOAP 1.2.2 Đặc trưng SOAP 1.2.3 Cấu trúc 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 liệu 12 1.3 Ngôn ngữ mô tả dịch vụ Web - WSDL 12 1.4 Mơ tả 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 liệu UDDI 17 1.5 Các dịch vụ web phát triển 19 1.6 Tình hình nghiên cứu nước 19 Chƣơng 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 tiến trình BPEL 22 2.1.2 Cấu trúc tiến trình BPEL 24 Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ iv 2.2 Các khái niệm BPEL 25 2.2.1 Các thành phần tác vụ BPEL 25 2.2.2 BPEL với chương trình dịch Java 37 2.3 Kiến trúc số trình xử lý tiêu biểu BPEL 38 2.3.1 Khái niệm trình xử lý BPEL 38 2.3.2 Kiến trúc số trình xử lý tiêu biểu 41 2.4 Đánh giá hiệu trình xử lý 54 2.5 Quy trình thiết kế tái sử dụng 55 Chƣơng 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ả toán 58 3.2 Phân tích hệ thống 59 3.2.1 Mục đích hệ thống 59 3.2.2 Phạm vi 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 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 Client Registry 15 Hình 2.1: Ví dụ tiến trình BPEL 22 Hình 2.2: Ví dụ kiểu liên kết - PartnerLink Type 23 Hình 2.3: Ví dụ liên kết ngồi – PartnerLink 23 Hình 2.4: Cấu trúc file BPEL 24 Hình 2.5: Cấu trúc XML receive 27 Hình 2.6: Ví dụ trường hợp sử dụng invoke 28 Hình 2.7: Cấu trúc XML invoke 28 Hình 2.8: Trường hợp sử dụng Reply 29 Hình 2.9: Cấu trúc XML Reply 29 Hình 2.10: Trường hợp sử dụng Validate 30 Hình 2.11: Cấu trúc XML Assign 31 Hình 2.12: Trường hợp sử dụng Throw 31 Hình 2.13: Trường hợp sử dụng ReThrow 32 Hình 2.14: Cấu trúc XML Flow 33 Hình 2.15: Cấu trúc XML Repeat Until 33 Hình 2.16: Trường hợp sử dụng Pick 34 Hình 2.17: Cấu trúc XML If 34 Hình 2.18: Cấu trúc XML Flow 35 Hình 2.19: Trường hợp sử dụng Foreach 35 Hình 2.20: Cấu trúc XML Foreach 36 Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ vi Hình 2.21: Cấu trúc XML While 36 Hình 2.22: Trường hợp sử dụng 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 trình xử lý BPEL 41 Hình 2.26: Trình thiết kế Apache ODE tảng Eclipse 42 Hình 2.27: Kiến trúc 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 ActiveVOS Server 47 Hình 2.31: Mối quan hệ Oracle BPEL Process Manager với thành phần khác 50 Hình 2.32: Kiến trúc 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 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 q trình BPEL 59 Hình 3.2: Sơ đồ luồng liệu quy trình BPEL 60 Hình 3.3: Sơ đồ 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 dịch vụ cổng kết nối dịch vụ máy chủ Vietnamses 62 Hình 3.7: Địa dịch vụ 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ụ kỹ thuật BPEL chương trình dịch Java (Eclipse) 63 Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ MỞ ĐẦU Đặ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 dịch vụ web (web service) Mặc dù dịch vụ web cách để chia sẻ tài ngun máy tính, khơng phải cơng nghệ mới, châm ngịi cách mạng cách cung cấp dịch vụ tổ chức Lúc đầu dịch vụ web máy tính cung cấp tính ưu việt thơng qua trang web mở rộng với thiết bị công nghệ thông tin khác điện thoại, máy kỹ thuật số Công nghệ thông tin đại ngày phổ biến chức công nghệ di động, việc ghép nối dịch vụ ngày cần thiết Tuy nhiên, cách mạng giống cách mạng khác, có thành phần khứ mà từ phát triển lên Vì vậy, để đưa dịch vụ web phát triển mạnh mẽ cần tích hợp chúng cho dễ dàng với người sử dụng Về nhiều mặt, thay đổi quan trọng vấn đề kết hợp chúng cách tồn diện khơng phải ghép nối chắp vá đơn giản Trong giới việc người sử dụng phần mềm dịch vụ web với tất tiện ích có sẵn việc thiết yếu, giảm tải phức tạp sử dụng nhiều phần mềm dịch vụ khác nhiều hãng khác thiết kế Sự thay đổi thực cách tính tốn mang lại hội to lớn cho người sử dụng dịch vụ công nghệ thơng tin để kiểm sốt thay đổi sử dụng chúng cho lợi ích cá nhân tổ chức họ Xuất phát từ vấn đề nêu trên, đề tài ―Kỹ thuật phát triển ứng dụng Web ngôn ngữ WS-BPEL‖ nhằm mục tiêu tiếp cận, nghiên cứu đặc điểm, ứng dụng, sở hạ tầng, mơ hình triển khai dịch vụ dựa dịch vụ có sẵn để đề xuất lựa chọn mơ hình dịch vụ kết hợp thay chúng Trên sở mơ hình dịch vụ web có tìm mơ hình dịch vụ thay 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ể chúng Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 2 Đối tƣợng phạm vi nghiên cứu Kiến trúc tổng thể thành phần XML, kiến trúc dịch vụ Web SOAP, WSDL UDDI, ngôn ngữ BPEL Lựa chọn dịch vụ web để xây dựng demo sở kiến trúc nghiên cứu Hƣớng nghiên cứu đề tài - Hướng đề tài đặt phương án kết hợp số dịch vụ web thông thường lại với chương trình xử lý - Thực thử nghiệm với tính đơn giản, gọn nhẹ vào thiết bị công nghệ thơng tin phổ thơng - Nghiên cứu thuật tốn kết hợp dịch vụ rời rạc thành ứng dụng nghiệp vụ thống cách đơn giản nhanh chóng mà khơng cần thay đổi dịch vụ - Xây dựng hệ thống quy trình thiết kế tái sử dụng ứng dụng sẵn có viết ngôn ngữ khác nhau, kết hợp chúng thành ứng dụng nghiệp vụ thống có tính khả thi - Sử dụng ngôn ngữ mô thực thi tiến trình nghiệp vụ có tên BPEL Ngơn ngữ BPEL định nghĩa tiến trình, dịch vụ ngồi sử dụng tác vụ, 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 ngơn ngữ WS- BPEL Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 52 phục lại tiến trình trạng thái lưu trước (khi bị hủy) tiếp tục thực thi tiến trình Trong thực tế, có nhiều tiến trình nghiệp vụ chạy song song với nhau, tính tự phục hồi giúp giảm nhu cầu tài nguyên phần cứng máy chủ Nền tảng kết nối WSDL có nhiệm vụ thực giao tiếp với tiến trình BPEL triển khai máy chủ Nó bao gồm việc người dùng truy cập vào tiến trình BPEL tiến trình BPEL giao tiếp với dịch vụ Web khác Mặc dù đặc tả BPEL nói chuyện thơng qua dịch vụ Web, Oracle BPEL Process Manager – OBMP cho phép kết nối sử dụng giao thức khác SOAP kết nối với ứng dụng hệ thống có sẵn Sử dụng tảng kết nối WSDL, trình xử lý BPEL mở rộng tới hệ thống khác mà khơng cần phải chuyển hóa chúng sang dịch vụ Web (chủ yếu SOAP) OBPM hỗ trợ kết nối tới ứng dụng Java EE EJB, RMI, JMS, JCA giao thức Web HTTP Get Post, hay sockets Việc tích hợp thực thơng qua tảng gọi dịch vụ Web (Web Services Invocation Framework) Khả tích hợp giúp cho trình xử lý BPEL tích hợp với hệ thống có sẵn hệ thống cũ, mà khơng thể đưa giao tiếp dạng dịch vụ Web Tiến trình nghiệp vụ mô tả giao tiếp BPEL với dịch vụ Web trao đổi thông điệp XML Các dịch vụ tích hợp cung cấp khả chuyển đổi (theo định dạng XML) theo chuẩn hỗ trợ Xpath Trình xử lý BPEL hỗ trợ ngôn ngữ chuyển XSLT (Extensible Stylesheet Language for Transformation) XSQL XSLT có khả thực chuyển đổi phức tạp dạng XML thường sử dụng để chuyển đổi từ XML sang ngôn ngữ đánh dấu khác HTML, WML, VoiceXML XSQL, Xquery ngôn ngữ truy vấn XML với chức hỗ trợ truy vấn Xpath Mặc dù trình xử lý BPEL hỗ trợ người tương tác với tiến trình BPEL tương tác u cầu có tiến trình, ví dụ bước theo dõi, xác nhận hay định Việc tương tác thực qua giao tiếp WSDL tương tác người coi dịch vụ ngồi Dịch vụ Thơng báo cung cấp giao tiếp dễ dùng để tiến trình BEPL gửi thơng điệp đến người dùng (sử dụng chế đồng bộ) theo kênh khác email, tin nhắn SMS, tin nhắn thoại Dịch vụ định danh xác thực việc truy cập vào trình xử lý BPEL thơng qua Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 53 tầng dịch vụ Web, cho phép kiểm tra user, mật khẩu, quyền truy cập sách bảo mật khác Các dịch vụ cảnh báo, luồng công việc định danh thường sử dụng với Để tích hợp tiến trình BPEL truy cập vào file, máy chủ FTP, CSDL, JMS, hay ứng dụng khác, trình xử lý BPEL đưa chuyển đổi (adapter), hoạt động tảng WSDL Trình điều khiển BPEL hỗ trợ triển khai, giám sát, quản trị gỡ lỗi tiến trình BPEL Trình điều khiển cung cấp tính quan trọng như: mơ tả luồng tiến trình trực tiếp, kiểm sốt log, gỡ lỗi tiến trình, lịch sử tiến trình, quản lý cấu hình Trình điều khiển BPEL sử dụng giao diện Web, công nghệ JSP Serverlet, giao tiếp với tiến trình thơng qua API Trình thiết kế BPEL cho phép phát triển tiến trình BPEL qua giao diện đồ họa mà khơng cần phải viết dịng mã nguồn Thay phải viết mã nguồn, người thiết kế cần kéo thả tác vụ vào vùng thiết kế Người dùng thêm liên kết ngồi (partner link) định nghĩa dịch vụ Trình thiết kế BPEL hỗ trợ thủ thuật cho chức chép hàm chức để xây dựng biểu thức Xpath hay ánh xạ XSDL Trình thiết kế BPEL triển khai tiến trình trực tiếp lên trình xử lý BPEL, giúp cho việc phát triển bảo trì thuận lợi Trình thiết kế BPEL hỗ trợ đầy đủ ngôn ngữ WS-BPEL 2.0, mã nguồn thiết kế chạy hay thừa kế sản phẩm mà đảm bảo nghiệp vụ Hình 2.33: Trình thiết kế Jdeveloper cho Oracle BPELProcess Manager Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 54 Trình xử lý BPEL sử dụng CSDL để lưu thông tin cấu hình hệ thống, trạng thái tiến trình, qua hỗ trợ tính tự phục hồi BPEL Process Manager hỗ trợ nhiều sản phẩm CSDL khác DB2, Oracle, SQL Server Trong phiên BPEL 11.1.6 tại, CSDL Oracle Database XE sử dụng cấu hình cài đặt mặc định hệ thống 2.4 Đánh giá hiệu trình xử lý Hiệu hệ thống đánh giá khả mà hệ thống xử lý yêu cầu trả kết cho người dùng Một hệ thống có hiệu đánh giá tốt yêu cầu người dùng xử lý trả kết quả, với thời gian chấp nhận được, đồng thời có khả xử lý lúc nhiều yêu cầu Ngược lại, hệ thống xử lý yêu cầu chậm có tượng nghẽn, treo phục vụ nhiều yêu cầu đồng thời đánh giá không tốt [2] Để đánh giá hiệu hệ thống tốt hay không, người ta thường sử dụng phép đo hiệu năng, mơ q trình xử lý yêu cầu hệ thống, thu thập liệu đo dựa số tiêu chí cuối tiến hành phân tích, đánh giá liệu đo Để mơ q trình xử lý u cầu, người ta giả lập yêu cầu giống với môi trường thật gửi tới hệ thống Theo lý thuyết đo hiệu phần mềm Henry H.Liu, người ta sử dụng phương pháp đo dựa tiêu chí throughput responsetime để đánh giá hiệu hệ thống Throughput định nghĩa số lượng đối tượng (objects) xử lý giây (Throughput=objects/second), response time thời gian phản hồi từ hệ thống, tính từ sau người dùng gửi yêu cầu đến nhận kết trả Trong hệ thống xử lý giao dịch trực tuyến (OLTP), response timelà tiêu chí quan trọng để đánh giá hiệu hệ thống, throughput thường sử dụng với hệ thống xử lý giao dịch dài lớn (ví dụ hệ thống chạy batch job) Để đo hiệu trình xử lý BPEL, sử dụng phương pháp để đo tiêu chí dựa yêu cầu gửi đến hệ thống Tuy nhiên, thân trình xử lý BPEL khơng trực tiếp đón nhận u cầu từ phía người dùng trả kết Việc đón nhận yêu cầu trả kết thực hiệnbởi ứng Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 55 dụng dịch vụ Web chạy trình xử lý BPEL, trình xử lý trực tiếp thực tác vụ ứng dụng dịch vụ Web Như để đo hiệu trình xử lý BPEL, thực phép đo tác động đến ứng dụng dịch vụWeb chạy trình xử lý Hình 2.34: Mơ hình đo hiệu trình xử lý BPEL Trong mơ hình 2.34 trên, người dùng ảo mô gửi yêu cầu đến dịch vụ Web (Web Service), dịch vụ Web nhận yêu cầu thực nghiệp vụ, thao tác trực tiếp gửi xuống trình xử lý BPEL để thực hiện, sau trả kết cho dịch vụ Web Dịch vụ Web tạo kết cuối trả kết cho người dùng ảo Người dùng ảo tạo công cụ đo, phép tùy biến tạo số lượng người dùng ảo tạo sẵn phép thử (test case) Công cụ đo giúp tự động hóa việc đo đạc, đồng thời cho kết xác, khách quan 2.5 Quy trình thiết kế tái sử dụng Khi có dịch vụ Web thực quy trình BPEL, tích hợp quy trình vào ứng dụng khách Sử dụng trình cắm thêm WTP Eclipse để tạo khách hàng dịch vụ Web Trước tạo mã khách hàng, cần phải thêm máy chủ Tomcat vào danh sách máy chủ Eclipse Nhấn mục trình đơn File - New Other chọn tùy chọn Server danh sách Sau đó, qua bước hướng dẫn trình thủ thuật để tạo máy chủ Tomcat cho vùng làm việc Eclipse Một tạo máy chủ, nhấn chuột phải vào tệp WSDL chọn mục trình đơn lên Web Services > Generate Client Hành động khởi động trình thủ thuật khách dịch vụ Web, tạo dự án với lớp cần thiết cho hoạt động với dịch vụ Web Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 56 Hình 2.35: Thiết lập khách hàng dịch vụ Web Sau thực thi mã, biến đầu chứa kết hoạt động quy trình BPEL ODE đảm bảo truy cập thông qua dịch vụ Web với số chức quản lý ứng dụng Bằng cách sử dụng nó, bạn kiểm sốt quy trình triển khai ODE cá thể chúng, thực thi máy chủ Mọi hoạt động mô tả tệp pmapi.wsdl nằm thư mục webapps/ode/WEB-INF ứng dụng Tomcat bạn Thật không may, pmapi.wsdl sử dụng kiểu tài liệu cũ RPC khó sử dụng dùng cơng cụ thử nghiệm Web Services Explorer Eclipse chẳng hạn Cách tốt để truy cập Quản lý API sử dụng thư viện Axis2 Cụ thể, sử dụng lớp ServiceClientUtil, thư viện ode-axis2 cung cấp Axis2 phụ thuộc vào thư viện khác, gồm Xerces, Stax, v.v Hầu hết số đưa vào tư liệu ode.war, bạn thêm vào tùy thuộc dự án bạn Các mã sau biểu thị cách trích thơng tin cá thể quy trình ServiceClientUtil client = new ServiceClientUtil(); OMElement msg = client buildMessage("listAllInstances", new String[] {}, new String[] {}); OMElement result = client.send(msg, "http://localhost:8080/ode/processes/InstanceManagement"); List>ProcessInfo> processes = new ArrayList>ProcessInfo>(); Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 57 Iterator>OMElement> i = result.getChildElements(); while (i.hasNext()) { OMElement omInstanceInfo = i.next(); OMElement omProcessName = omInstanceInfo.getFirstChildWithName( new QName("http://www.apache.org/ode/pmapi/types/2006/08/02/", "process-name")); OMElement omStatus = omInstanceInfo.getFirstChildWithName( new QName("http://www.apache.org/ode/pmapi/types/2006/08/02/", "status")); OMElement omStarted = omInstanceInfo.getFirstChildWithName( new QName("http://www.apache.org/ode/pmapi/types/2006/08/02/", "dt-started")); OMElement omLastActive = omInstanceInfo.getFirstChildWithName( new QName("http://www.apache.org/ode/pmapi/types/2006/08/02/", "dt-last-active")); ProcessInfo process = new ProcessInfo(); process.setProcessName(omProcessName.getText()); process.setStatus(omStatus.getText()); process.setStarted(omStarted.getText()); process.setLastActive(omLastActive.getText()); processes.add(process); } Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 58 Chƣơng XÂY DỰNG HỆ THỐNG THỬ NGHIỆM TÍCH HỢP DỊCH VỤ WEB TRÊN CƠ SỞ BPEL 3.1 Mơ tả tốn Trong xã hội việc cung cấp dịch vụ khách hàng cần thiết Phần lớn người sử dụng điện thoại di động máy tính để trao đổi, liên lạc Ngoài nhu cầu dịch vụ, tiện ích máy tính, điện thoại di động ngày cao như: kiểm tra tài khoản ngân hàng, dịch thuật, kiểm tra thư… Đã có nhiều dịch vụ tiện ích khác cung cấp nhà cung cấp dịch vụ khác cung cấp cho khách hàng Tuy nhiên để cung cấp cho khách hàng dịch vụ tiện ích đáp ứng nhu cầu họ khó Địi hỏi nhiều yếu tố có việc kết hợp dịch vụ nhà cung cấp khác Ví dụ như: tra cứu thơng tin, dịch thuật, tốn điện tử, chuyển khoản di động, đặt vé máy bay Nếu khách hàng muốn tốn cước, họ có nhiều cách thực hiện, thứ nhất: Truy vấn cước viễn thơng, tìm tài khoản ngân hàng nhà mạng chuyển khoản số tiền cần toán, phương án tương đối phức tạp, khách hàng muốn thao tác để tốn cước điện thoại họ Nó địi hỏi phải có kết hợp ngân hàng nhà mạng Có thể khách hàng nhắn tin theo cú pháp để thực việc tốn cước viễn thơng họ Nhà mạng có nhiệm vụ lấy số tiền mà khách hàng phải toán cung cấp kết cho ngân hàng, ngân hàng có nhiệm vụ kiểm tra tài khoản khách hàn xem có đủ số tiền cần thiết hay khơng hợp lệ chuyển khoản số tiền sang tài khoản nhà mạng Như ln phải có liên kết nhà cung cấp dịch vụ với đáp ứng dịch vụ tiện ích cho khách hàng Sự liên kết nhà cung cấp dịch vụ lúc nhanh chóng hay lập tức, có thay đổi bên phải có trao đổi bên để đến thống Sau thay đổi kỹ thuật hai bên thay đổi Ta có giải pháp tốt cho việc sử dụng kỹ thuật BPEL để tiếp nối dịch vụ mà chờ đợi người quản trị thiết kế Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 59 Ví dụ sống ta có nhu cầu dịch thuật, ta đến tra từ điển trực tuyến, máy tính dựa ngơn ngữ nguồn trả lại cho ta kết ngơn ngữ đích dịch Nếu máy chủ lỗi việc khắc phục phải chờ đợi nhà cung cấp dịch vụ Nếu có dịch vụ tương tự phải chờ việc ghép nối kỹ thuật viên Vì vậy, với kỹ thuật BPEL ta kết nối dịch vụ cách đơn giản Việc làm giải vấn đề: - Có thể đáp ứng nhiều dịch vụ cung cấp nhà cung cấp dịch vụ khác - Là cầu nối liên kết dịch vụ mà không cần thông qua liên kết nhà cung cấp dịch vụ Vậy toán đặt xây dựng hệ thống dịch thuật qua mạng dựa kỹ thuật phát triển ứng dụng Bpel 3.2 Phân tích hệ thống 3.2.1 Mục đích hệ thống Thực dịch vụ dịch thuật từ ngôn ngữ A (tiếng Anh) sang ngơn ngữ B (tiếng Việt) sau kiểm tra kết từ ngôn ngữ B sang ngôn ngữ A cách kết nối hai dịch vụ dịch thuật cung cấp hai nhà cung cấp Bản dịch lại sử dụng để đánh giá lại chất lượng máy dịch 3.2.2 Phạm vi toàn Khách hàng: người sử dụng dịch vụ mạng internet 3.3 Thiết kế hệ thống Thực xây dựng qui trình Bpel Hình 3.1: Mơ hình xây dựng q trình BPEL Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 60 Các đặc điểm kỹ thuật trình BPEL dịch nhƣ sau: * Dịch vụ dịch thuật: - Đầu vào: {ngôn ngữ nguồn, ngơn ngữ đích, từ dịch nguồn} - Đầu ra: {kết dịch} * Quá trình BPEL - Đầu vào:{ngôn ngữ nguồn, ngôn ngữ trung gian, từ dịch nguồn} - Đầu ra: {kết dịch} Sơ đồ luồng liệu quy trình BPEL Hình 3.2: Sơ đồ luồng liệu quy trình BPEL Sơ đồ trình gán (Assign) theo định nghĩa BPEL Hình 3.3: Sơ đồ trình gán (Assign) theo định nghĩa BPEL Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 61 3.4 Triển khai hệ thống demo kết hợp dịch vụ Web Quy trình BPEL kết hợp dịch vụ xây dựng chương trình hỗ trợ Eclipse Kepler 3.4 [5], máy chủ Apache Tomcat 7.0.42 [12], apache ode war 1.3.5 [14], công cụ phát triển Java jdk 7u25 (Java Development Kit) Các bƣớc triển khai máy chủ ODE Eclipse Kepler 3.4 Mở chương trình Eclipse Kepler 3.4 Vào menu Window – Preferences hiển thị cửa sổ Preferences Chọn mục Server - Runtime Environment Hình 3.4: Cửa sổ Preferences Nhấn nút Add hiển thị cửa sổ New Server Runtime Environment Hình 3.5: Cửa sổ New Server Runtime Environment Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 62 Chọn Apache Ode 1.x Runtime nhấn Next Sau điền thơng tin: - Tại mục ODE’s home directory: Chọn mục ode thư mục máy chủ apache tomcat - Tại mục Tomcat’s home directory: Chọn thư mục máy chủ apache tomcat Nhấn Finish để kết thúc trình cài đặt ODE Lúc cửa sổ Preferences có máy chủ Apache Ode 1.x Runtime Thực demo toán kết hợp dịch vụ Web WS-BPEL Xây dựng WSDL chứa cổng dịch vụ máy chủ Vietnamses máy chủ English mơ tả tồn diện vị trí dịch vụ lời gọi hàm truy cập Vì xây dựng demo nên địa dịch vụ giả định sơ đồ hình 3.6 hình 3.7 Hình 3.6: Địa dịch vụ cổng kết nối dịch vụ máy chủ Vietnamses Hình 3.7: Địa dịch vụ cổng kết nối dịch vụ máy chủ English Xây dựng quy trình kết nối dịch vụ kỹ thuật BPEL chương trình Eclipse hình 3.8 với hàm có sẵn Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 63 Hình 3.8: Quy trình kết nối dịch vụ kỹ thuật BPEL chương trình dịch Java (Eclipse) Qua toán demo kết nối dịch vụ Web kỹ thuật BPEL ta thấy rõ hợp dịch vụ khác Sự hợp dịch vụ chủ đề đặt trình phát triển dịch vụ mạng ngày nhiều Điều cần thiết, kết hợp hệ thống thông tin doanh nghiệp thường bao gồm nhiều dịch vụ khác nhau, số địa (đôi cô lập) chức nhiệm vụ khơng phải tồn quy trình kinh doanh Để đạt hiệu hợp có liên quan đến việc định nghĩa thực kết hợp kiến trúc, mà thường phức tạp, đặc biệt công ty lớn Vậy phương pháp sử dụng kỹ thuật BPEL giải pháp hay để xây dựng thực tiễn quốc tế kiến trúc có đạt tới việc tận dụng kết hợp quy mô dịch vụ Web Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 64 KẾT LUẬN Các vấn đề nghiên cứu thử nghiệm Việc tìm hiểu nghiên cứu kỹ thuật phát triển ứng dụng Web ngôn ngữ BPEL đặt nhiều vấn đề việc triển khai thử nghiệm kỹ thuật phát triển hầu hết nhỏ lẻ chưa quy mô Tuy nhiên, với kỹ thuật tìm hiểu nghiên cứu triển khai ta thấy có nhiều hướng triển vọng đề tài nghiên cứu Với quy trình cụ thể rõ ràng BPEL hướng tiếp cận công nghệ dịch vụ ứng dụng Web cách hoàn toàn xác Kết đạt đƣợc luận văn * Trình bày cấu trúc XML, cầu trúc dịch vụ WEB - SOAP, WSDL, UDDI, dịch vụ web phát triển tình hình nghiên cứu vấn đề kỹ thuật phát triển ứng dụng web ngôn ngữ BPEL * Các khái niệm BPEL, tương quan BPEL với chương trình dịch JAVA Đồng thời số trình xử lý tiêu biểu BPEL đánh giá hiệu trình xử lý * Cài đặt ODA Eclipse xây dựng mơi trường thiết kế quy trình kiến trúc SOA với ngôn ngữ BPEL sở demo quy trình tốn đặt kết hợp dịch vụ web Hƣớng nghiên cứu Với BPEL định nghĩa qui trình nghiệp vụ đơn giản phức tạp Trong phạm vi định BPEl tương tự ngơn ngữ lập trình truyền thống Nó đưa cấu, vịng lập, nhánh, biến mà cho phép định nghĩa qui trình nghiệp vụ thuật tốn BPEL ngôn ngữ đặc biệt tập trung vào việc định nghĩa quy trình kinh doanh Vì vậy, mặt đưa cấu tương đối đơn giản để thực định nghĩa quy trình Mặt khác, giảm bớt phức tạp ngơn ngữ lập trình truyền thống đơn giản hố việc học tập, tìm hiểu Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 65 Điều quan trọng BPEl xây cho dịch vụ web BPEL giúp người dùng dễ dàng gọi hoạt động đồng bất đồng dịch vụ web Nó kéo theo thao tác hay song song, chờ đợi BPEl cung cấp vốn từ vựng phong phú dành cho xử lý lỗi, mà quan trọng trình kinh doanh phải phản ứng với thất bại cách thông minh BPEL cung cấp, hỗ trợ cho trình hoạt động lâu dài bồi thường thiệt hại, cho phép hủy bỏ phần cơng việc q trình mà khơng kết thúc thành cơng Được liệt kê tính quan trọng cung cấp cho BPEL Vậy hướng nghiên cứu BPEL ta xác định: - Tìm xử lý thao tác đồng không đồng dịch vụ, quản lý quay trở lại xuất thời báo sau - Ấn định tuyến đường tin nhắn đến tới trình hoạt động thích hợp - Thực hoạt động song song song song xác định đường hợp dựa điều kiện đồng hóa Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 66 TÀI LIỆU THAM KHẢO Brian Suda, SOAP Web Services, 2003 Esteban Zimányi, Jean-Francois Raskin, Verifying and Testing BPEL Processes, 2006 Cay S Horstmann, Gary Cornell, Core Java, Volume I-Fundamentals, 8/E, 2008 OASIS, Web Services Business Process Execution Language Version 2.0, 2007 Berthold Daum, Udo Merten, System Architecture with XML, 2003 Website: http://www.ibm.com/developerworks/vn/library http://www.eclipse.org/bpel/ http://bpel.xml.org/ http://www.w3.org/TR/wsdl 10 http://download.oracle.com/otndocs/products/bpel/quickstart.pdf 11 http://www.sparxsystems.com.au/downloads/quick/bpel_model_driven_generati on.pdf 12 http://www.trivadis.com/uploads/tx_cabagdownloadarea/osb_vs_oesb_bpel.pdf 13 http://olivier.coupelon.free.fr/BPEL_engines.pdf 14 http://tomcat.apache.org/download-60.cgi 15 http://en.wikipedia.org/wiki/Business_Process_Execution_Language 16 http://ode.apache.org/ws-bpel-20.html 17 http://www.theserverside.com/news/1364554/BPEL-and-Java Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ ... người sử dụng dịch vụ công nghệ thơng tin để kiểm sốt thay đổi sử dụng chúng cho lợi ích cá nhân tổ chức họ Xuất phát từ vấn đề nêu trên, đề tài ? ?Kỹ thuật phát triển ứng dụng Web ngôn ngữ WS- BPEL? ??... NGỮ BPEL 2.1 Giới thiệu ngơn ngữ BPEL BPEL (Business Process Execution Language) ngôn ngữ dùng để hỗ trợ phát triển ứ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 Phiên BPEL. .. 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Ĩ

Ngày đăng: 26/03/2021, 06:59

Tài liệu cùng người dùng

Tài liệu liên quan