Simpulan Saran SIMPULAN DAN SARAN

Ubuntu Debian-derived Linux distribution. http:www.ubuntu.com [1 Juli 2012]. W3C Working Group Note 11 February 2004. Web Services Architecture. W3C. 2003. W3C Glossary and Dictionary. http:www.w3.org2003glossary [1 Juli 2012]. 71 LAMPIRAN Lampiran 1 Kegiatan pembibitan di perusahaan Lampiran 2 Diagram domain bisnis di perusahaan 2.1. Pembibitan Lampiran 2 Diagram domain bisnis di perusahaan 2.2. Kebun Lampiran 2 Diagram domain bisnis di perusahaan 2.3. Gudang Lampiran 2 Diagram domain bisnis di perusahaan 2.4 Pabrik Seed Garden Factory Lampiran 2 Diagram domain bisnis di perusahaan 2.5. Pemasaran dan administrasi Lampiran 2 Diagram domain bisnis di perusahaan 2.6 Kepegawaian Lampiran 3 Rancangan template URI Interface yang digunakan terdiri dari GET, PUT, POST, dan DELETE. Interface GET digunakan untuk membaca suatu resource, PUT digunakan untuk memodifikasi resource, POST digunakan untuk membuat resource baru, dan DELETE digunakan untuk menghapus resource. Request terhadap URI membutuhkan parameter id pada interface GET, PUT, dan DELETE karena beroperasi terhadap resource spesifik. Pada interface POST dilakukan tanpa menuliskan id pada URI resource yang bersangkutan, karena id tersebut akan dibangkitkan oleh server. Request menggunakan GET dapat dilakukan tanpa menuliskan id dan akan memberikan hasil berupa list dari seluruh resource yang ada pada URI tersebut. Penelitian ini menghasilkan sebanyak 95 template URI beserta interface yang dapat dilakukan terhadapnya pada tabel berikut. Setiap URI memiliki parameter tertentu. URI dengan parameter {id} berarti dapat tidak memiliki parameter sama sekali. URI yang tidak memiliki interface POST, PUT, atau DELETE akan berakibat pengembalian kode respon 405 Method not allowed. 81 Lampiran 3 Rancangan template URI 3.1 Template URI untuk domain factory No Resource URI Interface GE T PO ST PU T DE L E T E 1 Bunch Bag factorybunch_bag{id} v v v v 2 Consignment factoryconsignment{id} v v v v 3 Cold Room factorycooling{id} v v v v 4 Germinating factorygerminating{id} v v v v 5 Heating Room factoryheating{id} v v v v 6 Sale factorysaleable{id} v v v v 7 Selection factoryselection{id} v v v v 3.2 Template URI untuk domain human resource No Resource URI Interface GE T PO ST PU T DE L E T E 1 Division hrdivision{id} v v v v 2 Employee hremployee{id} v v v v 3 Presence hrpresence{id} v v v v 4 Presences Item hritem_presence{presence_id} v 5 Travel hrtravel{id} v v v v 82 Lampiran 3 Rancangan template URI 3.3 Template URI untuk domain prenursery No Resource URI Interface GE T PO ST PU T DE L E T E 1 Cultivation prenurserycultivation{id} v v v v 2 Polybag Production prenuserypolybag_production{id} v v v v 3 Polybag Usage prenurserypolybag_usage{id} v v v v 4 Repotting prenurseryrepotting{id} v v v v 5 Sale prenurserysale{id} v v v v 6 Stock prenurserystock{id} v v v v 7 Stock by Age prenurserystock_age{id} v v v v 3.4 Template URI untuk domain mainnursery No Resource URI Interface GE T PO ST PU T DE L E T E 1 Census mainnurserycensus{id} v v v v 2 Cultivation mainnurserycultivation{id} v v v v 83 Lampiran 3 Rancangan template URI 3.4 Template URI untuk domain mainnursery lanjutan No Resource URI Interface GE T PO ST PU T DE L E T E 1 Census mainnurserycensus{id} v v v v 2 Cultivation mainnurserycultivation{id} v v v v 3 Sale mainnurserysale{id} v v v v 4 Stock mainnurserystock{id} v v v v 5 Stock by Age mainnurserystock_age{id} v v v v 3.5 Template URI untuk domain nursery No Resource URI Interface GE T PO ST PU T DE L E T E 1 Seedling nurseryseedling{id} v v v v 84 Lampiran 3 Rancangan template URI 3.6 Template URI untuk domain warehouse No Resource URI Interface GE T PO ST PU T DE L E T E 1 BPB warehousebpb{id} v v v v 2 BPBs item warehouseitem_bpb{bpb_id} v 3 Goods warehousegoods{id} v v v v 4 Goods unit warehousegoods_unit{id} v v v v 5 SKB warehouseskb{id} v v v v 6 SKBs item warehouseitem_skb{skb_id} v 7 SPB warehousespb{id} v v v v 8 SPBs item warehouseitem_spb{spb_id} v 9 Stock warehousestock{id} v v v v 10 TTG warehousettg{id} v v v v 11 TTGs item warehouseitem_ttg{ttg_id} v 85 Lampiran 3 Rancangan template URI 3.7 Template URI untuk domain marketing No Resource URI Interface GE T PO ST PU T DE L E T E 1 BAP marketingbap{id} v v v v 2 BAPs item marketingitem_bap{bap_id} v 3 Contract marketingcontract{id} v v v v 4 Contracts Attachment marketingfile{file_id} v 5 Customer marketingcustomer{id} v v v v 6 Delivery marketingdelivery{id} v v v v 7 Deliverys item marketingitem_delivery{delivery_id} v 8 Customers Invoice marketinginvoice_customer{id} v v v v 9 Customers Invoices item marketingitem_invoice_customer{invoice_customer_id} v 10 Suppliers Invoice marketinginvoice_supplier{id} v v v v 11 Suppliers Invoices item marketingitem_invoice_supplier{invoice_suplier_id} v 12 Order marketingorder{id} v v v v 13 Orders item marketingitem_order{order_id} v 14 Customers payment marketingpayment_customer{id} v v v v 15 Customers payments item marketingitem_payment_customer{payment_customer_id} v 16 Suppliers payment marketingpayment_supplier{id} v v v v 17 Suppliers payments item marketingitem_payment_supplier{payment_supplier_id} v 86 Lampiran 3 Rancangan template URI 3.7 Template URI untuk domain marketing lanjutan No Resource URI Interface GE T PO ST PU T DE L E T E 18 Procurement marketingprocurement{id} v v v v 19 Procurements item marketingitem_procurement{id} v v v v 20 Supplier marketingsupplier{id} v v v v 3.8 Template URI untuk domain garden No Resource URI Interface GE T PO ST PU T DE L E T E 1 Bagging gardenbagging{id} v v v v 2 Block gardenblock{id} v v v v 3 Bunch gardenbunch{id} v v v v 4 Harvested bunch gardenbunchharvested v 5 Bunch by label gardenbunchlabel{label} v 6 Bunch by number gardenbunchnumber{number} v 7 Bunch that ready for bag selection at factory gardenbunchready_bag v 87 Lampiran 3 Rancangan template URI 3.8 Template URI untuk domain garden lanjutan No Resource URI Interface GE T PO ST PU T DE L E T E 8 Bunch that can be consigned gardenbunchready_consignment v 9 Bunch that ready for harvest gardenbunchready_harvest v 10 Bunch that ready for pollination gardenbunchready_pollination v 11 Bunch that ready for selection gardenbunchready_selection v 12 Harvested bunch for certain tree gardenbunchtree{tree}harvested v 13 Next bunchs number for certain tree gardenbunchtree{tree}next_number v 14 Bunch that has certain number on certain tree gardenbunchtree{tree}number{number} v 15 Bunch at certain tree that ready for bag gardenbunchtree{tree}ready_bag v 16 Bunch at certain tree that ready for consignment gardenbunchtree{tree}ready_consignment v 17 Bunch at certain tree that ready for harvest gardenbunchtree{tree}ready_harvest v 18 Bunch at certain tree that ready for pollination gardenbunchtree{tree}ready_pollination v 19 Bunch at certain tree that ready for selection gardenbunchtree{tree}ready_selection v 20 Bunch for certain tree gardenbunchtree{tree} v 21 Crossing gardencrossing{id} v v v v 22 Harvesting gardenharvest{id} v v v v 23 Parental gardenparental{id} v v v v 24 Pollen gardenpollen{id} v v v v 88 Lampiran 3 Rancangan template URI 3.8 Template URI untuk domain garden lanjutan No Resource URI Interface GE T PO ST PU T DE L E T E 25 Pollen Harvesting gardenpollen_harvest{id} v v v v 26 Pollination gardenpollination{id} v v v v 27 Replanting gardenreplanting{id} v v v v 28 Replantings Goods gardenitem_goods_replanting{replanting_id} v 29 Selection gardenselection{id} v v v v 30 TreePlanting gardentree{id} v v v v 31 Tree that ready for harvest gardentreeready_harvest v 32 Tree that ready for pollination gardentreeready_pollination v 33 Selected qualified tree gardentreeselected v 34 Tree that has certain variety gardentreevariety{variety} v 35 Upkeep gardentree_upkeep{id} v v v v 36 Upkeeps Goods gardenitem_goods_tree_upkeep{upkeep_id} v 37 Upkeep Type gardenupkeep_type{id} v v v v 38 Variety gardenvariety{id} v v v v Lampiran 4 Back-end SI menggunakan Google Chrome addon Postman Lampiran 5 Front-end SI Lampiran 6 Back-end SIG menggunakan Geoserver Lampiran 7 Front-end SIG menampilkan tema peta pohon terpilih v v ABSTRACT IMAM ABU DAUD. Oil Palm Nursery Information System based on Resource- oriented Architecture ROA case study PT. Sasaran Ehsan Mekarsari. Supervised by SRI NURDIATI and YANDRA ARKEMAN. This research present an application of Resource Oriented Architecture with RESTful web service style at oil palm research station, PT. Sasaran Ehsan Mekarsari. The system consist of two major systems: Nursery Information System IS and Geographics Information System GIS, with each part of the system built with two foundations: back-end and front-end. The experiment resulted that these RESTful design can be applied both at IS and GIS. The web service made Nursery Information System IS could cooperate easily with Geographics Information System GIS and vice versa to accommodate company needs. Standardized data format made the communication among each system run easier and open the scalability of the system at the future. Keywords: Web service, Resource Oriented Architecture, RESTful, Geographics Information System vii vii RINGKASAN IMAM ABU DAUD. Sistem Informasi Pembibitan Kelapa Sawit Berbasis Resource-Oriented Architecture Roa Studi Kasus Pt. Sasaran Ehsan Mekarsari. Dibimbing oleh SRI NURDIATI dan YANDRA ARKEMAN. PT. Sasaran Ehsan Mekarsari adalah perusahaan yang bergerak di bidang riset dan pembibitan kelapa sawit. Proses bisnis yang terjadi dimulai dari bibit mulai ditanam, dirawat, hingga dipersiapkan untuk diteliti lagi atau dijual ke konsumen. Luasnya areal kebun penelitian menyebabkan kebutuhan akan monitoring terhadap kegiatan yang terjadi di perusahaan harus dilakukan secara remote. Pengembangan sistem harus dilakukan sehingga monitoring secara real- time dan dari manapun dapat dilakukan. Visualisasi terhadap keadaan lapang pun harus dapat dilakukan untuk membantu proses pengambilan keputusan. Visualisasi diwujudkan dalam bentuk Sistem Informasi Geografis SIG. Upaya pengembangan aplikasi sistem informasi seringkali dilakukan tanpa perencanaan yang baik dan benar, sehingga aplikasi dikembangkan berdasarkan hasil analisis dan disain dari fungsi organisasi secara lokal. Akhirnya banyak terdapat pulau-pulau sistem informasi SI dalam organisasi. Keterpisahan ini menyebabkan setiap aplikasi sulit berkomunikasi dengan lainnya sehingga berdampak tidak terintegrasinya data dan informasi yang ada, yang pada akhirnya berakibat pada rendahnya tingkat kertersediaan, konsistensi, dan efektifitas data dan informasi yang ada. Sistem informasi yang beragam memerlukan arsitektur yang mengatur bagaimana aplikasi yang satu dengan yang lainnya dapat saling berkomunikasi dan bertukar data. Representational State Transfer REST merupakan salah satu cara untuk mengimplementasikan Resource Oriented Architecture ROA sehingga komunikasi antar sistem dapat dilakukan lebih mudah. ROA merupakan bentuk kongkrit dari RESTful web service sebagai salah satu cara untuk memecahkan permasalahan menjadi solusi: komposisi dari URI, HTTP, dan XML yang saling bekerja sama. RESTful web service menerjemahkan operasi Create Read Update Delete CRUD terhadap basis data ke dalam interface HTTP berupa POST, GET, PUT, dan DELETE. Setiap entitas pada domain permasalahan dipetakan oleh REST ke dalam bentuk resource yang dalam penelitian ini akan direpresentasikan dalam bentuk XML. PT SEM memiliki divisi perusahaan yaitu: kebun garden, gudang warehouse, pabrik factory, administrasi dan pemasaran marketing dan kepegawaian human resource. Setiap divisi tersebut memiliki fungsi dan proses yang saling terkait. Entitas pada setiap domain tersebut dianalisis sehingga menghasilkan sebanyak 56 entitas. Selanjutnya pemetaan seluruh entitas terhadap Uniform Resource Identifier URI resource dilakukan menggunakan template URI {domain}{resource}{subresource}{parameter} sehingga diperoleh sebanyak 75 URI yang menjadi URI resource tersebut. Selanjutnya dirancang interface untuk setiap URI tersebut beserta representasi resource menggunakan XML. Asosiasi antara resource yang satu dan lainnya dirancang menggunakan hypermedia. Sistem yang menggunakan resource ini menjadi back-end SI. viii viii Front-end SI akan menjadi titik masuk data ke sistem. Sistem front-end berfungsi menerjemahkan data yang dikirim oleh pengguna ke bentuk representasi yang didukung oleh back-end sistem informasi. Sistem ini juga berfungsi sebaliknya, menerjemahkan representasi dalam bentuk XML ke bentuk yang dapat dimengerti secara langsung oleh pengguna. Sistem dikembangkan menggunakan bahasa pemrograman PHP dengan framework CodeIgniter. Sistem diimplementasikan menggunakan konsep Model View Controller MVC. Model yang dihasilkan tidak berkomunikasi dengan sistem basis data melainkan dengan REST Application Programming Interface API dari back-end sistem informasi. Back-end SIG dikembangkan menggunakan Geoserver dan PostgreSQL. Sistem dapat menampilkan tema-tema: tanaman siap panen, siap polinasi, dan tanaman induk terpilih. Tema tersebut merupakan hasil pengolahan data di back- end SI yang dikombinasikan dengan data spasial pada back-end SIG. Peta yang ditampilkan oleh back-end SIG adalah peta statis karena bersumber dari tabel basis data yang terpisah dari back-end sistem informasi. Tampilan peta secara real-time dapat diwujudkan dengan cara melakukan pembaruan terhadap isi dari tabel yang ada di back-end GIS setiap kali peta hendak ditampilkan oleh front-end SIG. Front-end SIG melakukan request terhadap back-end SI sesuai tema yang dimaksud, kemudian sistem ini akan memperbarui isi tabel di back-end SIG. Tabel yang terbaru menyebabkan peta yang dihasilkan oleh back-end SIG menjadi sesuai dengan kondisi lapangan real- time. Pengujian sistem dilakukan empat tahap: pengujian back-end SI, front-end SI, back-end SIG, dan front-end SIG. Pengujian pada tahap pertama dilakukan menggunakan peramban Google Chrome dengan addon Postman. Pengujian dilakukan untuk menyimulasikan proses komunikasi client-server menggunakan format data XML. Pengujian tahap kedua dilakukan untuk menguji seluruh operasi pembacaan, penyimpanan, dan penghapusan data yang ada pada seluruh domain perusahaan serta keluaran dari peta yang dihasilkan. Pengujian tahap ketiga dilakukan dengan melihat tema peta dengan cara melakukan modifikasi terhadap data lalu melihat hasil yang ditampilkan oleh peta melalui Geoserver. Pengujian terakhir dilakukan dengan membuka peta melalui peramban. Berdasarkan hasil penelitian yang dilakukan, berhasil dibuat sistem informasi yang heterogen yang berkomunikasi satu sama lain. Sistem informasi yang dikembangkan menggunakan REST web service terbukti mempermudah pengembangan dan integrasi komponen sistem yang berjumlah cukup banyak. Sistem informasi geografis yang ada dengan mudah dapat berkomunikasi dengan mengolah data yang ada pada sistem informasi lainnya menggunakan web service tersebut. Penambahan atau pengurangan komponen sistem informasi geografis dapat dilakukan lebih mudah karena keterikatan antara komponen yang rendah. Keterikatan yang rendah tersebut menyebabkan efek yang ditimbulkan menjadi minimal. Penelitian lanjutan dapat dilakukan dengan menambahkan fitur pencarian berdasarkan atribut dari resource dan memanfaatkan model yang telah ada kemudian diimplementasikan penambahan modul baru menggunakan perangkat keras lain seperti smartphone, tablet, dan lain-lain. 1

