ওয়েব পরিষেবাগুলির জন্য সোপ বা রেস্ট? [বন্ধ]


384

ওয়েব সার্ভিসগুলি করার জন্য কি আরএসইএসটি আরও ভাল পন্থা বা এসওএপি? না তারা বিভিন্ন সমস্যার জন্য বিভিন্ন সরঞ্জাম? বা এটি একটি সংকীর্ণ ইস্যু - তা হ'ল কিছু নির্দিষ্ট ক্ষেত্রে অন্যের চেয়ে কিছুটা ভাল?

আমি বিশেষত এই ধারণাগুলি এবং পিএইচপি-মহাবিশ্বের সাথে তাদের সম্পর্কিত সম্পর্কিত তথ্য এবং আধুনিক উচ্চ-শেষ ওয়েব অ্যাপ্লিকেশনগুলির প্রশংসা করব।


6
আজকের বিশ্বে JSON ভিত্তিক REST প্রক্রিয়াটি বিবেচনা করুন
পূর্ববর্তীত III

সম্পর্কিত তবে সদৃশ না সুতা: stackoverflow.com/questions/34624813/...
smwikipedia


সম্ভাব্য প্রতিলিপির - stackoverflow.com/questions/19884295/soap-vs-rest-differences
SelakaN

উত্তর:


561

আমি হিউলেট প্যাকার্ডে যখন কাজ করছিলাম তখন মূল উত্স থেকে কোড জেনারেশন এবং ডাব্লুএসডিএল জেনারেশন সহ প্রথম এসওএপি সার্ভার তৈরি করেছি। আমি কোনও কিছুর জন্য SOAP ব্যবহার করার পরামর্শ দিই না।

সংক্ষিপ্ত রূপ "এসওএপি" একটি মিথ্যা। এটি সাধারণ নয়, এটি অবজেক্ট-ওরিয়েন্টেড নয়, এটি অ্যাক্সেসের কোনও নিয়ম সংজ্ঞায়িত করে না। এটি যুক্তিযুক্তভাবে একটি প্রোটোকল। এটি ডোন বক্সের সর্বকালের সবচেয়ে খারাপ অনুষঙ্গ এবং এটি বেশ কীর্তি, কারণ তিনিই সেই ব্যক্তি যে "সিওএম" করেছিলেন perpet

এসওএপি-তে দরকারী কিছু নেই যা পরিবহণের জন্য আরইএসটি, এবং জেএসএন, এক্সএমএল, বা এমনকি উপাত্ত উপস্থাপনের জন্য সরল পাঠ্য দিয়ে করা যায় না। পরিবহন সুরক্ষার জন্য, আপনি https ব্যবহার করতে পারেন। প্রমাণীকরণের জন্য, মৌলিক লেখক। সেশনের জন্য, কুকিজ আছে। আরইএসটি সংস্করণটি সহজ, পরিষ্কার, দ্রুত চালানো এবং কম ব্যান্ডউইথ ব্যবহার করা হবে।

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


51
আপনি উল্লেখ করতে অবহেলা করেছেন যে একটি আরইএসএসটি ওয়েব সেবার জন্য সার্ভিস-র‌্যাপার লিখতে এসওএপি ওয়েব পরিষেবা ডাব্লুএসডিএল থেকে তাত্ক্ষণিকভাবে ক্লাস উত্পন্ন করার চেয়ে 100000x বেশি সময় লাগবে। IMO REST আপনার কাছে কাজ করতে হবে না এমন একটি অঙ্কের ব্লব পাওয়ার জন্য ভাল। আপনি যদি কোনও অবজেক্ট পেতে চান তবে এসওএপিটি বাস্তবায়ন করার জন্য দ্রুত এবং সহজ। আরও তথ্যের জন্য আমার পোস্টটি এখানে দেখুন: stackoverflow.com/questions/3285704/…
জোশ এম

40
যদি আপনি একটি মোড়ক তৈরির উদ্দেশ্যে থাকেন তবে পরিবর্তে একটি JSON ডিকোডার ব্যবহার করার বিষয়টি বিবেচনা করুন। এসওএপি শান্তিতে বিশ্রাম দিন।
আইভো দানহেলকা

67
এই উত্তরটি এতগুলি উত্সাহ এবং একটি অনুগ্রহ পেতে দেখে হতাশাব্যঞ্জক। এটি কোনও সহায়ক উত্তর নয়। "এসওএপি-তে দরকারী এমন কিছুই নেই যা আরইএসটি দিয়ে করা যায় না"। সুতরাং এই লোকটি যে কোনও ব্যক্তির সমাধান করতে পারে এমন প্রতিটি সম্ভাব্য সমস্যা পরীক্ষা করেছে এবং নিরাপদে বলতে পারে যে আপনার ওয়েব পরিষেবাটি এসওএপি ব্যবহার করা উচিত নয় (ডাব্লুএসএস * * এখানে অন্তর্ভুক্ত বলে মনে হচ্ছে)? হ্যাঁ ঠিক. আমি REST> WS- * বা SOAP এর দৃ strong় চিৎকার শুনে ক্লান্ত হয়ে পড়েছি .. এটি সবেমাত্র তুলনীয়।
অনিচ্ছাকৃত

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

10
আমি প্রথম এসওএপি ওয়েব পরিষেবাগুলির একটি তৈরি করেছি (২০০২ সালে; গুগল অনুসন্ধান এপিআই)। এমডিঘুজেস কী বলেছে তা নিশ্চিত করেই, এসওএপি একটি ভাল প্রযুক্তি ছিল না। ভাগ্যক্রমে এটি এখন অতীত কাল এবং অদ্ভুত এন্টারপ্রাইজ প্রসঙ্গের বাইরে কেউ এটিকে গুরুত্বের সাথে বিবেচনা করে না।
নেলসন

198

REST একটি আর্কিটেকচার, এসওএপি একটি প্রোটোকল।

এটিই প্রথম সমস্যা।

আপনি একটি REST অ্যাপ্লিকেশন এ SOAP খাম পাঠাতে পারেন।

সোপ নিজেই আসলে বেশ বেসিক এবং সরল, এটি ডাব্লুএসএস- * মানদণ্ডগুলির উপরে যা এটি খুব জটিল করে তোলে।

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

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

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

সুতরাং, যদি আপনার এমন সার্ভার এবং গ্রাহকরা থাকে যা এসওএপি, এসওএপি এবং ডাব্লুএসএস স্ট্যাকের সাথে "আরামদায়ক" থাকে তবে আপনাকে ভালভাবে পরিবেশন করতে পারে। যদি আপনি আরও বেশি বিজ্ঞাপন কাজ করে থাকেন এবং ওয়েব ব্রাউজারগুলির সাথে আরও ভাল ইন্টারফেস করতে চান তবে এইচটিটিপি-র কিছু হালকা প্রোটোকলও ভালভাবে কাজ করতে পারে।


7
এই ক্ষেত্রে, আমি মনে করি আমরা একটি প্রোটোকলের উপর দিয়ে দুটি আর্কিটেকচারের বিষয়ে কথা বলছি। REST সত্যই একটি আর্কিটেকচার যেখানে SOAP বিদ্যমান প্রোটোকলটিতে একটি নতুন প্রোটোকল সংজ্ঞায়িত করার চেষ্টা করে, যার শীর্ষে আপনাকে অবশ্যই RPC আর্কিটেকচার প্রয়োগ করতে হবে। সিলি-OAP।

2
এটা স্পষ্ট চেয়ে অনেক ভালো উত্তর গলাবাজি এই পৃষ্ঠায় প্রদর্শিত হবে
MickyD

102

REST হ'ল এসওএপি থেকে মৌলিকভাবে পৃথক দৃষ্টান্ত। ভালমত বিশ্রাম পড়তে এখানে পাওয়া যাবে: আমি কিভাবে আমার স্ত্রী বিশ্রাম ব্যাখ্যা

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

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

অনুশীলনে যদিও এর বেশিরভাগটি দূরে পড়ে, এবং REST সাধারণত সরল এইচটিটিপি অনুরোধগুলিকে বোঝায় যা জেএসএনে ফলাফল ফেরত দেয় , যখন এসওএপি একটি আরও জটিল এপিআই যা প্রায় XML পাস করে যোগাযোগ করে ic উভয়ই এর সুবিধাগুলি এবং অসুবিধাগুলি রয়েছে তবে আমি খুঁজে পেয়েছি যে আমার অভিজ্ঞতায় REST সাধারণত ভাল পছন্দ কারণ আপনি খুব কমই যদি প্রয়োজন হয় তবে আপনি এসওএপি থেকে প্রাপ্ত সম্পূর্ণ কার্যকারিতা প্রয়োজন।


5
কেবলমাত্র অনুমোদিত ক্রিয়াগুলি "পান", "পুট" এবং "মুছুন"? পোষ্ট এবং বিকল্পগুলি সম্পর্কে কী?
অ্যান্ড্রু সোয়ান 3 ই

2
দুঃখিত, আমি পোস্ট উল্লেখ করতে ভুলে গেছি। বিকল্পগুলি (এবং শিরোনাম) অবশ্য বিশ্রামের নির্দিষ্টকরণের অংশ হিসাবে বিবেচনা করা হয় না।
toluju

8
@ টলুজু আমি জানতাম না যে রেস্টের একটি স্পেসিফিকেশন রয়েছে। এটি একটি স্থাপত্য শৈলী এবং যদিও এটি সত্য হতে পারে যে অপশনগুলি খুব কম ব্যবহৃত হয় আমি মনে করি না আপনি হেড সম্পর্কে একই কথা বলতে পারেন।
ফাঁকা

