এসওএপি ( সিম্পল অবজেক্ট অ্যাক্সেস প্রোটোকল ) এবং আরইএসটি ( প্রতিনিধিত্বের রাজ্য স্থানান্তর ) উভয়ই তাদের উপায়ে সুন্দর। তাই আমি তাদের তুলনা করছি না। পরিবর্তে, আমি চিত্রটি চিত্রিত করার চেষ্টা করছি, যখন আমি আরএসটি ব্যবহার করতে পছন্দ করি এবং কখন এসওএপি।
পে-লোড কী?
যখন ইন্টারনেটে ডেটা প্রেরণ করা হয়, তখন প্রতিটি ইউনিট প্রেরণে শিরোনাম সম্পর্কিত তথ্য এবং প্রকৃত ডেটা উভয়ই অন্তর্ভুক্ত থাকে। শিরোনাম প্যাকেটের উত্স এবং গন্তব্য সনাক্ত করে, যখন আসল ডেটা পেলোড হিসাবে উল্লেখ করা হয় । সাধারণভাবে, পে-লোড হ'ল ডেটা যা কোনও অ্যাপ্লিকেশনটির পক্ষে বহন করা হয় এবং গন্তব্য সিস্টেমের মাধ্যমে প্রাপ্ত ডেটা।
এখন, উদাহরণস্বরূপ, আমাকে একটি টেলিগ্রাম পাঠাতে হবে এবং আমরা সকলেই জানি যে টেলিগ্রামের দাম কিছু শব্দের উপর নির্ভর করবে।
সুতরাং নীচে এই দুটি বার্তা উল্লিখিতগুলির মধ্যে আমাকে বলুন, কোনটি প্রেরণ করা সস্তা?
<name>Arin</name>
অথবা
"name": "Arin"
আমি জানি আপনার উত্তরটি দ্বিতীয়টি হবে যদিও একই বার্তার প্রতিনিধিত্বকারী উভয়ই ব্যয় সম্পর্কিত সস্তা।
তাই আমি যে বলার চেষ্টা করছি, JSON ফর্ম্যাটে নেটওয়ার্কে ডেটা প্রেরণের পে লোড সংক্রান্ত XML ফর্ম্যাটে এটি পাঠানোর তুলনায় সস্তা ।
এখানে এসওএপি-এর মাধ্যমে REST এর প্রথম সুবিধা বা সুবিধা রয়েছে । এসওএপি কেবল এক্সএমএলকে সমর্থন করে তবে রিস্ট বিভিন্ন পাঠ্য, জেএসএন, এক্সএমএল ইত্যাদির মতো বিভিন্ন ফর্ম্যাটকে সমর্থন করে we
এখন, এসওএপি একমাত্র এক্সএমএল সমর্থন করে তবে এর এর সুবিধাও রয়েছে।
সত্যিই! কিভাবে?
এসওএপি তিনটি উপায়ে খামের উপর এক্সএমএল নির্ভর করে - যা বার্তায় কী রয়েছে এবং কীভাবে এটি প্রক্রিয়া করা যায় তা সংজ্ঞায়িত করে।
ডেটা ধরণের জন্য এনকোডিং বিধিগুলির একটি সেট এবং শেষ পর্যন্ত প্রক্রিয়া কল এবং প্রতিক্রিয়াগুলির বিন্যাস সংগ্রহ করা হয়।
এই খামটি একটি পরিবহণের মাধ্যমে প্রেরণ করা হয় (এইচটিটিপি / এইচটিটিপিএস), এবং একটি আরপিসি (রিমোট প্রক্রিয়া কল) কার্যকর করা হয়, এবং খামটি একটি এক্সএমএল ফর্ম্যাটযুক্ত নথিতে তথ্য সহ ফিরিয়ে দেওয়া হয়।
গুরুত্বপূর্ণ বিষয়টি হ'ল এসওএপি এর অন্যতম সুবিধা হ'ল "জেনেরিক" পরিবহন ব্যবহার করা হলেও আরইএসটি এইচটিটিপি / এইচটিটিপিএস ব্যবহার করে । অনুরোধ প্রেরণের জন্য সোপ প্রায় যেকোন পরিবহন ব্যবহার করতে পারে তবে আরআরএসটি পারে না। সুতরাং এখানে আমরা এসওএপি ব্যবহার করে একটি সুবিধা পেয়েছি।
আমি ইতিমধ্যে উপরের অনুচ্ছেদে উল্লিখিত হিসাবে "REST HTTP / HTTPS ব্যবহার করে" , তাই এই শব্দগুলির উপর কিছুটা গভীরতর হন।
যখন আমরা এইচটিটিপি-র মাধ্যমে আরআরএসটি নিয়ে কথা বলছি, HTTP প্রয়োগ করা সমস্ত সুরক্ষা ব্যবস্থাগুলি উত্তরাধিকার সূত্রে প্রাপ্ত, এবং এটি পরিবহণ স্তরের সুরক্ষা হিসাবে পরিচিত এবং এটি কেবল তারের অভ্যন্তরে থাকা অবস্থায় বার্তাগুলি সুরক্ষিত করে তবে আপনি একবার এটি অন্যদিকে পৌঁছে দিয়েছিলেন আপনি জানেন না you ডেটা প্রক্রিয়া করা হবে যেখানে আসল পয়েন্টে পৌঁছানোর আগে এটি কত পর্যায় অতিক্রম করতে হবে। এবং অবশ্যই, এই সমস্ত স্তরগুলি HTTP থেকে আলাদা কিছু ব্যবহার করতে পারে। তাই বিশ্রাম পুরোপুরি নিরাপদ নয়, তাই না?
কিন্তু সাবান সমর্থন SSL এর মাত্র বাকি ভালো অতিরিক্ত এটি ডব্লুএস-নিরাপত্তা সমর্থন যা কিছু এন্টারপ্রাইজ নিরাপত্তা বৈশিষ্ট্য যোগ করা হয়েছে। ডাব্লুএস-সুরক্ষা এর ব্যবহারের জন্য বার্তা তৈরি থেকে সুরক্ষা সরবরাহ করে । সুতরাং পরিবহন স্তরের সুরক্ষার জন্য আমরা যে-ফাঁকফোকর খুঁজে পেয়েছি তা ডাব্লুএস-সুরক্ষা ব্যবহার থেকে রোধ করা যেতে পারে।
এগুলি ছাড়াও, যেমন এটির এইচটিটিপি প্রোটোকল দ্বারা আরইএসটি সীমাবদ্ধ তাই এটির লেনদেন সহায়তাটি এসিডি অনুগত নয় বা বিতরণকৃত ট্রান্সন্যাশনাল রিসোর্সগুলিতে দ্বি-ফেজ কমিট সরবরাহ করতে পারে না।
তবে এসওএপি -র স্বল্পকালীন লেনদেনের জন্য এসিডি ভিত্তিক লেনদেন পরিচালনা এবং দীর্ঘকালীন লেনদেনের জন্য ক্ষতিপূরণ ভিত্তিক লেনদেন পরিচালনার উভয়ের পক্ষে ব্যাপক সমর্থন রয়েছে । এটি বিতরণকৃত সংস্থানগুলিতে দ্বি-পর্বের অঙ্গীকারকেও সমর্থন করে ।
আমি কোনও উপসংহার আঁকছি না, তবে আমি এসওএপি-ভিত্তিক ওয়েব পরিষেবাটিকে অগ্রাধিকার দেব যখন সুরক্ষা, লেনদেন ইত্যাদি প্রধান উদ্বেগ।
এখানে "জাভা ইই 6 টি টিউটোরিয়াল" রয়েছে যেখানে তারা বলেছে যে নীচের শর্তগুলি পূরণ করার সময় একটি বিশ্রামের নকশা উপযুক্ত হতে পারে । একবার দেখুন।
আশা করি আপনি আমার উত্তরটি পড়ে উপভোগ করেছেন।