JARINGAN KOMPUTER
Oleh :�Condro Wibawa
Universitas Gunadarma
M8
RPC, REST, WEB API, WEB SERVICES
API
(Remote Procedure Call)
Application Programming Interface (API) adalah metode agar dua buah service/komputer/aplikasi saling berkomunikasi di dalam jaringan
Berkomunikasi disini seperti bertukar data maupun memberikan sebuah perintah
Secara umum,
desain teknologi API dapat dibagi menjadi dua buah jenis: RPC dan REST
RPC
(Remote Procedure Call)
Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain
Apa itu Prosedur ?
Prosedur adalah kumpulan perintah yang dirangkum/dibundling ke dalam satu paket, sehingga ketika paket tersebut dipanggil, semua perintah yang ada di dalamnya akan dijalankan
Untuk dapat melakukan proses RPC ini, sebuah server harus menyediakan layanan remote procedure tersebut yang bisa diakses oleh komputer client
Dalam RPC, procedure yang dijalankan benar-benar ada di dalam komputer server, sehingga proses pengambilan data terjadi lebih cepat.
Agar client dapat mengakses procdure (API) yang ada di server, maka server harus membuka socket/portnya.
Oleh sebagian orang, cara ini disebut kurang aman, karena setiap orang bisa masuk ke dalam server melalui celah port/socket tersebut.
Cara Kerja RPC :
Cara Kerja RPC :
Contoh Aplikasi RPC :
Kelebihan RPC :
Kekurangan RPC :
REST
(Representational State Transfer)
Representational State Transfer (REST),
adalah jenis API yang resource-oriented atau enitity-oriented. API REST menjadikan resource sebagai objek saat kedua service berkomunikasi
Resource-oriented artinya setiap tindakan yang dilakukan didasarkan pada resourcenya
Hal ini berbeda dengan RPC yang menggunakan pendekatan action based oriented, dimana tindakan yang dilakukan tidak didasarkan pada device. Artinya device lah yang harus menyesuaikan.
Pendekatan REST biasanya digunakan untuk pengembangan aplikasi yang didasarkan pada DATA. Oleh karenanya perintah/method pada REST selalu berhubungan dengan operasi terhadap data
Methods yang disediakan oleh REST sama dengan protokol HTTP yaitu
GET, POST, PUT, PATCH, dan DELETE,
Methods tersebut digunakan untuk melakukan operasi CRUD (create, read, update, delete) terhadap sebuah resource.
Contoh: Service A menyimpan data product (resource : product),
jika service A memperbolehkan service lain untuk mengakses product, maka service A akan menyediakan endpoint berikut:
Dalam REST, server menyediakan satu layanan lagi untuk menampung semua permintaan client. Layanan inilah yang kemudian mengatur lalu lintas ke resource
Sehingga dalam REST yang bisa mengetahui socket/port resource hanyalah layanan REST (bukan client), sehigga proses menjadi lebih aman
Layanan REST ini tidak lain adalah aplikasi bantu, sehingga proses pengaksesan data menjadi lebih lama. Apalagi aplikasi layanan REST ini biasanya dibuat di layer Application.
Cara Kerja REST :
Contoh Aplikasi REST :
Kelebihan REST :
Kekurangan REST :
WEB API DAN
WEB SERVICES
Layanan REST API biasanya juga merupakan layanan Web API, karena layanan tersebut bisa diakses melalui Web (protocol HTTP/HTTPs)
Web API biasanya digunakan untuk menyediakana layanan tertentu saja dari sebuah sistem dan dibuat untuk kebutuhan komunikasi antar system (bisa system internal maupun system eksternal)
Sedangkan Web Services merupakan gabungan dari banyak Web API yang membentuk/mengakomodir sebuah sistem
Beberapa karakteristik adari Web Services adalah sebagai berikut:
Aplikasi /data bisa digunakan pada berbagai perangkat dan platform
Antar modul tidak saling terhubung secara langsung, sehingga pengembangan lebih mudah
Lebih mudah dan cepat dalam pengembangannya
Contoh :
Dalam penanganan Covid19, kemenkes mengembangkan sebuah sistem yang kompleks, yang terdiri dari berbagai macam informasi : data pasien, data rumah sakit, data dokter, data obat, dll.
Sistem ini mungkin saja dikembangkan menggunakan konsep Web Service.
Akan tetapi, untuk mendukung interoperabilitas, kemenkes dibuka membuka data pasien saja untuk diakses secara public. Maka, agar hanya data pasien saja yang bisa diakses, dibuatlah Web API hanya untuk berbagi data pasien saja.
Web API Jadwal Sholat dari lakuapik :
https://raw.githubusercontent.com/lakuapik/jadwalsholatorg/master/adzan/bekasi/2019/12.json
Beberapa karakteristik adari Web Services adalah sebagai berikut:
Aplikasi /data bisa digunakan pada berbagai perangkat dan platform
Antar modul tidak saling terhubung secara langsung, sehingga pengembangan lebih mudah
Lebih mudah dan cepat dalam pengembangannya
MICRO SERVICES
Perkembangan paradigma pemrograman saat ini sedang mengarah ke arsitektur Micro Services.
Micro Services adalah
skema/konsep untuk membagi service ke dalam service-service lain yang lebih kecil
Tujuan :
Dalam prakteknya,
Setiap services dalam Micro Services menerapkan layanan REST/RPC untuk berkomunikasi antar services tersebut
Agar layanan REST/RPC dapat berjalan optimal, tentu harus didukung dengan arsitektur jaringan yang mumpuni
Contoh Arsitektur Micro Services :
Contoh Arsitektur Micro Services :
Ada pertanyaan
?
Daftar Referensi :
Kunjungi Pula :