Teori Pengantar Integrasi Aplikasi, HTTP, RESTful API

1*xjpFWCxnaa3FSUHlvQGZvA.png


[[table-content]]


Halo teman-teman, apa kabar nih ? semoga dalam keadaan yang sehat selalu ya. kali ini saya mau membagikan materi seputaran micro framework yang belakangan ini cukup populer dan ramai dibicarakan, siapa lagi kalau bukan Lumen. Dikesempatan kali ini kita akan belajar mengimplementasikan RESTful API pada micro framework Lumen dengan menggunakan studi kasus yang sederhana. Pada materi ini kita juga akan belajar tentang pengantar integrasi aplikasi , pengantar RESTful API, HTTP dan masih banyak lagi.


Pengantar Integrasi Aplikasi

Ketika kita berbicara tentang API maka kita berbicara tentang integrasi aplikasi. Kita dapat menemukan berbagai macam cara dalam melakukan integrasi aplikasi diantaranya adalah 


Integrasi Aplikasi Menggunakan File


Melakukan integrasi aplikasi dengan menggunakan file sudah sangat lama diterapkan dan menurut saya ini merupakan cara paling tradisional dalam melakukan integrasi antar aplikasi. Mari kita ambil contoh pada sebuah minimarket yang ketika waktu nya akan tutup pada malam hari si petugas minimarket tersebut akan men-generate data penjualan nya pada hari itu dan mengirimkan nya ke kantor pusat bisa itu melalui email dan sebagainya untuk selanjutnya petugas yang berada dikantor pusat mengambil data yang dikirimkan sebelumnya untuk selanjutnya dimasukan kembali kedalam aplikasi pencatatan yang dimilikinya dengan kata lain pada proses integrasi dengan cara ini terdapat 2 aktifitas yaitu write file dan read file.


Integrasi Aplikasi dengan Sharing Database


Sharing database mungkin sedikit lebih baik dari pada menggunakan file dalam melakukan integrasi aplikasi, dengan menggunakan teknik sharing database secara tidak langsung kita akan mengakses satu database yang sama, dengan kata lain terdapat dua buat aktivitas pada teknik ini yaitu write to database dan read from database, sekilas teknik ini tidak ada salahnya tetapi kita akan menemukan masalah dikemudian hari, anggaplah kita memiliki 2 buah aplikasi A dan B ketika aplikasi A mengubah salah satu kolom pada tabel yang ada di database maka aplikasi B juga harus mengetahui perubahan yang terjadi, kalau tidak integrasi kedua aplikasi ini tidak akan berjalan dengan baik.


Integrasi Aplikasi Dengan Messaging (Message Broker)


Integrasi menggunakan messaging atau message broker cukup populer saat ini, dibandingkan menggunakan teknik sharing database , ketika kita menggunakan teknik sharing database kita tidak akan mengetahui adanya perubahan data misal nya sampai kita melakukan query ke database tersebut. Pada Messaging ketika ada perubahan misal nya pada aplikasi A maka dia akan mengirimkan perubahan nya itu kepada message broker , nah perubahan yang dikirimkan tadi disebut sebagai event dan akan di terusakan ke aplikasi / sistem yang membutuhkan nya, dan data yang di parsing juga bisa dalam bentuk json dll. dengan kata lain terdapat dua buat aktivitas pada teknik ini yaitu send event dan receive event.


Integrasi Aplikasi Menggunakan API


Yang terakhir adalah integrasi dengan menggunakan API, cara ini sangat populer dilakukan dan akan kita bahas sebentar lagi. Misalkan kita mempunyai 2 buah aplikasi yaitu A dan B, dalam konsep API secara umum ketika aplikasi A membutuhkan data maka aplikasi A akan call API ke aplikasi B. Ketika misal nya kita melakukan perubahan pada aplikasi B maka aplikasi B dapat memanggil aplikasi A dan memberitahukan kalau ada data yang berubah dan proses tersebut realtime dan ketika sudah di respon oleh Aplikasi A maka akan kembali lagi kepada Aplikasi B dan hal ini berbeda dengan messaging yaitu fire dan forget.


Pengertian API Secara Sederhana


Sebelum jauh membahas RESTful API ada baik nya kita membahas API terlebih dahulu. Mari kita lihat API secara sederhana atau API secara low level, API merupakan kumpulan fungsi atau prosedur yang digunakan untuk berkomunikasi antar komponen didalam sebuah software. Contoh nya adalah misalkan kita membuat API untuk fungsi scan pada aplikasi kita dan ketika orang lain membutuhkan fungsi scan yang kita buat maka orang tersebut dapat call API printnya, contoh lainnya adalah pada saat kita ingin melakukan koneksi ke DB didalam pemrograman java kita harus install driver java connectivity db mysql nya dll yang tanpa kita sadari sebenarnya itu merupakan part of API yang berisikan fungsi-fungsi untuk dapat melalukan koneksi ke db tersebut, jadi dengan kata lain API itu tidak harus selalu integrasi antar aplikasi. Nah yang akan kita bahas kali ini lebih spesifik yaitu REST API atau API yang menggunakan HTTP


Apa aja sih teknologi yang bisa kita pakai dalam membuat API untuk melakukan integrasi antar aplikasi ? 


  1. SOAP (Simple Object Access Protocol)
  2. RESTful API
  3. gRPC
  4. Apache Thrift
  5. Socket


RESTful API


REST adalah singkatan dari Representational State Transfer. RESTful API merupakan mekanisme API yang menggunakan HTTP sebagai protokol untuk berkomunikasi seperti yang sudah saya mention sebelumnya, ada satu lagi teknologi yang menggunakan HTTP sebagai protokol untuk berkomunikasi yaitu SOAP, tetapi belakangan ini SOAP itu bisa dibilang kalah populer dengan RESTful API karena pada SOAP dalam mengimplementasikan nya cukup kompleks bahkan untuk melakukan API Testing nya saja tidak bisa hanya dengan menggunakan POSTMAN dan kalau pun misal nya kita ingin melakukan testnya kita bisa download SOAP UI dan SOAP terkesan berat dibandingkan dengan RESTful API.


avatar nel09

Ditulis oleh @nel09

"Berbagi ilmu dan hal menarik lainnya kepada orang banyak, agar menjadi manfaat"