Bài giảng Lập trình mạng RESTful Web Service - GV. Nguyễn Xuân Vinh

34 1.2K 0
Bài giảng Lập trình mạng RESTful Web Service - GV. Nguyễn Xuân Vinh

Đ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

TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN VINHLẬP TRÌNH MẠNG NÂNG CAO 28/05/15 35 1 RESTful Web Service A complex system that works is invariably found to have evolved from a simple system that worked Editor: Nguyễn Xuân Vinh TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN VINHLẬP TRÌNH MẠNG NÂNG CAO 28/05/15 35 2 Problem •   •      • A complex system that works is invariably found to have A complex system that works is invariably found to have evolved from a simple system that worked evolved from a simple system that worked     Systemantics Systemantics TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN VINHLẬP TRÌNH MẠNG NÂNG CAO 28/05/15 35 3 HTTP TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN VINHLẬP TRÌNH MẠNG NÂNG CAO 28/05/15 35 4 HTTP Header TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN VINHLẬP TRÌNH MẠNG NÂNG CAO 28/05/15 35 5 HTTP transmission TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN VINHLẬP TRÌNH MẠNG NÂNG CAO 28/05/15 35 6 HTTP request  !!"####"!$%!&"'  !!"####"!$%!&"' %() *)+ %() *)+ ,)+# -.!/"'0123&&4546(7"7"89:9; ,)+# -.!/"'0123&&4546(7"7"89:9; $ "####" $ "####" + #!#<=#!()(=#!>#=#!>#= + #!#<=#!()(=#!>#=#!>#= #!#=?! #!#=?! ? ? +)# #. +)# #. +)6##  +)6##  +) )::/@)&=?=<): +) )::/@)&=?=<): TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN VINHLẬP TRÌNH MẠNG NÂNG CAO 28/05/15 35 7 HTTP response $%!&"&7''A* $%!&"&7''A* B -=78-7''/77 8: 8C- B -=78-7''/77 8: 8C-  +!&"8"8"D2,(;2E)$!6(;  +!&"8"8"D2,(;2E)$!6(; 6)-F =':7''878 && //- 6)-F =':7''878 && //- # G8<:'<)&9)8&'8G # G8<:'<)&9)8&'8G ) (!4H,I): ) (!4H,I): )6# &8& )6# &8&     JK JK JKJK+(%#J!KJ!K JKJK+(%#J!KJ!K JK JK   $=$-6" $=$-6" J!K J!K J!K J!K TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN VINHLẬP TRÌNH MẠNG NÂNG CAO 28/05/15 35 8 RPC Style %A!$%!&"& %A!$%!&"& $ "" $ "" ,)+# 3-6E% 2E&":"C; ,)+# 3-6E% 2E&":"C; ) (!(4H<): ) (!(4H<): )6# &/: )6# &/:  L)  L) J(HG&"'GK J(HG&"'GK JK JK JMKL,%J!MK JMKL,%J!MK """ """ J!K J!K TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN VINHLẬP TRÌNH MẠNG NÂNG CAO 28/05/15 35 9 REST-RPC Hybrid Architectures http://www.ickr.com/services/rest? http://www.ickr.com/services/rest? api_key=xxx&method=ickr.photos.search&tags=penguin api_key=xxx&method=ickr.photos.search&tags=penguin TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN VINHLẬP TRÌNH MẠNG NÂNG CAO 28/05/15 35 10 Technologies on the Programmable Web  $% $%  ,E5 ,E5  3-6)E% 3-6)E%  A+% A+%  )? )?  B6 B6  +B6 +"" E< +B6 +"" E<  JAX-WS JAX-WS  JAX-RS JAX-RS [...]... state-transition NGUYỄN XUÂN VINH TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM RESTful web APIs (RESTful web service) A collection of resources, with four defined aspects: The base URI for the web API http://example.com/resources/ 35 28/05/15 LẬP TRÌNH MẠNG NÂNG CAO The Internet Media Type 20 KHOA CÔNG NGHỆ THÔNG TIN Set of operations (GET, PUT, POST, DELETE) 21 35 28/05/15 LẬP TRÌNH MẠNG NÂNG CAO NGUYỄN XUÂN VINH. .. 28/05/15 LẬP TRÌNH MẠNG NÂNG CAO NGUYỄN XUÂN VINH TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM WS-* stack • WS-Notification • WS-Security • WSDL • SOAP KHOA CÔNG NGHỆ THÔNG TIN 12 35 28/05/15 LẬP TRÌNH MẠNG NÂNG CAO NGUYỄN XUÂN VINH TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN Representational State Transfer (REST)  Style of software architecture for distributed systems  Has emerged as a predominant web. .. resources, rather than messages or operations 25 35 28/05/15 LẬP TRÌNH MẠNG NÂNG CAO NGUYỄN XUÂN VINH TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN REST V.S SOA SOA principles •Standardized Service Contracts Service Loose Coupling Service Abstraction Service Reusability Service Autonomy Service Statelessness Service Discoverability Service Composability REST principles •Unique identifiability... 28/05/15 LẬP TRÌNH MẠNG NÂNG CAO NGUYỄN XUÂN VINH TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM REST Example GET /stock/IBM HTTP/1.1 Host: www.example.org Accept: application/xml KHOA CÔNG NGHỆ THÔNG TIN 28 35 28/05/15 LẬP TRÌNH MẠNG NÂNG CAO NGUYỄN XUÂN VINH TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN SOAP Example 2 POST /InStock HTTP/1.1 Host: www.example.org Content-Type: application/soap+xml; charset=utf-8... of HTTP/1.0 13 35 28/05/15 LẬP TRÌNH MẠNG NÂNG CAO NGUYỄN XUÂN VINH TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM Why REST? • Simple (conceptually and programmatically) • Simpler and cleaner than SOAP KHOA CÔNG NGHỆ THÔNG TIN 14 35 28/05/15 LẬP TRÌNH MẠNG NÂNG CAO NGUYỄN XUÂN VINH TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM Agenda  REST Concept  REST key goals  REST Constrains  REST Data Elements  RESTful operation  REST... demand (optional) • Extension after deployment • Uniform Interface • Simple 17 28/05/15 • Layered system • System scalability 35 LẬP TRÌNH MẠNG NÂNG CAO NGUYỄN XUÂN VINH TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN 18 35 28/05/15 LẬP TRÌNH MẠNG NÂNG CAO NGUYỄN XUÂN VINH TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN REST Data Elements • Resources and Resource Identifiers • Uniform... Stateless KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN VINH TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM REST V.S SOAP SOAP • Simple Object Access Protocol 22 35 28/05/15 LẬP TRÌNH MẠNG NÂNG CAO • RPC protocol that go through firewalls • Communication protocol between applications • A format for sending messages KHOA CÔNG NGHỆ THÔNG TIN 23 35 28/05/15 LẬP TRÌNH MẠNG NÂNG CAO NGUYỄN XUÂN VINH TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM... principles 26 35 28/05/15 LẬP TRÌNH MẠNG NÂNG CAO NGUYỄN XUÂN VINH TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN SOAP Example POST /InStock HTTP/1.1 Host: www.example.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn . KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN VINHLẬP TRÌNH MẠNG NÂNG CAO 28/05/15 35 3 HTTP TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN VINHLẬP TRÌNH MẠNG NÂNG CAO 28/05/15 35 4 HTTP. CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN VINHLẬP TRÌNH MẠNG NÂNG CAO 28/05/15 35 5 HTTP transmission TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN VINHLẬP TRÌNH MẠNG NÂNG CAO 28/05/15 35 6 HTTP. TIN NGUYỄN XUÂN VINHLẬP TRÌNH MẠNG NÂNG CAO 28/05/15 35 1 RESTful Web Service A complex system that works is invariably found to have evolved from a simple system that worked Editor: Nguyễn Xuân

Ngày đăng: 28/05/2015, 07:53

Từ khóa liên quan

Mục lục

  • RESTful Web Service

  • Problem

  • HTTP

  • HTTP Header

  • HTTP transmission

  • HTTP request

  • HTTP response

  • RPC Style

  • REST-RPC Hybrid Architectures

  • Technologies on the Programmable Web

  • WS-* stack

  • Representational State Transfer (REST)

  • Why REST?

  • Agenda

  • REST Concept

  • REST key goals

  • REST Constraints

  • REST Data Elements

  • RESTful operation

  • RESTful web APIs (RESTful web service)

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

  • Đang cập nhật ...

Tài liệu liên quan