Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 73 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
73
Dung lượng
8,17 MB
Nội dung
ĐẠ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 ĐẠ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 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 Ngoà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 xin hoàn toà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 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 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 để 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 đoà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 iii MỤC LỤC Đặt vấn đề .1 iv DANH MỤC HÌNH Đặt vấn đề .1 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 nguyên máy tính, 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 toàn diện 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 toá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 soá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 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 toá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ụ 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 Chương TỔNG QUAN VỀ DỊCH VỤ WEB 1.1 Ngôn ngữ XML XML (eXtensible Markup Language) ngôn ngữ đánh dấu với mục đích chung W3C (World Wide Web Consortium hiệp hội lập chuẩn cho Internet) đề nghị, để tạo ngôn ngữ đánh dấu khác Đây tập đoàn đơn giản SGML (Standard Generalized Markup Language, hệ thống tổ chức gắn thẻ yếu tố tài liệu), có khả mô tả nhiều loại liệu khác Mục đích XML đơn giản hóa việc chia sẻ liệu hệ thống khác nhau, đặc biệt hệ thống kết nối với Internet Các ngôn ngữ dựa XML RDF, RSS, MathML, XHTML, SVG, GML cXML định nghĩa theo cách thông thường, cho phép chương trình sửa đổi kiểm tra hợp lệ ngôn ngữ mà không cần có hiểu biết trước hình thức chúng XML cung cấp phương tiện dùng văn để mô tả thông tin áp dụng cấu trúc kiểu cho thông tin Tại mức bản, thông tin thể dạng text, chen thẻ đánh dấu (markup) với nhiệm vụ ký hiệu phân chia thông tin thành cấu trúc có thứ bậc liệu ký tự, phần tử dùng để chứa liệu, thuộc tính phần tử Về mặt đó, XML tương tự với biểu thức S (S-expression) ngôn ngữ lập trình LISP chỗ chúng mô tả cấu trúc mà nút có danh sách tính chất riêng Đơn vị sở XML ký tự theo định nghĩa Universal Character Set (Bộ ký tự toàn cầu) Các ký tự kết hợp theo tổ hợp chuỗi hợp lệ để tạo thành tài liệu XML Tài liệu gồm nhiều thực thể, thực thể thường phần ký tự thuộc tài liệu, mã hóa dạng chuỗi bit lưu trữ tệp văn (text file) Sự phổ biến phần mềm soạn thảo văn (word processor) hỗ trợ việc soạn thảo bảo trì tài liệu XML cách nhanh chóng Trước XML, có ngôn ngữ mô tả liệu với đặc điểm đa năng, thân thiện với giao thức Internet, dễ học dễ tạo Thực tế, đa số định dạng trao đổi liệu thời chuyện dụng, có tính độc quyền, có định dạng nhị phân (chuỗi bit thay chuỗi ký tự) khó dùng chung ứng dụng phần mềm khác hay hệ (platform) khác Việc tạo bảo trì trình soạn thảo thông dụng lại khó khăn Bằng cách cho phép tên liệu, cấu trúc thứ bậc phép, ý nghĩa phần tử thuộc tính có tính chất mở định nghĩa giản đồ tùy biến được, XML cung cấp sở cú pháp cho việc tạo lập ngôn ngữ đánh dấu dựa XML theo yêu cầu Cú pháp chung ngôn ngữ cố định, tài liệu phải tuân theo quy tắc chung XML, bảo đảm tất phần mềm hiểu XML phải có khả đọc (phân tích cú pháp - parse) hiểu bố cục tương đối thông tin tài liệu Giản đồ bổ sung tập ràng buộc cho quy tắc cú pháp Các giản đồ thường hạn chế tên phần tử thuộc tính cấu trúc thứ bậc phép, ví dụ, cho phép phần tử tên 'ngày sinh' chứa phần tử tên 'ngày' phần tử có tên 'tháng', phần tử phải chứa ký tự Đây điểm khác biệt XML HTML HTML có phần tử thuộc tính không mềm dẻo, có tác dụng nói chung dùng cho mục đích khác [5] XML không hạn chế việc sử dụng Mặc dù XML dạng text, phần mềm với chức trừu tượng hóa thành định dạng khác giàu thông tin nhanh chóng xuất hiện, trình trừu tượng hóa thực chủ yếu qua việc sử dụng giản đồ định hướng kiểu liệu (datatype-oriented schema) khuôn mẫu lập trình hướng đối tượng (mà đó, tài liệu XML thao tác đối tượng) Những phần mềm coi XML dạng text hóa cần truyền liệu qua mạng 53 trình vào CSDL, theo giải phóng tài nguyên cho máy chủ Đó gọi tính “tự phục hồi” Khi trình xử lý nhận phản hồi, trước hết khôi 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à đư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 yê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ụ 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ử 54 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 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 soá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 (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ụ 55 Hình 2.33: Trình thiết kế Jdeveloper cho Oracle BPELProcess Manager 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ô 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ô trình xử lý yê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 56 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 yê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 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 57 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 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 soá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 58 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>(); 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); } 59 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ả toá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, toán điện tử, chuyển khoản di động, đặt vé máy bay Nếu khách hàng muốn toá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 để toá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 toá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ư 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ế 60 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 trình BPEL 61 Các đặc điểm kỹ thuật trình BPEL dịch 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 62 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 63 • 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ả toà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 64 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ụ toà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 65 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 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 toá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 toá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 hoá việc học tập, tìm hiểu 66 Đ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 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 67 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 [...]... chương trình desingner 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... cho mình Chúng không phải là 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 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 rộng rãi 20 nhất Từ năm 2003... và tầng thông điệp XML dựa trên SOAP Các ngôn ngữ mô tả dịch vụ, như là ngôn ngữ miêu tả dịch vụ Web (Web Services Description Language - WSDL), cung cấp thuật ngữ XML 15 đồng nhất (tương tự như ngôn ngữ tương tác dữ liệu - IDL) để dùng trong việc mô tả các dịch vụ web và giao diện của chúng Bản ghi của UDDI chứa các mô tả của các doanh nghiệp có thể truy cập bằng các chương trình máy tính và các dịch... và delete) 19 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... người dùng 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ư... 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 ... người sử dụng dịch vụ công nghệ thông tin để kiểm soá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 ... vụ 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 3 Chương TỔNG QUAN VỀ DỊCH VỤ WEB 1.1 Ngôn ngữ XML... Chương NGÔN 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