API
API, adalah singkatan untuk Application Programming Interface, ini merupakan interface yang dapat menghubungkan satu aplikasi dengan aplikasi yang lain. Dengan kata lain peran dari API ini adalah sebagai perantara bagi berbagai aplikasi yang berbeda, dalam satu platform yang sama atau bahkan lintas platform. Sebagai perumpamaan API adalah seorang pelayan yang akan menghubungkan antara pembeli dan juga bagian Kitchen.
Lebih jauh API ini bisa digunakan untuk komunikasi berbagai Bahasa pemrograman yang berbeda, hal ini tentunya akan memudahkan Bagi developer, dan bahkan sangat memudahkan bagi developer tidak perlu bersusah payah menyediakan berbagai data karena bisa mengambil data yang dibutuhkan dari sebuah API.
JENIS API
-
Public API
Ini bisa juga disebut dengan Open API, karena ini adalah jenis API yang bisa digunakan oleh siapa saja dalam lintas platform, selain itu public PAI ini mudah untuk digunakan. Contohnya adalah API untuk Google Maps.
-
Private API
Untuk private API ini adalah jenis API yang tidak terbuka untuk pengguna umum, karena API ini bisanaya digunakan untuk keperluan internal dalam suatu pengembangan aplikasi tertentu.
-
Partner API
Ini bisa digunakan untuk kepentingan umum tapi sebatas pihak yang sudah memiliki izin saja, seperti halnya public API harus mendaftar terlebih dahulu untuk bisa men akses dari API ini, dan kemudian menggunakan API sesuai dengan perjanjian sebelumnya.
-
Composite API
Composite API merupakan API yang menyimpan data dari berbagai server maupun hosting dalam satu tempat, dan ini sangat memudahkan bagi pengguna untuk mendapatkan berbagai jenis data yang dibutuhkan dengan waktu yang sangat singkat.
MANFAAT API
Dengan memanfaatkan API ini bisa membantu developer dalam melakukan pengemabangan sistem, dengan berbagai manfaat dari API sebagai berikut
-
Pengembangan Sistem lebih efisien
Jika menambahakn API ke dalam sistem yang sedang dirancang, ini akan menjadi lebih cepat dan efisien karena apabila suatu saat membutuhkan fitur tertuntu bisa mengambil dari API Key yang dibutuhkan untuk mengembangkan fitur tersebut.
-
Data yang Terintegrasi
Karena suatu sistem membutuhkan data yang sudah terintegrasi dengan baik, API bisa melakukan hal tersebut, sebagai contoh pada web biro perjalanan, dengan menggunakan API para biro bisa menampilkan berbagai informasi mengenai jadwal penerbangan di website mereka.
-
Berkurangnya Beban Server
Jika menggunakan API ini, tidak perlu lagi menyimpan semua data tersebut di server karena tinggal meminta API untuk mendapatkan data terbaru dari server asal.
-
Bisa Kustomisasi Fitur dengan Muda
API bisa membantu dalam membuat fitur yang dibutuhkan oleh sistem tanpa harus coding dari awal, caranya adalah menemukan API Key dari fitur yang dibutuhkan.
ARSITEKTUR API
Arsitektur API adalah blueprint atau desain yang mengatur bagaimana API disusun, diaturm dan diimplementasikan, ini sama seperti rencana arsitektur untuk sebuah bangunan yang menguraikan berbagai komponen, interaksinya, dan bagaimana komponen dapat menyatu untuk menciptakan keseluruhan yang kohesif dan fungsional.
Alasan mengapa Arsitektur harus disusun secara baik :
-
Skalabilitas
Ini dapat membuat arsitektur API yang solid dan dapat menangani beban tanpa hancur karena tekanan yang berlebih.
-
Pemeliharaan
Dengan arsitektur yang baik, dapat memudahkan pemeliharaanm pembaruan, dan perluasan API dari waktu ke waktu, dan yang sangat penting dapat mengurangi risiko gangguan perubahan.
-
Konsistensi
Ini harus memastikan bahwa titik akhir mengikuti pola standar sehingga memudahkan pengembang untuk memahami bagaimana kerja dari API tersebut.
-
Keamanan
Arsitektur API ini memilik peran penting dalam dalam menerapkan langkah – langkah keamanan, seperti otentikasi, otorisasi, dan validasi data, melindungi aplikasi dan penggunanya dari potensi ancaman.
Pola Arsitektur :
-
REST (Representational State Transfer)
Ini merupakan pola dari API yang paling banyak diadopsi untuk membangun sebuah API, ini memanfaatkan protokol dan metode HTTP (GET, POST, PUT, DELETE) untuk menentukan bagaimana entitas data harus direpresentasikan dan di manipulasi.
-
GraphQL
Ini merupakan pola dari API yang tergolong baru yang dapat memberikan alterlanit selain REST, GraphQL menawarkan satu titik masuk dimana klien dapat menanyakan bidang data tertentu yang mereka perlukan.
-
RPC (Remote Procedure Call)
Ini memerlukan panggilan API seperti panggilan fungsi jarak jaih, memungkinkan klien untuk menjalankan procedure di server seolah olah itu adalah panggilan fungsi lokal, RPC dapat berguna bagi skenario tertentu seperti berintegrasi dengan sistem lama atau membangun aplikasi yang digabungkan secara erat.
-
Event – Driven Architecture
Komponen berkomunikasi dengan memancarakn dan mengonsumsi event, ini dapat berguna untuk mengembangkan aplikasi yang membutuhkan real – time.
-
Microservices Architecture
Ini adalah arsitektur yang menyusun aplikasi menjadi kumpulan layanan kecil dan independen yang berkomunikasi melakui API, pendekatan ini mengedepankan modularitas, skalabilitas, dan ketehanan.