6
মাথা, বিকল্পগুলি এবং ট্র্যাক এমন সমস্ত পদ্ধতি যা ইউআরএলটিতে থাকা সামগ্রীর চেয়ে সার্ভার মেটা-তথ্য সম্পর্কে অনুসন্ধান করে। যেমন এগুলি REST- স্টাইল অ্যাপ্লিকেশনগুলির জন্য প্রান্তিক ব্যবহার of আমি একটি স্পেসিফিকেশন হিসাবে সংশোধন দাঁড়িয়ে। আরআরএসটির কাছে তাত্পর্যটির মূল স্পেসিফিকেশন হ'ল এইচটিটিপি অনুমান।
toluju

10
একটি নোট হিসাবে, "বিশ্রাম সাধারণত ... বোঝায় ... অনুরোধগুলি যা জেএসএন-এর ফলে আসে" - এটি সঠিক নয়। ফিরে আসা মিডিয়া-টাইপ কোনও ফর্ম্যাটে সীমাবদ্ধ বা ডিফল্ট নয়। প্রকৃতপক্ষে, অনেকগুলি REST পরিষেবাদি অ্যাপ্লিকেশন / এক্সএমএল, ভিডিও বা অন্যান্য মিডিয়া-প্রকার ফেরত দেয়। আমার অভিজ্ঞতা হিসাবে, উদাহরণস্বরূপ কর্পোরেশনগুলিতে, আরইএসটি ভিত্তিক ওয়েব-পরিষেবাগুলি জেএসএনের পক্ষে এক্সএমএল ফিরিয়ে দেয়। যাই হোক না কেন, এটি ফিরে আসে সেটির উপর নির্ভর করে এবং ক্লায়েন্ট এইচটিটিপি "স্বীকৃতি" শিরোনামের মাধ্যমে এই বিষয়বস্তু-ধরনের আলোচনায় অংশ নিতে পারে।
ড্যারেল টিগু

59

2012 প্রশ্নের দ্রুত তাত্পর্য:

যে অঞ্চলগুলির জন্য REST সত্যিই ভাল কাজ করে সেগুলি হল:

  • সীমিত ব্যান্ডউইথ এবং সংস্থানসমূহ। মনে রাখবেন রিটার্ন স্ট্রাকচারটি যে কোনও বিন্যাসে সত্যই রয়েছে (বিকাশকারী সংজ্ঞায়িত)। এছাড়াও, যে কোনও ব্রাউজার ব্যবহার করা যেতে পারে কারণ REST পদ্ধতির স্ট্যান্ডার্ড GET, PUT, POST এবং ডিফল্ট ক্রিয়াগুলি ব্যবহার করা হয়। আবার, মনে রাখবেন যে REST এছাড়াও আজকের বেশিরভাগ আধুনিক ব্রাউজার সমর্থন করে এমন XMLHttpRequest অবজেক্টটি ব্যবহার করতে পারে যা এজেএক্সের অতিরিক্ত বোনাস যুক্ত করে।

  • সম্পূর্ণ রাষ্ট্রবিহীন অপারেশন।  যদি কোনও অপারেশন চালিয়ে যাওয়া প্রয়োজন হয় তবে আরএসইএস সেরা পদ্ধতির নয় এবং এসওএপি এটি আরও ভাল ফিট করতে পারে। তবে, যদি আপনার স্টেটলেস সিআরইউডি (তৈরি করুন, পড়ুন, আপডেট করুন এবং মুছুন) অপারেশনগুলির প্রয়োজন হয়, তবে এটিই REST এটি।

  • ক্যাচিং পরিস্থিতি।  আরআরএস পদ্ধতির সম্পূর্ণ স্টেটলেস অপারেশনের কারণে যদি তথ্য ক্যাশে করা যায় তবে এটি নিখুঁত hat এটি উপরের তিনটিতে অনেকগুলি সমাধানকে কভার করে।

তাহলে আমি কেন এসওএপি বিবেচনা করব? আবার, এসওএপি মোটামুটি পরিপক্ক এবং ভাল-সংজ্ঞায়িত এবং এটি একটি সম্পূর্ণ স্পেসিফিকেশন সহ আসে। আরআরইএসটি পদ্ধতির ঠিক এটিই, এটি একটি পদ্ধতির এবং বিকাশের জন্য ব্যাপক উন্মুক্ত, সুতরাং আপনার যদি নিম্নলিখিতগুলি থাকে তবে এসওএপি একটি দুর্দান্ত সমাধান:

  • অ্যাসিঙ্ক্রোনাস প্রসেসিং এবং অনুরোধ।  আপনার অ্যাপ্লিকেশনটির যদি নির্ভরযোগ্যতা এবং সুরক্ষার একটি নিশ্চিত স্তরের প্রয়োজন হয় তবে এসওএপি 1.2 এই ধরণের অপারেশনটি নিশ্চিত করার জন্য অতিরিক্ত মান সরবরাহ করে। ডাব্লুএসআরএম এর মতো জিনিস - ডাব্লুএস-নির্ভরযোগ্য মেসেজিং।

  • আনুষ্ঠানিক চুক্তি।  যদি উভয় পক্ষের (সরবরাহকারী এবং ভোক্তা) বিনিময় ফর্ম্যাটে একমত হতে হয় তবে এসওএপি 1.2 এই ধরণের মিথস্ক্রিয়াটির জন্য কঠোর বিবরণ দেয়।

  • রাষ্ট্রীয় অপারেশন। যদি অ্যাপ্লিকেশনটিকে প্রাসঙ্গিক তথ্য এবং কথোপকথনের স্থিতিশীল পরিচালনার প্রয়োজন হয় তবে এসওএপি ১.২ এই বিষয়গুলিকে সমর্থন করার জন্য ডাব্লুএস * কাঠামোর অতিরিক্ত স্পেসিফিকেশন রয়েছে (সুরক্ষা, লেনদেন, সমন্বয়, ইত্যাদি)। তুলনামূলকভাবে, বিশ্রামের পদ্ধতির ফলে বিকাশকারীরা এই কাস্টম নদীর গভীরতানির্ণয়টিকে তৈরি করতে পারে।

http://www.infoq.com/articles/rest-soap-when-to-use-each


44

এসওএপি-র কাছে বর্তমানে আরও ভাল সরঞ্জামের সুবিধা রয়েছে যেখানে তারা উভয়ই পরিষেবা স্তরের জন্য প্রচুর পরিমাণে বয়লারপ্লেট কোড উত্পন্ন করবে এবং সাথে সাথে যে কোনও ডাব্লুএসডিএল থেকে ক্লায়েন্ট তৈরি করবে।

আরআরইএসটি সহজ, ফলস্বরূপ এটি বজায় রাখা সহজ হতে পারে, ওয়েব আর্কিটেকচারের কেন্দ্রস্থলে থাকে, আরও ভাল প্রোটোকল দৃশ্যমানতার জন্য অনুমতি দেয় এবং ডাব্লুডাব্লুডাব্লু নিজেই আকার আকারে প্রমাণিত হয়েছে। কিছু ফ্রেমওয়ার্কগুলি আপনাকে আরইএসএস পরিষেবাগুলি তৈরি করতে সহায়তা করে, যেমন রেলগুলিতে রুবি, এবং কিছু আপনাকে ADO.NET ডেটা পরিষেবাদির মতো ক্লায়েন্ট রাইটিংয়ে সহায়তা করে। তবে বেশিরভাগ ক্ষেত্রে, সরঞ্জাম সমর্থনটির অভাব রয়েছে।


32
REST বজায় রাখা সহজ - আপনাকে যা করতে হবে তা হ'ল আরইএসটি পদ্ধতিগুলির কাঠামোগুলিতে বা তারা ফিরে আসা ডেটার কাঠামোর কোনও মিনিটের পরিবর্তনের জন্য এপিআই ডকুমেন্টেশন পর্যবেক্ষণ করে। যদি আপনি কোনও পরিবর্তন দেখেন তবে আপনাকে কেবল নিজের হাতে লিখিত কোডে ম্যানুয়ালি পরিবর্তন করতে হবে যা পদ্ধতির প্রতিক্রিয়াটিকে পার্স করে। এসওএপি সহ আপনার রেফারেন্সটিতে ডান-ক্লিক করা এবং "আপডেট" নির্বাচন এবং তারপরে কয়েকটি সংকলন ত্রুটিগুলি ঠিক করার বোঝা রয়েছে। (সার্কাসম বিনা মূল্যে অন্তর্ভুক্ত))
জোশ এম।

10
@ জোশম: যদি আপনি নরম এবং নমনীয় স্পেসিফিকেশনের উপর ভিত্তি করে উত্পন্ন প্রতিক্রিয়ার প্রতিক্রিয়াটিকে পার্স করার জন্য হাতে লিখিত কোডটি ব্যবহার করেন তবে আপনি আরইএসটি ব্যবহার করছেন না; আপনি একটি উত্স ট্রিতে হার্ডকোড করেছেন od এটি সি: \ উইন্ডোজ \ টেম্পে কোডিং করার মতোই বা ঠিক যে কোনও কিছু, প্রোপার লোকেশনটি ব্যবহারের জন্য জিজ্ঞাসা করার বিপরীতে। কারণ এটি কিছুক্ষণ কাজ করে, সঠিক কাজটি করে না এবং এটি কোডিংয়ের জন্য ভাল অভ্যাস নয়।
পল সোনিয়ার

