PL/SQL দিয়ে REST API তৈরি

PL/SQL এবং REST API Integration - পিএল/এসকিউএল (PL/SQL) - Database Tutorials

380

PL/SQL দিয়ে REST API তৈরি করা Oracle Database-এর মধ্যে বহুল ব্যবহৃত একটি কৌশল, যা ডাটাবেসের সঙ্গে যোগাযোগ স্থাপন করার জন্য HTTP সার্ভিসের মাধ্যমে ডেটা অ্যাক্সেস এবং ম্যানিপুলেশন করতে ব্যবহৃত হয়। Oracle Database-এ REST API তৈরি করার জন্য Oracle REST Data Services (ORDS) ব্যবহার করা হয়।

ORDS-এর মাধ্যমে PL/SQL ফাংশন এবং প্রোসিডিউরগুলি HTTP রিকোয়েস্ট হিসেবে এক্সপোজ করা সম্ভব হয়। এটি Oracle Database এর মধ্যে থাকা ডেটা এবং লজিককে ওয়েব অ্যাপ্লিকেশন এবং অন্যান্য ক্লায়েন্ট অ্যাপ্লিকেশনগুলির জন্য সহজে অ্যাক্সেসযোগ্য করে তোলে।

Oracle REST Data Services (ORDS) পরিচিতি

ORDS হল Oracle-এর একটি টুল যা Oracle Database-এর ডেটাকে RESTful Web Services-এ রূপান্তর করতে ব্যবহৃত হয়। ORDS প্লাগইনটি Oracle Application Server-এর সাথে ইন্টিগ্রেটেড থাকে এবং HTTP সার্ভার হিসেবে কাজ করে। এর মাধ্যমে PL/SQL কোড ও ডেটাবেস ফাংশনালিটি REST API হিসেবে এক্সপোজ করা সম্ভব হয়।

PL/SQL দিয়ে REST API তৈরি করার স্টেপগুলি:

১. ORDS ইনস্টলেশন এবং কনফিগারেশন

ORDS সেটআপ করার জন্য প্রথমে আপনাকে ORDS ইন্সটল এবং কনফিগার করতে হবে। যদি আপনি ইতিমধ্যেই ORDS ব্যবহার করছেন, তবে এই স্টেপটি পাস করতে পারেন। যদি না থাকে, তাহলে আপনাকে Oracle REST Data Services-এর সর্বশেষ সংস্করণ ডাউনলোড এবং ইনস্টল করতে হবে।

ORDS ইন্সটলেশন:

ORDS ইনস্টল করার জন্য নিচের কমান্ড ব্যবহার করতে পারেন:

java -jar ords.war setup

এটি ORDS-এর কনফিগারেশন শুরু করবে এবং আপনার Oracle Database-এর সঙ্গে সংযোগ স্থাপন করবে।

২. Oracle Database এ Web Services সক্রিয় করা

ORDS সক্রিয় করার জন্য আপনাকে আপনার Oracle Database-এ Web Services সক্রিয় করতে হবে।

-- Ensure the required schema exists
CREATE USER ords_user IDENTIFIED BY ords_password;
GRANT CONNECT, RESOURCE TO ords_user;

-- Assign the necessary roles
GRANT EXECUTE ON SYS.ORDS_ADMIN TO ords_user;

এটি ORDS স্কিমা তৈরি করবে এবং ব্যবহারকারীর জন্য প্রয়োজনীয় অনুমতি প্রদান করবে।

৩. REST API এর জন্য PL/SQL প্রোগ্রাম তৈরি করা

এখন আপনি PL/SQL ফাংশন বা প্রোসিডিউর তৈরি করবেন, যা REST API-এর জন্য HTTP রিকোয়েস্ট গ্রহণ করবে এবং ডেটাবেসের সাথে যোগাযোগ করবে।

উদাহরণস্বরূপ, একটি PL/SQL ফাংশন তৈরি করুন যা একটি ইম্প্লিমেন্টেশন করে যেটি একজন কর্মচারীর তথ্য ফেরত দেবে:

CREATE OR REPLACE FUNCTION get_employee_details (p_employee_id IN NUMBER) 
   RETURN VARCHAR2 IS
   v_result VARCHAR2(4000);
BEGIN
   SELECT 'Employee Name: ' || employee_name || ', Department: ' || department_id
   INTO v_result
   FROM employees
   WHERE employee_id = p_employee_id;
   
   RETURN v_result;
EXCEPTION
   WHEN NO_DATA_FOUND THEN
      RETURN 'Employee not found';
   WHEN OTHERS THEN
      RETURN 'Error occurred';
