Dịch vụ web (web service)

22 382 1
Dịch vụ web (web service)

Đ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

MỤC LỤC I GIỚI THIỆU 1.1 Giới thiệu công nghệ 1.2 Đặc điểm dịch vụ web .3 1.2.1 Đặc điểm 1.2.2 Ưu điểm dịch vụ web .4 1.2.3 Nhược điểm dịch vụ web 1.3 Kiến trúc dịch vụ web 1.4 Một số vấn đề dịch vụ web 1.4.1 An toàn cho dịch vụ web 1.4.2 Xây dựng dịch vụ web .8 1.4.3 Tích hợp dịch vụ web theo chuẩn II CÁC CHUẨN CÔNG NGHỆ TRONG DỊCH VỤ WEB 11 a Vận tải (transport) 12 b Thông điệp (messaging) 13 c Mô tả khám phá (description and discovery) 15 d Độ tin cậy (reliability) 17 e Giao dịch (transaction) 17 f Bảo mật (security) 17 g Quy trình nghiệp vụ ( business process) 18 h Quản lý (management) 18 Calculator Example .20 IV KẾT LUẬN 22 I GIỚI THIỆU 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 1.1 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 khía cạnh kỹ thuật dịch vụ web kết hợp máy tính cá nhân với thiết bị khác, sở liệu mạng máy tính để tạo thành cấu tính toán ảo mà người sử dụng làm việc thông qua trình duyệt mạng Bản thân dịch vụ chạy máy phục vụ Internet máy tính cá nhân, chuyển chức nǎng từ máy tính cá nhân lên Internet Người sử dụng làm việc với dịch vụ thông qua loại máy có hỗ trợ web service có truy cập Internet, kể thiết bị cầm tay Do web service làm Internet biến đổi thành nơi làm việc phương tiện để xem tải nội dung Điều đưa liệu ứng dụng từ máy tính cá nhân tới máy phục vụ nhà cung cấp dịch vụ web Các máy phục vụ cần trở thành nguồn cung cấp cho người sử dụng độ an toàn, độ riêng tư khả nǎng truy nhập Các máy phục vụ ứng dụng phần quan trọng web service thường máy phục vụ thực hoạt động ứng dụng phức tạp dựa chuyển giao người sử dụng chương trình kinh doanh hay sở liệu tổ chức Một số nhà quan sát ngành công nghiệp cho web service không thực khái niệm phản ánh phần không nhỏ khái niệm mạng máy tính vốn trở nên quen thuộc nhiều nǎm qua Web service chủ yếu dựa lời gọi thủ tục từ xa không chặt chẽ mà thay lời gọi thủ tục từ xa chặt chẽ, đòi hỏi kết nối API phù hợp phổ biến 1.2 Đặc điểm dịch vụ web 1.2.1 Đặc điểm • 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 1.2.2 Ưu điểm dịch vụ web • 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 1.2.3 Nhược điểm dịch vụ web • 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 1.3 Kiến trúc dịch vụ web 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 -1 minh họa kiến trú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 Hình 1-1 Kiến trúc dịch vụ web Hình mô tả chồng giao thức dịch vụ Web 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 Hình 1-2 Chồng giao thức dịch vụ web 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 1.4 Một số vấn đề dịch vụ web 1.4.1 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 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 Tính toàn vẹn tạo chữ ký số hóa XML dựa nội dung thông điệp Nếu liệu bị thay đổi bất hợp pháp, không thích hợp với chữ ký số hóa XML Chữ ký tạo dựa khóa mà người gửi thông điệp tạo ra, người nhận nhận thông điệp có chữ ký sử dụng nội dung phù hợp Ngược lại có thông báo lỗi Việc chứng thực thực client server cách chứng thực (sử dụng định danh người dùng mật khẩu) WS-security lớp an toàn bảo mật cho dịch vụ Web, cần mô hình an toàn chung lớn để bao quát khía cạnh khác Các thành phần thêm WS-Secure Conversation Describes,WS-Authentication Describes,WS-Policy Describes hay WS-Trust Describes Chúng thực việc đảm bảo an toàn cho hệ thống trao đổi liệu, mở đóng phiên làm việc quản lý liệu cần chứng thực sách chứng thực 1.4.2 Xây dựng dịch vụ web Có giai đoạn để xây dựng dịch vụ Web xây dựng, triển khai, tiến hành quản lý, đó: Giai đoạn xây dựng bao gồm phát triển chạy thử ứng dụng dịch vụ Web, xây dựng chức định nghĩa dịch vụ Có hai cách khác để tiến hành giai đoạn này, Red-path- solod Blue-path-dashed Với Red- path-solod, xây dựng dịch vụ Web từ trạng thái ban đầu với dịch vụ có sẵn Từ đó, xây dựng định nghĩa service (WSDL) với đối tượng, hàm chức mà mong muốn Nếu theo cách Blue-pathdashed, dịch vụ Web xây dựng từ đầu từ định nghĩa dịch vụ WSDL Sử dụng WSDL này, xây dựng sửa đổi lại mã để thực yêu cầu mong muốn dịch vụ Web Giai đoạn triển khai: công bố định nghĩa dịch vụ, xây dựng WSDL triển khai mã thực thi dịch vụ Web Triển khai dịch vụ Web tới ứng dụng phía server, sau công bố dịch vụ Web mạng Internet để client nhìn thấy Sử dụng UDDI registry để công bố lên mạng Giai đoạn tiến hành: tìm kiếm gọi thực thi dịch vụ Web người dùng muốn sử dụng dịch vụ Quản lý: Quản lý quản trị dịch vụ, trì ổn định dịch vụ, cập nhật thông tin mới, sửa lỗi xảy ra… Để xây dựng dịch vụ Web, cần hiểu việc phải làm nên đâu Có cách tiếp cận chủ yếu để xây dựng nên dịch vụ Web, từ ứng dụng có (bottom-up); từ định nghĩa dịch vụ, WSDL để phát sinh ứng dụng (top-down) từ nhóm dịch vụ Web có, kết hợp lại với để tạo nên chức mở rộng thêm chức Những hướng tiếp cận dựa mà có, tùy thuộc vào yêu cầu hệ thống, tối đa việc sử dụng lại chức năng, thành phần, môđun xây dựng Qui trình xây dựng dịch vụ Web bao gồm bước sau: Định nghĩa xây dựng chức năng, dịch vụ mà dịch vụ cung cấp (sử dụng ngôn ngữ Java chẳng hạn) Tạo WSDL cho dịch vụ Xây dựng SOAP server Đăng ký WSDL với UDDI registry phép client tìm thấy truy xuất Client nhận file WSDL từ xây dựng SOAP client để kết nối với SOAP server Xây dựng ứng dụng phía client (chẳng hạn sử dụng Java) sau gọi thực dịch vụ thông qua việc kết nối tới SOAP server Lựa chọn ngôn ngữ, xây dựng tiến trình nghiệp vụ bắt đầu tạo nên dịch vụ Web ý muốn Sau cung cấp dịch vụ Web Internet 1.4.3 Tích hợp dịch vụ web theo chuẩn Để thành công với dịch vụ Web phải quan tâm đến nhiều vấn đề, bao gồm việc triển khai, giám sát tích hợp hệ thống Doanh nghiệp phải phát triển ứng dụng dịch vụ Web mà phải tích hợp ứng dụng nghiệp vụ phụ trợ họ kiến trúc Dịch vụ Web Cùng với việc triển khai tích hợp, nhà kinh doanh người sử dụng kỹ thuật cần có khả giám sát, triển khai toàn diện để đảm bảo hoạt động kinh doanh hiệu tin cậy • Giám sát (monitoring): Cần hỗ trợ mức công cụ sở hạ tầng để giám sát dịch vụ Web chạy qua toàn mạng, từ chi nhánh công ty mạng tới chi nhánh khác công ty hay giao tiếp với doanh nghiệp khác Kết hợp thông báo theo kiện với lỗi luồng nghiệp vụ cho người dùng kinh nghiệm giám sát dịch vụ Web dịch vụ kế thừa khác • Xác định đường liệu (Data routing): Việc thiết lập đường liệu thành phần dịch vụ Web hướng tới tối đa hóa khả sử dụng lại Nếu coi thành phần (component) đối tượng thể (instance) không quan tâm đến thể khác thành phần Những thể thành phần dễ dàng sử dụng lại ứng dụng phân tán khác chúng hoàn toàn độc lập không phụ thuộc lẫn • Triển khai (Deployment): Triển khai dịch vụ Web có khả nâng cấp, điều khiển cấu hình 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) Các hoạt động thực thi thành phần, định tuyến liệu, xử lý luồng công việc chuyển đổi liệu thực điểm cuối mạng Server tập trung giải hoạt động khác quản lý, điều khiển kiện, chứng thực bảo mật quản trị • Cấu hình quản lý phiên (Configuration and version management): Sử dụng công cụ linh hoạt để quản lý phiên khác dịch vụ Web, cho phép phiên nâng cấp điều khiển từ công cụ quản lý tập trung Kết hợp ứng dụng mạng giúp kỹ sư triển khai điều khiển thành phần chạy tảng hệ thống phần cứng cụ thể bên mạng • Bảo mật (Security): chuẩn mở HTTP, XML, SOAP, WSDL chuẩn bảo mật JSM sử dụng rộng rãi khiến chúng trở thành lý tưởng để xây dựng ứng dụng web Đầu tiên, dịch vụ Web sử dụng công nghệ giống firewall, SSL chứng nhận số Dịch vụ Web hệ sau kết hợp với công nghệ có khả bảo mật cao hơn, giống mã hóa XML chứng nhận số XML Như vậy, với dịch vụ Web, việc giao tiếp truyền nhận liệu trở nên dễ dàng hiệu hơn, đồng thời đem lại chi phí thấp tăng cường khả giao tiếp thời gian thực, kết nối với người khắp giới Bản chất tảng công nghệ kiến trúc hướng dịch vụ phát triển dịch vụ Web có tương lai khả quan 10 II CÁC CHUẨN CÔNG NGHỆ TRONG DỊCH VỤ WEB Ngoài số chuẩn nhắc đến giới thiệu kiến trúc dịch vụ web xem xét sâu chuẩn số chuẩn khác Hình minh họa kiến trúc đầy đủ dịch vụ web phân tầng tầng phân loại Hình 2-3 Kiến trúc đầy đủ dịch vụ web Chúng ta tìm hiểu chuẩn tầng hay nhóm Trước tiên ta đề cập đến XML, chuẩn quan hệ với gần tất chuẩn khác kiến trúc dịch vụ web XML 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 11 a Vận tải (transport) Giao thức tầng vận tải BEEP BEEP viết tắt Blocks Extensible Exchange Protocol Bạn viết ứng dụng mạng, bạn muốn trường hợp chương trình bạn để giao tiếp thông qua giao thức TCP / IP Trước bạn chí nhận xung quanh để logic ứng dụng bạn tự nó, bạn cần phải tìm cách chương trình bạn kết nối, chứng thực thân, gửi tin nhắn, nhận tin nhắn, báo cáo lỗi Thời gian tích lũy bạn chi tiêu lớn nỗ lực cần thiết cho ứng dụng tự logic BEEP giải tất vấn đề Lúc này, bạn tự hỏi, cần loại giao thức phân phối máy tính để thêm vào CORBA / IIOP, SOAP, XML-RPC, v.v Để trả lời, bạn cần phải nhận BEEP tầm khác BEEP framework SOAP cài đặt bên BEEP BEEP chịu trách nhiệm kết nối, chứng thực, đóng gói thông điệp - vấn đề mà SOAP cố tình tránh BEEP thực cạnh tranh cấp giao thức HTTP Khái niệm BEEP BEEP giao thức peer-to-peer, có nghĩa khái niệm khách hàng máy chủ, không giống HTTP Peer bắt đầu kết nối gọi initator, peer chấp nhận kết nối gọi listener Khi kết nối thiết lập hai peer này, phiên BEEP tạo Hình 2-4 Các phiên kênh BEEP Mọi giao tiếp phiên xảy vòng nhiều kênh, minh hoạ Hình -4 Peer yêu cầu kết nối IP, sau nhân để tạo kênh Bản chất truyền thông có 12 kênh xác định cấu hình hỗ trợ (mỗi kênh có nhiều hơn.) Các kênh đầu tiên, kênh 0, có mục đích đặc biệt Nó hỗ trợ việc quản lý hồ sơ BEEP, dùng để thương lượng việc thiết lập kênh thêm Hỗ trợ cấu hình xác định xác tương tác đồng nghiệp kênh cụ thể Xác định giao thức sử dụng BEEP xuống đến định nghĩa cấu hình b Thông điệp (messaging) SOAP giao thức phổ biến dùng tầng thông điệp Ngoài số chuẩn khác Web Services Addressing, Web Services Notification, Web Services Attachments Profile SOAP viết tắt Simple Object Access Protocol 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 13 Hình 2-5 Cấu trúc 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 14 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 c Mô tả khám phá (description and discovery) Dịch vụ web có ý nghĩa người dùng tiềm tìm thấy thông tin đầy đủ phép thực thi họ Trọng tâm chi tiết kỹ thuật tiêu chuẩn định nghĩa tập hợp dịch vụ hỗ trợ mô tả phát doanh nghiệp, tổ chức, nhà cung cấp dịch vụ Web; dịch vụ web mà họ thực có; giao diện kỹ thuật sử dụng để truy cập dịch vụ Dưới danh sách chuẩn tầng này: • UDDI 3.0 • WSDL 1.1 (Note) • WSDL 1.2 (Working draft) • WSDL 2.0 (Working Group) • Web Services Semantics WSDL-S • Web Services Metadata Exchange • Web Services Policy Assertions Language • Web Services Policy Attachment • Web Services Policy Framework • Web Services Resource Framework 15 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 WSDL 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 16 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 d Độ tin cậy (reliability) Không thể để giải vấn đề kinh doanh người tham gia chắn việc hoàn thành trao đổi tin nhắn Nhắn tin đáng tin cậy, cho phép tin nhắn chuyển giao đáng tin cậy ứng dụng phân phối với có mặt thành phần phần mềm, hệ thống, lỗi mạng, quan trọng dịch vụ web Các chuẩn cho độ tin cậy: • Web Services Reliable Messaging • WS-RM Policy Assertion e Giao dịch (transaction) Giao dịch khái niệm việc xây dựng ứng dụng phân phối đáng tin cậy Một môi trường dịch vụ web yêu cầu phối hợp hành vi cung cấp chế giao dịch truyền thống để kiểm soát hoạt động kết ứng dụng Các chuẩn tầng giao dịch: • Web Services Atomic Transaction • Web Services Business Activity • Web Services Coordination f Bảo mật (security) Sử dụng chi tiết kỹ thuật bảo mật, ứng dụng tham gia vào giao tiếp an toàn thiết kế để làm việc với khuôn khổ chung dịch vụ web Một số chuẩn cho bảo mật: • Web Services Federation Language • WS-Federation: Active Requester Profile • WS-Federation: Passive Requester Profile • Web Services Provisioning • Web Services Secure Conversation Language • Web Services Security 1.0 17 • Web Services Security Addendum • WS-Security Kerberos Binding • Web Services Security Policy • Web Services Trust • Security Assertion Markup Language (SAML) g Quy trình nghiệp vụ ( business process) Một quy trình nghiệp vụ xác định trình tự thực hoạt động từ tập hợp dịch vụ web, liệu chia sẻ dịch vụ Web, có đối tác tham gia cách chúng tham gia vào trình nghiệp vụ, xử lý trường hợp ngoại lệ chung cho sưu tập dịch vụ web, khác vấn đề liên quan đến nhiều dịch vụ tổ chức tham gia BPEL xác định quy trình kinh doanh làm liên quan đến dịch vụ web Các chuẩn cho quy trình nghiệp vụ: • WS-BPEL Extension for People • Business Process Execution Language for Web Services V1.1 h Quản lý (management) Quản lý dịch vụ web định nghĩa tập hợp khả để phát tồn tại, sẵn có, y tế, hiệu suất, sử dụng, kiểm soát cấu hình dịch vụ web kiến trúc dịch vụ web Khi dịch vụ Web trở nên phổ biến quan trọng hoạt động kinh doanh, nhiệm vụ quản lý thực chúng bắt buộc cho thành công hoạt động kinh doanh Các chuẩn cho quản lý: • Web Services Distributed Management • Web Services Manageability • Web Services Manageability Concepts • Web Services Manageability Representation • WS-ResourceTransfer • Web Services Service Registry and Repository 18 III CÔNG NGHỆ GSOAP Bộ công cụ gSOAP công cụ mã nguồn mở C C++ để phát triển Webservice SOAP/XML C/C++ XML data binding (không phải SOAP) Công cụ phân tích tệp tin WSDL cấu trúc XML (tập hợp riêng rẽ hay kết hợp), ánh xạ cấu trúc XML giao thức truyền tin SOAP cách dễ dàng hiệu với mã nguồn viết C C++ gSoap hỗ trợ đặt ứng dụng C C++ vào Webservice SOAP/XML việc tự động sinh XML thông số kỹ thuật tệp WSDL Hoặc người dùng tự động chuyển đổi XML thành từ liệu C C++ Công cụ có tùy chọn hỗ trợ sinh mã ANSI C C+ + không cần STL Bộ công cụ gSOAP cung cấp giải pháp toàn diện suất cho C/C++ XML data binding thông qua công nghệ tự động sinh mã Khả giúp người phát triển ứng dụng tiết kiệm thời gian để triển khai webservice SOAP/XML C/C++ Hơn nữa, việc sử dụng khả gán liệu XML đơn giản hóa đáng kể việc sử dụng XML ứng dụng cách ánh xạ XML thành kiểu liệu C/C++ Người phát triển ứng dụng không cần điều chỉnh tính logic ứng dụng với thư viện xác định trung tâm liệu đại diện DOM Bộ công cụ phù hợp với WS-I Basic Profile 1.0a, 1.1, 1.2, thông qua thử nghiệm khả tương tác W3C Databinding, tương thích với SOAP stacks khác WCF, NET, Axis Điểm bật gSoap hỗ trợ đánh địa giao thức bảo mật, đính kèm liệu theo luồng (MTOM, MIME, Dime) để chuyển giao liệu nhị phân hiệu Truyền liệu qua HTTP(S), TCP/UDP, giao thức truyền tải khác hỗ trợ thông qua plugins thuận tiện (hoặc định nghĩa callbacks người dùng muốn ghi đè lên giao thức I/O) Bộ công cụ gSOAP triển khai mã ANSI C C++ XML data binding thông qua biên dịch Công nghệ ánh xạ sơ đồ XML thành định nghĩa C++ ngược lại Có hai ưu điểm cácg tiếp cận Thứ nhất, đảm bảo an toàn cho liệu phải nhập ứng dụng đảm bảo liệu XML thông qua kiểm tra dịch XML Thứ 2, việc phân tích cú pháp tệp tin XML thông qua trình biên dịch hiệu phần lớn kỹ thuật phân tích XML khác Bộ công cụ gSOAP sử dụng tự sinh tệp WSDL sơ đồ XML (XSD) gSOAP ánh xạ kiểu liệu có sẵn C/C++ hàm ứng dụng thành tệp WSDL, từ hỗ trợ đơn giản hóa việc chuyển mã nguồn thành webservice Tính khả chuyển mã chạy 19 nhiều tảng bao gồm hệ thống nhúng phần mềm thời gian thực Calculator Example Ví dụ cho biết cách để tạo Clients tương tác với XML components Một chương trình bên phía Clients cần đối số : số nguyên , toán tử (+, -, *, or /), số nguyên Ví dụ : "calc + 2" Trước biên dịch chạy chương trình, phải tạo stub khung xương sơ khai c++ Việc viết stub khung xương sơ khai c++ tay công việc tẻ nhạt , đầu vào đầu tham số có chứa cấu trúc liệu objects, structs, containers, arrays … may mắn công cụ wsdl2h soapcpp2 công cụ tự động sinh code gsoap giải vấn đề Công cụ gsoapcpp2 tạo khung xương sơ khai để xây dựng nên webservices client ứng dụng khác Đầu vào công cụ gsoapcpp2 tập tin tiêu đề c++ Tập tin tạo từ công cụ wsdl2h Chúng ta sử dụng lệnh sau : wsdl2h -o calc.h http://www.genivia.com/calc.wsdl 20 Tập tin tiêu đề calc.h tiếp tục công cụ gsoapcpp2 xử lý để tạo đoạn mã để gọi webservice từ khách hàng Điều mô tả file webservice calc.h tiêu đề thích c++ Các tập tin tiêu đề tạo có chứa loại liệu để chạy dịch vụ Công cụ gsoapcpp2 tạo file mẫu sau : soapStub.h soapH.h soapC.cpp soapClient.cpp Bây triển khai tất ứng dụng web mà muốn 21 IV KẾT LUẬN Kiến trúc hướng dịch vụ (Service-oriented architecture - SOA) hướng tiếp cận với việc thiết kế tích hợp phần mềm, chức năng, hệ thống theo dạng module SOA cung cấp giải pháp để giải vấn đề tồn hệ thống như: phức tạp, không linh hoạt thiếu ổn định Một hệ thống triển khai theo mô hình SOA có khả dễ mở rộng, liên kết tốt Dịch vụ web giúp cho việc triển khai SOA từ mô hình lý thuyết lên thành ứng dụng thực tiễn Báo cáo trình bày vấn đề dịch vụ web, ưu điểm nhược điểm dịch vụ web Dịch vụ web với SOA phát triển chuẩn hóa Trong phạm vi báo cáo trình bày số chuẩn thông dụng dịch vụ web SOAP, UDDI, WSDL, BEEP,gSOAP Như vậy, với dịch vụ Web, việc giao tiếp truyền nhận liệu trở nên dễ dàng hiệu hơn, đồng thời đem lại chi phí thấp tăng cường khả giao tiếp thời gian thực, kết nối với người khắp giới Bản chất tảng công nghệ kiến trúc hướng dịch vụ phát triển dịch vụ Web có tương lai khả quan 22 [...]... của dịch vụ Web • Loại dịch vụ - tModel: chứa các thông tin về loại dịch vụ được sử dụng Những thông tin về dịch vụ Web được sử dụng và công bố lên mạng sử dụng giao thức này Nó sẽ kích hoạt các ứng dụng để tìm kiếm thông tin của dịch vụ Web khác nhằm xác định xem dịch vụ nào sẽ cần đến nó WSDL WSDL định nghĩa cách mô tả dịch vụ Web theo cú pháp tổng quát của XML, bao gồm các thông tin: - Tên dịch vụ. .. tốt Dịch vụ web giúp cho việc triển khai SOA từ mô hình lý thuyết lên thành các ứng dụng thực tiễn Báo cáo đã trình bày các vấn đề về dịch vụ web, ưu điểm cũng như nhược điểm của dịch vụ web Dịch vụ web cùng với SOA vẫn đang được phát triển và chuẩn hóa Trong phạm vi của báo cáo này đã trình bày một số chuẩn thông dụng và cơ bản nhất của dịch vụ web như SOAP, UDDI, WSDL, BEEP,gSOAP Như vậy, với một dịch. .. hành dịch vụ Giao diện của một dịch vụ Web được miêu tả trong phần này đưa ra cách thức làm thế nào để giao tiếp qua dịch vụ Web Tên, giao thức liên kết và định dạng thông điệp yêu cầu để tương tác với dịch vụ Web được đưa vào thư mục của WSDL 16 WSDL thường được sử dụng kết hợp với XML schema và SOAP để cung cấp dịch vụ Web qua Internet Một client khi kết nối tới dịch vụ Web có thể đọc WSDL để xác định... dụng dịch vụ Web Cấu trúc UDDI : • Trang trắng - White pages: chứa thông tin liên hệ và các định dạng chính yếu của 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 này cho phép các đối tượng khác xác định được dịch vụ • Trang vàng - Yellow pages: chứa thông tin mô tả dịch vụ Web theo những loại khác nhau Những thông tin này cho phép các đối tượng thấy được dịch vụ Web. .. Business Process Execution Language for Web Services V1.1 h Quản lý (management) Quản lý các dịch vụ web được định nghĩa là một tập hợp các khả năng để phát hiện sự tồn tại, sẵn có, y tế, hiệu suất, sử dụng, cũng như kiểm soát và cấu hình của một dịch vụ web trong kiến trúc dịch vụ web Khi dịch vụ Web trở nên phổ biến và quan trọng đối với hoạt động kinh doanh, nhiệm vụ quản lý và thực hiện chúng là bắt... được chia sẻ giữa những dịch vụ Web, có đối tác tham gia và cách chúng được tham gia vào quá trình nghiệp vụ, xử lý các trường hợp ngoại lệ chung cho các bộ sưu tập của các dịch vụ web, và khác các vấn đề liên quan đến nhiều dịch vụ như thế nào và các tổ chức tham gia BPEL xác định quy trình kinh doanh và làm thế nào liên quan đến các dịch vụ web Các chuẩn cho quy trình nghiệp vụ: • WS-BPEL Extension... 2.0 (Working Group) • Web Services Semantics WSDL-S • Web Services Metadata Exchange • Web Services Policy Assertions Language • Web Services Policy Attachment • Web Services Policy Framework • Web Services Resource Framework 15 UDDI Để có thể sử dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhận thông tin về cách sử dụng và biết được đối tượng nào cung cấp dịch vụ UDDI định nghĩa một...II CÁC CHUẨN CÔNG NGHỆ TRONG DỊCH VỤ WEB Ngoài một số chuẩn đã nhắc đến khi giới thiệu về kiến trúc dịch vụ web chúng ta sẽ xem xét sâu hơn các chuẩn này cũng như một số chuẩn khác Hình minh họa kiến trúc đầy đủ hơn của dịch vụ web được phân tầng và tại mỗi tầng được phân loại Hình 2-3 Kiến trúc đầy đủ của dịch vụ web Chúng ta sẽ tìm hiểu các chuẩn tại mỗi tầng hay mỗi nhóm... các dịch vụ web Các chuẩn cho độ tin cậy: • Web Services Reliable Messaging • WS-RM Policy Assertion e Giao dịch (transaction) Giao dịch là một khái niệm cơ bản trong việc xây dựng các ứng dụng phân phối đáng tin cậy Một môi trường dịch vụ web yêu cầu phối hợp hành vi cung cấp bởi một cơ chế giao dịch truyền thống để kiểm soát các hoạt động và kết quả của một ứng dụng Các chuẩn tại tầng giao dịch: • Web. .. Dịch vụ web chỉ có ý nghĩa nếu người dùng tiềm năng có thể tìm thấy thông tin đầy đủ để cho phép thực thi của họ Trọng tâm của các chi tiết kỹ thuật và tiêu chuẩn là định nghĩa của một tập hợp các dịch vụ hỗ trợ các mô tả và phát hiện ra các doanh nghiệp, tổ chức, và các nhà cung cấp dịch vụ Web; các dịch vụ web mà họ thực hiện có; và các giao diện kỹ thuật có thể được sử dụng để truy cập các dịch vụ Dưới ... 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ụ. .. Kiến trúc dịch vụ web Hình mô tả chồng giao thức dịch vụ Web 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... số vấn đề dịch vụ web 1.4.1 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

Ngày đăng: 03/01/2016, 20:07

Mục lục

    1.1 Giới thiệu công nghệ

    1.2 Đặc điểm của dịch vụ web

    1.2.2 Ưu điểm của dịch vụ web

    1.2.3 Nhược điểm của dịch vụ web

    1.3 Kiến trúc của dịch vụ web

    1.4 Một số vấn đề của dịch vụ web

    1.4.1 An toàn cho dịch vụ web

    1.4.2 Xây dựng một dịch vụ web

    1.4.3 Tích hợp dịch vụ web theo chuẩn

    II. CÁC CHUẨN CÔNG NGHỆ TRONG DỊCH VỤ WEB

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

Tài liệu liên quan