1
@ পলসনিয়ার: প্রায়শই নরম এবং নমনীয় স্পেসিফিকেশন থেকে প্রতিক্রিয়াটি পার্স করার সঠিক উপায় কী? আমি পেয়েছি যে হার্ডকোডযুক্ত ভঙ্গুর কোডটি দুর্দান্ত নয় তবে আমি RESTful APIs এর ক্লায়েন্ট শেষের বিষয়ে পরামর্শ বা উদাহরণগুলি সন্ধান করছি এবং এখন পর্যন্ত সংক্ষেপে আসছি coming আমি মনে করি জোশ এটি যা পাচ্ছেন - এসওএপি-র টোন বয়লারপ্লিট কোডের প্রয়োজন তবে এটির জন্য আপনি যা পান সেটি ডকুমেন্ট ফর্ম্যাট এবং টাইপ সুরক্ষা সম্পর্কিত একটি দৃশ্যমান এবং প্রয়োগযোগ্য চুক্তি; RESTful API গুলি চুক্তি এবং বয়লারপ্লেটটি ছেড়ে দেয় এবং প্রায়শই যথেষ্ট সহজ দেখায় এটি কিছু যায় আসে না, তবে ... কীভাবে আপনি সংস্থান গাছটিতে হার্ডকোড করবেন না ?
মেটামেট

(আমি HATEOAS যুক্তিটি পেয়েছি, তবে একটি উদাহরণ হিসাবে মার্টিনফোওয়ালার / পার্টিকেলস / ট্রিগার্ডসনম্যাটুরিটি মোডেল এইচটিএমএল ব্যবহার করে - এক্সএমএলকে বিশ্লেষণ করার পরে, যুক্ত লিঙ্কের উপাদানগুলি পৌঁছানোর আগে যথেষ্ট পরিমাণে অর্থবোধক ব্যাখ্যা দরকার আছে) "
হাইপারমিডিয়া

5
আপনি যদি এসওএপি (সমস্ত ডাব্লুএস- * স্টাফ) এর উন্নত বৈশিষ্ট্যগুলি খনন করেন তবে আপনি দ্রুত আবিষ্কার করতে পারবেন যে সরঞ্জামগুলি এগুলি এত ভাল সমর্থন করে না (ইএআই এবং ইএসবি পণ্যগুলি সহ) এবং সেই ফ্রেমওয়ার্কগুলি আলাদাভাবে নির্ভর করে আচরণ করতে পারে (যেমন মেট্রো বনাম সি # ) "" এবং এর মতো সূক্ষ্মতার জন্য null। এবং উত্পন্ন বয়লারপ্লেট কোডটি কেবলমাত্র এসওএপি নিজেই বোঝার কারণটিকে ঘিরে কাজ করে।
rd

40

সরঞ্জাম সরবরাহের দৃষ্টিকোণ থেকে এসওএপি দরকারী কারণ ডাব্লুএসডিএল সহজেই সরঞ্জাম দ্বারা গ্রাস করে। সুতরাং, আপনি আপনার প্রিয় ভাষায় আপনার জন্য উত্পন্ন ওয়েব পরিষেবা ক্লায়েন্ট পেতে পারেন।

REST এজেএক্স'র ওয়েব পৃষ্ঠাগুলির সাথে ভাল খেলছে। আপনি যদি আপনার অনুরোধগুলি সহজ রাখেন তবে আপনি সরাসরি আপনার জাভাস্ক্রিপ্ট থেকে পরিষেবা কল করতে পারেন এবং এটি খুব কার্যকর y আপনার প্রতিক্রিয়া এক্সএমএলে কোনও নাম স্থান থাকার থেকে দূরে থাকার চেষ্টা করুন, আমি ব্রাউজারগুলিকে সেগুলিতে দম বন্ধ করতে দেখেছি। সুতরাং, এক্সসি: টাইপ সম্ভবত আপনার জন্য কাজ করে না, অতিরিক্ত জটিল এক্সএমএল স্কিমাস নেই mas

REST এর পাশাপাশি আরও ভাল পারফরম্যান্স রয়েছে। REST প্রতিক্রিয়া উত্পন্ন কোডের সিপিইউ প্রয়োজনীয়তাগুলি এসওএপি ফ্রেমওয়ার্কগুলি প্রদর্শন করে তার চেয়ে কম থাকে। এবং, যদি আপনার সার্ভারের পাশে আপনার এক্সএমএল প্রজন্মের হাঁসগুলি রেখাযুক্ত থাকে, আপনি কার্যকরভাবে ক্লায়েন্টের কাছে এক্সএমএল প্রবাহিত করতে পারেন। সুতরাং, আপনি ডাটাবেস কার্সারের সারি পড়ছেন তা কল্পনা করুন। আপনি যখন একটি সারিটি পড়েন, আপনি এটি একটি এক্সএমএল উপাদান হিসাবে ফর্ম্যাট করেন এবং আপনি পরিষেবা গ্রাহকের কাছে সরাসরি এটি লেখেন। এইভাবে, আপনার এক্সএমএল আউটপুট লিখতে শুরু করার আগে আপনাকে মেমরিতে সমস্ত ডাটাবেস সারি সংগ্রহ করতে হবে না - আপনি একই সাথে পড়তে এবং লিখতে পারেন। রিস্টের জন্য স্ট্রিমিংয়ের কাজ পেতে নভেল টেম্প্লেটিং ইঞ্জিন বা এক্সএসএলটি দেখুন।

অন্যদিকে এসওএপি সরঞ্জাম দ্বারা উত্পাদিত পরিষেবাদি দ্বারা একটি বড় অঙ্কুর হিসাবে তৈরি হবে এবং কেবলমাত্র তখনই লিখিত হবে। এটি একটি নিখুঁত সত্য নয়, মনে রাখবেন, সংযুক্তি ব্যবহার করে যেমন এসওএপি থেকে স্ট্রিমিং বৈশিষ্ট্যগুলি পাওয়ার উপায় রয়েছে।

আমার সিদ্ধান্ত গ্রহণের প্রক্রিয়াটি নিম্নরূপ: যদি আমি চাই যে আমার পরিষেবাটি গ্রাহকরা সহজেই সহজে চাপিয়ে দিতে পারেন এবং আমি যে বার্তাগুলি লিখি সেগুলি মাঝারি থেকে ছোট-ইশ (10MB বা তার চেয়ে কম) হবে এবং আমি কিছু অতিরিক্ত সিপিইউ পোড়াতে আপত্তি করি না don't সার্ভারে চক্র, আমি এসওএপি দিয়ে যাই। আমার যদি ওয়েব ব্রাউজারগুলিতে এজ্যাক্সে সেবা দেওয়ার দরকার হয় বা আমার স্ট্রিম করার জিনিসটি প্রয়োজন হয় বা আমার প্রতিক্রিয়াগুলি বিশাল হয় তবে আমি বিশ্রামে যাই।

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


29

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

1) একটি এসইএপি পরিষেবা কার্যকর করার চেয়ে একটি আরএসটি পরিষেবা কার্যকর করতে অসীম সময় নেয় longer ডাব্লুএসডিএল এবং আউটপুট প্রক্সি ক্লাস এবং ক্লায়েন্টগুলিতে পড়ার জন্য সমস্ত আধুনিক ভাষা / ফ্রেমওয়ার্ক / প্ল্যাটফর্মের জন্য সরঞ্জাম বিদ্যমান। একটি আরইএসটি পরিষেবা প্রয়োগের কাজটি হাতে হাতে করা হয় এবং - ডকুমেন্টেশন পড়ার মাধ্যমে - এটি পান - তদুপরি, এই দুটি পরিষেবা কার্যকর করার সময়, পাইপ জুড়ে কী আসবে সে সম্পর্কে আপনাকে "অনুমান" করতে হবে কারণ সত্যিকারের স্কিমা বা রেফারেন্স ডকুমেন্ট নেই।

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

3) আমি অভিযোগ শুনেছি যে এসওএপি দিয়ে আপনার কাছে এসওএপি খামের "ওভারহেড" রয়েছে। এই দিন এবং যুগে, আমাদের কি সত্যিই কয়েকটা বাইট সম্পর্কে চিন্তা করা দরকার?

৪) আমি যুক্তিটি শুনেছি যে REST এর সাহায্যে আপনি কেবল ব্রাউজারে ইউআরএল পপ করতে পারেন এবং ডেটা দেখতে পারেন। অবশ্যই, যদি আপনার আরইএসটি পরিষেবাটি সরল বা কোনও প্রমাণীকরণ ব্যবহার করে। উদাহরণস্বরূপ, নেটফ্লিক্স পরিষেবা OAuth ব্যবহার করে যার জন্য আপনার অনুরোধ জমা দেওয়ার আগে আপনাকে জিনিসগুলিতে সাইন ইন করতে এবং জিনিসগুলি এনকোড করা দরকার।

5) প্রতিটি সংস্থার জন্য কেন আমাদের একটি "পঠনযোগ্য" URL দরকার? যদি আমরা পরিষেবাটি বাস্তবায়নের জন্য কোনও সরঞ্জাম ব্যবহার করে থাকি তবে আমরা কি সত্যিকারের ইউআরএলটি সম্পর্কে যত্ন নিই?

আমার কি দরকার?


23
এটি একটি দুর্দান্ত উত্তর তবে সত্যই, আপনি বিশ্রাম কী তা বুঝতে পারেন না। এটি জানতে আপনি এই প্রশ্নের 2 টি সেরা উত্তর পড়তে পারেন। আপনি এগুলি একই ধরণের আর্কিটেকচার হিসাবে তুলনা করছেন, যখন বিশ্রাম কেবল একটি দৃষ্টান্ত। "রেস্তোঁরাার শিষ্টাচার" "পিজ্জা" এর সাথে তুলনা করার মতোই। কাঁটাচুরি এবং ছুরি দিয়ে খাওয়া বা পিজ্জা খাওয়া ভাল? "আমি পিজ্জা নিয়ে যাব" - আপনি বলবেন। এবং প্রথম উত্তর হিসাবে বোঝা যায়, আপনি উভয়ই সহজেই ব্যবহার করতে পারেন - একটি কাঁটাচামচ এবং একটি ছুরি দিয়ে পিজ্জা খান।
বেজম্যাক্স