BAB I PENDAHULUAN 1.1 Latar Belakang

Pemanfaatan teknologi informasi untuk mendukung tercapainya tujuan bisnis organisasi diwujudkan melalui implementasi aplikasi sistem informasi pada berbagai fungsi organisasi. Upaya pengembangan sistem informasi seringkali dilakukan tanpa perencanaan yang baik dan benar, sehingga aplikasi dikembangkan berdasarkan hasil analisis dan desain dari fungsi organisasi secara lokal. Akhirnya banyak terdapat pulau-pulau sistem informasi dalam organisasi. Keterpisahan ini menyebabkan setiap aplikasi sulit berkomunikasi dengan lainnya sehingga berdampak rendahnya tingkat ketersediaan, konsistensi, dan efektivitas data dan informasi yang ada. Sistem informasi yang beragam memerlukan arsitektur yang mengatur bagaimana aplikasi yang satu dengan yang lainnya dapat saling berkomunikasi dan bertukar data. Resource-oriented Architecture ROA merupakan sebuah konsep arsitektur perangkat lunak yang mendefinisikan penggunaan sumberdaya resources untuk memenuhi kebutuhan suatu perangkat lunak. Resource ini tidak hanya dapat digunakan oleh sistem yang menaunginya namun dapat digunakan juga oleh sistem lain yang berbeda, sehingga pertukaran informasi atau resource antar sistem relatif lebih mudah diimplementasikan. Representational State Transfer REST merupakan salah satu cara untuk mengimplementasikan ROA pada sistem yang beragam supaya lebih mudah beradaptasi dengan perubahan lingkungan yang cepat. Penelitian REST telah dilakukan sebelumnya seperti yang dilakukan oleh Hamad et al. 2010 dan Pautasso et al. 2008. Industri pembibitan dan penelitian bibit kelapa sawit merupakan salah satu perusahaan berskala besar yang memiliki proses operasional yang kompleks. Proses bisnis tersebut membuat aliran informasi harus terus mengalir dari proses hulu hingga hilir, mulai dari penanaman hingga bibit siap dijual, ditambah lagi dengan proses bisnis pendukung lainnya seperti sumber daya manusia, keuangan, pembukuan dan sebagainya. Setiap bagian fungsional dari perusahaan tidak dapat dipisahkan dari bagian lainnya. PT. Sasaran Ehsan Mekarsari adalah perusahaan bersama antara Sasaran Ehsan Utama Sdn Bhd Malaysia dan PT Mekar Unggul Sari Indonesia yang bergerak di bidang riset dan pembibitan kelapa sawit. Proses bisnis yang terjadi dimulai dari bibit mulai ditanam, dirawat, hingga dipersiapkan untuk diteliti lagi atau dijual ke konsumen. Besarnya jumlah tanaman yang dikelola dan aktivitas yang terjadi di perusahaan menyebabkan besarnya jumlah data yang perlu diolah, sehingga menjadikan kebutuhan akan manajemen data yang baik dan berkesinambungan menjadi suatu keharusan. Luasnya areal kebun penelitian menyebabkan kebutuhan akan monitoring terhadap kegiatan yang terjadi di perusahaan harus dilakukan secara remote. Pengembangan sistem harus dilakukan sehingga monitoring secara real-time dan dari manapun dapat dilakukan. Visualisasi terhadap keadaan lapang pun harus dapat dilakukan untuk membantu proses pengambilan keputusan, visualisasi diwujudkan dalam bentuk Sistem Informasi Geografis SIG yang menampilkan hasil pengolahan data dari kegiatan operasional pada Sistem Informasi SI.

