Penentuan Uniform Interface Desain representasi yang dikirim ke server

Representasi yang disiapkan berisi atribut dari resource yang bersangkutan. Entitas link dapat kosong atau tidak dimasukkan ke dalam representasi XML yang dikirim jika resource tersebut tidak merujuk atau tidak memiliki relasi pada resource lainnya. Saat relasi ada maka relasi tersebut dimasukkan ke dalam entitas link dengan nilai href berisi URL dari resource yang dirujuk. Informasi yang diberikan pada saat pengubahan resource diperbolehkan tidak berisi seluruh atribut yang ada, namun pada operasi pembuatan resource baru harus berisi seluruh atribut dari resource tersebut. Rancangan dapat diturunkan dari desain basis data yang dihasilkan pada tahap analisis sehingga struktur data yang dikirimkan ke server saat melakukan suatu request memilik karakter yang mirip dengan struktur tabelnya namun tidak harus identik. Sebagai contoh pada resource yang merepresentasikan aktivitas panen tandan tree harvesting yang terletak pada URL gardenharvesting memiliki struktur tabel seperti pada Tabel 11. Tabel 11 Struktur tabel panen tandan tree_harvesting Kolom Tipe data Keterangan id Integer ID dari data bunch_label Characters45 Label dari tandan date DateYYYY-MM-DD Tanggal aktivitas panen weight Integer Bobot tandan dalam kg Representasi yang dapat dikirimkan kepada server saat melakukan request pembuatan data, menggunakan format XML seperti pada Gambar 11. Gambar 11 Representasi XML pada resource panen tandan Proses yang terjadi saat client melakukan beberapa operasi terhadap resource panen dapat dilihat pada beberapa ilustrasi seperti ilustrasi request menggunakan POST Gambar 12, GET Gambar 13, PUT Gambar 14, dan DELETE Gambar 15. Gambar 12 Ilustrasi request menggunakan POST pembuatan resource baru Gambar 13 Ilustrasi request menggunakan GET pembacaan Gambar 14 Ilustrasi request menggunakan PUT pengubahan Gambar 15 Ilustrasi request menggunakan DELETE penghapusan Pada ilustrasi tersebut terjadi komunikasi antara client dan server. Pertama, client mengirimkan data panen tandan menggunakan format XML. Informasi dikirim melalui interface POST melalui URI panen tandan pada garden harvesting . Setelah sampai di server, informasi tersebut diproses dan disimpan. Informasi dikirim balik kepada client yang berisi URI dari resource baru yang telah tersimpan beserta kode respon hasil dari operasi yang telah dilakukan. Identitias ini selanjutnya dapat digunakan sebagai id dalam melakukan operasi lainnya seperti operasi GET Gambar 13, PUT Gambar 14, dan DELETE Gambar 15. Server juga memberikan kode respon 201 Resource Created yang menandakan bahwa resource baru telah tersimpan dengan sukses. Kode lainnya dapat diberikan sesuai dengan hasil proses yang dilakukan oleh server terhadap informasi yang diberikan kepadanya. Sebagai contoh untuk data panen yang sama, namun dikirimkan ke URI yang salah akan akan memberikan kode respon 404“Not Found” yang berarti resource pada URI yang diberikan tidak ditemukan sehingga proses tidak dapat dilakukan.

4.3.5 Format representasi yang dikembalikan dari server

Format representasi yang dikembalikan oleh server kepada client yang memintanya menggunakan interface GET pada dasarnya sama dengan format representasi yang digunakan untuk membuat resource baru. Beberapa atribut ditambahkan sebagai referensi kepada client tentang representasi yang diterimanya. Atribut yang ditambahkan yaitu: id dan self. Id adalah identitas dari resource tersebut, sedangkan self adalah hypermedia yang merujuk pada URI resource tersebut seperti yang ditunjukkan oleh Gambar 16. Gambar 16 Ilustrasi format representasi hasil pembacaan resource Pada interface PUT dan POST, representasi yang dikembalikan adalah URI dari resource yang telah diubahdibuat. Pada interface DELETE, tidak ada representasi yang dikembalikan oleh server karena resource yang dituju pada dasarnya telah dihapus.

4.3.6 Integrasi resource menggunakan hypermedia

Integrasi resource yang satu dengan lainnya diwujudkan menggunakan konsep HATEOAS. Resource yang memiliki hubungan dengan resource lainnya akan memiliki entitas berupa hypermedia yang berisi URI dari resource rujukannya tersebut. Hubungan antara resource satu dengan lainnya digambarkan pada elemen rel pada hypermedia yang ada. Sebagai contoh pada Gambar 17, representasi yang dikembalikan oleh server mengandung entitas berbentuk URI yang menunjukkan entitas tersebut sebuah hypermedia. Resource bernama garden harvesting panen tandan memiliki hubungan dengan resource garden bunch tandan, sedangkan resource garden bunch tandan merujuk lagi kepada resource garden tree pohon, dan seterusnya. Informasi tautan antara resource yang satu dengan lainnya dapat diproses lebih lanjut oleh client untuk mengetahui informasi lebih lanjut tentang entitas yang dituju. Gambar 17 Implementasi hypermedia pada representasi resource Implementasi hypermedia dilakukan untuk mengurangi kesalahan yang ditimbulkan oleh client terutama pada format URI dari suatu resource yang dikirimkan. Selain itu, manfaat utama yang dapat diperoleh adalah pengubahan yang dilakukan terhadap sistem yang ada dapat dilakukan lebih terisolasi dan terkontrol, karena URI yang berisi rujukan terhadap suatu resource ditangani seluruhnya oleh server. Hal tersebut memungkinkan penambahan atau pengurangan terhadap rujukanfitur dari suatu resource menjadi lebih mudah.

4.3.7 Kode respon dari server

Perancangan kode respon dilakukan sebagai rujukan dari komunikasi yang terjadi antara client dengan server. Rancangan kode respon yang digunakan pada penelitian ialah operasi GET Tabel 12, PUT Tabel 13, POST Tabel 14 dan DELETE Tabel 14. Tabel 12 Kode respon dari server untuk operasi menggunakan interface GET Kode Deskripsi 200 Resource yang dituju ada 204 Resource yang dituju ada, tapi tidak memiliki konten masih kosong 401 Operasi tidak dapat dilakukan karena client tidak memiliki otoritas 404 Resource yang dituju tidak ada 406 Terjadi bila client meminta representasi dalam format yang tidak