3
"এই দিন এবং যুগে, আমাদের কি সত্যিই কয়েক মুঠো বাইট নিয়ে চিন্তা করা দরকার?" উম্ম, হ্যাঁ আমরা করি! আমি যেখান থেকে, অনেকগুলি অনলাইন কম্পিউটার গেম খেলতে পারি, তবে ব্লিজার্ডের ওয়ার্ল্ড অফ ওয়ারক্রাফ্ট ডেভেলপাররা আপনার দৃষ্টিভঙ্গির সাবস্ক্রাইব করেছে এবং কখনও কখনও নেটওয়ার্ক ট্র্যাফিককে অনুকূলিত করার জন্য বিরক্ত করেনি, সুতরাং এটিই আমার একমাত্র গেম থেকে ক্রমাগত সংযোগ বিচ্ছিন্ন হয়ে যায়। এত পুরানো গেম হওয়ার জন্য, ওউর খুব ভারী নেটওয়ার্ক ট্র্যাফিক রয়েছে। এটি কোনও দিন এবং বয়সের পক্ষে ভাল নয়, কারণ সর্বদা প্রান্তিক সংযোগ সহ এমন ব্যক্তিরা থাকবেন যেখানে আপনাকে কিছু বিকাশের সময় বাঁচানোর জন্য একটি অপব্যয় পদ্ধতির হাতছাড়া হয়ে যায়।
Tsais

11
সংক্ষেপে, আপনি বলে যাবেন বলে মনে হচ্ছে, "এসওএপি আরও ভাল কারণ এটিতে আপনাকে সহায়তা করার জন্য আরও সরঞ্জাম উপস্থিত রয়েছে"। যদিও এটি একটি বৈধ পয়েন্ট, তবে এর কারণেই আরআরএসটি না লিখে সাবধান হন; হাত দ্বারা এইচটিএমএল কোড করার চেয়ে ডাব্লুওয়াইএসআইওয়াইওয়াইজি সম্পাদকটিতে একটি ওয়েবপৃষ্ঠা তৈরি করা সহজ, তবে এর অর্থ এটি সর্বদা সঠিক উত্তর নয়। আরআরএসটির মান হ'ল এটি 90 এর দশকের গোড়ার দিকে তৈরি এইচটিটিপি অনুমানকে স্বীকৃতি দেয় যা ইতিমধ্যে SOAP আবারও সমস্ত সমস্যার সমাধান করার চেষ্টা করে solved
কিথজগ্রান্ট

উপরে আপনার উত্তর @JoshM সুতরাং "থেকে আপনার প্রশ্নের হিসাবে একই stackoverflow.com/questions/3285704/... "?
মুকুস

@ মুকুস - চার্জ হিসাবে দোষী ...?
জোশ এম

19

আমি লিখি বেশিরভাগ অ্যাপ্লিকেশন হ'ল সার্ভার-সাইড সি # বা জাভা, বা উইনফোর্ডস বা ডাব্লুপিএফ-এ ডেস্কটপ অ্যাপ্লিকেশন। এই অ্যাপ্লিকেশনগুলিতে আরএসটি সরবরাহের চেয়ে আরও সমৃদ্ধ পরিষেবা API প্রয়োজন to এছাড়াও, আমি আমার ওয়েব সার্ভিস ক্লায়েন্ট তৈরি করতে কয়েক মিনিটের বেশি ব্যয় করতে চাই না। ডাব্লুএসডিএল প্রসেসিং ক্লায়েন্ট জেনারেশন সরঞ্জামগুলি আমাকে আমার ক্লায়েন্টটি প্রয়োগ করতে এবং ব্যবসায়িক মান যুক্ত করার দিকে এগিয়ে যেতে দেয়।

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

যা বলেছিল, জাভাস্ক্রিপ্টের জন্য কিছু এসওএপি ক্লায়েন্ট রয়েছে; আমি জানি jQuery এর একটি আছে। সুতরাং, জাভাস্ক্রিপ্ট থেকে এসওএপি ব্যবহার করা যেতে পারে; কেবলমাত্র JSON এর স্ট্রিং ফিরিয়ে দেওয়া একটি রেস্ট সার্ভিসের মতো দুর্দান্ত নয়। সুতরাং যদি আমার কাছে এমন একটি ওয়েব পরিষেবা ছিল যা আমি যথেষ্ট জটিল হতে চাই যে এটি ক্লায়েন্ট প্রযুক্তি এবং ব্যবহারের একটি স্বেচ্ছাসেবী সংখ্যার জন্য নমনীয় ছিল, আমি এসওএপি সহ যাব।


17

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

অন্যরা যেমন এই থ্রেডে বলেছেন, অন্য ডাব্লুএস- * স্পেসিফিকেশন আসে এবং আপনি ডাব্লুএসডিএল, এক্সএসডি, এসওএপি, ডাব্লুএস-অ্যাড্রেসিং ইত্যাদির ভুল অংশগুলিতে বিভ্রান্ত হলে অসংখ্য ইন্টারপ ইস্যু থাকে তখন এসওএপি সমস্যাটি তার জটিলতা is

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

আরআরএসটি-র সাথে যাওয়ার জন্য অন্য দুর্দান্ত উপায়টি হ'ল আপনি কোনও ওয়েব অ্যাপ্লিকেশন এবং একটি REST ফ্রন্ট এন্ডের মধ্যে প্রচুর কোড এবং ইনফ্র্যাট্রাকচার পুনরায় ব্যবহার করতে পারেন। উদাহরণস্বরূপ আপনার সংস্থানগুলির জেএসএন বনাম এক্সএমএল বনাম এক্সএমএল রেন্ডারিং জ্যাকস-আরএসের মতো ফ্রেমওয়ার্ক এবং অন্তর্নিহিত দর্শনগুলির সাথে সাধারণত বেশ সহজ - আরও একটি ওয়েব ব্রাউজার ব্যবহার করে রেস্টস্টুল রিসোর্সগুলির সাথে কাজ করা সহজ plus


1
+1 পুনরায় "বিচারের সর্বোত্তম উপায় ..." একটি ভাল উদাহরণ হ'ল গুগলের জাভাস্ক্রিপ্ট এপিআই। মূলত এসওএপি-তে, তারপরে বিকাশকারীদের অভিযোগের প্রতিক্রিয়া হিসাবে, আরইএসটি-তে পুনরায় চালু করা হয়। গুগল # 1 এপিআইতে পরিণত হওয়ার অল্প অল্প সময়ের মধ্যেই (অনুরোধের নং দ্বারা) - অবাক করে দিয়েছিল যে এটি মানচিত্রের এপিআইকে মারছে তবে স্পষ্টতই এটি করেছে (জেএস এপিআইয়ের শীর্ষস্থানীয় বিকাশকারী অনুসারে)।
ডগ

16

আমি নিশ্চিত যে ডন বাক্স একটি রসিকতা হিসাবে এসওএপি তৈরি করেছে - 'দেখুন আপনি ওয়েবের মাধ্যমে আরপিসি পদ্ধতিগুলি কল করতে পারেন ' এবং আজ যখন বুঝতে পারে যে এটি ওয়েব মানের কী কী ফুলানো দুঃস্বপ্ন হয়েছে :-)

আরএসইএসটি ভাল, সহজ, সর্বত্র প্রয়োগ করা হয়েছে (সুতরাং মানগুলির চেয়ে 'স্ট্যান্ডার্ড' বেশি) দ্রুত এবং সহজ। REST ব্যবহার করুন।


5
"আমি নিশ্চিত ডন বক্স একটি রসিকতা হিসাবে এসওএপি তৈরি করেছে - 'দেখুন আপনি ওয়েবে আরপিসি পদ্ধতিগুলি কল করতে পারেন' সম্ভবত সত্য probably +1
মুকুস

15

আমি মনে করি যে উভয়ের একটি নিজস্ব জায়গা আছে। আমার মতে:

সোপ : ভিত্তি স্তরটিতে লিগ্যাসি / সমালোচনামূলক সিস্টেম এবং একটি ওয়েব / ওয়েব-সার্ভিস সিস্টেমের মধ্যে সংহতকরণের জন্য আরও ভাল পছন্দ, যেখানে ডাব্লুএস- * ইন্দ্রিয়গ্রাহ্য করে (সুরক্ষা, নীতি ইত্যাদি)।

আরামদায়ক : সার্বজনীন এপিআই সহ ওয়েবসাইটগুলির মধ্যে সংহতকরণের জন্য লেয়ারের শীর্ষে (ভিউউ, অর্থাত্, জাভাস্ক্রিপ্টগুলি ইউআরআইতে কল নিচ্ছে) choice


13

একটি জিনিস যা উল্লেখ করা হয়নি তা হ'ল একটি এসওএপি খামে শিরোনামের পাশাপাশি শরীরের অংশ থাকতে পারে। এটি আপনাকে ব্যান্ড তথ্য প্রেরণ এবং আউট পেতে এক্সএমএল এর সম্পূর্ণ অভিব্যক্তি ব্যবহার করতে দেয়। REST, যতদূর আমি জানি, আপনাকে HTTP শিরোনাম এবং ফলাফলের কোডগুলিতে সীমাবদ্ধ করে।

(ওহো, আপনি ব্যান্ড ডেটা থেকে "শিরোনাম"-টাইপ প্রেরণ করতে একটি REST পরিষেবা সহ কুকিজ ব্যবহার করতে পারেন?)


