From Zero to Hero: Membangun API Aman dan Cepat Langsung di Atas Oracle dengan PL/SQL

From Zero to Hero: Membangun API Aman dan Cepat Langsung di Atas Oracle dengan PL/SQL

Selama bertahun-tahun, arsitektur pengembangan aplikasi standar selalu menempatkan database di lapisan paling bawah, terisolasi dan hanya dapat diakses melalui lapisan perantara yang tebal. Untuk membuat sebuah API (Application Programming Interface), seorang pengembang biasanya harus membangun lapisan backend di bahasa seperti Java, Python, atau Node.js, mengelola Object-Relational Mapping (ORM), mengatur connection pool, dan baru kemudian berkomunikasi dengan database. Arsitektur ini, meskipun umum, sering kali menciptakan latensi, kerumitan, dan titik kegagalan tambahan.

baca Juga:PPL dalam Promosi Adalah Singkatan Dari? Kenali Makna dan Peranannya dalam Dunia Marketing

Namun, bagaimana jika kita bisa memangkas semua lapisan perantara itu? Bagaimana jika Anda bisa membangun endpoint REST API yang aman, berkinerja tinggi, dan siap produksi langsung di atas Oracle Database Anda, hanya dengan menggunakan keahlian PL/SQL yang mungkin sudah Anda miliki? Inilah paradigma yang ditawarkan oleh kombinasi Oracle Database, PL/SQL, dan Oracle REST Data Services (ORDS). Pendekatan ini mengubah database dari sekadar tempat penyimpanan data pasif menjadi platform pengembangan aplikasi aktif. Artikel ini adalah panduan “From Zero to Hero” Anda untuk membangun API modern dengan cara yang lebih sederhana, lebih cepat, dan sering kali lebih aman.


Mengapa Membangun API Langsung di Database?

Sebelum masuk ke teknis, mari kita pahami mengapa pendekatan “langsung ke sumbernya” ini begitu menarik dan kuat, terutama dalam ekosistem Oracle.

  1. Latensi Mendekati Nol: Dengan menghilangkan lapisan aplikasi perantara, Anda menyingkirkan perjalanan bolak-balik data melalui jaringan (network round-trip) antara server aplikasi dan server database. Logika bisnis yang dieksekusi di dalam database melalui PL/SQL beroperasi langsung pada data, menghasilkan waktu respons API yang sangat cepat. ⚡
  2. Arsitektur yang Lebih Sederhana: Tumpukan teknologi (tech stack) Anda menjadi jauh lebih ramping. Anda tidak perlu lagi khawatir tentang pemeliharaan server aplikasi terpisah, konfigurasi ORM yang rumit, atau sinkronisasi pustaka. Semakin sedikit komponen bergerak, semakin sedikit yang bisa rusak.
  3. Keamanan Data Terpusat: Keamanan tidak lagi tersebar di berbagai lapisan. Dengan PL/SQL, Anda dapat menerapkan aturan akses data yang ketat tepat di tempat data itu berada. Logika keamanan menyatu dengan logika bisnis, memastikan bahwa tidak ada jalan pintas untuk mengakses data sensitif.
  4. Memanfaatkan Investasi yang Ada: Perusahaan Anda kemungkinan besar telah berinvestasi besar pada lisensi, infrastruktur, dan keahlian Oracle Database. Pendekatan ini memungkinkan Anda memanfaatkan investasi tersebut secara maksimal, memberdayakan tim DBA dan pengembang PL/SQL Anda untuk membangun layanan modern tanpa perlu mempelajari tumpukan teknologi yang sama sekali baru.

Arsitektur From Zero to Hero: Komponen Kunci

Perjalanan ini dimungkinkan oleh sinergi tiga komponen utama yang bekerja bersama secara harmonis:

  • Oracle Database: Ini adalah fondasi Anda. Lebih dari sekadar penyimpanan, ia adalah mesin pemrosesan data dan logika yang kuat. Semua kode, data, dan keamanan Anda berpusat di sini.
  • PL/SQL: Ini adalah “otak” dari API Anda. Anda akan menulis logika bisnis, validasi data, dan manipulasi data dalam bentuk stored procedure dan function PL/SQL. Bahasa ini dirancang khusus untuk berinteraksi dengan data secara efisien dan aman.
  • Oracle REST Data Services (ORDS): Ini adalah jembatan magisnya. ORDS adalah aplikasi Java gratis yang berjalan di server aplikasi (seperti Tomcat, Jetty, atau WebLogic) yang berfungsi sebagai penerjemah. Ia menerima permintaan HTTP/S dari klien, memetakannya dengan aman ke procedure PL/SQL yang sesuai di database, mengeksekusinya, dan mengembalikan hasilnya sebagai JSON.

