কোনও এসওএপি বা আরএসইএসটি পরিষেবা হিসাবে কোনও ওয়েব পরিষেবা উন্মোচন করার সিদ্ধান্ত নেওয়ার সিদ্ধান্তগুলি কী কী?


30

আমি যতক্ষণ না গ্রাহককে দেখতে পাচ্ছি এসওএপি-তে একটি এসওএপি স্ট্যাকের প্রয়োজন, তাই আপনার ক্লায়েন্টদের পক্ষে এটি গ্রহণ করা আরও শক্ত অর্থাৎ তাদের পোষ্টের ডেটা এবং শিরোনামগুলি সঠিকভাবে ফর্ম্যাট করে এমন জায়গায় তাদের একটি এসওএপি স্ট্যাক রয়েছে তা নিশ্চিত করা দরকার এবং তারপরে আপনাকে কিছু ফিরিয়ে দেয় ডেটা স্ট্রাকচার, আরআরএসটি সহ আপনি কোয়েরি স্ট্রিংয়ের আর্গুমেন্টগুলির সাথে কেবল একটি এইচটিটিপি জিটি অনুরোধ করবেন এবং এমন কিছু পাঠ্য ফিরে পাবেন যা আমার মনে হয় সম্ভবত এক্সএমএল।

সুতরাং এসওএপি-র অতিরিক্ত ওভারহেড / জটিলতা আপনাকে কী দেয়, কখন আপনার এটির প্রয়োজন হয় এবং কখন এবং আপনি এটি না করেই করতে পারেন?

উত্তর:


17

আমি এর আগে একটি REST এপিআই প্রয়োগ করেছি এবং আমি এটি সত্যিই পছন্দ করেছি। সাধারণভাবে আপনি বাস্তবায়ন যখন বিশ্রাম সাবান উপর, আপনার ক্লায়েন্ট / সার্ভার আরো লম্ব হয় অর্থ যে আপনার আরো অনেক অবাধে আপনার ক্লায়েন্ট (গুলি) প্রভাবিত না করেই সার্ভার পরিবর্তন করতে পারেন। এই অরথোগোনালিটি এইচটিটিপি ক্রিয়াগুলির মাধ্যমে আরও বিমূর্ত এবং ইতিমধ্যে সুস্পষ্টভাবে সংজ্ঞায়িত যোগাযোগ ব্যবহারের কারণে। এছাড়াও, আপনার REST প্রতিক্রিয়াগুলিতে এম্বেড থাকা হাইপারলিংকের ব্যবহার আপনার এপিআই তুলনামূলকভাবে ব্যথামুক্ত এবং প্রসারিত করা সহজ করে। গ্রাহকরা নতুন সংস্থাগুলিতে পৌঁছানোর জন্য এই এম্বেড করা লিঙ্কগুলি অনুসরণ করবেন বলে মনে করা হচ্ছে কোনও মানুষের মতো আরও তথ্যের জন্য 'ড্রিল ডাউন' ওয়েবপৃষ্ঠায় থাকা লিঙ্কগুলি অনুসরণ করতে পারে।

এই বলে, আমার কিছু সহকর্মী ছিল যাদের বলা হয়েছিল যে তাদের এসওএপি ব্যবহার করতে হবে এবং তারা সর্বদা এটি সম্পর্কে অভিযোগ করেছিল। তাই আমি দু'জনকে আরও বিশদভাবে গবেষণা করতে গিয়েছিলাম।

সাধারণভাবে আমি যা পেয়েছি তা হ'ল REST উচ্চ বিতরণ অ্যাপ্লিকেশনগুলির জন্য উপযুক্ত , যখন আপনার কয়েকশ, হাজার বা মিলিয়ন ক্লায়েন্ট থাকে । একটি কারণ উপরে বর্ণিত অर्थোগোনালিটি, অন্যটি হ'ল আপনি যেহেতু এইচটিটিপি ব্যবহার করছেন তাই নিখরচায় পাবেন aching

যখন আপনার ক্লায়েন্ট বা দু'জনের জন্য দ্রুত একটি ছোট এপিআই দরকার হয় এবং আপনি স্কেলেবিলিটি সম্পর্কে খুব বেশি চিন্তিত নন তখন SOAP দ্রুত যাওয়ার উপায় হতে পারে। আপনার যদি সম্পদের চারপাশে কাঠামোগত কোনও আর্কিটেকচার না থাকে তবে এটি আপনার পক্ষে আরও উপযুক্ত হতে পারে কারণ REST বাস্তবায়ন করতে সক্ষম হতে এমনকি আপনার অ্যাপ্লিকেশনটির পুনর্গঠন করতে আপনার কিছুটা সময় নিতে পারে।