6
সম্ভবত আপনি ভুল কারণ? REST আপনার প্রয়োজনীয় যে কোনও পূর্বনির্ধারিত বা কাস্টম HTTP শিরোনাম এবং অনুরোধের বডি ব্যবহার করতে পারে body
ক্রিস ব্রোস্কি

হয়তো না. আপনি কীভাবে একটি এসওএপি শিরোলেখ তৈরি করতে পারেন দেখুন যা আপনি এইচটিটিপি শিরোনামে রাখতে পারেন। এক লাইন কত দিন হতে পারে?
জন স্যান্ডার্স

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

@ প্রোটনফিশ: আমি বোঝাচ্ছি না যে আপনি HTTP শিরোনামে উল্লেখযোগ্য তথ্য রাখতে পারবেন না। আমি ভাবছিলাম যে আপনি এইচটিটিপি হেডারগুলিতে যতটা তথ্য এসওএপি শিরোলেখগুলিতে স্থাপন করা যেতে পারে। যখন আমি জিজ্ঞাসা করলাম একটি লাইন কতদিন হতে পারে, কারণ আমি উত্তরটি জানতে চেয়েছিলাম।
জন স্যান্ডার্স

@ প্রোটনফিশ: আমিও ভেবেছিলাম যে একদিকে "এক্সএমএল এর সম্পূর্ণ অভিব্যক্তি" এবং অন্যদিকে "এইচটিটিপি শিরোনাম এবং ফলাফল কোড" এর মধ্যে পার্থক্য স্পষ্ট ছিল। আমি সম্ভবত এটি পরিষ্কার হিসাবে না।
জন স্যান্ডার্স

10

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


10

২০১২ রিফ্রেশ হওয়া (দ্বিতীয় অনুগ্রহের দ্বারা) প্রশ্নের উত্তর দেওয়া এবং আজকের ফলাফলগুলি (অন্যান্য উত্তর) পর্যালোচনা করা।


সোপ, উপকারিতা এবং কনস

এসওএপি 1.2 সম্পর্কে, "আরইএসটি" এর সাথে তুলনা করার সময় সুবিধাগুলি এবং ত্রুটিগুলি ... ঠিক আছে, 2007 সাল থেকে আপনি ডাব্লুএসডিএল এর সাথে আরএসটি ওয়েব পরিষেবা বর্ণনা করতে পারেন , এবং এসওএপি প্রোটোকল ব্যবহার করে ... এটি হ'ল আপনি যদি আরও কঠোর পরিশ্রম করেন তবে সমস্ত ডাব্লু 3 সি স্ট্যান্ডার্ড ওয়েব পরিষেবাদি প্রোটোকল স্ট্যাক বিশ্রাম হতে পারে !

এটি একটি সূচনা পয়েন্ট, কারণ আমরা এমন একটি দৃশ্যের কল্পনা করতে পারি যাতে দার্শনিক এবং পদ্ধতিগত আলোচনাগুলি সাময়িকভাবে এড়ানো যায়। আমরা প্রযুক্তিগতভাবে "SOAP-REST" এর সাথে অনুরূপ পরিষেবাদির "NON-SOAP-REST" এর সাথে তুলনা করতে পারি,

  • SOAP-REST (= "REST-SOAP"): এল । ম্যান্ডেলের দেখানো অনুসারে , ডাব্লুএসডিএল 2 একটি আরএসটি ওয়েব সার্ভিস বর্ণনা করতে পারে, এবং আমরা যদি অনুমান করি যে অনুকরণীয় এক্সএমএল এসওএপি তে প্রসারণযোগ্য করা যায় , সমস্ত বাস্তবায়ন "SOAP-REST" হবে ।

  • নন-সোপ-রিস্ট : কোনও REST ওয়েব পরিষেবা যা SOAP হতে পারে না ... এটি সুপরিচিত REST উদাহরণগুলির "90%"। কেউ এক্সএমএল ব্যবহার করেন না (উদাহরণস্বরূপ সাধারণ এজ্যাক্স রিস্টগুলি পরিবর্তে জেএসএন ব্যবহার করে), কেউ এসওএপি শিরোনাম বা নিয়ম ছাড়াই অন্য একটি এক্সএমএল স্ট্রোকচার ব্যবহার করে। PS: অনানুষ্ঠানিকতা এড়ানোর জন্য, আমরা তুলনাগুলিতে REST স্তর 2 টি অনুমান করতে পারি ।

অবশ্যই, আরও ধারণাগতভাবে তুলনা করতে, বিভিন্ন মডেলিংয়ের কাছাকাছি হিসাবে "NON-REST-SOAP" এর সাথে "NON-SOAP-REST" এর সাথে তুলনা করুন। সুতরাং, ওয়েব পরিষেবাদির এই বিভাগটি সমাপ্ত:

  • নন-রিস্ট-সোপ : কোনও এসওএপি ওয়েব সার্ভিস যা রেস্ট করা যায় না ... এটি, সুপরিচিত এসওএপি উদাহরণগুলির "90%"।

  • নন-রেস্ট-নিথার-সোপ : হ্যাঁ, "ওয়েব সার্ভিসেস মডেলিং" এর মহাবিশ্বে অন্যান্য জিনিস রয়েছে (প্রাক্তন এক্সএমএল-আরপিসি )।

বিশ্রামের প্রতি শ্রদ্ধা জানায়

: তুলনীয় কথাই ব্যবহার করছি সাবান বিশ্রাম সঙ্গে অ-সাবান বিশ্রাম

অনুকূল

কিছু শর্ত ব্যাখ্যা করে,

  • চুক্তিবদ্ধ স্থিতিশীলতা : সকল ধরণের চুক্তির জন্য ("লিখিত চুক্তি হিসাবে"),

    • দ্বারা standars ব্যবহার : সব স্তরের W3C এর স্ট্যাকের পারস্পরিক অনুবর্তী হয়। অন্যদিকে, রিস্ট, ডাব্লু 3 সি বা আইএসও মান নয় এবং সেবার পেরিফেরিয়াল সম্পর্কে কোনও আদর্শিক বিবরণ নেই। সুতরাং, যেমন আমি , @ ডেভোয়াল্ডরিচ (২০ টি ভোট), @ সাইনিকালম্যান (৫), @ এক্সিটোস (০) আগে বলেছিলেন, স্ট্যান্ডার্ডগুলির জন্য প্রয়োজন এমন একটি প্রসঙ্গে, আপনার এসওএপি দরকার।

    • সেরা অনুশীলনের ব্যবহার দ্বারা : ডাব্লু 3 সি স্ট্যাক বাস্তবায়নের "ভার্বোস দিক" , প্রাসঙ্গিক মানবিক / আইনী / জুরিডিক চুক্তিগুলি অনুবাদ করে।

  • দৃust়তা : এসওএপি কাঠামো এবং হেডারগুলির সুরক্ষা। মেটাডা যোগাযোগের সাথে (এক্সএমএলের সম্পূর্ণ প্রকাশের সাথে) এবং যাচাইকরণের সাথে আপনার কোনও পরিবর্তন বা গোলমালের বিরুদ্ধে একটি "বীমা পলিসি" রয়েছে।
    সাবান আছে, "লেনদেনের নির্ভরযোগ্যতা (...) যোগাযোগ ব্যর্থতা সঙ্গে চুক্তি। সাবান পুনরায় চেষ্টা যুক্তিবিজ্ঞান প্রায় আরো নিয়ন্ত্রণ এবং এইভাবে আরো এন্ড-টু-এন্ড নির্ভরযোগ্যতা এবং সেবা নিশ্চয়তা প্রদান করতে পারেন" ই Terman

জনপ্রিয়তা অনুসারে বাছাই করা

  • উন্নততর সরঞ্জাম (votes 70 ভোট): 2007 এবং এখনও ২০১২ সাল থেকে এসওএপি-র আরও ভাল সরঞ্জামের সুবিধা রয়েছে কারণ এটি একটি সু-সংজ্ঞায়িত এবং ব্যাপকভাবে স্বীকৃত মান। @ মার্ককিডেড (২ votes টি ভোট), @ ডেভ ওয়াল্ড্রিচ (২০), @ জোশম (১৩), @ ট্র্যাভিসহেসম্যান (৯) দেখুন।

  • স্ট্যান্ডার্ডস কমপ্লায়েন্স (২৫ টি ভোট): যেমন আমি , @ ডেভোয়াল্ডরিচ (২০ টি ভোট), @ সাইক্লিকম্যান (৫), @ এক্সিটোস (০) আগে বলেছিলেন, স্ট্যান্ডার্ডগুলির জন্য প্রয়োজনীয় যেখানে, আপনার এসওএপি দরকার।

  • বলিষ্ঠতার : সাবান শিরোলেখ, @JohnSaunders (8 ভোট) বীমা।

