YOMEDIA
ADSENSE
Bài giảng Lập trình mạng: RESTful Web Service - GV. Nguyễn Xuân Vinh
96
lượt xem 21
download
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?
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình mạng: RESTful Web Service - GV. Nguyễn Xuân Vinh
- 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
- 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
- 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
- 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
- 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
- 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 ProxyConnection: KeepAlive UserAgent: 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/xxbitmap, image/jpeg, image/pjpeg, image/png, */ * AcceptEncoding: gzip AcceptLanguage: en 27/10/14 AcceptCharset: iso88591, *, utf8 35 6
- 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) (RedHat/Linux) LastModified: Wed, 08 Jan 2003 23:11:55 GMT Etag: "3f80f1b63e1cb03b" LẬP TRÌNH MẠNG NÂNG CAO ContentType: text/html; charset=UTF8 ContentLength: 131 Connection: close An Example Page Hello World, this is a very simple HTML document. 27/10/14 35 7
- 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
- TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN RESTRPC 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
- 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 XMLRPC SOAP LẬP TRÌNH MẠNG NÂNG CAO WS* WSDL WADL:Web Application..: describe RESTful WS JAXWS JAXRS 27/10/14 35 10
- 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 • WSNotification • WSSecurity • WSDL • SOAP LẬP TRÌNH MẠNG NÂNG CAO 27/10/14 35 11
- 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
- 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
- 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
- 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 statemachine A network of web pages (a virtual statemachine), 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
- 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
- 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 • ClientServer • 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
- 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
- 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 RESTstyle 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 statetransition 19
- 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
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn