একটি REST এপিআই কি? এটি থামাতে বা বিরতি দিতে কিছু বলে? একটি রেস্টস্টুল এপিআই কি কোনও অলস প্রোগ্রাম বা এমন একটি যা বিশ্রামের সূচনা করে? আপনি যদি ওয়েবে কিছুটা আগ্রহী হন এবং এর পিছনে থাকা বিভিন্ন প্রযুক্তি কীভাবে কাজ করে তবে আপনি RESTful API সম্পর্কে জানতে চাইবেন।
একটি এপিআই একটি অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস। একটি এপিআই অনেক প্রোগ্রামারদের কাছে অনেক জিনিস হতে পারে তবে মূলত এটি এমন একজন মধ্যস্থতাকারী যা আপনাকে একটি প্রোগ্রামকে অন্য একটিতে প্লাগ করতে দেয়। অনেক প্রোগ্রামার এবং বিকাশকারী অন্যদের তাদের সমস্ত কঠোর পরিশ্রম চুরি করা থেকে বিরত রাখতে তাদের মূল কোডটি লুকিয়ে রাখবেন। যদি তারা অন্যান্য প্রোগ্রামগুলি তাদের প্রোগ্রামের সাথে কাজ করতে চায়, তবে তাদের সেই ইন্টারঅ্যাকশনটি অনুমোদনের জন্য কিছু কোডও সরবরাহ করতে হবে। এদিকেই API গুলি আসে A একটি বিকাশকারী এমন API তৈরি করতে পারে যা অন্যান্য প্রোগ্রামগুলিকে তাদের তৈরির সাথে ইন্টারফেস করতে দেয় এবং অতিরিক্ত বৈশিষ্ট্য এবং মিথস্ক্রিয়া সরবরাহ করে।
সংস্থানটি বুঝতে পারে এবং এটি খুব বেশি সংস্থান ব্যবহার করে না এমন নির্দিষ্ট উপায়ে বিন্যাসিত একটি নির্দিষ্ট কাঠামোর সাথে একটি এপিআই লেখা হবে। প্রচুর ওয়েবসাইট, প্রোগ্রাম এবং প্ল্যাটফর্ম এপিআই ব্যবহার করে। ফেসবুকে সেগুলি রয়েছে, ইউটিউব সেগুলি ব্যবহার করে, গুগল ম্যাপগুলি সেগুলি করে, অ্যান্ড্রয়েড এবং আইওএস সেগুলি ব্যবহার করে এবং সর্বাধিক উল্লেখযোগ্য সফ্টওয়্যারটিতে এক ধরণের প্রোগ্রামিং ইন্টারফেস থাকে। আপনার প্রোগ্রামটি কীভাবে একসাথে করা হচ্ছে তা বিশ্বকে না দেখিয়ে মান এবং বৈশিষ্ট্য যুক্ত করার এটি একটি ভাল উপায়।
এপিআই কীভাবে ব্যবহৃত হয়?
উদাহরণস্বরূপ, বলুন আপনি একটি ফোনের জন্য ক্যামেরা ফিল্টারগুলির একটি সেট তৈরি করতে চেয়েছিলেন। আপনার নিজের ক্যামেরা অ্যাপটি তৈরির পরিবর্তে আপনি ক্যামেরাটি ব্যবহার করতে অ্যাপল বা অ্যান্ড্রয়েডের ক্যামেরা এপিআই ব্যবহার করবেন। বিকল্পটি হ'ল প্রতিটি ফোনের ওএসের জন্য সম্পূর্ণ নতুন ক্যামেরা সফ্টওয়্যার তৈরি করা যা অনেক কাজ। পরিবর্তে, আপনাকে কেবলমাত্র এমন একটি এপিআই তৈরি করতে হবে যা বিদ্যমান ক্যামেরা সফ্টওয়্যারটির সাথে যোগাযোগ করতে পারে এবং এটি থেকে আপনার ফিল্টার ডেটা প্রেরণ করতে পারে।
এপিআইগুলি সিস্টেমের সংস্থানগুলি অ্যাক্সেস করতে, অন্যান্য সিস্টেমের সাথে ইন্টারফেস করতে, ব্রাউজারগুলিতে মান সংযোজন বৈশিষ্ট্যগুলি সরবরাহ করতে এবং সমস্ত ভাল স্টাফ ব্যবহার করতেও ব্যবহৃত হতে পারে। যদি আপনি কেবল মনে রাখেন যে একটি এপিআই হ'ল কোডের একটি অংশ যা অন্যান্য প্রোগ্রামের সাথে কথা বলে তবে আপনার ঠিক আছে।
আর একটি উদাহরণ হ'ল গুগল ম্যাপস। আপনি যদি নিজের ওয়েবসাইটে আপনার ওয়েবসাইটটি দেখায় কোনও গুগল ম্যাপ যুক্ত করতে চান তবে গুগল থেকে মানচিত্রটি টানতে আপনি কোনও HTTP GET কোয়েরি সহ একটি Google মানচিত্র API সেটআপ করেছেন। এইভাবে, গুগলকে কিছু না করে বা তার ম্যাপিং প্ল্যাটফর্মের ইন্টার্নালগুলিতে অ্যাক্সেসের অনুমতি না দিয়ে আপনি যা চান তা পাবেন।
একটি এপিআই ব্যবহার করে গুগল ম্যাপস সার্ভারগুলি মানচিত্রের সার্ভারটি ওভারলোড না করে অল্প সময়ের মধ্যে কয়েক মিলিয়ন কোয়েরি পূরণ করতে পারে। কয়েকটি সংস্থান ব্যবহার করে সন্তুষ্ট হতে সক্ষম হতে এপিআই ক্যোয়ারীগুলি সঠিকভাবে কাঠামোগত হবে। আরএসএসএফুল এপিআই নিশ্চিত করে যে ডাটাবেসে কোনও কিছুই লেখা যায় না এবং কোনও চিহ্ন ছাড়েনি, মানচিত্রের সার্ভারকে পরবর্তী ক্যোয়ারিতে এগিয়ে যেতে।
RESTful API
আরআরইএসটি রিপ্রেসেটেশনাল রাজ্য স্থানান্তরকে বোঝায়। একটি সংস্থান থেকে একটি ক্লায়েন্টের কাছে ডেটা স্থানান্তর করতে একটি RESTful API ব্যবহার করা হয়। উদাহরণস্বরূপ, একটি অনুসন্ধান ইঞ্জিন এক প্রকারের RESTful API ব্যবহার করে। আপনি একটি অনুসন্ধান শব্দ লিখুন এবং ইঞ্জিন সার্ভারগুলি অনুসন্ধান করে। আপনার ব্যবহারের জন্য আপনার ব্রাউজারে সম্পর্কিত সম্পর্কিত ডেটা স্থানান্তর করে। এভাবেই RESTful API কাজ করে।
আপনি এখন জানেন যে একটি এআইপি বাহ্যিক প্রোগ্রামগুলিকে কিছু অন্যান্য প্রোগ্রামের সাথে ইন্টারফেস করার অনুমতি দেয়। একটি RESTful API একটি স্বাধীন প্রোগ্রামকে উপরের সন্ধান ইঞ্জিনের উদাহরণের মতো একটি সম্পূর্ণ পৃথক ডাটাবেসের সাথে যোগাযোগ করার অনুমতি দেয়।
একটি রেস্টলফুল এপিআইয়ের কাজটি কী তা হ'ল এটি রাষ্ট্রহীন এবং ক্যাশেযোগ্য। রাজ্যহীন অর্থ একটি RESTful API দ্বারা করা ক্যোয়ারির ডেটাবেজে কোনও প্রভাব নেই। কোয়েরিটি (সর্বদা) লগড হয় না, ডাটাবেসে কোনও কিছুই সংরক্ষণ করা হয় না এবং ডাটাবেসে লিখতে পারে না। এটি মূলত পঠনযোগ্য।
ক্যাশেযোগ্য হওয়ার অর্থ এপিআই ক্লায়েন্ট ভবিষ্যতের ব্যবহারের জন্য তথ্য সঞ্চয় করতে পারে তাই এটি প্রতি একক সময় ডাটাবেসটি জিজ্ঞাসা করতে হবে না।
ওয়েবের জন্য, API সম্ভবত একটি অনুরোধ প্রক্রিয়া করতে HTTP পদ্ধতি ব্যবহার করবে। সাধারণ HTTP পদ্ধতিগুলি হ'ল GET, POST, PUT এবং DELETE। অনুসন্ধান ইঞ্জিনের উদাহরণে, RESTful API এ অনুসন্ধানের ফলাফলগুলি প্রদর্শন করতে অনুসন্ধান ইঞ্জিন ডাটাবেস থেকে আপনার অনুসন্ধান ক্যোয়ারী ডেটা পেতে HTTP পদ্ধতি ব্যবহার করবে।
আরেকটি উদাহরণ হ'ল একটি টুইটার ব্যবহারকারী অনুসন্ধান। আপনি যদি একটি ব্রাউজারে www.twitter.com/realDonalTrump ইউআরএল রাখেন, ব্রাউজারটি টুইটার থেকে ডোনাল্ড ট্রাম্পের ডেটা জিইটি করার জন্য এইচটিটিপি ব্যবহার করবে এবং তা আপনাকে প্রদর্শন করবে। যেমন টুইটারের ব্যবহারকারীর নামগুলি অনন্য, কোয়েরিটি আপনার ব্রাউজারে বিশদটি ফিরিয়ে দেবে।
সার্ভারের পারফরম্যান্সকে প্রভাবিত করে বা খুব বেশি কিছু না দিয়ে তথ্য ভাগ করে নেওয়ার জন্য RESTful API হ'ল একটি দুর্দান্ত উপায়। এই টিউটোরিয়ালটি কেবল তারা কীভাবে কাজ করে এবং ওয়েবে একীভূত করে তার পৃষ্ঠটিকে স্ক্র্যাচ করে তবে এটি কী চলছে তার একটি প্রাথমিক ধারণা আপনাকে দেওয়া উচিত।