1.2 Rumusan Permasalahan

Sebagai pemain baru dalam penelitian bibit kelapa sawit, PT. Sasaran Ehsan Mekarsari SEM telah memiliki sistem informasi yang mengelola data di perusahaan tersebut. Sistem yang ada hanya terbatas pada pengelolaan informasi produksi dan belum menyentuh proses bisnis lainnya, selain itu sistem masih belum berjalan sepenuhnya karena hal-hal berikut ini: 1. Tingginya perubahan fungsional sistem, tercatat sejak tahun 2009 hingga 2011 sistem telah mengalami tiga kali revisi berkenaan dengan parapihan data tanaman yang ada. 2. Kebutuhan analisis data yang ada saat ini masih dalam taraf sederhana, potensi akan kebutuhan analisis yang lebih mendalam sangat besar, dengan sistem yang ada saat ini akan sulit untuk pengembangan lebih lanjut. 3. Jumlah staf pengembang sistem informasi yang terbatas menyebabkan pengembangan sistem dilakukan secara bertahap, begitu pula dengan revisi yang dilakukan terhadap sistem yang sedang berjalan. 4. Perkembangan teknologi pemrograman dalam beberapa tahun terakhir menyebabkan bahasa permograman yang ada sangat cepat berubah dan tidak sesuai dengan bahasa pemrograman sebelumnya.