2
আপনি রিসোর্স দৃষ্টান্ত এবং রাষ্ট্রের অভাবের কারণে ক্যাচিং পান, না এইচটিটিপি-র কারণে।
ডায়েটবুদ্ধ

@ ডাডবুদ্ধা এইচটিটিপি আপনাকে নিখরচায় বাস্তবায়ন দেয়।
জ্যাকব রায়হলে

17

এটি একটি ছোটখাটো পয়েন্ট হতে পারে তবে REST সম্পূর্ণরূপে HTTP এর উপর ভিত্তি করে।

এসওএপি-তে এইচটিটিপি লাগবে না এবং আপনি যে কোনও পরিবহন পছন্দ করেন তা ব্যবহার করতে পারেন।

এসওএপি বার্তাগুলি অবিচ্ছিন্নভাবে এবং নির্ভরযোগ্যতার সাথে চালিত করা যেতে পারে যদিও আরইএসটি বেশ সমকালীন দৃষ্টান্ত।

আপনি যে ডেটা পাঠাচ্ছেন এবং গ্রহণ করছেন তা কেমন দেখতে হবে সে সম্পর্কে REST আপনাকে কিছু জানায় না। এখানে ডাব্লুএইচডিএল রয়েছে তবে বেশিরভাগই আপনি এপিআই সঠিক হওয়ার ডকুমেন্টেশনের উপর নির্ভর করেন। এসওএপি-তে এক্সএমএল প্রযুক্তিগুলির সার্কাস রয়েছে যাতে ডেটা বর্ননা কম ত্রুটি প্রবণ হয়। ডাব্লুএসডিএল, স্কিমা ...

দিনের শেষে REST মূলত আপনাকে HTTP এর উপর ভিত্তি করে একটি ফাইল সিস্টেম দেয়। যদি আপনার সিস্টেমটি সেই দৃষ্টান্তের সাথে ফিট করতে পারে - তবে এটি একটি ভাল পছন্দ হতে পারে।


একাধিক পরিবহণ উল্লেখ করার জন্য +1। আপনার যদি সত্যই কোনও ট্রান্সপোর্ট-অগ্নিস্টিক প্রোটোকল প্রয়োজন হয় (যা উদাহরণস্বরূপ এসএমটিপি বা অনুরূপ মাধ্যমে অপারেশন সমর্থন করে), REST আউট হয়ে যায়। সাধারণত HTTP- র যথেষ্ট, তবে ... হয়
sleske

6
আমি দেখতে পাচ্ছি না কীভাবে আরএসটিপি এইচটিটিপি-র সাথে যুক্ত? এটি বাস্তবায়ন বিশদ। বেশিরভাগ আরএসইটি বাস্তবায়ন এইচটিটিপি-র উপরে চলে যায় তবে আমি কেন এফটিপি-র মতো অন্যান্য প্রোটোকলগুলির মাধ্যমে আরআরএসটি প্রয়োগ করতে পারি না তা দেখতে পাচ্ছি না।
এডালোরজো


7

সুতরাং এসওএপি-র অতিরিক্ত ওভারহেড / জটিলতা আপনাকে কী দেয়, কখন আপনার এটির প্রয়োজন হয় এবং কখন এবং আপনি এটি না করেই করতে পারেন?

দুজনের মধ্যে সবচেয়ে বড় পার্থক্য হ'ল REST হ'ল রাষ্ট্রহীন বলে মনে হয়, যেখানে যেমন SOAP নেই । বাস্তবে অনেকগুলি REST বাস্তবায়ন OAuth এর মতো কোনও কিছুর মাধ্যমে সেশনে কিছু রাজ্য বাস্তবায়িত করে।

আর একটি পার্থক্য হল REST হ'ল খুব "রিসোর্স" বা বিশেষ্যমুখী । আপনি সিআরইউডি অপারেশনের মাধ্যমে সংস্থানসমূহের সাথে ইন্টারঅ্যাক্ট করেন। এই দৃষ্টান্তের সাথে খাপ খায় না এমন কিছু জটিল এবং বিশ্রী হয়ে ওঠে।

অন্যদিকে এসওএপি হ'ল কেবল একটি আরপিসি (রিমোট প্রসেসি কল) প্রোটোকল । এটি কোনও দৃষ্টান্ত দিয়ে আসে না, এটি কেবল পরিবহণ স্তর।