CONS

  • এসওএপি স্ট্রুকিউশন আরও জটিল (300 টিরও বেশি ভোট): এখানে সমস্ত উত্তর এবং "এসওএপি বনাম আরএসইএসটি" সম্পর্কিত উত্সগুলি এসওএপির অপ্রয়োজনীয়তা এবং জটিলতার সাথে কিছুটা অপছন্দ প্রকাশ করে। আনুষ্ঠানিক যাচাইকরণের জন্য (নীচে দেখুন) এবং দৃust়তার জন্য (উপরে দেখুন ) প্রয়োজনীয়তার এটি প্রাকৃতিক পরিণতি । "REST NON-SOAP" (এবং এক্সএমএল-আরপিসি, এসওএপি প্রবর্তক ) আরও সহজ এবং অনানুষ্ঠানিক হতে পারে।

  • ক্ষুদ্রতর পরিষেবাগুলি ব্যবহার করার সময় "কেবলমাত্র এক্সএমএল" সীমাবদ্ধতা একটি পারফরম্যান্স বাধা (acle 50 ভোট): json.org/xML এবং এই প্রশ্নটি দেখুন বা এই অন্যটি দেখুন । এই বিষয়টি @ টলুজু (41) এবং অন্যরা দেখিয়েছেন।
    পিএস: জেএসএন যেমন কোনও আইইটিএফ স্ট্যান্ডার্ড নয় তবে আমরা ওয়েব সফটওয়্যার সম্প্রদায়ের জন্য একটি ডি স্টক স্ট্যান্ডার্ড বিবেচনা করতে পারি ।


এসওএপি সহ মডেলিং পরিষেবাগুলি

এখন, আমরা নন-সোপ-রেজট তুলনা সহ এসওএপি-নন-রিস্ট যুক্ত করতে পারি এবং এসওএপি ব্যবহার করা আরও ভাল কখন তা ব্যাখ্যা করতে পারি :

  • মানক এবং স্থিতিশীল চুক্তির জন্য প্রয়োজন ("পিআরএস" বিভাগ দেখুন)। পিএস: @ সেলেলের দ্বারা বর্ণিত একটি সাধারণ "স্ট্যান্ডার্ডগুলির জন্য বি 2 বি প্রয়োজন" দেখুন ।

  • সরঞ্জামের প্রয়োজন ("পিআরএস" বিভাগ দেখুন)। PS: মানসমূহ এবং আনুষ্ঠানিক যাচাইয়ের অস্তিত্ব (নমুনা দেখুন), সরঞ্জাম অটোমেশনের জন্য গুরুত্বপূর্ণ সমস্যা।

  • সমান্তরাল ভারী প্রক্রিয়াকরণ (নীচে "প্রসঙ্গ / ভিত্তি" বিভাগ দেখুন): আরও বড় এবং / বা ধীর প্রক্রিয়া সহ, এসওএপি-র কিছুটা জটিলতা থাকা উচিত নয়, নির্ভরযোগ্যতা এবং স্থিতিশীলাই সেরা বিনিয়োগ।

  • আরও সুরক্ষার প্রয়োজন : যখন এইচটিটিপিএসের চেয়ে বেশি প্রয়োজন হয় এবং সুরক্ষার জন্য আপনার সত্যিকারের অতিরিক্ত বৈশিষ্ট্য প্রয়োজন তখন এসওএপি একটি ভাল পছন্দ ( @ বেল , 32 ভোট দেখুন)। "অনুরোধ / প্রতিক্রিয়া বা HTTP জড়িত না এমন পরিবহনের চেয়ে আরও জটিল পথে বার্তা পাঠানো", এস সাইলি । এক্সএমএল একটি মূল সমস্যা, এটি এক্সএমএল এনক্রিপশন , এক্সএমএল স্বাক্ষর , এবং এক্সএমএল ক্যানোনিকালাইজেশনের মান সরবরাহ করে এবং কেবল এসওএপি দিয়ে আপনি এই পদ্ধতিগুলি ডাব্লুএস-সুরক্ষা হিসাবে কোনও স্বীকৃত মান দ্বারা কোনও বার্তায় এম্বেড করতে পারেন ।

  • আরও নমনীয়তা প্রয়োজন (কম সীমাবদ্ধতা): এসওএপি-এর কোনও ইউআরআইয়ের সাথে সঠিক চিঠিপত্রের প্রয়োজন নেই; এইচটিটিপিতে সীমাবদ্ধ নয়; 4 ক্রিয়া সীমাবদ্ধ করার প্রয়োজন নেই। যেমন @ ট্র্যাভিসহেসম্যান (৯ টি ভোট) বলেছেন, আপনি যদি "ক্লায়েন্ট প্রযুক্তি এবং ব্যবহারের স্বেচ্ছাসেবী সংখ্যার জন্য কিছু নমনীয়" চান, তবে এসওএপি ব্যবহার করুন।
    পিএস: মনে রাখবেন যে এক্সএমএল জেএসএন (এট আল) এর চেয়ে বেশি সার্বজনীন / ভাবপূর্ণ।

  • প্রয়োজনের আনুষ্ঠানিক যাচাইকরণ : যে বুঝতে গুরুত্বপূর্ণ W3C এর স্ট্যাক ব্যবহার আনুষ্ঠানিক পদ্ধতি এবং অবশিষ্টটি আরো অনানুষ্ঠানিক হয়। আপনার ডাব্লুএসডিএল (একটি আনুষ্ঠানিক ভাষা ) পরিষেবা বিবরণ হ'ল আপনার ওয়েব পরিষেবাদি ইন্টারফেসগুলির একটি আনুষ্ঠানিক স্পেসিফিকেশন এবং এসওএপি একটি শক্তিশালী প্রোটোকল যা সমস্ত সম্ভাব্য ডাব্লুএসডিএল প্রেসক্রিপশন গ্রহণ করে।

প্রেক্ষাপট

ঐতিহাসিক

প্রবণতা মূল্যায়নের জন্য প্রয়োজনীয় historicalতিহাসিক দৃষ্টিভঙ্গি। এই বিষয়টির জন্য, 10 বা 15 বছরের দৃষ্টিভঙ্গি ...

ডাব্লু 3 সি মানীকরণের আগে কিছু অরাজকতা রয়েছে। বিভিন্ন ফ্রেমওয়ার্ক সহ আন্তঃযোগযোগ্য পরিষেবাগুলি কার্যকর করা আরও জটিল, ব্যয়বহুল, এবং কোম্পানির মধ্যে আন্তঃযোগযোগ্য কিছু বাস্তবায়নের জন্য সময় সাপেক্ষ। W3C এর স্ট্যাকের মান একটি হালকা, জটিল ওয়েব সার্ভিস সেট এর আন্তঃক্রিয়াকলাপের জন্য একটি উত্তর হয়েছে।

দিনের পর দিন কাজগুলির জন্য, এজেএক্স বাস্তবায়নের জন্য, এসওএপি ভারী ... তাই, সহজ পদ্ধতির জন্য একটি নতুন তত্ত্ব-কাঠামো নির্বাচন করা প্রয়োজন ... এবং গুগল, অ্যামাজন হিসাবে বড় "ওয়েব সফ্টওয়্যার প্লেয়ার" রয়েছে, ইয়াহু, এট, সেরা বিকল্প নির্বাচিত, এটিই হল রেস্ট পদ্ধতির। এই প্রসঙ্গেই কি আরইএসটি ধারণাটি একটি "প্রতিযোগিতামূলক কাঠামো" হিসাবে উপস্থিত হয়েছিল এবং আজ (২০১২ এর), এই বিকল্পটি প্রোগ্রামারদের জন্য একটি ডি-ফ্যাক্টো স্ট্যান্ডার্ড

ফাউন্ডেশন

সমান্তরাল কম্পিউটিংয়ের প্রসঙ্গে ওয়েব পরিষেবাদি সমান্তরাল সাবটাস্ক সরবরাহ করে; এবং প্রোটোকলগুলি, যেমন এসওএপি, ভাল সিঙ্ক্রোনাইজেশন এবং যোগাযোগ নিশ্চিত করে। "কোনও কাজই নয়": ওয়েব পরিষেবাদিগুলি
মোটা দানাদার এবং বিব্রতকর সমান্তরালতা হিসাবে শ্রেণীবদ্ধ করা যেতে পারে ।

টাস্কটি বড় হওয়ার সাথে সাথে এটি "জটিলতার বিতর্ক" কম হয়ে যায় এবং যোগাযোগের দৃust়তা এবং চুক্তির দৃ solid়তার সাথে আরও প্রাসঙ্গিক হয়ে ওঠে।


আমি মনে করি না এটি কিছু যুক্ত করে। এটি আমার প্রশ্নে মূল প্রশ্ন বা তিনটি প্রশ্নের উত্তর দেয় না: কোন সমস্যার বৈশিষ্ট্যগুলি এসওএপিকে আরও ভাল পছন্দ করে তোলে? SOAP কী সহজ / শক্ত করে তোলে? এসওএপি আপনাকে কী করতে দেয় যা আপনি বিশ্রামের সাথে করতে পারবেন না?
স্যাম হাসলার

সতর্কতার জন্য ধন্যবাদ! ... আচ্ছা আমি কেবলমাত্র একটি "2012 এর আপডেট" (!) চেষ্টা করি যা মূল বিষয়, কারণ "বৈশিষ্ট্যগুলি ... সম্পর্কে আরও সমস্ত যুক্তির পুনরাবৃত্তি করার দরকার নেই ... আরও ভাল পছন্দটি সোপ করুন ... আরও সহজ / শক্ত করুন। .. আরআরএসটি দিয়ে করতে পারে না "। আপনি অন্য উত্তরগুলি দেখতে পাচ্ছেন না? আমার আরও 5 দিন সময় রয়েছে, সম্ভবত আপনার "এমডুঝেসের উত্তর" এর একটি প্রতিদ্বন্দ্বী দেখতে একটি উপসংহার / সংক্ষিপ্তকরণ প্রয়োজন, কেবল এটিই কি? PS: আমি সম্পাদনা পরে এই মন্তব্য মুছে ফেলব।
পিটার ক্রাউস