END;

এই ফাংশনটি একটি কর্মচারীর আইডি গ্রহণ করবে এবং তার নাম ও ডিপার্টমেন্ট ফেরত দেবে।

৪. ORDS দিয়ে REST API এক্সপোজ করা

ORDS এর মাধ্যমে আপনি আপনার PL/SQL কোডকে RESTful API হিসাবে এক্সপোজ করতে পারেন।

ORDS-এর মাধ্যমে ফাংশন এবং প্রোসিডিউর এক্সপোজ করতে, RESTful Service তৈরি করতে হবে।

  1. RESTful Service তৈরি করা: Oracle SQL Developer অথবা ORDS কনফিগারেশন প্যানেল ব্যবহার করে RESTful সার্ভিস তৈরি করা যায়।

    • SQL Developer খুলুন
    • Tools -> Oracle REST Data Services -> RESTful Services নির্বাচন করুন
    • একটি নতুন RESTful সার্ভিস তৈরি করুন এবং ফাংশন বা প্রোসিডিউরটি এক্সপোজ করুন

    উদাহরণস্বরূপ, যদি আপনি উপরের get_employee_details ফাংশনটি RESTful API হিসাবে এক্সপোজ করতে চান, তাহলে এটি এমন কিছু দেখতে পারে:

    BEGIN
       ORDS.DEFINE_SERVICE(
          p_module_name    => 'employee_service',
          p_base_path      => '/employees/',
          p_pattern         => 'get/{employee_id}',
          p_source_type    => 'plsql',
          p_source         => 'BEGIN :response := get_employee_details(:employee_id); END;'
       );
       COMMIT;
    END;
    

    এখানে get_employee_details ফাংশনটি /employees/get/{employee_id} রুটে এক্সপোজ করা হবে।

৫. API কনফিগারেশন এবং টেস্টিং

একবার RESTful সার্ভিস তৈরি হয়ে গেলে, আপনি এটি পরীক্ষা করতে পারবেন। আপনি Postman বা cURL এর মতো টুলস ব্যবহার করে API-টির HTTP রিকোয়েস্ট পাঠাতে পারেন।

উদাহরণস্বরূপ, Postman এর মাধ্যমে GET রিকোয়েস্ট পাঠান:

GET http://<hostname>:<port>/ords/employees/get/101

এটি { "Employee Name": "John Doe", "Department": "10" } এর মতো JSON রেসপন্স ফিরিয়ে দিবে (যদি কর্মচারী 101-এর ডেটা থাকে)।

৬. Error Handling এবং Response Formatting

ORDS-এ Error Handling এবং Response Formatting খুবই গুরুত্বপূর্ণ। আপনি REST API থেকে JSON বা XML ফরম্যাটে ডেটা পাঠানোর জন্য কোড এবং রেসপন্সের কাঠামো নির্ধারণ করতে পারেন। এর জন্য DBMS_OUTPUT বা RAISE_APPLICATION_ERROR ব্যবহার করে সঠিক ত্রুটি বার্তা তৈরি করতে পারেন।

DECLARE
   v_result VARCHAR2(4000);
BEGIN
   -- Example to handle error
   BEGIN
      SELECT 'Employee Name: ' || employee_name
      INTO v_result
      FROM employees
      WHERE employee_id = :employee_id;
   EXCEPTION
      WHEN NO_DATA_FOUND THEN
         RAISE_APPLICATION_ERROR(-20001, 'Employee not found');
   END;

   :response := v_result;  -- Returning result as response
END;

৭. REST API উন্নত কনফিগারেশন

ORDS-এ REST API আরো উন্নত কনফিগারেশন করতে আপনি বিভিন্ন ধরনের মেথড যেমন POST, PUT, DELETE ইত্যাদি ব্যবহার করতে পারেন, এবং ডেটা ইনসার্ট বা আপডেটের জন্য HTTP রিকোয়েস্ট কনফিগার করতে পারেন।

উপসংহার

PL/SQL দিয়ে REST API তৈরি একটি শক্তিশালী এবং কার্যকরী পদ্ধতি যা Oracle Database-এর সাথে অন্য অ্যাপ্লিকেশন এবং সিস্টেমগুলির মধ্যে একসাথে কাজ করতে সক্ষম করে। ORDS-এর সাহায্যে আপনি সহজে PL/SQL কোডের সাথে RESTful Web Services তৈরি করতে পারেন, যা ডেটাবেস অ্যাপ্লিকেশনের কার্যকারিতা এবং ইন্টিগ্রেশন আরও উন্নত করে।

Content added By
Promotion

Are you sure to start over?

Loading...