1.3 Tujuan Penelitian

Penelitian ini bertujuan merancang arsitektur back-end sistem beserta front- end yang digunakan pada sistem informasi pembibitan kelapa sawit. Arsitektur dirancang berdasarkan konsep Resource-oriented Architecture ROA yang diimplementasikan dalam bentuk sistem informasi berbasis Representational State Transfer REST. Pengembangan sistem informasi dilakukan pula pada front-end sistem yang digunakan untuk menguji fungsionalitas back-end sistem yang ada. Secara lebih detail, tujuan yang hendak dilakukan pada penelitian ini diantaranya: 1. Membangun back-end dan front-end sistem informasi SI yang digunakan untuk mengelola data operasional perusahaan. 2. Membangun back-end dan front-end dari sistem informasi geografis SIG yang menampilkan beberapa tema peta yang menggambarkan keadaan lapangan. 3. Mengintegrasikan SIG dan SI menggunakan web service.

1.4 Manfaat Penelitian

Sistem informasi yang dihasilkan diharapkan dapat memberikan beberapa manfaat, baik bagi pengembang sistem, pengguna sistem, maupun manajemen. Secara umum, manfaat yang dapat diperoleh diantaranya: 1. Adanya sistem informasi dan sistem informasi geografis untuk mempermudah operasional maupun manajerial perusahaan. 2. Terintegrasinya aplikasi dari beberapa fungsi perusahaan sehingga efektivitas, efisiensi, dan waktu kerja menjadi lebih optimal. 3. Revisi atau penambahan terhadap elemen dari sistem dapat dilakukan dengan penuh pertimbangan dan diharapkan dapat memberikan dampak yang minimal terhadap sistem yang sedang berjalan. 4. Pemeliharaan sistem dapat dilakukan lebih mudah, backup ataupun restore dapat dilakukan dalam kondisi yang terkontrol. 5. Integrasi dengan perangkat lunak dari luar dapat dilakukan lebih mudah karena menggunakan protokol standar. 6. Pengembangan sistem untuk media lain seperti tablet atau smartphone lebih mudah dilakukan karena proses bisnis dan penyimpanan data telah tersedia di server.