আমি জানতে চাই যে এসওএপি কোনও কিছুর জন্য কার্যকর কিনা বা আপনার সর্বদা বিশ্রাম ব্যবহার করা উচিত। কেউ যদি বিশ্রামের পরিবর্তে এসওএপি ব্যবহারের জন্য যুক্তিসঙ্গত কারণ পোস্ট করে তবে আমি উত্তরটি অনুগ্রহ করে দেব। যদি কেউ ব্যাখ্যা করতে পারে যে কেন এবং কীভাবে বিশ্রামের সমস্ত কিছু করতে পারে এসওএপি আমি তাদের অনুগ্রহ দিতে পারি। অন্যথায় আমি কোনও উত্তরের জন্য অনুগ্রহ প্রদান করব না, এবং আমি অনুগ্রহটি পোস্ট করেছি এবং আমার প্রশ্নের উত্তর সরবরাহ করা হয়নি তা উল্লেখ করে প্রশ্নের একটি মন্তব্য যুক্ত করব। (যেহেতু আমি মনে করি যা জানা যায়নি তা জেনে রাখা দরকারী))
স্যাম হাসলার

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

"আরইএসটি বনাম জেএসওএন-আরপিসি" তে একই আলোচনার জন্য , স্ট্যাকওভারফ্লো.com
পিটার ক্রাউস

9

এটি nuanced।

চুক্তি, ডাব্লুএসডিএল এবং এসওএপি স্ট্যান্ডার্ডের সাথে থাকা "যাচাইকরণ" এর স্তরগুলির কারণে আপনার যদি আপনার পরিষেবার সাথে অন্য সিস্টেম ইন্টারফেসের দরকার হয় তবে অনেক ক্লায়েন্ট এসওএপি-এর সাথে আরও সুখী হবে।

প্রতিদিনের সিস্টেমে সিস্টেমে কল করার জন্য, আমি মনে করি যে যখন একটি সাধারণ এইচটিএমএল কল করবে তখন এসওএপি অনেক অপ্রয়োজনীয় ওভারহেড।


9

আমি একই দিকে তাকিয়ে আছি, এবং আমার মনে হয়, এগুলি বিভিন্ন সমস্যার জন্য বিভিন্ন সরঞ্জাম

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

প্রতিনিধিত্বমূলক রাষ্ট্র স্থানান্তর (RESTful) ওয়েব পরিষেবাদি। তারা দ্বিতীয় প্রজন্মের ওয়েব পরিষেবাদি। RESTful ওয়েব পরিষেবাদি, এসওএপি-ভিত্তিক পরিষেবার চেয়ে HTTP এর মাধ্যমে যোগাযোগ করে এবং এক্সএমএল বার্তা বা ডাব্লুএসডিএল পরিষেবা-এপিআই সংজ্ঞা প্রয়োজন হয় না। বিশ্রামের জন্য কোনও মিডলওয়্যারের প্রয়োজন নেই কেবল এইচটিটিপি সমর্থন প্রয়োজন W ওয়েল স্ট্যান্ডার্ড, আরএসটি এক্সএমএল, সরল পাঠ্য, জেএসএন, এইচটিএমএল ইত্যাদি ফিরিয়ে দিতে পারে

অনেক ধরণের ক্লায়েন্টদের পক্ষে সার্ভারের দিকটি বিকশিত এবং স্কেল করতে সক্ষম করার সময় RESTful ওয়েব পরিষেবাদি ব্যবহার করা সহজ। ক্লায়েন্টরা পরিষেবার কিছু বা সমস্ত দিক গ্রাস করতে এবং অন্যান্য ওয়েব-ভিত্তিক পরিষেবাদির সাথে এটি ম্যাসেজ করতে বেছে নিতে পারে।

  1. আরআরইএসটি স্ট্যান্ডার্ড এইচটিটিপি ব্যবহার করে তাই এটি সহজে ক্লায়েন্ট তৈরি করা, এপিআই বিকাশ করা
  2. আরএসইএসটি এক্সএমএল, প্লেইন টেক্সট, জেএসএন, এইচটিএমএল, যেমন এসওএপি হিসাবে কেবলমাত্র এক্সএমএলকে অনুমতি দেয় এমন অনেকগুলি বিভিন্ন ডেটা ফর্ম্যাটকে অনুমতি দেয়।
  3. REST এর আরও ভাল পারফরম্যান্স এবং স্কেলাবিলিটি রয়েছে।
  4. বিশ্রাম করুন এবং ক্যাশে যাবে এবং এসওএপি পারে না
  5. অন্তর্নির্মিত ত্রুটি হ্যান্ডলিং যেখানে SOAP- এর কোনও ত্রুটি হ্যান্ডলিং নেই
  6. REST বিশেষত দরকারী PDA এবং অন্যান্য মোবাইল ডিভাইস।

REST হ'ল পরিষেবাগুলি বিদ্যমান ওয়েবসাইটগুলির সাথে সংহত করা সহজ।

এসওএপিতে প্রোটোকলগুলির সেট রয়েছে, যা সুরক্ষা এবং নির্ভরযোগ্যতার জন্য অন্যান্য জিনিসের সাথে মান সরবরাহ করে এবং অন্যান্য ডাব্লুএস এর সাথে সঙ্গতিপূর্ণ ক্লায়েন্ট এবং সার্ভারগুলির সাথে আন্তঃসংযোগ দেয়। এসওএপি ওয়েব পরিষেবাদি (যেমন জ্যাকস-ডাব্লুএস) অ্যাসিক্রোনাস প্রসেসিং এবং অনুরোধ পরিচালনার ক্ষেত্রে কার্যকর।

কমপ্লেক্সের জন্য এপিআই এর এসওএপি আরও দরকারী।


8

আরইএসটি হ'ল রয় ফিল্ডিং উদ্ভাবিত একটি আর্কিটেকচার যা তাঁর গবেষণামূলক আর্কিটেকচারাল স্টাইল এবং নেটওয়ার্ক-ভিত্তিক সফ্টওয়্যার আর্কিটেকচারের ডিজাইনে বর্ণনা করেছেন । রায় হ'ল এইচটিটিপি - মূল লেখক - প্রোটোকল যা ওয়ার্ল্ড ওয়াইড ওয়েবে নথি স্থানান্তরকে সংজ্ঞায়িত করে। HTTP একটি RESTful প্রোটোকল। বিকাশকারীরা যখন "আরএসটি ওয়েব পরিষেবা ব্যবহার" সম্পর্কে কথা বলেন তখন সম্ভবত "HTTP ব্যবহার করে" বলা আরও সঠিক হয় accurate

এসওএপি হ'ল একটি এক্সএমএল-ভিত্তিক প্রোটোকল যা এইচটিটিপি অনুরোধ / প্রতিক্রিয়াটির ভিতরে সুড়ঙ্গ হয়, তাই আপনি এসওএপি ব্যবহার করেও, আপনি আরএসটিও ব্যবহার করছেন। এসওএপি বেসিক এইচটিটিপিতে কোনও উল্লেখযোগ্য কার্যকারিতা যুক্ত করে কিনা তা নিয়ে কিছুটা বিতর্ক রয়েছে।

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


7

আমি একই বিষয় তাকিয়ে আছি। আমার কাছে দেখে মনে হচ্ছে যে হালকা হালকা কল এবং প্রতিক্রিয়াগুলির জন্য REST দ্রুত এবং সহজ এবং ডিবাগিংয়ের জন্য দুর্দান্ত (কোনও ব্রাউজারে URL টি পাম্প করা এবং প্রতিক্রিয়া দেখার চেয়ে ভাল আর কী হতে পারে)।

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

এসওএপিটির সৌন্দর্য হ'ল একবার ডাব্লুএসডিএল জারি করা হলে ব্যবসায় তাদের 'লজিক অরুনডকে কাঠামোগত করতে পারে যা ইন্টারফেসে কোনও পরিবর্তনকে ডাব্লুএসডিএল পরিবর্তন করবে। মানুভের জন্য কোনও জায়গা নেই। আপনি সেই ডাব্লুএসডিএলের বিরুদ্ধে সমস্ত অনুরোধ বৈধ করতে পারেন। তবে যেহেতু ডাব্লুএসডিএল একটি আরইএসটি পরিষেবা সঠিকভাবে বর্ণনা না করে তারপরে আপনার যোগাযোগের জন্য ইন্টারফেসে সম্মত হওয়ার কোনও নির্ধারিত উপায় নেই।

ব্যবসায়ের দৃষ্টিকোণ থেকে এটি ব্যাখ্যা এবং পরিবর্তনের জন্য যোগাযোগকে উন্মুক্ত বলে মনে হয় যা খারাপ ধারণা বলে মনে হয়।

এই থ্রেডের শীর্ষ 'উত্তর' বলে মনে হচ্ছে যে এসওএপি সিম্পল অবজেক্ট-ওরিয়েন্টেড অ্যাক্সেস প্রোটোকলকে বোঝায়, তবে উইকের দিকে তাকানো ওটির অর্থ অবজেক্ট-ওরিয়েন্টেড নয় অবজেক্ট। তারা বিভিন্ন জিনিস।

আমি জানি এই পোস্টটি খুব পুরানো তবে ভেবেছিলাম আমার নিজের অনুসন্ধানের সাথে সাড়া দেওয়া উচিত।


6

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

অন্যেরা কী ভাবেন সে সম্পর্কে আমি আগ্রহী।



6

আমার সাধারণ নিয়মটি হ'ল আপনি যদি কোনও ব্রাউজার ওয়েব ক্লায়েন্টকে সরাসরি কোনও পরিষেবার সাথে সংযোগ স্থাপন করতে চান তবে আপনার সম্ভবত REST ব্যবহার করা উচিত। আপনি যদি ব্যাক-এন্ড পরিষেবার মধ্যে কাঠামোগত ডেটা পাস করতে চান তবে এসওএপি ব্যবহার করুন।

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

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

