Báo cáo bài tập lớn kiến trúc phần mềm mạng
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ─────── *** ─────── Báo cáo tập lớn Kiến trúc phần mềm mạng Sinh viên thực hiện: Lê Quang Phú (Leader) - 20102712 ế – 20101873 Nguyễn Tuấn Hải - 20101480 Đặng Lớp: i Đức - 20101395 IS2 - K55 – Việt Nhật Hà Nội – 2014 I Các kĩ thuật sử dụng: - II OS: Ubuntu 64bit IDE: Eclipse Luna Ngôn ngữ lập trình: Java Dependency Management: Maven Database: MySQL Web Framework: Spring Web Service: CXF Framework UDDI Server: Apache jUDDI v3 BPEL 2.2 (Eclipse) Apache Ode Server Tomcat Tìm hiểu Web Service: Dịch vụ Web (Web Service) coi công nghệ mang đến cách mạng cách thức hoạt động dịch vụ B2B (Business to Business) B2C (Business to Customer) Giá trị dịch vụ Web dựa việc cung cấp phương thức theo chuẩn việc truy nhập hệ thống đóng gói hệ thống kế thừa Các phần mềm viết ngôn ngữ lập trình khác chạy tảng khác sử dụng dịch vụ Web để chuyển đổi liệu thông qua mạng Internet theo cách giao tiếp tương tự bên máy tính Tuy nhiên, công nghệ xây dựng dịch vụ Web không thiết phải công nghệ mới, kết hợp với công nghệ có XML, SOAP, WSDL, UDDI… Với phát triển lớn mạnh Internet, dịch vụ Web thật công nghệ đáng quan tâm để giảm chi phí độ phức tạp tích hợp phát triển hệ thống Chúng ta xem xét dịch vụ Web từ mức khái niệm đến cách thức xây dựng Giới thiệu công nghệ: Theo định nghĩa W3C (World Wide Web Consortium), dịch vụ Web hệ thống phần mềm thiết kế để hỗ trợ khả tương tác ứng dụng máy tính khác thông qua mạng Internet, giao diện chung gắn kết mô tả XML Dịch vụ Web tài nguyên phần mềm xác định địa URL, thực chức đưa thông tin người dùng yêu cầu Một dịch vụ Web tạo nên cách lấy chức đóng gói chúng cho ứng dụng khác dễ dàng nhìn thấy truy cập đến dịch vụ mà thực hiện, đồng thời yêu cầu thông tin từ dịch vụ Web khác Nó bao gồm mô đun độc lập cho hoạt động khách hàng doanh nghiệp thân thực thi server Trước hết, nói ứng dụng Dịch vụ Web tích hợp hệ thống hoạt động phát triển hệ thống Trong hệ thống này, ứng dụng cần tích hợp với sở liệu (CSDL) ứng dụng khác, người sử dụng giao tiếp với CSDL để tiến hành phân tích lấy liệu Trong thời gian gần đây, việc phát triển mạnh mẽ thương mại điện tử B2B đòi hỏi hệ thống phải có khả tích hợp với CSDL đối tác kinh doanh (nghĩa tương tác với hệ thống bên – bên cạnh tương tác với thành phần bên hệ thống doanh nghiệp) Dưới đây, xem qua khái niệm cách thức để xây dựng dịch vụ Web tích hợp phát triển hệ thống Đặc điểm Web Service: - Dịch vụ Web cho phép client server tương tác với môi trường khác Ví dụ, đặt Web server cho ứng dụng máy chủ chạy hệ điều hành Linux người dùng sử dụng máy tính chạy hệ điều hành Windows, ứng dụng chạy xử lý bình thường mà không cần thêm yêu cầu đặc biệt để tương thích hai hệ điều hành - Phần lớn kĩ thuật Dịch vụ Web xây dựng dựa mã nguồn mở phát triển từ chuẩn công nhận, ví dụ XML - Một Dịch vụ Web bao gồm có nhiều mô-đun công bố lên mạng Internet - Là kết hợp việc phát triển theo hướng thành phần với lĩnh vực cụ thể sở hạ tầng Web, đưa lợi ích cho doanh nghiệp, khách hàng, nhà cung cấp khác cá nhân thông qua mạng Internet - Một ứng dụng triển khai hoạt động theo mô hình clientserver Nó triển khai phần mềm ứng dụng phía server ví dụ PHP, Oracle Application server hay Microsoft.Net… - Ngày dịch vụ Web phát triển, lĩnh vực sống áp dụng tích hợp dịch vụ Web rộng lớn dịch vụ chọn lọc phân loại tin tức (hệ thống thư viện có kết nối đến web portal để tìm kiếm thông tin cần thiết); ứng dụng cho dịch vụ du lịch (cung cấp giá vé, thông tin địa điểm…), đại lý bán hàng qua mạng, thông tin thương mại giá cả, tỷ giá hối đoái, đấu giá qua mạng…hay dịch vụ giao dịch trực tuyến (cho B2B B2C) đặt vé máy bay, thông tin thuê xe… - Các ứng dụng có tích hợp dịch vụ Web không xa lạ, đặc biệt điều kiện thương mại điện tử bùng nổ phát triển không ngừng với lớn mạnh Internet Bất kì lĩnh vực sống tích hợp với dịch vụ Web, cách thức kinh doanh làm việc có hiệu thời đại ngày thời đại truyền thông trao đổi thông tin qua mạng Do vậy, việc phát triển tích hợp ứng dụng với dịch vụ Web quan tâm phát triển điều hoàn toàn dễ hiểu Ưu điểm Nhược điểm: a Ưu điểm: - Dịch vụ Web cung cấp khả hoạt động rộng lớn với ứng dụng phần mềm khác chạy tảng khác - Sử dụng giao thức chuẩn mở Giao thức định dạng liệu dựa văn (text), giúp lập trình viên dễ dàng hiểu - Nâng cao khả tái sử dụng - Thúc đẩy đầu tư hệ thống phần mềm tồn cách cho phép tiến trình/chức nghiệp vụ đóng gói giao diện dịch vụ Web - Tạo mối quan hệ tương tác lẫn mềm dẻo thành phần hệ thống, dễ dàng cho việc phát triển ứng dụng phân tán - Thúc đẩy hệ thống tích hợp, giảm phức tạp hệ thống, hạ giá thành hoạt động, phát triển hệ thống nhanh tương tác hiệu với hệ thống doanh nghiệp khác b Nhược điểm: - Những thiệt hại lớn xảy vào khoảng thời gian chết Dịch vụ Web, giao diện không thay đổi, lỗi máy khách không nâng cấp, thiếu giao thức cho việc vận hành - Có nhiều chuẩn cho dịch vụ Web khiến người dùng khó nắm bắt - Phải quan tâm nhiều đến vấn đề an toàn bảo mật Kiến trúc Web Service: Dịch vụ Web gồm có chuẩn chính: SOAP (Simple Object Access Protocol), WSDL (Web Service Description Language) UDDI (Universal Description, Discovery, and Integration) Hình mô tả chồng giao thức dịch vụ Web, UDDI sử dụng để đăng ký khám phá dịch vụ Web miêu tả cụ thể WSDL Giao tác UDDI sử dụng SOAP để nói chuyện với UDDI server, sau ứng dụng SOAP yêu cầu dịch vụ Web Các thông điệp SOAP gửi xác HTTP TCP/IP Chồng giao thức dịch vụ Web tập hợp giao thức mạng máy tính sử dụng để định nghĩa, xác định vị trí, thi hành tạo nên dịch vụ Web tương tác với ứng dụng hay dịch vụ khác Chồng giao thức có thành phần chính: Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyền thông điệp ứng dụng mạng, bao gồm giao thức HTTP, SMTP, FTP, JSM gần giao thức thay đổi khổi mở rộng (Blocks Extensible Exchange Protocol- BEEP) Thông điệp XML: có nhiệm vụ giải mã thông điệp theo định dạng XML để hiểu mức ứng dụng tương tác với người dùng Hiện tại, giao thức thực nhiệm vụ XML-RPC, SOAP REST Mô tả dịch vụ: sử dụng để miêu tả giao diện chung cho dịch vụ Web cụ thể WSDL thường sử dụng cho mục đích này, ngôn ngữ mô tả giao tiếp thực thi dựa XML Dịch vụ Web sử dụng ngôn ngữ để truyền tham số loại liệu cho thao tác chức mà dịch vụ Web cung cấp Khám phá dịch vụ: tập trung dịch vụ vào nơi đăng ký, từ giúp dịch vụ Web dễ dàng khám phá dịch vụ có mạng, tốt việc tìm kiếm dịch vụ khác để tương tác Một dịch vụ Web phải tiến hành đăng ký để dịch vụ khác truy cập giao tiếp Hiện tại, UDDI API thường sử dụng để thực công việc Trong đó, tầng giao thức tương tác dịch vụ (Service Communication Protocol) với công nghệ chuẩn SOAP SOAP giao thức nằm tầng vận chuyển tầng mô tả thông tin dịch vụ, cho phép người dùng triệu gọi dịch vụ từ xa thông qua thông điệp XML Ngoài ra, để dịch vụ có tính an toàn, toàn vẹn bảo mật thông tin, kiến trúc dịch vụ Web, có thêm tầng Policy, Security, Transaction, Management Các thành phần Web Service: a XML – eXtensible Markup Language Là chuẩn mở W3C đưa cho cách thức mô tả liệu, sử dụng để định nghĩa thành phần liệu trang web cho tài liệu B2B Về hình thức, XML hoàn toàn có cấu trúc thẻ giống ngôn ngữ HTML HTML định nghĩa thành phần hiển thị XML lại định nghĩa thành phần chứa Với XML, thẻ lập trình viên tự tạo trang web chọn định dạng thông điệp chuẩn tính phổ biến hiệu mã nguồn mở Do dịch vụ Web kết hợp nhiều thành phần khác nên sử dụng tính đặc trưng thành phần để giao tiếp XML công cụ để giải vấn đề kiến trúc tảng cho việc xây dựng dịch vụ Web, tất liệu chuyển sang định dạng thẻ XML Khi đó, thông tin mã hóa hoàn toàn phù hợp với thông tin theo chuẩn SOAP XML-RPC tương tác với thể thống b WSDL – Web Service Description Language: WSDL định nghĩa cách mô tả dịch vụ Web theo cú pháp tổng quát XML, bao gồm thông tin: - Tên dịch vụ - Giao thức kiểu mã hóa sử dụng gọi hàm dịch vụ Web - Loại thông tin: thao tác, tham số, kiểu liệu (có thể giao diện dịch vụ Web cộng với tên cho giao diện này) Một WSDL hợp lệ gồm hai phần: phần giao diện (mô tả giao diện phương thức kết nối) phần thi hành mô tả thông tin truy xuất CSDL Cả hai phần lưu tập tin XML tương ứng tập tin giao diện dịch vụ tập tin thi hành dịch vụ Giao diện dịch vụ Web miêu tả phần đưa cách thức làm để giao tiếp qua dịch vụ Web Tên, giao thức liên kết định dạng thông điệp yêu cầu để tương tác với dịch vụ Web đưa vào thư mục WSDL WSDL thường sử dụng kết hợp với XML schema SOAP để cung cấp dịch vụ Web qua Internet Một client kết nối tới dịch vụ Web đọc WSDL để xác định chức sẵn có server Sau đó, client sử dụng SOAP để lấy chức xác có WSDL c Universal Description, Discovery, and Integration (UDDI) Để sử dụng dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhận thông tin cách sử dụng biết đối tượng cung cấp dịch vụ UDDI định nghĩa số thành phần cho biết thông tin này, cho phép client truy tìm nhận thông tin yêu cầu sử dụng dịch vụ Web Cấu trúc UDDI : - Trang trắng – White pages: chứa thông tin liên hệ định dạng yếu dịch vụ Web, chẳng hạn tên giao dịch, địa chỉ, thông tin nhận dạng… Những thông tin cho phép đối tượng khác xác định dịch vụ - Trang vàng – Yellow pages: chứa thông tin mô tả dịch vụ Web theo loại khác Những thông tin cho phép đối tượng thấy dịch vụ Web theo loại với - Trang xanh – Green pages: chứa thông tin kỹ thuật mô tả hành vi chức dịch vụ Web - Loại dịch vụ – tModel: chứa thông tin loại dịch vụ sử dụng Những thông tin dịch vụ Web sử dụng công bố lên mạng sử dụng giao thức Nó kích hoạt ứng dụng để tìm kiếm thông tin dịch vụ Web khác nhằm xác định xem dịch vụ cần đến d SOAP – Simple Object Access Protocol: Chúng ta hiểu dịch vụ Web vấn đề quan trọng Đó làm để truy xuất dịch vụ tìm thấy? Câu trả lời dịch vụ Web truy xuất giao thức Simple Object Access Protocol – SOAP Nói cách khác truy xuất đến UDDI registry lệnh gọi hoàn toàn theo định dạng SOAP SOAP giao thức giao tiếp có cấu trúc XML Nó xem cấu trúc xương sống ứng dụng phân tán xây dựng từ nhiều ngôn ngữ hệ điều hành khác SOAP giao thức thay đổi thông điệp dựa XML qua mạng máy tính, thông thường sử dụng giao thức HTTP Một client gửi thông điệp yêu cầu tới server server gửi thông điệp trả lời tới client Cả SMTP HTTP giao thức lớp ứng dụng SOAP HTTP sử dụng chấp nhận rộng rãi ngày làm việc tốt với sở hạ tầng Internet Cấu trúc thông điệp theo dạng SOAP Thông điệp theo định dạng SOAP văn XML bình thường bao gồm phần tử sau: - Phần tử gốc – envelop: phần tử bao trùm nội dung thông điệp, khai báo văn XML thông điệp SOAP - Phần tử đầu trang – header: chứa thông tin tiêu đề cho trang, phần tử không bắt buộc khai báo văn Header mang liệu chứng thực, ký số, thông tin mã hóa hay cài đặt cho giao dịch khác - Phần tử khai báo nội dung thông điệp – body, chứa thông tin yêu cầu thông tin phản hồi - Phần tử đưa thông tin lỗi -fault, cung cấp thông tin lỗi xảy qúa trình xử lý thông điệp Một SOAP đơn giản body lưu thông tin tên thông điệp, tham chiếu tới thể dịch vụ, nhiều tham số Có kiểu thông báo đưa truyền thông tin: request message(tham số gọi thực thi thông điệp), respond message (các tham số trả về, sử dụng yêu cầu đáp ứng) cuối fault message (thông báo tình trạng lỗi) Kiểu truyền thông: Có kiểu truyền thông - Remote procedure call (RPC): cho phép gọi hàm thủ tục qua mạng Kiểu khai thác nhiều dịch vụ Web - Document: biết đến kiểu hướng thông điệp, cung cấp giao tiếp mức trừu tượng thấp, khó hiểu yêu cầu lập trình viên công sức Hai kiểu truyền thông cung cấp định dạng thông điệp, tham số, lời gọi đến API khác nên việc sử dụng chúng tùy thuộc vào thời gian phù hợp với dịch vụ Web cần xây dựng Cấu trúc liệu: Cung cấp định dạng khái niệm giống ngôn ngữ lập trình khác kiểu liệu (int, string, date…) hay kiều phức tạp struct, array, vector… Định nghĩa cấu trúc liệu SOAP đặt namespace SOAP-ENC Mã hóa: Giả sử service rquester service provider phát triển Java, mã hóa SOAP làm chuyển đổi từ cấu trúc liệu Java sang SOAP XML ngược lại, định dạng cho Web Service XML Bất kỳ môi trường thực thi SOAP phải có bảng chứa thông tin ánh xạ nhằm chuyển đổi từ ngôn ngữ Java sang XML từ XML sang Java – bảng gọi SOAPMappingRegistry Nếu kiểu liệu sử dụng dạng mã hóa có ánh xạ tồn đăng ký môi trường thực thi SOAP e An toàn cho dịch vụ Web: Dịch vụ Web liên kết tương tác với ứng dụng qua Internet, bảo mật vấn đề quan tâm công ty tiến tới kết hợp ứng dụng với dịch vụ Web Việc đảm bảo an toàn cho dịch vụ Web vấn đề quan trọng, đặc biệt dịch vụ liên quan đến trao đổi tiền tệ, thông tin từ thị trường chứng khoán hay dịch vụ bán hàng qua mạng (liên quan đến trả tiền tài khoản có yêu cầu thông tin cá nhân người dùng) Trước có WS-Security (bảo mật cho dịch vụ Web) ý nghĩa thông thường an toàn dịch vụ Web bảo mật kênh truyền liệu Hiện nay, thực cho SOAP/HTTP dựa chế truyền thông điệp cách sử dụng giao thức HTTPS Không an toàn mức truyền thông điệp, HTTPS cung cấp an toàn tới toàn gói liệu HTTP Mặc dù HTTPS không bao gồm tất khía cạnh chuẩn an toàn chung cho dịch vụ Web cung cấp lớp bảo mật đầy đủ với định danh, chứng thực, tính toàn vẹn thông điệp hay độ tin cậy - Đảm bảo an toàn cho dịch vụ Web: Khái niệm WS-Security: chuẩn an toàn bao trùm cho SOAP, dùng muốn xây dựng dịch vụ Web toàn vẹn tin cậy Toàn vẹn có nghĩa có giao dịch hay truyền thông tin, hệ thống thông tin không bị chặn, giao dịch không bị có người lấy cắp liệu đường truyền WS-security thiết kế mang tính mở nhằm hướng tới mô hình an toàn khác bao gồm PKI, Kerberos SSL Nó đưa nhiều hỗ trợ cho chế an toàn khác, nhiều khuôn dạng chữ ký công nghệ mã hóa, đảm bảo an toàn, toàn vẹn thông điệp tính tin cậy thông điệp Tuy nhiên, WS-security chưa thể đảm bảo tất yêu cầu bảo mật an toàn thông tin, lớp giải pháp an toàn cho dịch vụ Web V Cài Đặt Server UDDI (Sử dụng Apache jUDDI): UDDI gì? UDDI viết tắt Universal Description, Discovery and Integration Giao thức UDDI phần cần có để xây dựng thành công Web Service UDDI tạo môi trường chuẩn thao tác với nhau, môi trường cho phép công ty , ứng dụng nhanh chóng, dễ dàng chủ động tìm sử dụng Web Service Internet UDDI cho phép registry sử dụng đươc bảo trì với nhiều mục đích tùy theo hoàn cảnh UDDI UDDI Registry: UDDI registry thực đặc tả UDDI UDDI thư mục phân tán dựa Web cho phép đơn vị kinh doanh ghi tên mạng Internet tìm kiêm lẫn UDDI Registry bao gồm địa kinh doanh thư viện đặc tả kĩ thuật Registry thiết kế để lưu trữ thông tin Kinh Doanh Dịch vụ lưu giữ điểm tham chiếu tới tài liệu cụ thể Bước hình cách công ty publish service tới UDDI Registry Trong bước 2, cient tìm kiếm service registry nhận thông tin thông tin ràng buộc với service Cuối cùng, bước 3, client sử dụng thông tin để gọi service Các API UDDI xây dựng dựa SOAP nhằm mục đích đạt interoperability UDDI v3 đặc tả định nghĩa API: UDDI_Security_Portype: định nghĩa API để nhận security token Với security token hợp lệ publisher publush lên registry Một security token sử dụng suốt session UDDI_Publication_PortType: định nghĩa API publish thông tin công ty service tới UDDI Registry UDDI_Inquiry_PortType: định nghĩa API truy vấn UDDI Registry Thông thường API không cần security token UDDI_Inquiry_PortType: định nghĩa API truy vấn UDDI Registry Thông thường API không cần security token UDDI_Subcription_PortType: định nghĩa API để đăng kí cập nhật với service công ty UDDI_SubscriptionListener_PortType: định nghĩa API mà client cần thực để nhận ý subcription từ node UDDI UDDI_Replication_PortType: định nghĩa API tái tạo liệu registry node UDDI UDDI_ValueSetValidation_PortType: node cho phép xác thực giá trị đặt nhà cung cấp UDDI_ValueSetCaching_PortType: UDDI node thực xác thực tham chiếu publisher Cài Đặt Apache jUDDI: - Download jUDDI trang chủ, tiến hành giải nén - jUDDI có built in tomcat săn, vào thư mục bin chạy startup.sh - sau chay startup.sh đăng nhập vào localhost:8080/juddiv3/ - có thông báo “jUDDI has been successfully installed!” tức cài đặt thành công Nếu trang không load status thông báo khác kiểm tra file juddi.log Cấu trúc UDDI: Bao gồm cấu trúc liệu lõi: - businessEntity: đại diện cho người cung cấp web service Chứa thông tin công ty bao gồm thông tin liên lạc, nhóm ngành công nghiệp, định danh công ty - businessService: đại diện cho web service cung cấp businessEntity Mô tả thông tin cách liên kết tới web service, loại web service gì, phân loại - bindingTemplate: Mô tả kĩ thuật web service đại diện bussinessService Là đại diện việc thực web service - tModel: viết tắt “technical model” đại diện khái niệm trừu tượng WSDL port type Publish WSDL lên jUDDI: - Truy cập vào http://localhost:8080/juddi-gui/ - đăng nhập với tài khoản đăng nhập thử với phu – phu Click vào Create chọn khởi tạo BusinessEntity - Tạo tModel với Key Generator - Publish Service từ WSDL - VI jUDDI hỗ trợ tìm kiếm theo Business / Services / tModel Tích hợp Web Service sử dụng BPEL: Giới thiệu BPEL: Theo OASIS: Web Service Business Process Execution Language (viết tắt WS-BPEL hay gọi BPEL) ngôn ngữ xác định hành vi tiến trình nghiệp vụ dựa dịch vụ web Tiến trình WS-Bpel xử lý chức xuất nhập cách sử dụng độc dịch vụ web Tiến trình nghiệp vụ mô tả cách: tiến trình nghiệp vụ thực thi (Executable business processes) mô hình hành vi thực tế người tham gia tương tác nghiệp vụ trình trừu tượng (Abstract Process) ẩn số yêu cầu chi tiết liên quan đến vận hành Quá trình trừu tượng phục vụ vai trò mô tả, với nhiều trường hợp sử dụng, bao gồm hành vi quan sát trình mẫu WS-Bpel có nghĩa sử dụng để mô hình hành vị tiến trình thực thi trừu tượng WS-Bpel cung cấp ngôn ngữ cho việc đặc tả tiến trình nghiệp vụ thực thi trừu tượng Bằng cách đó, mở rộng mô hình tương tác dịch vụ web cho phép hỗ trợ giao dịch kinh doanh WS-Bpel định nghĩa mô hình tích hợp tương thích cho phép mở rộng tiến trình cách tự động nội công ty không gian kinh doanh với kinh doanh a Cấu trúc Process BPEL: tiến trình bpel chứa đựng mối quan hệ với đối tác bên ngoài, khai báo xử lý liệu, xử lý mục đích khác quan trọng nhất, hành động thực Khai báo tên namespace bắt buộc b c d e f g Partner link type: Đặc tả mối liên hệ dịch vụ web cách định nghĩa vai trò dịch vụ mối liên hệ quy định cụ thể porttype cung cấp cho dịch vụ cách nhận thông báo bên mối liên hệ cụ thể Mỗi vai trò đặc tả xác wsdl porttype Porttype Định nghĩa trừu tượng chức cách trừu tượng thông báo Port Cung cấp thực tế thông tin truy cập bao gồm giao tiếp dịch vụ cuối Partner link Tương tác dịch vụ với tiến trình nghiệp vụ mô hình hóa giống partner links WS-Bpel Mỗi partner link cụ thể hóa partnerlink type Nhiều partner link cụ thể hóa partnerlink type Endpoint References Cơ việc sử dụng Endpoint Reference để phục vụ chế giao tiếp động cổng liệu cụ thể cho dịch vụ Một Endpoint Reference tạo sẵn sàng WS – BPEL để tự động lựa chọn nhà cung cấp dịch vụ cho loại hình cụ thể dịch vụ gọi đến vận hành chúng WS – BPEL cung cấp chế chung cho tương đồn thông báo với thể an toàn dịch vụ Endpoint Reference mang đến cổng thông tin trung lập thông thường đủ Tuy nhiên, nói chung cần thiết có thêm thẻ nhận dạng Endpoint Reference Correlation Correlation chế theo dõi đa tiến trình, xuyên suốt trình trao đổi thông báo mà thường diễn giưa tiến trình Bpel dịch vụ đối tác Cơ chế correlation giúp định tuyến thông báo đến tiến trình thích hợp Một thông báo hội thoại kết nối với giá trị tổng hợp nhiều thuộc tính định nghĩa tệp WSDL Một thuộc tính trường bên thông báo xác định truy vấn Các truy vấn quy định cấu trúc đặc biệt gọi thuộc tính bí danh (property aliases) Tập Correlation sử dụng hỗ trợ trạng thái hợp tác dịch vụ web dựa theo chuẩn thực thi độc lập Tập Correlation dựa thẻ liệu Correlation lưu trữ vỏ thông báo, tiêu đề hay tài liệu nghiệp vụ tương tự Khai báo Correlation dựa khai báo thuộc tính thông báo h Các hành động Các hành động thực tiến trình logic Các hoạt động chia thành lớp: cấu trúc Hoạt động mô tả bước thành phần tiến trình hành vi Hoạt động cấu trúc mã hóa điều khiển luồng logic Invoke Invoke sử dụng để gọi dịch vụ web cung cấp nhà cung cấp dịch vụ Điển hình sử dụng để gọi hoạt động dịch vụ Hành động invoke kèm theo hành động khác xử lý lỗi j Receive Hành động Receive xác định partnerLink có chứa myRole sử dụng để nhận thông báo i Reply Hành động Reply sử dụng để gửi phản hồi đến yêu cầu chấp nhận trước thông qua hành động gửi tin nhắn đến giống hành động Receive Những phản hồi có ý nghĩa cho tương tác yêu cầu phản hồi Một cách khác “phản hồi” gửi cách gọi hoạt động tương ứng partnerLink Hành động Reply thuộc tính biến tham chiếu đến biến chứa liệu thông báo để gửi l Assign Hành động Assign sử dụng để chép liệu từ biến đến biến khác, để xây dựng chèn liệu cách sử dụng biểu thức Việc sử dụng biểu thức chủ yếu thúc đẩy cần thiết phải thực tính toán đơn giản (chẳng hạn k tăng số thự tự) Biểu thức hoạt động dựa biến, thuộc tính, số để tạo giá trị Hành động Assign sử dụng để chép endpoint references từ partnerLinks Nó bao gồm thao tác liệu vận hành mở rộng định nghĩa giống thành phần mở rộng không gian tên (namespace) khác từ không gian tên WS-Bpel (WS-Bpel namespace) m Các hành động cấu trúc Hành động có cấu trúc quy định thứ tự tập hợp hành động thực thi Chúng mô tả làm tiến trình nghiệp vụ tạo ra; cách soạn hành động thực thành cấu trúc thể mô hình điều khiển, xử lý lỗi kiện bên ngoài, phối hợp trao đổi thông báo tiến trình tham gia giao thức kinh doanh n Sequence Hành động Sequence chứa đựng nhiều hành động thực tuần tự, theo thứ tự xuất bên thành phần Hành động Sequence hoàn thành hành động cuối Sequence hoàn thành o If Hành động If cung cấp điều kiện cho hành vi Hành động bao gồm danh sách có thứ tự nhiều điều kiện nhánh định thành phần If tùy chọn ElseIf, theo sau tùy chọn Else Các nhánh If ElseIf xem xét theo thứ tự mà chúng xuất While Hành động While cung cấp thực lặp lặp lại hành động bên Các hành động bên thực miễn điều kiện để đánh giá vào lúc bắt đầu lần lặp q Repeat Until Hành động RepeatUntil cung cấp cho việc thực lặp lặp lại hành động bên Các hành động bên thực điều kiện trở thành Điều kiện kiểm tra sau lần thực vòng lặp Ngược lại với hành động While, RepeatUltil thực lặp hành động lần r Pick Hành động Pick đợi xuất xác kiện từ tập hợp kiện, sau thực hành động liên quan với kiện Sau p kiện lựa chọn, kiện khác không chấp nhận hành động Pick Cài đặt BPEL - Cài đặt Apache ODE server: Tải ODE Khởi động thùng chứa Web Tomcat Apache sử dụng trình quản lý Tomcat (Tomcat Manager) (http://localhost:8080/manager/html) để triển khai mô-đun ode.war từ kho tư liệu phân phối Để kiểm tra thành công, truy cập http://localhost:8080/ode/, để hiển thị trạng thái dịch vụ Web ODE máy tính - Instal BPEL 2.2 Eclipse Để thiết lập dự án BPEL Eclipse, chạy Eclipse, khởi chạy trình quản lý cập nhật Eclipse (bằng cách nhấn vào trình đơn Help > Software Update > Find & Install) chọn New feature để cài đặt tùy chọn Nhấn vào New Remote Site thêm URL http://download.eclipse.org/technology/bpel/update-site/ vào hộp thoại trang Web New Update Site (cập nhật mới) , đặt tên trang Web BPEL Hãy nhấn vào Finish (Kết thúc), chọn máy nhân gần, chọn BPEL Designer for Eclipse (Trình thiết kế BPEL cho Elipse) chấp nhận thuật ngữ cấp phép, chọn Select All (Chọn tất cả), sau nhấn Next Finish Eclipse cảnh báo xung đột trùng lắp tiềm ẩn nào, sau cảnh báo BPEL chưa đánh dấu Nhấn vào Install (Cài đặt) nhà cung cấp Eclipse.org Khi việc cài đặt hoàn thành, Eclipse yêu cầu khởi động lại - Xây dựng BPEL process cho việc đặt vé máy bay - Chuẩn bị file WSDL: FlightBooking.wsdl, FightReservation.wsdl, PaymentProcessing.WSDL Tạo Partner Link: Thành phần Receive – kết nối với FlightBook.wsdl – đầu vào - Thành phần flightReservation – Đầu - Thành phần paymentProcessing – đầu - Các thành phần Assign để biểu diễn truyền liệu từ thành phần logic BPEL sang thành phần khác Assign: Truyền liệu ban đầu từ Receive tới flightReservation - Assign1: Truyền trả ời fightReservation tới paymentProcessing - Assign2: Truyền trả lời paymentProcessing tới Reply - Chạy Server ODE, kiểm tra process http://localhost:8080/ode/processes.html deploy VII Tổng kết: WSDL: Không có chế chuẩn hóa để mở rộng mô tả WSDL chứa thêm thông tin yêu câu bảo mật, chất lượng thuộc tính service, chuỗi thao tác - Việc mở rộng trở nên quan trọng sử dụng web service vào trường hợp e-business Xây dựng chế mô tả chưa đựng nhiều loại ngữ nghĩa, thông tin chức bảo mật v.v - UDDI: Bảo mật yếu: vd: tạo entry UDDI registry, giả vờ người khác Có thể dễ dàng tạo entry UDDI registry với tên Microsoft Sự tăng nhanh link xấu UDDI registry Các link trỏ đến công ty hay service không tồn thực Xậy dựng tảng bảo mật cho phép người sử dụng service xác thực định danh người cung cấp service - [...]... độc lập Tập các Correlation dựa trên các thẻ dữ liệu Correlation được lưu trữ trong vỏ của các thông báo, tiêu đề hay các tài liệu nghiệp vụ tương tự Khai báo Correlation dựa trên sự khai báo các thuộc tính của thông báo h Các hành động cơ bản Các hành động cơ bản thực hiện tiến trình logic Các hoạt động được chia thành 2 lớp: cơ bản và cấu trúc Hoạt động cơ bản là những mô tả các bước thành phần của... khác của cùng thành phần đó Những thể hiện của cùng một thành phần có thể dễ dàng được sử dụng lại trong các ứng dụng phân tán khác bởi vì chúng hoàn toàn độc lập và không phụ thuộc lẫn nhau - Triển khai (Deployment): Triển khai các dịch vụ Web có khả năng nâng cấp, điều khiển và cấu hình các thành phần từ xa thông qua mạng phân tán - Quản lý (Management): Có thể xây dựng theo kiến trúc P2P (Peer-toPeer)... giúp định tuyến các thông báo đến những tiến trình thích hợp Một thông báo trong 1 cuộc hội thoại được kết nối với 1 giá trị tổng hợp của 1 hoặc nhiều các thuộc tính được định nghĩa trong tệp WSDL Một thuộc tính là 1 trường bên trong 1 thông báo được xác định bởi 1 truy vấn Các truy vấn được quy định bởi 1 cấu trúc đặc biệt gọi là các thuộc tính bí danh (property aliases) Tập các Correlation được sử... quản lý các phiên bản khác nhau của dịch vụ Web, cho phép các phiên bản được nâng cấp và điều khiển từ một công cụ quản lý tập trung Kết hợp giữa ứng dụng và mạng giúp các kỹ sư triển khai có thể điều khiển các thành phần chạy trên nền tảng hệ thống phần cứng cụ thể bên trong mạng - Bảo mật (Security): các chuẩn mở như HTTP, XML, SOAP, WSDL và chuẩn bảo mật JSM được sử dụng rộng rãi khiến chúng trở... mở rộng định nghĩa giống như các thành phần mở rộng dưới các không gian tên (namespace) khác từ không gian tên của WS-Bpel (WS-Bpel namespace) m Các hành động cấu trúc Hành động có cấu trúc quy định thứ tự trong tập hợp các hành động được thực thi Chúng mô tả làm thế nào một tiến trình nghiệp vụ được tạo ra; bằng cách soạn các hành động cơ bản thực hiện thành cấu trúc thể hiện các mô hình điều khiển,... FightReservation.wsdl, PaymentProcessing.WSDL Tạo các Partner Link: Thành phần Receive – kết nối với FlightBook.wsdl – đầu vào - Thành phần flightReservation – Đầu ra - Thành phần paymentProcessing – đầu ra - Các thành phần Assign để biểu diễn truyền dữ liệu từ một thành phần logic trong BPEL sang thành phần khác Assign: Truyền dữ liệu ban đầu từ Receive tới flightReservation - Assign1: Truyền trả ời của fightReservation... trong kiến trúc Dịch vụ Web Cùng với việc triển khai và tích hợp, những nhà kinh doanh và những người sử dụng kỹ thuật cũng cần có khả năng giám sát, triển khai toàn diện để đảm bảo hoạt động kinh doanh hiệu quả và tin cậy - Giám sát (monitoring): Cần hỗ trợ ở cả mức công cụ và cơ sở hạ tầng để giám sát các dịch vụ Web chạy như thế nào qua toàn bộ mạng, từ một chi nhánh con của một công ty trên mạng. .. mục bin chạy startup.sh - sau khi chay startup.sh thì đăng nhập vào localhost:8080/juddiv3/ - nếu có thông báo “jUDDI has been successfully installed!” tức là đã cài đặt thành công Nếu trang không load hoặc status là thông báo khác thì kiểm tra file juddi.log 3 Cấu trúc của UDDI: Bao gồm 4 cấu trúc dữ liệu lõi: - businessEntity: đại diện cho người cung cấp web service Chứa các thông tin về công ty bao... thông qua mạng phân tán - Quản lý (Management): Có thể xây dựng theo kiến trúc P2P (Peer-toPeer) Các hoạt động chính như thực thi các thành phần, định tuyến dữ liệu, xử lý luồng công việc và chuyển đổi dữ liệu được thực hiện tại các điểm cuối của mạng Server sẽ tập trung giải quyết các hoạt động khác như quản lý, điều khiển sự kiện, chứng thực bảo mật và quản trị - Cấu hình và quản lý phiên bản (Configuration... tiếp với doanh nghiệp khác Kết hợp thông báo theo sự kiện với các lỗi trong luồng nghiệp vụ cho những người dùng không có kinh nghiệm giám sát dịch vụ Web và các dịch vụ kế thừa khác - Xác định đường đi dữ liệu (Data routing): Việc thiết lập đường đi của dữ liệu giữa những thành phần của dịch vụ Web hướng tới tối đa hóa khả năng sử dụng lại Nếu coi một thành phần (component) là một đối tượng thì mỗi