1
SOAP এবং REST উভয়ই কেবল শেষ ফলাফল অর্জনের উপায়। তারা এই কাজের জন্য উপযুক্ত হতে পারে বা নাও পারে। তাই রেস্টকেও পরিবহন স্তর হিসাবে দেখা যেতে পারে। এমনকি রাজ্য / কম ভিউও ধারণ করে না: আপনি উভয় - এবং অন্যান্য - উভয় প্রকারের API এর সাথে উভয় স্বাদ ডিজাইন করতে পারেন। এমনকি আপনার একটি দ্বৈত এপিআইও থাকতে পারে, যার একটি এসওএপি এবং একটি REST এন্ডপয়েন্ট রয়েছে। এবং একটি এক্সএমএল-আরপিসি শেষ পয়েন্ট। এবং একটি অ্যাপাচি থ্রিফ্ট শেষ পয়েন্ট। এবং একটি গুগল প্রোটোকল বাফার শেষ পয়েন্ট। আর কি। দিন শেষে সবকিছু কেবল একটি আরপিসি।
জেনসজি

4

REST পাশাপাশি পোস্ট ব্যবহার করে post বাস্তবে REST ব্যবহার করার সময় http ক্রিয়াগুলি আপনাকে জানায় যে কী অপারেশন চলছে।

REST এবং SOAP হ'ল ইন্টারনেটে ডেটা পাস করার বিভিন্ন মান।

উভয়টি ব্যবহার করার পরে আমি সাধারণভাবে এসওএপি-র পরিবর্তে আরআরএসটি ব্যবহারের পরামর্শ দেব যদি না আপনি যদি না জানেন যে আপনার ওয়েব পরিষেবা গ্রাহকরা। নেট এবং ভিজ্যুয়াল স্টুডিও ব্যবহার করছেন। আপনার নেট এসওএপি ব্যবহার করার সময় আপনার জন্য বেশিরভাগ কাজ করে এমন নেট নেট ভিএস ব্যতীত আরইএসএসটি ওয়েব পরিষেবা গ্রাহ্য করা খুব সহজ।


4
জাভাতেও খুব ভাল এসওএপি সমর্থন রয়েছে।

4

একটি জিনিস আমি উল্লেখ করব আন্তঃঅযুক্তি - যদি আপনি .NET এ লিখিত একটি অ্যাপ থেকে আপনার পরিষেবাটি কল করতে চলেছেন এবং সার্ভারটি জাভাতে (বা অন্য কোনও সংমিশ্রণে) লেখা থাকে তবে আরআরইএসটির জন্য যান। এটিকে আর বিবেচনা করার জন্য বিরক্ত করার জন্য আমি এসওএপি বাস্তবায়নের মধ্যে অনেকগুলি সামান্য সামঞ্জস্যতা দেখেছি।


2
একমত। এসওএপি শিল্প মান তবে অত্যধিক জটিল, যার ফলে প্রচুর পরিমাণে ভাঙা বা অসম্পূর্ণ বাস্তবায়ন হয়। এটির শীর্ষে, অন্য কোনও পদ্ধতির সাথে তুলনা করে SOAP এর কার্য সম্পাদন এবং ট্র্যাফিকের ক্ষেত্রে সাধারণত সবচেয়ে বড় পদচিহ্ন রয়েছে।
জেনসজি

1

আপনি যদি আপনার অ্যাপ্লিকেশন প্রয়োজনীয়তার বিরুদ্ধে এসওএপি এবং বিশ্রাম পরিমাপ করতে সহায়তা করার জন্য একটি সহজ, ভিজ্যুয়াল গাইড চান ...

বিজয় প্রসাদ গুপ্ত একসাথে একটি সহজ, সহায়ক ফ্লো-চার্ট রেখেছেন।

ফ্লো চার্টের সরাসরি লিঙ্ক: https://drive.google.com/file/d/0B3zMtAq1Rf-sdVFNdThvNmZWRGc/edit

নিবন্ধের লিঙ্ক: https://www.linkedin.com/pulse/20140818062318-7933571-soap-vs-rest-flowchart-to-determine-the- রাইট-web-services-protocol- জন্য- আপনার- প্রয়োজন