এটি একরকম দুঃখজনক, কারণ এটি সত্যই এসওএপিটিকে একটি খারাপ খ্যাতি দেয় কারণ চূড়ান্ত পণ্যটি কীভাবে ব্যবহৃত হয় তার পুরো প্রসঙ্গে উপস্থাপন না করে এসওএপি এর সুবিধাগুলি প্রদর্শন করা কঠিন।


4

এসওএপি ওয়েব পরিষেবাদিগুলিতে পরিষেবা-ভিত্তিক দৃষ্টিভঙ্গি তৈরি করে - একটি পদ্ধতি যা (বা ক্রিয়াগুলি) আপনি পরিষেবার সাথে ইন্টারঅ্যাক্ট করার প্রাথমিক উপায়। REST একটি সংস্থান-ভিত্তিক দৃষ্টিভঙ্গি গ্রহণ করে যেখানে বস্তু (বা বিশেষ্য) কেন্দ্রের পর্যায়ে নেয়।


(সি) আইবিএম আইবিএম / ডেভেলপ ওয়ার্কস

4

"পিএইচপি-মহাবিশ্ব" অর্থে কোনও উন্নত এসওএপি জন্য পিএইচপি সমর্থন বড় সময় চুষে দেয়। আপনি প্রাথমিক প্রয়োজনগুলি পেরিয়ে যাওয়ার সাথে সাথে http://wso2.com/products/web-services-framework/php/ এর মতো কিছু ব্যবহার করে শেষ করবেন , এমনকি ডাব্লুএস-সুরক্ষা বা ডাব্লুএস-আরএম কোনও ইনবিল্ট সমর্থন সক্ষম করার জন্য।

এসওএপি খামের তৈরিটি আমি পিএইচপি-তে খুব অগোছালো বলে মনে করি, এটি নেমস্পেসগুলি যেভাবে তৈরি করে, এক্সএসডি: নীল, এক্সএসডি: যে কোনও টাইপ এবং পুরাতন স্টাইলযুক্ত সাবান পরিষেবাগুলি যা এসওএপি এনকোডিং ব্যবহার করে (knowsশ্বর জানেন যে কীভাবে আলাদা) এসওএপি বার্তাগুলিতে।

REST এ আটকে এই সমস্ত জগাখিচুড়ি এড়িয়ে চলুন, ডাব্লুডাব্লুডাব্লু শুরু হওয়ার পরে আমরা এটিকে সত্যিই বড় ব্যবহার করি না। আমরা কেবল তখন উপলব্ধি করতে পেরেছিলাম যখন এই http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm কাগজটি প্রকাশিত হয়েছিল এটি দেখায় যে কীভাবে আমরা আরএসটিএফএল পরিষেবাগুলি প্রয়োগ করতে এইচটিটিপি ক্ষমতা ব্যবহার করতে পারি। এইচটিটিপি সহজাতভাবেই রেস্ট, তার মানে এই নয় যে এইচটিটিপি ব্যবহার করা আপনার পরিষেবাদিগুলিকে আরএসএসএফুল করে তোলে ul

এসওএপি এইচটিটিপি এর মূল ক্ষমতাগুলিকে অবহেলা করে এবং এইচটিটিপিকে ঠিক একটি পরিবহণ প্রোটোকল হিসাবে বিবেচনা করে, সুতরাং এটি তত্ত্বের ভিত্তিতে ট্রান্সপোর্ট প্রোটোকল (বাস্তবে এটি সওপ অ্যাকশন শিরোনামের কথা শুনেনি? এখন গুগল না হলে!)!

JSON অ্যাডাপশন ক্রমবর্ধমান এবং জাভাস্ক্রিপ্টের সাথে HTML5 জেএসএনের সাথে REST পরিপক্ক হওয়ার সাথে সাথে পরিষেবাগুলির সাথে ডিল করার সর্বাধিক সাধারণ উপায় হয়ে উঠেছে। জেএসএন স্কিমাটি সংজ্ঞায়িত করা হয়েছে যে প্রয়োজনে WADL এর সাথে এন্টারপ্রাইজ স্তর সমাধান (এখনও প্রাথমিক পর্যায়ে) সমাধানের জন্য ব্যবহার করা যেতে পারে।

আরইএসটি এবং জেএসওনের জন্য পিএইচপি সমর্থন বিদ্যমান ইনবিল্ট এসওএপি সমর্থনের চেয়ে এটি অবশ্যই ভাল।

এখানে আরও কয়েকটি BUZZ শব্দ যুক্ত করা হচ্ছে এসওএ, ডাব্লুওএ, আরওএ

http://blog.dhananjaynene.com/2009/06/rest-soa-woa-or-roa/

http://www.scribd.com/doc/15657444/REST-White-Paper

বিশেষ করে ডাব্লুএস-সিকিউরিটি স্পেকের জন্য আমি এসওএপি পছন্দ করি না কেন, এটি একটি দুর্দান্ত অনুমান এবং যদি কেউ এন্টারপ্রাইজ জেএসওএন অ্যাডাপ্টনে অবশ্যই চিন্তা করে জেএসএনের অনুরূপ কিছু নিয়ে আসে, যেমন ক্ষেত্রের স্তর এনক্রিপশন ইত্যাদি।


3

একটি দ্রুত পয়েন্ট - সংক্রমণ প্রোটোকল এবং অর্কেস্টেশন;

অর্কেস্ট্রেটেড মেশিন টু মেশিন সার্ভিসেস এবং বহিরাগত পরিষেবাদি সহ গতি, নির্ভরযোগ্যতা এবং সুরক্ষার কারণে আমি TCP ওভার টিওসিপি ব্যবহার করি। পরিষেবা সংজ্ঞা পরিবর্তন করুন, অর্কেস্ট্রেশন ডাব্লুএসডিএল পরিবর্তন থেকে ত্রুটি উত্থাপন করে এবং এটি অবিলম্বে সুস্পষ্ট এবং পুনর্নির্মাণ / স্থাপন করা যেতে পারে।

আপনি রেস্ট সহ একই কাজটি করতে পারবেন তা নিশ্চিত নন - আমি সংশোধন বা কোর্সের অপেক্ষা করছি! REST সহ, পরিষেবার সংজ্ঞাটি পরিবর্তন করুন - 400 বা (যা কিছু) ফেরত না পাওয়া পর্যন্ত এ সম্পর্কে কিছুই জানে না।


2

আপনি যদি বিভিন্ন সিস্টেম এবং ভাষার মধ্যে আন্তঃক্ষমতা আবিষ্কার করেন তবে আমি অবশ্যই বিশ্রাম নেব। NET এবং জাভার মধ্যে SOAP কাজ করার চেষ্টা করার সময় আমার অনেক সমস্যা হয়েছিল।


2

এর মধ্যে কোনটি দ্রুত হয় তা অনুসন্ধান করার জন্য আমি একটি মানদণ্ড তৈরি করি! আমি এই ফলাফলটি দেখতে পাচ্ছি:

1000 অনুরোধের জন্য:

  • REST 3 সেকেন্ড সময় নিয়েছে
  • এসওএপি second সেকেন্ড নিয়েছিল

10,000 অনুরোধের জন্য:

  • REST ৩৩ সেকেন্ড নিয়েছিল
  • এসওএপি 69 সেকেন্ড নিয়েছিল

1,000,000 অনুরোধের জন্য:

  • REST 62 সেকেন্ড সময় নিয়েছে took
  • এসওএপি 114 সেকেন্ড নিয়েছিল

0

একটি পুরানো প্রশ্ন তবে আজও প্রাসঙ্গিক .... এন্টারপ্রাইজ স্পেসে এতগুলি বিকাশকারী এখনও এটি ব্যবহার করছেন।

আমার কাজের মধ্যে আইওটি (ইন্টারনেট অফ থিংস) সমাধানগুলি ডিজাইন করা এবং বিকাশ করা রয়েছে। এতে মেঘের সাথে যোগাযোগ করা ছোট এমবেডড ডিভাইসগুলির জন্য বিকাশকারী কোড অন্তর্ভুক্ত রয়েছে।

এটি স্পষ্ট যে আরআরইএসটি এখন ব্যাপকভাবে গৃহীত এবং দরকারী এবং ওয়েবে মস্তিষ্কের এমনকি মাইক্রোসফ্টকেও আস্তুরের জুড়েই রেসট সমর্থন রয়েছে support আমার যদি এসওএপি-র উপর নির্ভর করার দরকার হয় তবে আমি যা করতে হবে তা করতে পারিনি, যেমন ছোট এমবেডেড ডিভাইসের জন্য খুব বড়, ভারী এবং বিরক্তিকর।

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


0

আমার অভিজ্ঞতা থেকে। আমি বলব REST আপনাকে ইতিমধ্যে নির্মিত URL টি অ্যাক্সেসের বিকল্প দেয়। যেমন-> গুগলে একটি শব্দ অনুসন্ধান। এই ইউআরএলটি আরএসটি-র জন্য ওয়েব-সার্ভিস হিসাবে ব্যবহার করা যেতে পারে। SOAP এ, আপনি নিজের ওয়েব পরিষেবা তৈরি করতে এবং এসওএপি ক্লায়েন্টের মাধ্যমে এটি অ্যাক্সেস করতে পারেন।

  1. REST পাঠ্য, JSON, XML ফর্ম্যাটটিকে সমর্থন করে। সুতরাং দুটি অ্যাপ্লিকেশন মধ্যে যোগাযোগের জন্য আরও বহুমুখী। যদিও SOAP বার্তা যোগাযোগের জন্য কেবল এক্সএমএল ফর্ম্যাটকে সমর্থন করে।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.