আরইএসটি সম্প্রদায়ের কেউই বলে না যে REST সহজ। হেটোয়াস হল এমন একটি দিক যা একটি রেস্ট আর্কিটেকচারে অসুবিধা যুক্ত করে।
আপনার প্রস্তাবিত সমস্ত কারণে লোকেরা হেটোয়াস করেনা: এটি কঠিন। এটি সার্ভার সাইড এবং ক্লায়েন্ট উভয়ের ক্ষেত্রে জটিলতা যুক্ত করে (যদি আপনি আসলে এটি থেকে উপকার পেতে চান) want
তবুও, বিলিয়ন কোটি মানুষ আজই বিশ্রামের সুবিধা ভোগ করে experience আপনি কি জানেন যে অ্যামাজনে "চেকআউট" ইউআরএলটি কী? আমি না। তবুও, আমি প্রতিদিন চেকআউট করতে পারি। ইউআরএল পরিবর্তন হয়েছে? আমি জানি না, আমার কিছু যায় আসে না।
তুমি কি জানো যত্ন করে? যে কেউ স্ক্রিন লিখেছেন সে অ্যামাজন স্বয়ংক্রিয় ক্লায়েন্টকে স্ক্র্যাপ করে। যে কেউ সম্ভবত ক্লান্তিকরভাবে ওয়েব ট্র্যাফিক স্নিগ্ধ করেছেন, এইচটিএমএল পৃষ্ঠাগুলি পড়েন ইত্যাদি, কখন কী লিঙ্কে কল করতে হবে এবং কী পে-লোডের সাথে সেগুলি খুঁজে পেতে।
এবং অ্যামাজন যত তাড়াতাড়ি তাদের অভ্যন্তরীণ প্রক্রিয়া এবং ইউআরএল কাঠামো পরিবর্তন করেছে, সেই হার্ড কোডেড ক্লায়েন্ট ব্যর্থ হয়েছিল - কারণ লিঙ্কগুলি ভেঙে গেছে।
তবুও, নৈমিত্তিক ওয়েব সার্ফাররা খুব কমই কোনও বাধা দিয়ে সারা দিন ধরে কেনাকাটা করতে সক্ষম হয়েছিল।
এটি কার্যকরভাবে বিশ্রাম, এটি কেবলমাত্র মানুষের দ্বারা বর্ধিত হয়েছে যা পাঠ্য ভিত্তিক ইন্টারফেসটির ব্যাখ্যা এবং অন্তর্নিহিত করতে পারে, একটি শপিং কার্টের সাহায্যে একটি ছোট গ্রাফিক সনাক্ত করতে পারে এবং এর অর্থ কী তা বোঝায়।
বেশিরভাগ লোকেরা লেখার সফ্টওয়্যার এটি করে না। স্বয়ংক্রিয় ক্লায়েন্ট লেখার বেশিরভাগ লোকের যত্ন নেই। অ্যাপ্লিকেশন ইঞ্জিনিয়ারের চেয়ে প্রথম স্থানে না ভাঙার চেয়ে যখন তারা ভাঙবে তখন বেশিরভাগ লোকেরা তাদের ক্লায়েন্টকে ঠিক করা সহজ করে। বেশিরভাগ লোকের কাছে যেখানে এটি গুরুত্বপূর্ণ সেখানে পর্যাপ্ত ক্লায়েন্ট নেই।
আপনি যদি ট্র্যাফিকের উভয় পক্ষের বিশেষজ্ঞ প্রযুক্তি সমর্থন এবং আইটি সহ দুটি সিস্টেমের মধ্যে যোগাযোগের জন্য একটি অভ্যন্তরীণ এপিআই লিখছেন, যারা দ্রুত, নির্ভরযোগ্যভাবে এবং পরিবর্তনের সময়সূচী দিয়ে পরিবর্তনগুলি যোগাযোগ করতে সক্ষম হন, তবে REST আপনাকে কিছুই কিনে না। আপনার এটির দরকার নেই, আপনার অ্যাপ্লিকেশনটি যথেষ্ট বড় নয় এবং এটি যথেষ্ট পরিমাণে বেঁচে থাকার পক্ষে নয়।
বড় ব্যবহারকারী ঘাঁটিযুক্ত বড় সাইটগুলিতে এই সমস্যা থাকে। তারা যখনই তাদের সিস্টেমের সাথে ইন্টারঅ্যাক্ট করতে পারে তখন লোকেদের তাদের ক্লায়েন্ট কোডটি ঝক্কিটে পরিবর্তনের জন্য বলতে পারেন না। সার্ভারগুলির বিকাশের সময়সূচী ক্লায়েন্ট বিকাশের সময়সূচির মতো নয়। API- এ আকস্মিক পরিবর্তনগুলি জড়িত প্রত্যেকের পক্ষে কেবল অগ্রহণযোগ্য, কারণ এটি উভয় পক্ষের ট্র্যাফিক এবং পরিচালনা ব্যাহত করে।
সুতরাং, এর মতো একটি অপারেশন হ্যাটোওএসের পক্ষে সম্ভবত উপকৃত হবে, কারণ এটি সংস্করণে আরও সহজ, প্রবীণ ক্লায়েন্টদের মাইগ্রেট করা সহজ, না হওয়ার চেয়ে পশ্চাদপটে সামঞ্জস্যপূর্ণ হওয়া সহজ।
একটি ক্লায়েন্ট যা এর বেশিরভাগ কাজের প্রবাহকে সার্ভারে প্রতিনিধিত্ব করে এবং ফলাফলগুলির উপর কাজ করে এমন কোনও ক্লায়েন্টের চেয়ে সার্ভার পরিবর্তনের পক্ষে আরও শক্তিশালী।
তবে বেশিরভাগ লোকের সেই নমনীয়তার প্রয়োজন হয় না। তারা 2 বা 3 বিভাগের জন্য সার্ভার কোড লিখছেন, এটি সমস্ত অভ্যন্তরীণ ব্যবহার। যদি এটি ভেঙে যায় তবে তারা এটিকে ঠিক করে দেয় এবং তারা এটি তাদের সাধারণ কাজকর্মের সাথে প্রমাণিত করে।
নমনীয়তা, আরএসটি বা অন্য যে কোনও কিছুই থেকে, জটিলতার প্রজনন করে। আপনি যদি এটি সহজ এবং দ্রুত চান, তবে আপনি এটিকে নমনীয় করে তুলবেন না, আপনি "কেবল এটি করুন", এবং সম্পন্ন করুন। আপনি সিস্টেমগুলিতে বিমূর্ততা এবং ডিগ্রিফারেন্স যুক্ত করার সাথে সাথে স্টাফগুলি আরও কঠিন, আরও বয়লার প্লেট, আরও পরীক্ষার জন্য কোড পাওয়া যায়।
REST এর বেশিরভাগ ক্ষেত্রে "আপনার এটি প্রয়োজন হয় না" বুলেট পয়েন্ট ব্যর্থ হয়। অবশ্যই, আপনি না।
আপনার যদি এটির প্রয়োজন হয় তবে এটি ব্যবহার করুন এবং এটি যেমন নির্ধারিত হয়েছে তেমন ব্যবহার করুন। REST টি এইচটিটিপি-র মাধ্যমে পিছনে পিছনে জিনিসকে কাঁপছে না। এটি কখনও ছিল না, এটি এর চেয়ে অনেক উচ্চ স্তরের।
তবে যখন আপনার রেস্ট দরকার, এবং আপনি রেস্ট ব্যবহার করেন, তখন হেটোয়াস একটি প্রয়োজনীয়তা। এটি প্যাকেজের অংশ এবং এটি কীভাবে আদৌ কাজ করে তা একটি কী।