এটি আসলে একটি সুন্দর শালীন ফ্লোচার্ট। আমি অবাক হয়ে গিয়েছিলাম যে এখানে একটি উত্তরও আরওএসপি-র চেয়ে সোপ সুবিধাগুলি সম্বোধন করে না। যে ফ্লোচার্ট যদিও না। আমি মনে করি যে আমি এখানে যুক্ত হওয়ার পরিবর্তে এখানে একটি চিত্র হিসাবে ফ্লোচার্টকে অন্তর্ভুক্ত করতে পারি, কেবল উত্তরটি আটকে রয়েছে তা নিশ্চিত করার জন্য?
jleach

-2

এটি এখন 2015 I আমি আশা করতাম যে এসওএপি এতক্ষণে মারা গেছে, তবে এটি এখনও দুর্গন্ধের মতোই স্থির থাকে। "উদাহরণস্বরূপ" অ্যাপ্লিকেশনগুলির সর্বাধিক বেসিক কিছু ছাড়াও একটি এসওএপি পরিষেবাদির সাথে একীকরণ করা চ্যালেঞ্জের মধ্যে রয়েছে। এটি একটি জটিল আর্কিটেকচার, একাধিক স্তরের অনেকগুলি বিকল্প সহ একাধিক বাস্তবায়ন এবং সূক্ষ্ম (এবং এত সূক্ষ্ম নয়) অসঙ্গতিগুলির সাথে মিলিত। আমি এটির সাথে একটিও ভাল অভিজ্ঞতা পাইনি। অন্যদিকে, REST হ'ল বাতাস: সবাই এইচটিটিপি বুঝতে পারে। বেশিরভাগ ক্ষেত্রে, জেএসএনের এক্সএমএল ইনফেসেটের চেয়ে আরও বেশি ইউটিলিটি রয়েছে।

আপনাকে এসওএপি-র জটিলতার ধারণা দেওয়ার জন্য, আপনার প্রকল্পের মধ্যে একটি এসওএপি লাইব্রেরি সংহত করার চেষ্টা করুন। জাভা-র জন্য, সবচেয়ে বেসিক অ্যাপাচি অ্যাক্সিস 2 ক্লায়েন্ট (সাধারণ এডিবি ডেটা বন্ডিং ব্যবহার করে) 23 টি নতুন জেআরে টেনে নেয়। তেইশ! লাইব্রেরি ব্লাট 20MB। CXF অনুরূপ: 21 জার্স, যখন আমি শেষ গণনা করেছি।

আপনি যদি সত্যিই চাইতেন তবে আপনি একটি সাধারণ এইচটিটিপি লাইব্রেরি দিয়ে রেস্ট করতে পারেন।


1
এটি রেন্টের মতো আরও পড়ছে, কীভাবে উত্তর দেওয়া যায় তা দেখুন
gnat

তুমি ঠিক বলছো. দুঃখিত, আমি তখন এসওএপি স্যুপে উদ্বিগ্ন ছিলাম: ডি
কর্নেল ম্যাসন

1
90 এর দশকে ফিরে আমাদের করবা / আইডিএলের সাথে একই অভিযোগ ছিল। তারপরে হঠাৎ "সিম্পল অবজেক্ট অ্যাক্সেস প্রোটোকল" .. এটি সহজ হবে! ঠাণ্ডা হয়ে যাবে! এটি দ্রুত হবে। দশ বছর পরে, এটি খুব জটিল হিসাবে বিবেচিত হয়। পাশাপাশি আসে জেএসএন (আইএমএও শিক্ষার্থীদের ল্যাব সেটিংসে ডেটা স্থানান্তর অপারেশনের জন্য সত্যই একটি স্কোয়ার হুইল বা "আমি জানি আমি কী করছি" তাড়াতাড়ি ফিক্স পরিস্থিতি) এবং রিস্টফুল অপ্স। ধুয়ে
ফেলুন

আমি আশঙ্কা করছি এসওএপি সম্পর্কে প্রতিটি সত্য বিবৃতি অবশ্যই ভাড়া হিসাবে পড়া উচিত। এটি নকশার ভিত্তিতে এন্টারপ্রাইজ এবং এটি আপনাকে অনেকগুলি বিকল্প দেয় যেখানে আপনি কেবল কিছু ডেটা প্রেরণ করতে চান। আমি যে কয়েকটি এসওএপি ইন্টারফেসের সাথে কাজ করেছি সেগুলি সম্পর্কে, প্রত্যেকটি ছিল অত্যন্ত বাজে গণ্ডগোল (ঠিক এসওএপি-র দোষ নয়, তবে এসওএপি-র স্নেহতা ব্লুটারওয়্যারের সাথে সম্পর্কিত)। ভাড়া দেওয়ার জন্য দুঃখিত
maaartinus
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.