120 likes | 288 Views
REST. Hazırlayan:Dilber ÇETİNTAŞ. REST NEDİR???. Bir iletişim mimarisidir. Bir DTD si yoktur. Roy Fielding 2000 Yılında ortaya atmıştır. En başarılı Rest Uyarlamalarından biri HTTP protokolüdür.
E N D
REST Hazırlayan:Dilber ÇETİNTAŞ
REST NEDİR??? • Bir iletişim mimarisidir. • Bir DTD si yoktur. • RoyFielding 2000 Yılında ortaya atmıştır. • En başarılı Rest Uyarlamalarından biri HTTP protokolüdür
RepresentationalState Transfer ‘ in baş harflerinden oluşmuştur ve durum nakillerini belirtmektedir. Genel olarak işlerimizi insan-makina olarak, yaparız, yani bilgisayarda bir e-posta okuma, gönderme vs. gibi işler. Biz bu işler gibi diğer işlerimizidemakina-makinaarasında yapma şansımız var mı??? Diye düşündüğümüzde işte tam bu noktada RESTful web servisler devreye giriyor.Mesela bir URL ile bir kaynak belirtip çağırdığımız zaman sistem o kaynaktaki veriyi çıkarıp verecek mi??
Yani ben gidip bir metodu tetiklemeyeyim, yada bir belgeyi burdangöndermeyeyim vs. Ama bir takim metodlarlaresourceler(kaynaklar) yaratayım. Web uygulamanın icerisindeno kaynaklarada hep URL`lerle yada URI` ler ile erisebileyim.
Peki kullanmam için bana neler lazım ? • 1- Birtane URL • 2- Bir tane browser Her uygulama için mutlaka bir URL yaratırız, bunları yarattığımızda, zaten http protocolununicinde 4-5 tane komut var(GET, POST, PUT, DELETE vs.) bunlar vasıtasıyla ben işlemlerimin cokbüyük kısmını %80`i yapabilirim.
Avantajlar • Http merkezli olacak, yani başka protocolleridesteklemeyecek cünkübasit olmalı. • Contanierdenbağımsız olma, (Application server) • Formattan bağımsız olma • WSDL, UDDI, vb. kullanılmaması
Dezavantajlar • j2se 5.0`dan önceki sürümler desteklenmez.
Örnek • Kitapçım Restful API • Bir Kitapçı Web Uygulaması RestfulAPIsi • Api url: http://kitap.cim • Kaynaklar: • http://kitap.cim/kitaplar
Eylemler: • http://kitap.cim/kitaplar GET • Var olan kitap listesini alma • http://kitap.cim/kitaplar/<id> PUT • Yeni kitap kaydı • http://kitap.cim/kitaplar/<id> POST • Var olan kitabı değiştirme • http://kitap.cim/kitaplar/<id> GET • Kitap hakkında bilgi alma • http://kitap.cim/kitaplar/<id> DELETE • Kitap silme
Sunum • http://kitap.cim/kitaplar/<id> ve • http://kitap.cim/kitaplar/<id>.xml • XML olarak temsil
Örnek istek • PUT http://kitap.cim/kitaplar • <kitap> • <baslik>The Art of computer programming 1</baslik> • <yazar>Donald E.Knuth</yazar> • </kitap>