1.5 Ruang Lingkup Penelitian

Penelitian dilakukan dengan mengambil studi kasus pada pembibitan dan pabrik pengolahan bibit kelapa sawit di PT. SEM. Kebutuhan fungsional yang dicakup terdiri atas fungsi utama pada perusahaan pada bulan Januari 2012. Kebutuhan non fungsional seperti security dan user priviledge tidak diimplementasikan pada penelitian ini. Sistem hanya melakukan operasi CRUD: Create tulis, Read baca, Update sunting, dan Delete hapus terhadap basis data yang ada. 5

BAB II TINJAUAN PUSTAKA

2.1 Resource-oriented Architecture ROA

Resource adalah segala sesuatu yang dapat disimpan pada komputer dan direpresentasikan dalam bentuk aliran bit: dokumen, record pada basis data, atau hasil akhir dari eksekusi suatu algoritme. Resource akan bermanfaat jika ia memiliki minimal sebuah Uniform Resource Identifier URI supaya dapat diakses. ROA merupakan bentuk kongkrit dari RESTful web service sebagai salah satu cara untuk memecahkan permasalahan menjadi solusi: komposisi dari URI, HTTP, dan XML yang saling bekerja sama Richardson Ruby 2007. Resource merupakan abstraksi utama pada REST. Resource dapat statis, yang berarti tidak berubah dari waktu ke waktu, atau dapat pula bersifat dinamis yang terus berubah seiring dengan waktu Roth 2012. ROA memiliki dua buah fitur utama, yaitu addressability dan statelessness. Addressabililty berarti bahwa sebuah aplikasi dikatakan addressable jika aplikasi tersebut menampakkan data yang dimilikinya sebagai suatu resource dan memiliki URI sendiri, misalnya sebuah URI tentang resource jelly fish: http:www.google.comsearch?q=jellyfish . URI yang addressable memungkinkan pencatatan terhadap URI tersebut sehingga jika akan digunakan lagi, yang perlu dilakukan hanya mengetik URI tersebut pada peramban. Anggap saja website google tidak addressable, maka tidak mungkin menyimpan URI tersebut pada sebuah catatan, sebaliknya harus dilakukan secara manual: membuka peramban, ketik www.google.com di peramban, ketik jellyfish pada kotak pencarian, lalu klik tombol Penelusuran Google. Fitur kedua yaitu statelessness yang berarti bahwa semua request HTTP yang terjadi harus dilakukan dalam keadaan terisolasi. Saat client melakukan request kepada server, maka request tersebut harus berisi semua informasi yang dibutuhkan oleh server untuk memprosesnya lebih lanjut. Server tidak boleh bergantung pada informasi request sebelumnya yang dilakukan oleh client tersebut. Secara praktik hal ini jika dihubungkan dengan sifat addressability, maka berarti bahwa state dari server dapat dijadikan resource dan memiliki URI tersendiri.