Langkah-langkah Membangun API Pertama Anda

Mari kita lihat betapa mudahnya mengubah procedure PL/SQL menjadi endpoint RESTful. Anggap kita ingin membuat API untuk mengambil detail karyawan berdasarkan ID.

Langkah 1: Tulis Logika Bisnis di PL/SQL

Pertama, kita buat sebuah procedure sederhana di dalam skema database kita (misalnya, HR). Procedure ini menerima p_emp_id sebagai input dan mengembalikan detail karyawan melalui parameter OUT yang berjenis SYS_REFCURSOR.

SQL

CREATE OR REPLACE PROCEDURE get_employee_details (
    p_emp_id IN  employees.employee_id%TYPE,
    p_record OUT SYS_REFCURSOR
) AS
BEGIN
    OPEN p_record FOR
        SELECT employee_id, first_name, last_name, email, hire_date
        FROM   employees
        WHERE  employee_id = p_emp_id;
END;
/

Langkah 2: Aktifkan Skema untuk Layanan REST

Ini adalah langkah satu kali. Anda perlu memberitahu ORDS bahwa skema HR diizinkan untuk mengekspos layanan REST.

SQL

BEGIN
    ORDS.ENABLE_SCHEMA(
        p_enabled             => TRUE,
        p_schema              => 'HR',
        p_url_mapping_type    => 'BASE_PATH',
        p_url_mapping_pattern => 'hr_api', -- Ini akan menjadi bagian dari URL Anda
        p_auto_rest_auth      => FALSE
    );
    COMMIT;
END;
/

Langkah 3: Publikasikan Procedure sebagai Endpoint (AutoREST)

Inilah bagian yang paling mengesankan. Dengan satu perintah, Anda dapat memberitahu ORDS untuk secara otomatis membuat endpoint REST untuk procedure yang sudah ada.

SQL

BEGIN
    ORDS.ENABLE_OBJECT(
        p_enabled      => TRUE,
        p_schema       => 'HR',
        p_object       => 'GET_EMPLOYEE_DETAILS', -- Nama procedure Anda
        p_object_type  => 'PROCEDURE',
        p_object_alias => 'employees', -- Alias untuk URL yang lebih ramah
        p_auto_rest_auth => FALSE
    );
    COMMIT;
END;
/

Selesai! Anda baru saja menjadi Pahlawan API.

Sekarang, Anda dapat memanggil API Anda menggunakan alat seperti curl atau Postman:

GET https://your_server/ords/hr_api/employees/101

ORDS secara otomatis akan memetakan parameter dari URL (101) ke parameter p_emp_id dalam procedure Anda dan mengubah SYS_REFCURSOR yang dihasilkan menjadi dokumen JSON yang rapi.

baca Juga:Teknokrat Jalin Kolaborasi Internasional Bersama IIUM Malaysia dalam International Collaborative Visiting Lecture 2025


Mengamankan API Anda: Lebih dari Sekadar HTTPS

Membuat API itu mudah, tetapi mengamankannya adalah hal yang krusial. ORDS menyediakan kerangka kerja keamanan tingkat enterprise.

  • Authentication & Authorization: ORDS terintegrasi penuh dengan OAuth2, standar industri untuk otentikasi API. Anda dapat mendefinisikan peran (roles) dan hak istimewa (privileges) di ORDS, dan kemudian mengamankan endpoint Anda sehingga hanya klien dengan token OAuth2 yang valid dan memiliki hak yang sesuai yang dapat mengaksesnya.
  • Prinsip Hak Istimewa Terkecil (Least Privilege): User database yang digunakan oleh ORDS untuk terhubung sebaiknya hanya memiliki hak EXECUTE pada procedure yang diekspos, bukan hak SELECT, UPDATE, atau DELETE pada tabel secara langsung. Ini memastikan bahwa satu-satunya cara untuk berinteraksi dengan data adalah melalui logika bisnis terkontrol yang telah Anda tulis.
  • Validasi Input: Selalu validasi dan bersihkan semua input di dalam kode PL/SQL Anda untuk mencegah serangan SQL Injection, meskipun ORDS sudah menyediakan perlindungan dasar.

penulis:dafa Aditya.f

More From Author

Mengenal DCPU: Inovasi dalam Arsitektur Komputer untuk Masa Depan Teknologi

Pratama Arhan Jadi Duda, Langsung Dikepung Pesan dari Banyak Wanita

Leave a Reply

Your email address will not be published. Required fields are marked *

Categories