রেস্ট এপিআই কি এবং কদম আলীর রেস্ট এপিআই ?
REST মানে হল Representational State Transfer, অর্থাৎ প্রত্যেকটি URL কিছু অবজেক্টকে রিপ্রেজেন্ট করে । রেস্ট এর সবচেয়ে ছোট সঙ্গা এর নামেই দেয়া আছে, “Representational State Transfer” অর্থাৎ এটি কোন কিছুর অবস্থা বা স্টেট একটি রিপ্রেজেন্টেশন এর মাধ্যমে ক্লায়েন্ট টু সার্ভার এবং সার্ভার টু ক্লায়েন্টে ট্রান্সফার করে ।
রেস্ট এপিআই ডেভেলপমেন্ট এর কোন স্ট্যান্ডার্ড নয়, এটি নেটওয়ার্ক এ্যাপ্লিকেশন ডিজাইনের জন্য আর্কিটেকচারাল স্টাইল ।
ব্যাখ্যায় যাবার আগে দুটি শব্দের সাথে পরিচয় করিয়ে দেই :
(১) রিসোর্স : ইনফরমেশন এর সোর্স যেটি URI দিয়ে প্রকাশ করা হয়, অর্থাৎ প্রতিটি লিংক একটি রিসোর্স কে বর্ননা করে।
(২) রিপ্রেজেন্টেশন : কোন ডকুমেন্টের মাধ্যমে রিসোর্সের তথ্য প্রকাশ করাকে রিপ্রেজেন্টেশন বলে।
এবার রেস্ট এর স্টেট এবং এর রিপ্রেজন্টেশন বুঝার জন্য একটি উদাহর কল্পনা করি:
কদম আলী একজন কৃষক । গ্রামের কৃষকরা বাড়িতে সাধারনত হাঁস-মুরগী, গরু ছাগল পালন করে থাকে । ধরি কদম আলীর ২টি ছাগল, ১টি গরু, ১২টি মুরগী আছে । তিনি এই গবাদি পশু পাখির জন্য একটি রেস্ট এপিআই সিমুলেট করলেন, আর আমি তার ক্লায়েন্ট ।
এখন আমি তাকে জিজ্ঞাসা করলাম “আপনার ফার্ম এর স্টেট বা অবস্থা কি?”
কদম আলী উত্তর দিল: ২টি ছাগল, ১টি গরু, ১২টি মুরগী
কদম আলী উপরোক্ত উত্তরে তার ফার্ম এর স্টেট একটি রিপ্রেজেন্টেশনের মাধ্যমে ট্রান্সফার করল । তাহলে রিপ্রেজেন্টেশন টা কি ছিল ? রিপ্রেজেন্টেশন টা ছিল একটি সাদামাটা টেক্সট “২টি ছাগল, ১টি গরু, ১২টি মুরগী”
এখন আমি কিভাবে কদম আলীকে বলব যে তার ফার্মে আরো দুইটা গরু যোগ করতে ? আমি যদি তাকে বলি
কদম আলী, দয়া করে আপনি আপনার ফার্ম এ দুইটি গরু যোগ করেন
add.php?num=2&item=cow
তাহলে কি এটা রেস্ট স্টাইলে রিকোয়েস্ট করা হল ? মোটেই না, কদম আলী উত্তর দিবে :
400, এটা কি রিকোয়স্ট করলেন ভাই ?
এবার অন্য ভাবে চেষ্টা করে দেখি
আমি: কদম আলী, তোমার ফার্মএ দয়াকরে ২টি ছাগল, ৩টি গরু, ১২টি মুরগী রাখ
কদম আলী: ঠিক আছে বস!আমি : কদম আলী, তোমার ফার্ম এর এখন কি অবস্থা ?”
কদম আলী: জনাব! ২টি ছাগল, ৩টি গরু, ১২টি মুরগী”
আমি: আহ ! চমৎকার !”
কদম আলীর ফার্মের স্টেট তো দেখলাম, এবার ফেসবুকে ইউটিউব পেজের বর্তমান স্টেট বা অবস্থার জেসন রিপ্রেজেন্টেশন দেখা যাক: http://graph.facebook.com/youtube
আপনি যদি শুধুমাত্র নেম, আইডি এবং লাইক এর স্টেট দেখতে চান:
http://graph.facebook.com/youtube?fields=name,id,likes
কারা ব্যবহার করছে রেস্টফুল এপিআই ?
সহজ সরল আকিটেকচারের জন্য মোবাইল এ্যাপ, সোশাল নেটওয়াকিং, ওয়েবসাইট, অটোমেটেড বিজনেস প্রসেসগুলো এখন রেস্ট এপিআই এর দিকে ঝুকে পড়েছে । ইন্টারনেট জায়ান্ট গুগল, ইয়াহু, আমাজন, ই-বে, ফেসবুক, টুইটার, পেপাল সহ সবাই এখন রেস্টফুল এপিআই প্রোভাইড করে। মডার্ন সকল সিস্টেমই রেস্ট এ মুভ করা হচ্ছে ।
রেস্ট এপিআই নিয়ে গুগলের অফিসিয়াল ভিডিও :
রেস্ট এপিআই কতটা জনপ্রিয়?
রেস্ট এপিআই একটি সহজ সরল, হাইলি স্কেলেবল আর্কিটেকচার হিসেবে প্রমানিত । ২০০০ সালে Roy Thomas Fielding রেস্ট আর্কিটেকচার তুলে ধরেন তার ডিসারটেশন তত্বে । মাত্র ১৫ বছরে এটি ওয়েব সার্ভিস আর্কিটেকচারের চেহারা এমনভাবে পাল্টে দিয়েছে যে বর্তমান ওয়েব এপিআই বলতে যেন রেস্ট এপিআইকে বুঝায় ।শুধুমাত্র এর স্কেলেবল আর্কিটেচারাল স্টাইল এবং পারফরমেন্সের জন্য মৌখিক ভাবে অনেকেই রেস্ট কে এপিআই এর আদর্শ মডেল হিসেবে মেনে নিয়েছেন ।
গত কয়েক বছরে রেস্ট এপিআই এর ব্যবহার কয়েক গুন বেড়েছে । ২০১১ সালের চিত্র দেখে কি অনুমান করতে পারেন যে বর্তমানের এর জনপ্রিয়তা কত বেশি ?
This shows when I try the FB graph for YouTube Page:
{
“error”: {
“message”: “An access token is required to request this resource.”,
“type”: “OAuthException”,
“code”: 104,
“fbtrace_id”: “ATuzWay0I89”
}
}