intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Xaydung K23 | Ngày: | Loại File: PPT | Số trang:34

96
lượt xem
21
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Objectives: answers to questions - you’ve build web sites that can be used by other people, Can you build web sites that are usable by machines?

Chủ đề:
Lưu

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

  1. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM NGUYỄN XUÂN VINH LẬP TRÌNH MẠNG NÂNG CAO KHOA CÔNG NGHỆ THÔNG TIN RESTful Web Service A complex system that works is invariably found to have evolved from a simple system that worked 27/10/14 Editor: Nguyễn Xuân 35 Vinh 1
  2. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN Problem NGUYỄN XUÂN VINH • You’ve build web sites that can be used by other  people • Can you build web sites that are usable by  machines? LẬP TRÌNH MẠNG NÂNG CAO Web must be Web Service • A complex system that works is invariably found to have evolved from a simple system that worked —John Gall 27/10/14 Systemantics 35 2
  3. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN HTTP NGUYỄN XUÂN VINH LẬP TRÌNH MẠNG NÂNG CAO 27/10/14 35 3
  4. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN HTTP Header NGUYỄN XUÂN VINH LẬP TRÌNH MẠNG NÂNG CAO 27/10/14 35 4
  5. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN HTTP transmission NGUYỄN XUÂN VINH LẬP TRÌNH MẠNG NÂNG CAO 27/10/14 35 5
  6. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN HTTP request NGUYỄN XUÂN VINH GET http://www.tiggerwigger.com/ HTTP/1.0 Proxy­Connection: Keep­Alive User­Agent: Mozilla/5.0 [en] (X11; I; Linux 2.2.3 i686) Host: www.tiggerwigger.com LẬP TRÌNH MẠNG NÂNG CAO Accept: image/gif, image/x­xbitmap, image/jpeg,  image/pjpeg, image/png, */ * Accept­Encoding: gzip Accept­Language: en 27/10/14 Accept­Charset: iso­8859­1, *, utf­8 35 6
  7. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN HTTP response NGUYỄN XUÂN VINH HTTP/1.1 200 OK Date: Mon, 23 May 2005 22:38:34 GMT Server: Apache/1.3.3.7 (Unix) (Red­Hat/Linux) Last­Modified: Wed, 08 Jan 2003 23:11:55 GMT Etag: "3f80f­1b6­3e1cb03b" LẬP TRÌNH MẠNG NÂNG CAO Content­Type: text/html; charset=UTF­8 Content­Length: 131 Connection: close An Example Page   Hello World, this is a very simple HTML document. 27/10/14 35 7
  8. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN RPC Style NGUYỄN XUÂN VINH POST /rpc HTTP/1.1 Host: www.upcdatabase.com User-Agent: XMLRPC::Client (Ruby 1.8.4) LẬP TRÌNH MẠNG NÂNG CAO Content-Type: text/xml; charset=utf-8 Content-Length: 158 Connection: keep-alive 27/10/14 lookupUPC ... 35 8
  9. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN REST­RPC Hybrid Architectures NGUYỄN XUÂN VINH http://www.flickr.com/services/rest? api_key=xxx&method=flickr.photos.search&tags=pengui n LẬP TRÌNH MẠNG NÂNG CAO 27/10/14 35 9
  10. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN Technologies on the Programmable Web NGUYỄN XUÂN VINH  HTTP  URI  XML­RPC  SOAP LẬP TRÌNH MẠNG NÂNG CAO  WS­*  WSDL  WADL:Web Application..: describe RESTful WS  JAX­WS  JAX­RS 27/10/14 35 10
  11. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN WS­* stack NGUYỄN XUÂN VINH • WS­Notification • WS­Security • WSDL • SOAP LẬP TRÌNH MẠNG NÂNG CAO 27/10/14 35 11
  12. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN Representational State Transfer (REST) NGUYỄN XUÂN VINH  Style of software architecture for distributed  systems.  Has emerged as a predominant web API design  model LẬP TRÌNH MẠNG NÂNG CAO  Developed by W3C Technical Architecture Group  (TAG) in parallel with HTTP/1.1, based on the  existing design of HTTP/1.0 27/10/14 35 12
  13. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN Why REST? NGUYỄN XUÂN VINH • Simple (conceptually and programmatically) • Simpler and cleaner than SOAP LẬP TRÌNH MẠNG NÂNG CAO 27/10/14 35 13
  14. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN Agenda NGUYỄN XUÂN VINH  REST Concept  REST key goals  REST Constrains  REST Data Elements LẬP TRÌNH MẠNG NÂNG CAO  RESTful operation  REST V.S. SOAP  REST V.S. SOA  SOAP Example  REST Example 27/10/14 35 14
  15. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN REST Concept NGUYỄN XUÂN VINH REST is • Representational State Transfer between Resource LẬP TRÌNH MẠNG NÂNG CAO • A style of software architecture • A Virtual state­machine A network of web pages (a virtual state­machine),  where the user progresses through an application by selecting links (state transitions), resulting in the  next page (representing the next state of the application) being transferred to the user and rendered  for their use.  27/10/14 35 15
  16. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN REST key goals NGUYỄN XUÂN VINH  Scalability of component interactions  Generality of interfaces  Independent deployment of components  Intermediary components to reduce latency,  LẬP TRÌNH MẠNG NÂNG CAO enforce security and encapsulate legacy systems 27/10/14 35 16
  17. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN REST Constraints NGUYỄN XUÂN VINH •  Client­Server •  Separation principle •  Components Independent •  Stateless •  Session state on the client LẬP TRÌNH MẠNG NÂNG CAO •  Visibility, reliability and scalability •  Trade off (network performance, etc.) •  Cacheable •  A response can be cacheable •  Efficiency but reduce reliability •  Layered system •  System scalability •  Code on demand (optional) 27/10/14 •  Extension after deployment •  Uniform Interface 35 •  Simple  17
  18. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN REST Data Elements NGUYỄN XUÂN VINH • Resources and Resource Identifiers • Uniform Interface (GET, PUT, POST, DELETE) • Resource Oriented • Simple and simple is beautiful LẬP TRÌNH MẠNG NÂNG CAO HTTP Method CRUD  Desc. POST CREATE Create ­ GET RETRIEVE Retrieve Safe,Idempotent,Cacheable PUT UPDATE Update Idempotent DELETE DELETE Delete Idempotent 27/10/14  Representations • HTML / XML / images / sounds / … 35 18
  19. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN RESTful operation NGUYỄN XUÂN VINH  REST­style architectures conventionally consist of clients and  servers  Clients initiate requests to servers  servers process requests and return appropriate responses  Requests and responses are built around the transfer of  representations of resources LẬP TRÌNH MẠNG NÂNG CAO  A resource can be essentially any coherent and meaningful  concept that may be addressed.  A representation of a resource is typically a document that  captures the current or intended state of a resource  Client begins sending requests when it is ready to make the  transition to a new state. (While one or more requests are  outstanding, the client is considered to be in transition) 27/10/14  The representation of each application state contains links that  may be used the next time the client chooses to initiate a new  35 state­transition 19
  20. TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN RESTful web APIs (RESTful web service) NGUYỄN XUÂN VINH A collection of resources, with four defined aspects: The base URI for the web API http://example.com/resources/ The Internet Media Type  LẬP TRÌNH MẠNG NÂNG CAO Set of operations (GET, PUT, POST, DELETE) 27/10/14 35 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2