এপিআই (API) হল অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস (Application Programming Interface) এর সংক্ষিপ্ত রূপ, যা একটি সফটওয়্যার মধ্যবর্তী বা ইন্টারমিডিয়ারি যা দুটি অ্যাপ্লিকেশনকে একে অপরের সাথে কথা বলতে সাহায্য করে। প্রত্যেকবার যখন আপনি ফেসবুকের মতো একটি অ্যাপ ব্যবহার করে থাকেন, যখন একটি ইন্সট্যান্ট ম্যাসেজ পাঠান, অথবা আপনার ফোনের আবহাওয়া (Weather) চেক করে থাকেন, তাহলে আপনাকে ধরে নিতে হবে যে আপনি একটি API ব্যবহার করছেন।
API এর উদাহরণ কি?
যখন আপনি আপনার মোবাইল ফোনে একটি অ্যাপ্লিকেশন ব্যবহার করেন, তখন অ্যাপ্লিকেশনটি ইন্টারনেটের সাথে কানেক্ট হয় এবং একটি নির্দিষ্ট সার্ভারে ডেটা পাঠায়। সেই সার্ভার তারপর সেই তথ্য রিকোভার করে, এটি বিস্তারিত ব্যাখা করে, প্রয়োজনীয় তথ্য কালেক্ট করে এবং পুনরায় আপনার ফোনে তথ্য ফেরত পাঠায়। অ্যাপ্লিকেশনটি তখন সেই ডেটার ব্যাখ্যা করে এবং আপনাকে পড়তে পাড়ার মতো উপযুক্ত ডেটা আপনার মোবাইল ফোনে উপস্থাপন করে যা আপনি চান। আসলে এটাই হচ্ছে এপিআই (API) এবং এসব সমস্তকিছু API এর মাধ্যমেই ঘটে।
আরো সহজভাবে এবং বিস্তারিতভাবে বলতে গেলে, ধরুন আপনি একটি রেস্টুরেন্টের খাবার টেবিলে বসে আছেন এবং সেখানে টেবিলের উপর খাবার অর্ডার করার জন্য পছন্দের একটি মেনু রয়েছে। রান্নাঘর হল ‘System’ এর অংশ যা আপনার অর্ডার করা খাবারটি প্রস্তুত করবে।
এখানে ভালো করে লক্ষ্য করলে দেখা যাবে যে একটি বিষয় অনুপস্থিত আছে এবং তা হলো রান্নাঘরে আপনার পছন্দের খাবারের অর্ডার পাঠানো এবং সেখান থেকে আপনার খাবার টেবিলে আবার সেটাকে নিয়ে আসা। এখানে আপনার পছন্দের খাবার অর্ডার করার পর রান্নাঘর (সিস্টেম) কে জানানোর জন্য যে ব্যাপারটি আবশ্যক তা রেস্টুরেন্টের ভাষ্যমতে ‘ওয়েটার’ এবং সিস্টেমের ভাষ্যমতে ‘API‘ ।
আরো পড়ুনঃ আপনার সাইটে Contact Form এর পরিবর্তে Google Form ব্যবহার করুন
এই ওয়েটার হচ্ছে আপনার একটা বার্তাবাহকের মতো কাজ করবে, অর্থাৎ সিস্টেম অনুসারে সে আপনার ম্যাসেঞ্জার। সে আপনার অর্ডার করা খাবারের লিস্ট রেস্টুরেন্টকে জানাবে যে রান্নাঘর আসলে কি রান্না করবে। এরপর ওয়েটার আপনার কাছে সেই অর্ডার করা খাবারটি আপনার খাবার টেবিলে ফেরত নিয়ে আসে।
এখানে একটি বাস্তব জীবনের API এর উদাহরণ। আশা করি আপনি অনলাইনে ফ্লাইট বুকিং – এর সাথে পরিচিত আছেন। রেস্টুরেন্টের মেনুর মতো, আপনার কাছে বিভিন্ন শহরের, শহর থেকে বাহিরে যাওয়ার এবং রিটার্ন হওয়ার তারিখ এবং আরও অনেক কিছু সহ বিভিন্ন ফিচার্স রয়েছে এই ওয়েবসাইটগুলোতে।
একটি উদাহরণ দিয়ে দেখাতে গেলে, ধরুন আমরা কল্পনা করি যে, আপনি একটি এয়ারলাইন ওয়েবসাইটে ফ্লাইট বুক করতে চান। সেক্ষেত্রে আপনাকে প্রথমে তাদের ওয়েবসাইটে ভিজিট করতে হবে। আপনি আপনার বর্তমান শহর এবং তারিখ, কেবিন, ক্লাস, সেইসাথে অন্যান্য ভেরিয়েবল পছন্দ করতে হবে। আপনার ফ্লাইট বুক করার জন্য, আপনাকে তাদের ডেটাবেস অ্যাক্সেস করতে এয়ারলাইনের ওয়েবসাইটের কোনো প্রতিনিধির সাথে যোগাযোগ করতে হবে এবং দেখতে হবে যেকোনো তারিখে কোনো খালি সিট পাওয়া যায় কি না এবং খরচ কত হতে পারে।
যাইহোক, যদি আপনি এয়ারলাইনসের ওয়েবসাইট ব্যবহার না করে থাকেন এবং এমন একটি ওয়েবসাইট আছে যার তথ্যে সরাসরি অ্যাক্সেস আছে তাহলে কেমন হবে? কেমন হবে যদি আপনি একটি অনলাইন ট্র্যাভেল সার্ভিস (Online Travel Service) ব্যবহার করেন, যেমন কায়াক বা এক্সপিডিয়া, যা বেশ কয়েকটি এয়ারলাইনস ডেটাবেস থেকে তথ্য সংগ্রহ করে থাকে?
এই ক্ষেত্রে ট্রাভেল সার্ভিস এয়ারলাইনের API- এর সাথে যোগাযোগ করে। এই API -ই হল প্রোগ্রামিং ইন্টারফেস (Programming Interface) যা আপনার রেস্টুরেন্টের ওয়েটারের মত যে কি না আপনার দেওয়া তথ্য মূল ডেটাভেযে প্রেরণ করে পুনরায় আবার তথ্য রিটার্ন করে, সেই অনলাইন ট্রাভেল সার্ভিসের মাধ্যমে এয়ারলাইনের ডাটাবেস থেকে সিট বুকিং, ব্যাগেজ অপশন ইত্যাদি থেকে তথ্য পেতে জিজ্ঞেস করা যেতে পারে। এপিআই (API) তখন আপনার রিকোয়েস্টের জন্য এয়ারলাইনের রেস্পনস গ্রহণ করে এবং তা সঠিকভাবে প্রেরণ করে অনলাইন ট্রাভেল সার্ভিসকে, এরপর আপনাকে সবচেয়ে রিসেন্ট আপডেটেড এবং রিলেভেন্ট তথ্য দেখায়।
একটি API আমাদের যা প্রদান করে তা কী সুরক্ষিত?
আপনি হয়তো জেনে আনন্দিত হবেন যে, আপনার ফোনের ডেটা কখনই সার্ভারের কাছে পুরোপুরিভাবে উন্মুক্ত (Exposed) হয় না এবং এটা জেনেও অবাক হবেন যে, ঠিক একইভাবে সার্ভারটিও কখনোই আপনার ফোনে সম্পূর্ণরূপে উন্মুক্ত হয় না। এর পরিবর্তে, প্রত্যেকে ছোট ডেটা প্যাকের মাধ্যমে যোগাযোগ করে এবং শুধুমাত্র প্রয়োজনীয় কোনো কিছু শেয়ার করে থাকে – যেমন টেকআউট অথবা অর্ডার করা। উদাহরণস্বরূপ, আপনি রেস্টুরেন্টকে যখন বলেন ‘আপনি কী খেতে চান’, তারা আপনাকে বলে থাকে যে ‘তাদের মাধ্যমে আপনি কী চান’ এবং তারপর, আপনি আপনার অর্ডার করা পছন্দের খাবারটি পেয়ে যান।
API গুলো এত মূল্যবান হয়ে উঠেছে যে তারা অনেক ব্যবসার আয়ের একটি বড় অংশকে অন্তর্ভুক্ত করে। গুগল, ইবে, সেলসফোর্স.কম, অ্যামাজন এবং এক্সপিডিয়ার মতো বড় কোম্পানিগুলো তাদের এপিআই থেকে টাকা উপার্জন করে। “API Economy” বলতে যা বোঝায় তা হলো API গুলোর এই মার্কেটপ্লেস।
আধুনিক এপিআই (The Modern API)
বছরের পর বছর ধরে, একটি ‘API’ যা প্রায়শই একটি অ্যাপ্লিকেশনের সাথে যেকোন ধরণের জেনেরিক কানেক্টিভিটি ইন্টারফেস (Generic Connectivity Interface) বর্ণনা করে। অতি সম্প্রতি, আধুনিক এপিআই কিছু ফিচার্স সহ তৈরী যা তাদেরকে যেকোনো কাজে অসাধারণ, মূল্যবান এবং প্রয়োজনীয় করে তোলেঃ
- আধুনিক এপিআই গুলো স্ট্যান্ডারস মান মেনে চলে (সাধারণত HTTP এবং REST), যা ডেভেলপার ফ্রেন্ডলি, সহজেই অ্যাক্সেসযোগ্য এবং সহজেই বোঝা যায়।
- তাদেরকে কোডের চেয়ে একটি ব্যবহারযোগ্য পণ্যের মতো দেখা করা হয়। আধুনিক এপিআই গুল্ক নির্দিষ্ট দর্শকদের (যেমন, মোবাইল ডেভেলপার) ব্যবহারের জন্য ডিজাইন করা হয়েছে, সেগুলো ডকুমেন্টেড করা হয়েছে এবং সেগুলো এমনভাবে তৈরি করা হয়েছে যাতে ব্যবহারকারীরা এর রক্ষণাবেক্ষণ এবং জীবনচক্র (Lifestyle) সম্পর্কে নির্দিষ্ট এক্সপেকটেশন রাখতে পারে।
- যেহেতু তারা অনেক বেশি উন্নত এবং মানসম্মত তাই তাদের সিকিউরিটি এবং শাসন ব্যবস্থার জন্য অনেক পাওয়ারফুল ডিসিপ্লিন রয়েছে, পাশাপাশি পারফরম্যান্স এবং স্কেলের জন্য মনিটরিং এবং ম্যানেজ করা হয়ে থাকে।
এপিআই সম্পর্কে আরও জানতে এবং কীভাবে একটি দুর্দান্ত এপিআই ডিজাইন করতে হয় শিখতে এই ‘ই-বুক‘ টি ডাউনলোড করুন। এটা হচ্ছে নিখুঁত এপিআই ডিজাইন করার একটি গাইড।
7 thoughts on "API কী? What is an API? (Application Programming Interface)"