Dịch vụ mạng restful - Khái niệm cơ bản

9 196 2
Dịch vụ mạng restful - Khái niệm cơ bản

Đang tải... (xem toàn văn)

Thông tin tài liệu

D ch v m ng RESTful: Khái ni m c b n Page of D ch v m ng RESTful: Khái ni m c b n M c : Trung bình Alex Rodriguez, K s ph n m m, IBM 22 05 2009 Chuy n i tr ng thái i di n (REST) ã giành c s ch p nh n r ng rãi m ng nh m t s thay th n gi n h n i v i d ch v m ng d a SOAP d a ngôn ng miêu t d ch v m ng (WSDL) B ng ch ng quan tr ng c a s chuy n i giao di n thi t k nhà cung c p d ch v m ng 2.0 ch o ã thông qua g m Yahoo, Google Facebook, nh ng công ty ã ph n i ho c b qua giao th c d a SOAP ho c WSDL ng h ph ng th c h ng n tài nguyên d s d ng trình bày d ch v c a h Trong vi t này, Alex Rodriguez s gi i thi u v i b n nguyên lý c b n c a REST Nh p mơn REST xác nh m t nhóm ngun lý ki n trúc, b ng cách ó b n th thi t k d ch v m ng, tr ng vào tài nguyên h th ng, bao g m tr ng thái tài nguyên c nh d ng nh th c chuy n t i qua HTTP thông qua m t l ng l n ng !i dùng c vi t b"i nh ng ngơn ng khác N u tính theo s d ch v m ng s d ng, REST ã n i lên m t vài n#m qua nh m t mơ hình thi t k d ch v chi m u th Th c t REST ã nh ng nh h "ng l n n nh v y i v i m ng g n nh chi m v trí c a thi t k giao di n d a SOAP hay WSDL cách th c n gi n h n r t nhi u s d ng REST không thu hút c nhi u s ý l n u tiên c gi i thi u vào n#m 2000 b"i Roy Fielding lu n án c a ông "Architectural Styles and the Design of Network-based Software Architectures" (Phong cách ki n trúc thi t k ki n trúc ph n m m d a m ng) t i $ i h c California Lu n án ã phân tích m t lo t nguyên t%c ki n trúc ph n m m s d ng m ng nh m t c gi i n n t ng tính tốn phân tán (xem Tài nguyên liên k t t i lu n án) Hi n nay, vài n#m sau thi u, khung làm vi c i v i REST ã c b%t u xu t hi n v&n ang c ti p t c phát tri n, ang c xem xét xu t ví d nh tr" thành m t ph n c a Java™ thông qua JSR-311 Bài vi t khuy n ngh r ng cách th c n thu n nh t ngày nay, ã thu hút c nhi u s ý vi c th c hi n c th c a m t d ch v m ng REST s tuân theo b n nguyên lý thi t k c b n nh sau S d ng ph ng th c HTTP m t cách rõ ràng Phi tr ng thái Hi n th c u trúc th m c nh URls Chuy n i JavaScript Object Notation (JSON) XML ho c c hai Các ph n sau ây s m" r ng d a b n nguyên lý xu t m t nhân t k thu t c b n gi i thích chúng quan tr ng i v i nhà thi t k d ch v m ng REST S d ng ph ng th c HTTP m t cách rõ ràng M t c tính quan tr ng c a d ch v m ng RESTful s d ng m t cách rõ ràng ph ng th c HTTP theo cách m t giao th c c xác nh b"i RFC 2616 Ví d HTTP GET c xác nh nh m t ph ng th c sinh s li u mà c s d ng ch ích b"i ng d ng ng !i dùng thu th p c tài nguyên, thu d li u t' m t máy ch m ng, ho c th c thi m t truy v n mà máy ch m ng s tìm ki m ph n h i v i m t gói tài ngun t ng thích REST u c u chuyên viên phát tri n s d ng ph ng th c HTTP m t cách rõ ràng theo cách t ng thích v i giao th c chu(n Nguyên lý thi t k REST c b n thi t l p m t ánh x 1-1 gi a ho t D ch v m ng RESTful: Khái ni m c b n ng t o l p, ánh x này: $ $ $ $ c, c p nh t xoá ph ng th c (CRUD) ph Page of ng pháp HTTP Theo ph ng th c t o m t tài nguyên máy ch , s d ng POST truy xu t m t tài nguyên, s d ng GET thay i tr ng thái m t tài nguyên ho c c p nh t nó, s d ng PUT hu) b ho c xoá m t tài nguyên, s d ng DELETE M t thi t k không may b h ng d nh n nhi u m ng APIs ph ng th c s d ng HTTP cho m c ích khơng d tính tr c Ví d l nh URI m t l nh HTTP GET th !ng xác nh m t tài nguyên c th Ho c m t chu*i truy v n m t l nh URI bao g m m t nhóm tham s xác nh tiêu chí tìm ki m c máy ch s d ng tìm tài nguyên phù h p Ít nh t i u cho th y HTTP/1.1 miêu t GET nh th Nh ng nhi u tr !ng h p Web APIs không c t t l%m, s d ng HTTP GET kh"i ng m t vài tác v máy ch — ví d , thêm b n ghi vào m t c s" d li u Trong tr !ng h p này, GET yêu c u URI không c s d ng úng %n ho c khơng s d ng REST m t cách y N u Web API s d ng GET l nh t' xa m t quy trình, s d ng nh sau: GET /adduser?name=Robert HTTP/1.1 $ây không ph i m&u thi t k h p d&n ph ng pháp m ng nói h* tr ph ng th c thay i tr ng thái HTTP GET Nói cách khác, ph ng pháp HTTP GET yêu c u nói nh ng tác ng ph N u c x lý thành công, k t qu c a yêu c u t o thêm vào ng !i s d ng m i vào m&u — ví d này, Robert — i v i vi c l u gi s li u c b n V n " ây ch+ v m t ng ngh,a Nh ng m ng máy ch c thi t k t ng thích v i yêu c u c a HTTP GET b ng cách truy l i mã ngu n phù h p v i !ng d&n (ho c tiêu chu(n yêu c u) theo nh câu l nh URI g i l i nh ng mã ngu n ho c thông tin i di n mà không thêm m&u d li u vào c s" d li u T' góc m c ích s d ng giao th c ó t' ph ng pháp HTTP/1.1-compliant c a m ng ch s d ng GET theo cách s không th ng nh t Trên m t ng ngh,a, v n khác v i GET kh"i ng m t s xoá b , s a i, ho c ghi thêm vào c s" d li u, ho c thay i tr ng thái máy ch theo m t cách ó Nó kéo cơng c l u tr web (các !ng d&n) cơng c tìm ki m, làm thay i máy ch m t cách không ch nh theo cách n gi n b"i m t !ng d&n M t cách n gi n v t qua v n hay x y d ch chuy n tên giá tr tham s d a òi h i URL i v i th- XML Các th- k t qu , m t i di n XML c a m t ch th c t o ra, th c g i vào m t nhóm HTTP POST, nh ng n i mà yêu c u URL ch th sinh ch ích (xem ví d 2) Ví d Tr c Ví d Sau $ # $ $ $ ! % !" ! &% ' # ' ' ' $ ' Ph ng pháp ví d c a l nh RESTful: cách s d ng úng HTTP POST bao g m c t i tr ng ph n thân câu l nh $ i v i phía u ti p nh n, câu l nh th c x lý b ng cách thêm tài nguyên vào h th ng ó nh m t ph n ph tài nguyên c nh d ng l nh URI; tr !ng h p tài nguyên m i ph i c thêm vào nh m t nhánh c a /users Quan h bao hàm gi a th c th m i nhánh m., nh ã xác nh yêu c u POST, t ng t nh cách t p ã thu c th m c m Máy khách thi t l p quan h gi a th c th nhánh m., xác nh URI c a th c th m i yêu c u POST /ng d ng máy khách sau ó th nh n k t n i c a ngu n s d ng URI m i, l u ý r ng nh t v m t D ch v m ng RESTful: Khái ni m c b n logic, ngu n c td Page of i /users, nh ví d Ví d L nh HTTP GET ("" !" ! # S d ng GET theo cách r t rõ ràng GET ch+ dành cho truy c p d li u GET m t ph khơng hi u ng ph , nh m t c tính riêng khơng thay i giá tr ng th c mà M t cách ch+nh l i c a ph ng th c m ng c0ng c n c ng d ng tr !ng h p m t thao tác c p nh t c h* tr qua HTTP GET, nh th hi n ví d Ví d C p nh t i v i HTTP GET ) * + , $i u thay i thu c tính (ho c c tính) name c a tài nguyên Trong chu*i truy v n th c dùng cho nh ng ph ng th c nh th này, ví d m t ví d n gi n, m&u ph ng pháp d u hi u nh chu*i truy v n (query-string-as-method-signature) xu h ng chia r c s d ng i v i ph ng th c ph c t p h n Do m c tiêu c a s d ng ph ng pháp HTTP m t cách rõ ràng, cách ti p c n RESTful g i m t yêu c u HTTP PUT c p nh t tài nguyên, thay HTTP GET, cho nh ng lý t ng t ch+ " (xem ví d 5) Ví d L nh HTTP PUT $ # $ $ $ ! % !" ! &% ' # ' ', ' $ ' S d ng PUT thay th tài nguyên g c, cung c p m t giao di n s ch h n, phù h p v i nguyên lý c a REST khái ni m c a ph ng pháp HTTP L nh PUT ví d rõ ràng " ch* ch+ tài nguyên c c p nh t b ng cách xác nh câu l nh URI, chuy n m t i di n m i c a thu c tính tài ngun chuy n i nh nhóm khơng ch t ch tên tham s giá tr l nh URI Ví d c0ng hi u ng t' vi c i tên tài nguyên t' Robert sang Bob, vi c thay i c a URI sang /users/Bob Trong m t d ch v m ng REST, l nh ti p theo c a tài nguyên s d ng URI c0 s sinh l*i c#n b n 404 Not Found Nh m t nguyên t%c thi t k chung, giúp theo sát h ng d&n s d ng REST s d ng ph ng pháp HTTP m t cách rõ ràng b ng cách s d ng danh t' URIs thay ng t' Trong m t d ch v m ng RESTful, ng t' — POST, GET, PUT, DELETE — ã c xác nh b"i giao th c Và t t nh t, gi giao di n c khái quát hoá cho phép khách dùng thông t v ph ng th c h xu t, d ch v m ng không nên a nhi u ng t' ho c quy trình t' xa, nh /adduser ho c /updateuser Nguyên t%c thi t k chung c0ng áp d ng i v i ph n thân câu l nh HTTP, mà c s d ng ch ý chuy n tr ng thái tài nguyên, không mang tên c a m t ph ng th c t' xa ho c quy trình t' xa c xu t Phi tr ng thái Các d ch v m ng REST c n c i u ch+nh v quy mô áp ng c yêu c u ngày cao v ch t l ng th c hi n Các khu v c l u tr c a máy ch v i kh n#ng cân b ng t i v t qua s m t mát, D ch v m ng RESTful: Khái ni m c b n Page of b c ng#n (t !ng l a) c ng c s%p x p theo m t ph ng th c c thù nh m t o m t c u trúc d ch v b n v ng, mà c phép yêu c u chuy n ti p t' m t máy ch t i máy ch khác c n gi m t ng th!i gian ph n h i c a m t yêu c u d ch v m ng S d ng máy ch trung gian nh m nâng cao m c yêu c u d ch v m ng REST c a khách hàng g i yêu c u hoàn ch+nh c l p, ngh,a g i yêu c u bao g m t t c d li u c n thi t áp ng cho thành ph n máy ch trung gian th g i ti p i, g i theo n cân b ng t i mà không c n tr ng thái c ki m soát bên gi a yêu c u M t yêu c u hồn ch+nh, c l p khơng òi h i máy ch , x lý yêu c u, thu th p c b t k1 ng c nh ho c tr ng thái c a ng d ng M t ng d ng (ho c máy khách) d ch v m ng REST bao g m gi a ph n u ph n thân trang HTTP c a m t yêu c u tham s , ng c nh d li u c n thi t b"i thành ph n c a máy ch a m t ph n h i Phi tr ng thái theo ngh,a nâng cao tính hi u qu c a d ch v Web, n gi n hoá thi t k s thi hành c a thành ph n c a máy ch máy ch khơng tr ng thái s hu) b nhu c u ng b hoá m ng d li u v i m t ng d ng bên ngồi Hình minh ho m t d ch v tr ng thái, t' ó m t ng d ng th yêu c u trang sau m t t p h p trang k t qu , gi s r ng d ch v theo sát ng d ng d'ng l i " n i i u ch+nh t p h p ó $ i v i thi t k tr ng thái, d ch v gia t#ng l u gi m t previousPage (trang tr c) thay i " n i th ph n h i l nh ti p theo Hình Thi t k tr ng thái D ch v tr ng thái nh th tr" nên ph c t p Trong môi tr !ng N n t ng Java, Phiên b n Doanh nghi p (EE), d ch v tr ng thái yêu c u r t c(n th n lúc ban u l u tr hi u qu cho phép ng b hoá d li u phiên qua m t vùng c a thành ph n ch a (containers) Java EE Trong môi tr !ng này, m t v n quen thu c i v i chuyên viên phát tri n servlet/JavaServer Pages (JSP) Enterprise JavaBeans (EJB), nh ng ng !i th !ng g p khó kh#n tìm g c r nguyên nhân c a java.io.NotSerializableException b n phiên Li u c chuy n b"i thành ph n ch a Servelet HttpSession b n ho c chuy n i b"i thành ph n ch a EJB b n EJB tr ng thái, ó v n mà th làm chuyên viên phát tri n m t nhi u ngày xác nh m u ch t m t i t ng mà không th c thi Serializable, ôi m t th ph c t p c a i t ng mà óng góp nên tr ng thái c a máy ch Ngoài ra, ph n t i u hố làm i thêm chi phí nh h "ng n hi u qu c a máy ch M t khác, thành ph n máy ch phi tr ng thái ph c t p h n thi t k , vi t phân b thông qua máy ch c cân b ng t i D ch v phi tr ng thái không ch+ ho t ng t t h n, chuy n h u h t vai trò trì tr ng thái sang ng d ng " máy khách Trong m t d ch v m ng RESTful, máy ch ch u trách nhi m a ph n h i cung c p m t giao di n cho phép máy khách trì tr ng thái ng d ng c a Ví d , yêu c u t p h p trang k t qu , máy khách s g m s trang th c t truy xu t thay n gi n ch+ yêu c u ti p theo (xem hình 2) Hình Thi t k phi tr ng thái D ch v m ng RESTful: Khái ni m c b n Page of M t d ch Web phi tr ng thái sinh m t ph n h i liên k t v i s trang ti p theo m t t ng th máy khách làm nh ng mà c n gi giá tr " m c nh t nh Khía c nh c a thi t k d ch v Web RESTful th c tách thành hai ph n trách nhi m nh m c phân chia cao nh t mà ch+ rõ m t d ch v phi tr ng thái th c trì nh th Máy ch Phát ph n h i bao g m !ng k t n i t i tài nguyên khác cho phép ng d ng i u h ng gi a tài nguyên liên quan Lo i ph n h i nhúng liên k t T ng t , n u yêu c u i v i máy ch ho c kho tài nguyên, ph n h i d ch v RESTful i n hình th bao g m !ng d&n n máy ho c tài nguyên ph cho nh ng ph n h i c trì k t n i Phát ph n h i mà xác nh chúng th l u tr ho c không ph i nâng cao c hi u qu b ng cách gi m s l ng yêu c u i v i tài nguyên trùng b ng cách lo i tr' m t vài yêu c u toàn b Máy ch làm c nh v y b ng cách g p m t ph n h i ph n u HTTP Last Modified (l n s a g n nh t) (giá tr ngày) Cache-Control (b i u n l u tr ) ng d ng máy khách S d ng ph n u ph n h i Cache-Control (b i u n l u tr t m) xác nh l u tr tài nguyên (l p m t vùng chép n i b ) hay không Máy khách c0ng c ph n u ph n h i LastModified (l n s a g n nh t) g i l i giá tr ngày vào ph n u If-Modified-Since (n u-s a) truy v n máy ch xem tài ngun thay i khơng Vi c c g i truy v n i u ki n, hai ph n u i v i ph n h i c a máy ch mã 304 chu(n (không s a i) b qua tài nguyên th c c yêu c u n u khơng thay i M t mã ph n h i HTTP ngh,a r ng máy khách th s d ng an tồn m t vùng l u n i b , c l u tr c a i di n tài nguyên m t cách c p nh t nh t, hi u qu b ng cách v t qua yêu c u GET ti p theo cho n tài nguyên thay i G i yêu c u hoàn ch+nh mà th c áp ng c l p b"i yêu c u khác $i u òi h i máy khách s d ng toàn b ph n u HTTP nh ch+ nh b"i giao di n d ch v m ng g i i di n tài nguyên hoàn ch+nh ph n gi a c a yêu c u Máy khách g i yêu c u l p m t vài gi thuy t v yêu c u tr c ó, s t n t i c a m t vùng c a máy ch , kh n#ng c a máy ch thêm ng c nh vào yêu c u, ho c v tr ng thái ng d ng mà c gi gi a yêu c u S h p tác gi a ng d ng máy khách máy ch c n thi t m t phi tr ng thái m t d ch v m ng RESful Nó nâng cao hi u qu b ng cách ti t ki m b#ng thông t i thi u hoá tr ng thái ng d ng v phía máy ch a c u trúc th m c gi ng URIs T' i m hi n c a tài nguyên a ch+ ng d ng máy khách, !ng d&n xác nh tính hi n th c c a d ch v m ng REST nh th nào, c s d ng theo cách chuyên viên thi t k th tham gia Tính n#ng th ba c a d ch v m ng RESful v t t c !ng d&n Các a ch+ d ch v m ng REST nên tính hi n th c theo ngh,a r ng chúng d dàng i v i ng !i dùng khách th ngh, r ng m t a ch+ !ng d&n nh giao di n t óng gói mà òi h i lý gi i ho c tham chi u, n u có, i v i m t nhà phát tri n hi u nh%m n i m phân phát tài nguyên liên D ch v m ng RESTful: Khái ni m c b n quan Cu i cùng, c u trúc c a m t a ch+ nên rõ ràng, th Page of oán c d hi u M t cách t cm c s d ng xác nh c u trúc th m c gi ng URIs Lo i URI th b c, i m kh"i ngu n t i m t !ng d&n n gi n, nhánh i nhánh ph th hi n vùng c a d ch v Theo nh ngh,a này, m t URI không ch+ m t chu*i b c%t không gi i h n, mà m t v i nhánh nhánh d c n i v i t i nút Ví d , m t th o lu n d ch v nh thu th p ch t' Java t i vi t, b n th nh ngh,a m t t p h p c c u trúc b"i URIs gi ng nh sau: http://www.myservice.org/discussion/topics/{topic} Ph n g c, /discussion, m t nút /topics bên d i Phía d i m t chu*i tên tên ch , nh chuy n xã h i, k thu t, v.v , m*i ch ch+ m t m ch th o lu n Trong c u trúc này, d dàng kéo m ch th o lu n b ng cách gõ m t vài th sau /topics/ Trong m t vài tr !ng h p, !ng d&n t i m t tài nguyên cho m n c bi t t t v i c u trúc gi ng th m c Ví d , tài nguyên c c u trúc b"i ngày, i u mà ph i h p r t t t s d ng m t cú pháp 2ng c p Ví d tr c quan d a nguyên t%c: http://www.myservice.org/discussion/2008/12/10/{topic} Phân m nh !ng d&n u tiên n#m b n ch s , phân m nh th hai ngày hai ch s , phân m nh th ba tháng hai ch s v- h i ngu ng c gi i thích theo cách này, nh ng ây m c n gi n Con ng !i máy móc th d dàng sinh c u trúc URIs gi ng nh v y chúng d a nguyên t%c B sung vào ph n !ng d&n khe c a m t cú pháp làm cho chúng t t h n m t m&u xác nh t' ó so n chúng http://www.myservice.org/discussion/{year}/{day}/{month}/{topic} M t vài h ng d&n b sung l u ý nói v c u trúc a ch+ c a d ch v m ng RESTful là: Gi u uôi tài li u m" r ng c a b n g c máy ch (.jsp, php, asp), n u có, v y b n th gi u m t s th mà không c n thay i a ch+ Urls $ m i th ch th !ng Thay th kho ng tr ng b ng g ch chân ho c ho c g ch n i (m t hai lo i) Tránh chu*i yêu c u nhi u t t Thay s d ng mã (404 Not Found) yêu c u a ch+ cho m t ph n !ng d&n, luôn cung c p m t trang m c nh ho c tài nguyên nh m t ph n h i Các a ch+ (URIs) nên không thay i tài nguyên thay i ho c ti n hành thay i d ch v , !ng liên k t s gi nguyên Vi c cho phép ánh d u l i v trí ang c Nó c0ng r t quan tr ng m i liên quan gi a tài nguyên mà c mã hoá a ch+ c gi nguyên c l p v i m i liên quan i di n chúng c l u tr Chuy n i XML, JSON, ho c c hai M t tài nguyên i di n i n hình ph n ánh tr ng thái hi n t i c a m t tài nguyên, thu c tính c a nó, t i th!i i m m t ng d ng máy khách yêu c u Các i di n tài nguyên theo ngh,a ch+ b n tóm t%t lúc ó $i u th n gi n nh m t i di n c a m t b n ghi m t c s" d li u, bao g m m t t ng th gi a tên c t th- XML, n i giá tr thành ph n XML bao g m giá tr dòng Ho c n u h th ng m t mơ hình d li u, theo nh ngh,a m t tài nguyên i di n m t b n tóm t%t thu c tính c a nh ng th mơ hình d li u h th ng $ây nh ng i u b n mu n d ch v m ng REST mang n Nh ng tr" ng i cu i cùng, i kèm v i thi t k d ch v m ng RESTful, ph i làm v i nh d ng d li u mà ng d ng trao i d ch v m c áp ng yêu c u/ph n h i ho c ph n thân c a HTTP $ây D ch v m ng RESTful: Khái ni m c b n i u làm gi m i th Page of n gi n, ng !i th c c c k t n i Các ch th mơ hình d li u c a b n th !ng liên quan n theo cách ó, m i liên h gi a mơ hình d li u ch th (tài ngun) nên c ph n ánh theo chúng c i di n chuy n n m t ng d ng máy khách Trong d ch v chu*i th o lu n, m t ví d c a i di n tài nguyên c k t n i th bao g m m t ch th o lu n g c thu c tính c a nó, !ng d&n c nhúng vào ph n h i nh t nh c a ch ó Ví d i di n XML c a m t chu i th o lu n $ # ! % &% ' $ ! " ! % /% $" '." /$ " $ ! ' $ %1 ! " $ % ! " $ ! ' $ ! " ! ' !" % ' % % !"/%' % % ! " ! " ! ! !" !" !"/ !"/ % ' % ' Cu i cùng, a n kh n#ng yêu c u lo i n i dung c th cho ng d ng máy khách mà phù h p nh t v i chúng, c u trúc d ch v c a b n cho t n d ng c ph n u ch p nh n HTTP s3n bên trong, n i giá tr c a ph n u m t lo i MIME M t vài lo i MIME thông th !ng c s d ng b"i d ch v RESTful c th hi n B ng B ng Lo i MIME ph bi n c s d ng b i d ch v RESTful MIME-Type Content-Type JSON application/json XML application/xml XHTML application/xhtml+xml Nó cho phép d ch v c nhi u khách hàng khác s d ng, vi t b ng ngôn ng khác nhau, ch y n n thi t b khác S d ng ki u MIME ph n u HTTP Accept m t c ch c bi t nh n i dung th ng thuy t, mà cho phép máy khách ch n nh d ng d li u úng v i chúng t i thi u hoá s n i l i gi a d ch v ng d ng mà s d ng K t lu n REST không ph i s l a ch n úng $ã tr !ng h p thi t k d ch v m ng, s c l p i v i ph n m m trung gian (ví d : m t ng d ng máy ch ) so v i lo i d a SOAP h c WSDL Theo ngh,a này, REST m t s quay l i !ng m ng tr c th!i i ng d ng máy ch r t l n, k c n t ng chu(n c a internet th!i k1 u, a ch+ HTTP B n v'a nghiên c u nguyên t%c g i thi t k giao di n RESTful, XML so v i HTTP m t giao di n v t tr i cho phép ng d ng bên trong, nh giao di n ng !i dùng d a Asynchronous JavaScript + XML (Ajax), d dàng k t n i, xác nh, tiêu th tài nguyên Th c t , s t ng thích l n gi a Aax REST ã nh n c r t nhi u s ý g n ây $ a m t tài nguyên h th ng thông qua m t RESTful API m t cách linh ng cung c p lo i ng d ng khác v i d li u ã c nh d ng theo cách tiêu chu(n Nó giúp áp ng yêu c u tích h p, i u r t quan tr ng xây d ng h th ng d li u c k t h p d dàng (mashups) m" r ng ho c xây d ng m t gói h th ng c#n b n D ch v RESTful th r t l n i v i m t s th Bài vi t h ng d&n d a vào nguyên lý c b n hy v ng b ng cách ó s khuy n khích b n khám phá ch D ch v m ng RESTful: Khái ni m c b n Page of Tài nguyên H ct p $ c ch ng lu n án c a Roy Fielding Architectural Styles and the Design of Network-based Software Architectures (Phong cách ki n trúc thi t k ki n trúc ph n m m d a m ng)." Tìm thêm thơng tin t i RFC 2616: Hypertext Transfer Protocol HTTP/1.1 $ c sách RESTful Web Services $ a ch+ SOA and Web services zone trang web c a IBM developerWorks, #ng hàng tr#m thông tin v vi t phong phú thông tin gi ng v gi i thi u, trung c p, ho c cao c p phát tri n ng d ng d ch v m ng Th c hành t i IBM SOA Sandbox! Nâng cao k n#ng SOA c a b n thông qua th c hành, kinh nghi m th c t v i nh p môn IBM SOA Trang web IBM SOA a m t t ng th c a SOA làm th IBM th giúp b n " ây Hãy tham gia s ki n k thu t developerWorks web qu ng bá Tìm sách ho c khác ch k thu t t i Hi u sách Safari $ c thêm tài li u Web services on demand demo L y s n ph m công ngh T i v JSR 311: JAX-RS: The Java API for RESTful Web Services L y Jersey (GlassFish) T i v Restlet, the REST framework for Java T i v Phiên b n ánh giá s n ph(m c a IBM b n công c phát tri n ng d ng ph n m m trung gian t' DB2®, Lotus®, Rational®, Tivoli®, and WebSphere® Th o lu n Tham gia vào c ng ng chuyên viên phát tri n b ng cách gia nh p vào developerWorks blogs ôi nét v tác gi Alex Rodriguez m t k s ph n m m t i IBM chuyên v công ngh Java d ch v m ng REST Ông ã l p trình b ng Java t' JDK 1.1.7B chuyên v thi t k phát tri n ph n m m Java d a EE IBM, bi u t ng IBM, ibm.com, DB2, developerWorks, Lotus, Rational, Tivoli, WebSphere nhãn D ch v m ng RESTful: Khái ni m c b n Page of hi u th ng m i ã c #ng ký b n quy n c a IBM t i Hoa K1, n c khác ho c c hai Các nhãn hi u thu t ng c #ng ký th ng m i khác ã c ký hi u l n u tiên xu t hi n v nh ng thông tin v i bi u t ng thích h p (® ho c ™), ám ch+ nhãn hi u th ng m i c #ng ký t i Hoa K1 pháp lu t dân s ho c thông lu t, c s" h u b"i IBM t i th!i i m thông tin vào ngày c công b Nh ng nhãn hi u th ng m i c0ng c #ng ký ho c thông lu t t i n c khác Xem danh sách hi n t i c a Th ng hi u IBM Adobe, bi u t ng Adobe, PostScript, bi u t ng PostScript m&u giao d ch th ng m i ã c #ng ký ho c m&u giao d ch th ng m i c a T p oàn Adobe Systems t i M , và/ho c n c khác Java t t c tên giao d ch th ng m i d a Java c a Sun Microsystems, Inc t i M , n c khác ho c c hai Tên c a công ty, s n ph(m hay d ch v th nhãn hi u #ng ký ho c nhãn hi u d ch v c a ng !i khác

Ngày đăng: 03/12/2017, 01:54

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

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

Tài liệu liên quan