--
Artikel di bawah ini adalah terjemahan dari artikel yang ditulis oleh Ryan Tomayko. Beberapa bagian tulisan di bawah ini mungkin tidak/kurang/belum akurat, namun akan saya coba untuk memperbaharuinya setiap kali saya menemukan kekurangan. Semoga bermanfaat.
Istri: Siapa itu Roy Fielding?
Ryan: Orang yang cerdas.
Istri: Oh, memangnya apa yang dia lakukan?
Ryan: Dia membantu menulis (mengkode) web server pertama dan melakukan banyak research untuk menjelaskan kenapa web bekerja seperti itu. Namanya ada di spesifikasi untuk protokol yang digunakan untuk menerima halaman web dari server ke browser.
Istri: Bagaimana cara kerjanya?
Ryan: Maksudnya, web?
Istri: Yup.
Ryan: Hmm. Semua itu sangat mengagumkan. Lucunya, orang tidak terlalu menghargai ini. Protokol yang sedang kubicarakan ini, HTTP, mampu melakukan banyak hal berguna yang diacuhkan orang dengan alasan-alasan tertentu.
Istri: Maksudnya HTTP seperti yang ada di awal teks yang aku ketik di browser?
Ryan: Ya. Itu menunjukkan browser tentang protokol apa yang digunakan. Yang kamu ketik itu adalah satu dari sekian terobosan penting dalam sejarah komputer.
Istri: Kok bisa?
Ryan: Karena itu mampu mendeskripsikan lokasi dari suatu hal dimanapun di dunia ini. Itu adalah fondasi dari web. Kamu bisa bayangkan itu seperti koordinat GPS untuk pengetahuan dan informasi.
Istri: Untuk halaman web?
Ryan: Tidak hanya untuk halaman web. Orang itu, Roy Fielding, dia banyak bercerita tentang apa yang ditunjukkan oleh HTTP dalam riset yang aku sebutkan tadi. Web dibangun dengan arsitektur "REST". REST memberikan definisi dari "resource" dimana "resource" ini ditunjuk oleh HTTP.
Istri: Halaman web itu sebuah resource?
Ryan: Kira-kira begitulah. Sebuah halaman web adalah representasi dari sebuah resource. Resource itu sendiri adalah sebuah konsep. URL-itulah yang diketikkan ke browser...
Istri: Aku tahu apa itu URL.
Ryan: Oh. URL dapat memberi tahu browser bahwa ada sebuah konsep di suatu tempat. Browser kemudian dapat menanyakan representasi spesifik dari konsep tersebut. Lebih spesifik lagi, browser tersebut bertanya tentang representasi halaman web dari konsep yang ada.
Istri: Apa ada jenis lain dari representasi?
Ryan: Sebetulnya, representasi adalah salah satu hal yang kurang termanfaatkan. Dalam banyak kasus, sebuah resource hanya memiliki satu representasi. Tapi kami berharap bahwa representasi akan digunakan lebih banyak di masa depan karena akan ada banyak format baru bermunculan.
Istri: Seperti apa?
Ryan: Hmm. Ada konsep yang disebut orang sebagai "Web Services". Itu bisa berarti macam-macam tapi konsep dasarnya ialah bahwa mesin juga dapat menggunakan web seperti manusia.
Istri: Maksudnya seperti robot begitu?
Ryan: Tidak, bukan begitu. Bukan maksudku bahwa robot akan duduk di kursi dan kemudian browsing halaman web. Tapi komputer dapat menggunakan protokol yang sama untuk mengirim message antar sesamanya. Kami sudah melakukan itu untuk waktu yang lama tapi tidak ada teknik yang dapat digunakan untuk berbicara dengan mesin di seluruh dunia pada saat ini.
Istri: Kenapa tidak?
Ryan: Karena mereka tidak didesain seperti itu. Ketika Fielding dan teman-temannya mulai membangun web, kemampuan untuk berkomunikasi antar mesin di seluruh dunia adalah perhatian utama mereka. Kebanyakan dari teknik yang digunakan untuk membuat komputer berkomunikasi dengan sesamanya tidak memiliki kebutuhan seperti itu. Kebanyakan hanya perlu untuk berkomunikasi dengan grup kecil saja.
Istri: Dan sekarang kamu perlu untuk berkomunikasi dengan semua mesin?
Ryan: Ya - bahkan lebih. Kami perlu untuk dapat berkomunikasi dengan semua mesin tentang semua hal yang ada di mesin-mesin tersebut. Jadi kamu membutuhkan sebuah cara untuk memungkinkan mesin berbagi informasi tentang resource yang mungkin belum ada pada mesin lain.
Istri: Apa?
Ryan: Misalkan kamu ngobrol dengan adikmu dan dia mau meminjam sapu atau apapun. Tapi kamu tidak punya - Ibumu yang punya. Jadi kamu bilang ke adikmu untuk meminjam dari Ibumu. Ini terjadi sepanjang waktu di dunia nyata dan ini juga akan terjadi ketika mesin mulai berkomunikasi satu sama lain.
Istri: Jadi bagaimana mesin memberitahu satu sama lain tentang lokasi hal-hal tersebut?
Ryan: URL, pastinya. Kalau semua yang dibutuhkan mesin memiliki URL, berarti kamu sudah menciptakan sebuah equivalen dari kata benda. Kesepakatan antara kamu, aku, dan seisi dunia tentang kata benda dalam suatu cara pastinya penting kan?
Istri: Ya.
Ryan: Mesin tidak punya kata benda yang universal - makanya mereka payah. Setiap bahasa pemrograman, database, atau sistem lain punya cara yang berbeda-beda dalam mengkomunikasikan benda. Itulah kenapa URL itu sangat penting. URL memungkinkan semua sistem ini berkomunikasi tentang benda masing-masing.
Istri: Tapi ketika aku melihat halaman web, aku nggak berpikir seperti itu.
Ryan: Orang lain juga tidak. Kecuali Fielding dan sedikit orang lain. Itulah kenapa mesin masih payah.
Istri: Bagaimana dengan kata kerja, kata ganti, dan kata sifat?
Ryan: Lucu juga kamu tanya itu karena itu adalah hal penting lain dari REST. Eng, setidaknya kata kerja lah.
Istri: Aku cuma bercanda.
Ryan: Itu lucu, tapi sebenarnya bukan joke sama sekali. Kata kerja itu penting. Ada konsep yang sangat kuat dalam pemrograman yang siebut sebagai "polymorphism" dalam Computer Science. Itu adalah cara kami mengatakan bahwa benda yang berbeda bisa memiliki kata kerja yang sama yang dikenakan pada mereka.
Istri: Aku tak mengerti.
Ryan: Wel... Kita lihat meja kopi. Kata benda apa saja yang ada? Gelas, baki, koran, remote. Sekarang, apa saja yang bisa kamu lakukan terhadap benda-benda itu?
Istri: Aku tak mengerti.
Ryan: Kamu bisa mengambil mereka, kan? Kamu bisa mengangkat mereka. Kamu bisa menjatuhkan mereka. Kamu bisa membakar mereka. Kamu bisa menggunakan kata kerja yang sama untuk objek manapun yang ada di sana.
Istri: Oke... jadi?
Ryan: Nah, itu yang penting. Bagaimana jika kita tidak bisa mengatakan, "ambil gelas", atau "ambil koran", atau "ambil remote"; Bagaimana jika untuk itu kita harus menggunakan kata kerja yang berbeda untuk setiap kata benda? Kita tidak bisa menggunakan kata "ambil" secara unversal, tapi harus menggunakan kata baru untuk setiap kombinasi kata kerja/kata benda.
Istri: Wow! Itu aneh.
Ryan: Ya, itu aneh. Otak kita cukup cerdas untuk mengetahui bahwa kata kerja yang sama dapat digunakan untuk benda-benda yang berbeda. Sebagian kata kerja memang lebih spesifik dan hanya bisa digunakan pada kata benda tertentu. Misalnya, aku tidak bisa "mengendarai gelas" atau "minum mobil". Tapi sebagian kata kerja sangat universal seperti ambil (GET), taruh (PUT), dan hapus (DELETE).
Istri: Kamu tidak bisa menghapus gelas.
Ryan: Oke, tapi kamu bisa membuang gelas. Tapi itu cuma joke kan?
Istri: Yeah.
Ryan: Jadi, HTTP -protokol yang dibuat Fielding dan teman-temannya ini- adalah tentang penggunaan kata kerja ke kata benda. Contohnya, ketika kamu mengunjungi sebuah halaman web, browser akan menggunakan HTTP GET ke URL yang kamu ketikkan dan halaman web akan kamu peroleh.
Halaman web biasanya mengandung gambar kan? Gambar adalah resource yang berbeda. Halaman web hanya menyebutkan URL ke gambar dan browser akan memanggil HTTP GET ke semua URL gambar tersebut hingga semua resource yang dibutuhkan untuk menampilkan halaman web itu diperoleh. Tapi yang penting disini ialah bahwa hal-hal yang berbeda dapat diperlakukan dengan cara yang sama. Apakah kata benda itu adalah gambar, teks, video, mp3, slideshow, atau apapun. Aku bisa melakukan instruksi GET untuk semua hal tersebut selama mereka memiliki URL.
Istri: Sepertinya GET itu kata kerja yang penting.
Ryan: Memang. Terutama bila kamu menggunakan browser karena browser biasanya hanya digunakan untuk mengambil sesuatu. Browser tidak terlalu banyak berinteraksi dengan resource. Ini jadi masalah karena orang jadi berpikir bahwa HTTP itu hanya untuk mengambil sesuatu. Padahal sebenarnya HTTP itu adalah protokol umum untuk mengaplikasikan kata kerja pada kata benda.
Istri: Keren. Tapi aku tidak paham kenapa ini bisa mengubah apapun. Kata benda dan kata kerja apa saja yang kamu mau?
Ryan: Kata benda sudah ada tapi tidak dalam format yang benar.
Coba bayangkan ketika kamu sedang browsing di amazon.com untuk mencari hadiah natal. Bayangkan setiap produk adalah kata benda. Sekarang, ketika mereka tersedia dalam bentuk yang dapat dimengerti mesin, kamu bisa melakukan banyak hal yang menarik.
Istri: Mengapa mesin tidak bisa mengeri halaman web biasa?
Ryan: Karena halaman web didesain untuk dimengerti oleh manusia. Mesin tidak peduli terhadap layout dan style. Mesin hanya butuh data. Idealnya, setiap URL punya representasi yang dapat dimenerti manusia dan representasi yang dapat dimengerti mesin. Ketika sebuah mesin melakukan GET terhadap resource, maka dia akan meminta representasi yang dapat dimengerti mesin. Ketika sebuah browser melakukan GET terhadap resource atas permintaan manusia, maka yang diperoleh adalah representasi yang dapat dimengerti oleh manusia.
Istri: Jadi semua orang harus membuat format yang dapat dimengerti oleh mesin ke semua halaman web mereka?
Ryan: Kalau itu memang bermanfaat.
Kita sudah banyak ngobrol dengan abstraksi. Bagaimana kalau ita ambil contoh yang nyata. Kamu adalah seorang guru -di sekolah aku yakin kamu punya sistem komputer yang besar, atau tiga atau empat komputer, yang memungkinkanmu untuk mengelola murid: di kelas mana mereka berada, berapa nilai mereka, kontak darurat, informasi mengenai buku yang kamu ajarkan, dan laib sebagainya. Jika sistem ini web-based, maka kemungkinan ada URL untuk setiap benda yang terlibat disini: murid, guru, kelas, buku, ruangan, dll. Saat ini, memasukkan URL lewat browser akan memberikanmu sebuah ahalaman web. Jika ada representasi yang dapat dimengerti oleh mesin untuk setiap URL, maka mudah saja untuk menelurkan sebuah aplikasi ke dalam sistem karena semua infomasi tersebut dapat dikonsumsi dengan cara yang standar. Itu juga akan memungkinan semua sistem untuk berkomunikasi satu sama lain dengan mudah. Atau, kamu bisa membuat sistem untuk propinsi atau negara yang bisa berkomunikasi dengan masing-masing sekolah untuk mengumpulkan nilai ujian. Kemungkinan yang ada bisa tanpa batas.
Setiap sistem akan memperoleh informasi dari yang lain dengan menggunakan instruksi HTTP GET yang sederhana. Jika sebuah sistem perlu menambahkan sesuatu ke sistem lain, maka dia akan menggunakan HTTP POST. Jika sebuah sistem ingin memutakhirkan sesuatu ke sistem lain, dia akan menggunakan HTTP PUT. Satu-satunya yang perlu didiskusikan adalah dalam bentuk apa data itu seharusnya.
Istri: Jadi ini yang kamu dan semua orang komputer lakukan sekarang? Mendiskusikan bagaimana data itu seharusnya?
Ryan: Sedihnya, tidak. Malah kebanyakan sibuk menulis spesifikasi kopleks untuk melakukan hal ini dengan cara yang berbeda dan tidak terlalu bermanfaat. Benda tidak universal dan kata kerja tidak polimorphic. Kita membuang puluhan tahun pengalaman dari penggunaan di dunia nyata dan teknik yang telah terbukti dan memulai kembali dengan sesuatu yang kelihatannya sangat mirip dengan sistem lain yang telah gagal di masa lalu. Kami menggunakan HTTP tapi hanya karena itu membantu kita untuk menghindari pembicaraan dengan administrator jaringan. Kami mengorbankan kemudahan dengan aplikasi yang terlihat keren dan aplikasi wizard.
Istri: Kenapa?
Ryan: Aku tidak tahu.
Istri: Kenapa kamu tidak bilang apa-apa?
Ryan: Mungkin nanti.
hehehe... great... and funny, but will attacks feminist :)
ReplyDeleteharap diingat salah satu statistik bilang programmer lebih banyak wanita :D *peer untuk googling :)
anyway, thanks for your comment on my blog, salam kenal dan happy weekend habib!
Halo Bib, apa nggak bosan tuh bahan pembicaraan dengan istri di rumah masih tentang informatika lagi.
ReplyDeletePak Rin, justru enaknya karena punya Istri yang berkutat di bidang yang sama jadi obrolannya bisa nyambung hehehe...
ReplyDeletechenlina20150709
ReplyDeletelouis vuitton
louis vuitton handbags
prada handbags
abercrombie fitch
longchamp sale
adidas wings
coach outlet
coach purses
coach outlet store online
michael kors handbags
abercrombie outlet
coach outlet
coach outlet online
gucci shoes
chanel outlet online
retro 11
timberland outlet
gucci outlet
tory burch outlet
jordan 6 rings
hollister kids
michael kors
michael kors
fitflops
jordan 13 shoes
coach outlet
louis vuitton handbags
jordan retro 11
louis vuitton handbags
hollister clothing
soccer jerseys
louis vuitton outlet
true religion sale
true religion
ray ban outlet
abercrombie and fitch
louis vuitton handbags
true religion sale
discount oakley sunglasses
adidas outlet
as
QF0723
ReplyDeletejordan 13
nick foles jersey,eagles elite jersey
cartier love bracelet
nhl jerseys
peyton manning jersey,eric decker jersey,aqib talib jersey,emmanuel sanders jersey,shannon sharpe jersey,louis vasquez jersey
raiders jerseys
golden state warriors jerseys
oakley sunglasses outlet
beats by dre
nike air max uk
russell westbrook jersey
nike free 5.0
toms outlet
the north face uk
larry fitzgerald jerseys,kevin kolb jerseys,patrick peterson jersey,andre ellington jersey,larry fitzgerald jersey,calais campbell jersey,deone bucannon jersey,andre ellington elite jersey,darnell dockett jersey,michael floyd jersey,sam acho jersey
ugg boots uk
mulberry sale
nike soccer shoes
ralph lauren uk
north face outlet store
kate spade outlet
north face jackets
michael kors handbags
robert griffin jersey,joe theismann jersey,andre roberts jersey,sonny jurgensen jersey,art monk jersey,bashaud breeland jersey,barry cofield jersey,perry riley jersey,e.j. biggers jersey,duke ihenacho jersey,josh morgan jersey
ahmad bradshaw jersey,josh mcnary jersey,andrew luck jersey,donte moncrief jersey,delano howell jersey,robert mathis jersey,andrew luck jersey,trent richardson jersey
nike running shoes
mulberry outlet
the north face outlet
coach outlet store
tory burch outlet
manchester united jersey
2015-7-28 xiaozhengm
ReplyDeletecoach outlet store online
borse louis vuitton
true religion jeans
oakley sunglasses outlet
soccer jerseys
gucci outlet
oakley sunglasses
pandora charms
sac longchamp
chaussure louboutin
chanel bags
ray bans
burberry sale
michael kors handbag
coach factory outlet
coach outlet
michael kors bags
michael kors bag
pandora outlet
true religion outlet
michael kors outlet online
toms shoes
cheap ray ban sunglasses
snabacks wholesale
michael kors handbags
mcm handbags
michael kors
mont blanc pens
kate spade uk
toms outlet
mont blanc pen
jordan shoes
ray ban sunglasses
oakley sunglasses sale
burberry outlet
cheap beats
sac longchamp
louis vuitton
michael kors outlet online
replica watches
2015-12-2 xiaozhengm
ReplyDeletemichael kors handbags
instyler max
michael kors
sac longchamp
michael kors
oakley sunglasses
louis vuitton
prada outlet
louis vuitton
coach outlet
cheap toms
canada goose uk
coach outlet
nike blazer
nike uk
jordan 6
hermes uk
michael kors outlet
michael kors outlet online
nike roshe runs
hermes belt
longchamp bags
louis vuitton outlet
nike outlet
ray ban sunglasses
ed hardy uk
cheap uggs boots
kate spade outlet
ed hardy outlet
jordan shoes
coach outlet
louis vuitton handbags
louis vuitton borse
burberry outlet
ghd straighteners
adidas outlet store
adidas gazelle
louis vuitton handbags
north face jackets
tiffany and co
20160112xiaodaige
ReplyDeletehollister canada
ugg outlet store
air max 2014
replica handbags,replica handbags outlet,cheap handbags,purses and handbags,wholesale replica handbags,replica bags,bags outlet,replica handbags wholesale,cheap purses,discount handbags,handbags sale,wholesale purses,handbags and purses,replica purses
tory burch outlet online
michael kors outlet online
cheap ray ban sunglasses
michael kors outlet
chanel outlet store
true religion outlet
cheap ugg boots
kate spade uk
louis vuitton outlet store
kobe shoes
babyliss pro
soccer jerseys wholesale
chicago blackhawks
oakley sunglasses
coach outlet
nfl jerseys
fitflops clearance
nike mercurial
mulberry outlet store
mulberry outlet
louis vuitton outlet
ray-ban sunglasses
chanel handbags outlet
michael kors handbags
michael kors handbags clearance
swarovski crystal
coach outlet store
designer handbags,handbags outlet,cheap handbags,purses and handbags,wholesale handbags,designer bags,bags outlet,handbags wholesale,cheap purses,discount handbags,handbags sale,wholesale purses,handbags and purses,designer purses
supra shoes
mbt shoes outlet
ray ban sunglasses
chenlina20160125
ReplyDeleteoakley vault
swarovski outlet
lebron shoes
coach factory outlet online
cheap uggs
michael kors outlet
celine outlet
air max 90
kevin durant basketball shoes
louis vuitton outlet
p90x
michael kors uk
ray ban sunglasses outlet
tory burch outlet
chanel bags
air jordans
ray ban sunglasses
christian louboutin shoes
north face outlet
kobe 9
louis vuitton outlet
louis vuitton purses
ray ban sunglasses outlet
louis vuitton
toms shoes
ray ban sunglasses
the north face outlet
michael kors outlet online
ray ban outlet store
oakley sunglasses
tods outlet online
louis vuitton handbags
nike trainers uk
ugg boots
marc jacobs handbags
ugg boots sale
abercrombie and fitch
coach outlet
true religion jeans
uggs outlet
as
the north face jackets
ReplyDeleteralph lauren outlet
vans shoes
rolex watches,rolex watches,swiss watches,watches for men,watches for women,omega watches,replica watches,rolex watches for sale,rolex replica,rolex watch,cartier watches,rolex submariner,fake rolex,rolex replica watches,replica rolex
tory burch outlet online
cheap nhl jerseys
cheap nfl jersey
north face jacket
fitflops shoes
michael kors uk
michael kors outlet clearance
ralph lauren polo
rolex watches
longchamp outlet online
ferragamo shoes
abercrombie outlet
canada goose jackets
tory burch outlet
michael kors handbags outlet
michael kors outlet
mulberry uk
ugg boots
rolex watches
bottega veneta outlet online
oakley sunglasses
michael kors outlet
coach outlet online
adidas wings
ugg boots clearance
swarovski outlet
ugg outlet
longchamp bags
michael kors handbags
cheap uggs
ugg outlet
chanyuan0806
nike zoom
ReplyDeletechrome hearts
michael kors outlet
adidas tubular
yeezy boost 350 v2
michael kors outlet
nike air max 90
michael kors outlet handbags
adidas yeezy boost
michael kors outlet
longchamp bags
ReplyDeletemichael kors outlet
kobe basketball shoes
chrome hearts online
nike air force 1
michael kors handbags
nike huarache
kobe basketball shoes
jordans for cheap
lacoste online shop
kate spade
ReplyDeletefitflops sale clearance
versace
nike trainers
coach
fitflops
coach outlet
replica watches
boston celtics jersey
michael kors outlet
20170408