ডাব্লুএসডিএল বনাম রিস্ট প্রসেস এবং কনস


108

সম্পর্কিত:

কেন ওয়েব সার্ভিসের পরিবর্তে একজন আরএসটি ব্যবহার করবে?

SOAP বা REST (যার মাধ্যমে আমি HTTP / এক্সএমএলকে একটি বিশ্রামিত পদ্ধতিতে বোঝাতে চাইছি) ব্যবহার করে কোনও ওয়েব পরিষেবা বাস্তবায়িত করব কিনা তা সিদ্ধান্ত নেওয়ার সময় আমার কী সম্পর্কে সচেতন হওয়া উচিত এবং আমার কী চিন্তা করা উচিত? আমি অনুমান করি যে এটি একটি আকারের সব কিছু ফিট করে না তাই আমি কোনটি ব্যবহার করব তা কীভাবে বেছে নেব।


এই প্রশ্নেরও কিছু সহায়ক উত্তর থাকতে পারে: স্ট্যাকওভারফ্লো.com
রব হুরস্কা

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

CodeToGlory ঠিক আছে। প্রকৃতপক্ষে, মাইক্রোসফ্টের ডাব্লুসিএফ বিশেষত ডিজাইন করা হয়েছিল যে কোনও পরিবহন মাধ্যমের উপর এসওএপি তৈরির জন্য একটি কনফিগার ফাইলে একটি মূল্য হিসাবে সহজ।
ট্র্যাভিস হেসিমান

উত্তর:


111

দুটি প্রোটোকলের বাস্তব বিশ্বে খুব আলাদা ব্যবহার রয়েছে।

এসওএপি (ডাব্লুএসডিএল ব্যবহার করে) একটি ভারী ওজনের এক্সএমএল স্ট্যান্ডার্ড যা ডকুমেন্ট পাসিংয়ের চারপাশে কেন্দ্রিক। এর সাথে সুবিধাটি হ'ল আপনার অনুরোধ এবং প্রতিক্রিয়াগুলি খুব ভাল কাঠামোগত হতে পারে এবং এটি একটি ডিটিডিও ব্যবহার করতে পারে। খারাপ দিকটি এটি এক্সএমএল, এবং খুব ভার্জোজ ose যাইহোক, এটি ভাল যদি দুটি পক্ষের একটি কড়া চুক্তি হওয়া দরকার (আন্তঃব্যাংক যোগাযোগের জন্য বলুন)। SOAP আপনাকে আপনার ডকুমেন্টগুলিতে WS- সুরক্ষার মতো জিনিসগুলি স্তর করতে দেয়। এসওএপি সাধারণত পরিবহন-অজগনীয়, যার অর্থ আপনার এইচটিটিপি ব্যবহার করার প্রয়োজন হয় না।

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

সাধারণত আমি রেস্ট ব্যবহার করি, কারণ আমার অভিনব WS- * বৈশিষ্ট্যগুলির প্রয়োজন নেই। আপনি যদি ডাব্লুএসডিএল ব্যবহার করে কম্পিউটারগুলি আপনার ওয়েব পরিষেবাটি বুঝতে চান তবে সোপটি ভাল। REST স্পেসিফিকেশনগুলি কেবলমাত্র মানব-পঠনযোগ্য।


5
@ জনসৌন্দরস নথি না থাকলে কেন খাম রয়েছে? আমি মনে করি না যে আমি বলেছিলাম একটি ডিটিডি এসওএপির একটি অনন্য বৈশিষ্ট্য। আমি আজকের দিনে সত্যই বিতর্কের মুডে নেই, দুঃখিত। প্রায় 3 বছর আগে থেকে আপনার প্রশ্নের উত্তরটি পুনরায় পড়ুন। আমি মনে করি না যে ভারী ওজন অগত্যা একটি খারাপ জিনিস, কখনও কখনও আপনি হলিফিল্ড চান তবে অন্য সময় প্যাকুইয়াও কাজটি সম্পন্ন করে। এটিকে ভুল উপায়ে নেবেন না, এবং ব্যক্তিগত কিছুই নয় :)
কেকোয়া

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

2
@ জনসৌন্দরস কোনও সমস্যা দিন আপনার সুন্দর কাটেনি!
কেকোয়া

2
আরওএসপি, এসওএপি-র মতো, প্রোটোকল স্বাধীন। এটি HTTP- র উপর নির্ভর করে না যদিও এটি সেভাবেই সাধারণত ব্যবহৃত হয়। আমি মনে করি যে একটি গুরুত্বপূর্ণ সত্য যা প্রায়শই নিঃশব্দে চলে যায় তা হ'ল এসওএপি বনাম আরআরইএসটি একটি ডাব্লু 3 সি স্ট্যান্ডার্ড প্রোটোকলটিকে একটি স্বচ্ছভাবে সংজ্ঞায়িত বাস্তববাদী স্থাপত্য বিন্যাসের সাথে তুলনা করে।
জোয়েলমদেব

1
@ jm2 আমি এইচটিটিপি-র বাইরে কখনও বিশ্রাম ব্যবহার করতে দেখিনি। আমি ক্রিয়াপদগুলি কীভাবে GET / POST / PUT / DELETE / ইত্যাদি ক্রিয়াকলাপগুলি দেখতে আগ্রহী তা জানতে আগ্রহী হবে। এইচটিটিপি ছাড়াই বিশ্রামে "প্রোটোকল" এ কাজ করুন। লিঙ্ক করবেন?
কেকোয়া

33

নিম্নলিখিত লিঙ্কগুলি ডাব্লুএসডিএল বনাম আরএসইএস সম্পর্কিত পেশাদার এবং কনস সম্পর্কে দরকারী তথ্য সরবরাহ করে

কয়েকটি মূল বিষয় হ'ল

1) এসওএপি একটি বিতরণ করা কম্পিউটিং পরিবেশের জন্য ডিজাইন করা হয়েছিল যেখানে REST হিসাবে পয়েন্ট টু পয়েন্ট পরিবেশের জন্য ডিজাইন করা হয়েছিল।

2) আরএইডিএসটি পরিষেবার জন্য ইন্টারফেস সংজ্ঞায়িত করতে WADL ব্যবহার করা যেতে পারে।

http://www.ajaxonomy.com/2008/xML/web-services-part-1-soap-vs-rest
http://ajaxonomy.com/2008/xML/web-services-part-2-wsdl-and -wadl


3
আরআরটি বিতরণকৃত সিস্টেমগুলির জন্য ডিজাইন করা হয়েছিল: "[...] বিতরণ হাইপারমিডিয়া সিস্টেমগুলির জন্য প্রতিনিধিত্বমূলক স্টেট ট্রান্সফার (আরইএসটি) আর্কিটেকচারাল স্টাইল [...]" (ফিল্ডিং, 2000) ics.uci.edu/~fielding/pubs/dissertation/ রেস্ট_আর_স্টাইল এইচটিএম
থমাস আইজিংগার

19

"ভারী ওজন" হওয়ায় ডাব্লুএসডিএল (যার অর্থ "এসওএপি") সম্পর্কিত। ভারী ব্যাপার কীভাবে? যদি সরঞ্জামসেটটি আপনার জন্য সমস্ত "ভারী উত্তোলন" করছে তবে তা কেন ব্যাপার?

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

এমনকি এটি শেষ হয়ে গেলেও, আপনি এখনও মানব-পঠনযোগ্য ডকুমেন্টেশনগুলিকে কোডে অনুবাদ করবেন, এতে উপস্থিত সমস্ত ঝুঁকি রয়েছে যে মানুষেরা এটি ভুলভাবে পড়েছে। যেহেতু ডাব্লুএসডিএল পরিষেবাটির একটি মেশিন-পঠনযোগ্য বর্ণনা, তাই "এটি ভুলভাবে পড়তে" এটি আরও শক্ত।


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


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

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

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

3
"সংখ্যার সাথে সেটিকে ফিরে দিন" - ক্লাসিক ফ্লেবেবাইট it আমি উভয়ের ভক্ত, তবে একটিও এক-আকারের-ফিট নয় fits
কেকোয়া

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

15

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

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

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

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

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

যাইহোক, এগুলি উভয়ই কার্যকর প্রযুক্তি এবং আপনি প্রদত্ত অ্যাপ্লিকেশনটির জন্য কী ট্রেড অফগুলি তৈরি করতে চান তার উপর নির্ভর করে তারা আপনাকে ভাল (বা খারাপভাবে) পরিবেশন করতে পারে।


5

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

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


জাভা এবং .NET এর বাইরে দুর্বল সরঞ্জাম সহায়তার কোনও বৈধ কারণ আছে কি? ডাব্লুএসডিএল ফাইল থেকে এমন কিছু অনুপস্থিত রয়েছে যা বলে, কোনও রুবি প্রক্সি তৈরি হতে বাধা দেয়?
জন স্যান্ডার্স 21

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

4

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

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

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

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


1
এটি আর বিশ্রাম হবে না?
স্টিভেন শ

3

সোপ : এটি এসএমটিপি এর মাধ্যমেও পরিবহন করা যায়, এর অর্থ আমরা ইমেল সাধারণ পাঠ্য বিন্যাসটিও ব্যবহার করে পরিষেবাটি চালু করতে পারি

এটি অতিরিক্ত ফ্রেমওয়ার্ক প্রয়োজন / ইঞ্জিনটি ওয়েব পরিষেবা ভোক্তা মেশিনে থাকা উচিত এসওএপি বার্তাটি বিভিন্ন ভাষায় স্ব স্ব বস্তুর কাঠামোতে রূপান্তর করতে।

বিশ্রাম : এখন WSDL2.0 সমর্থন এছাড়াও বিশ্রাম ওয়েব পরিষেবা বর্ণনা করতে

আপনি যখন আপনার পরিষেবাটিকে লাইটওয়েট হিসাবে তৈরি করতে চান, যেমন সেল ফোন, পিডিএ ইত্যাদি মোবাইল ডিভাইসগুলি থেকে কল করা উদাহরণস্বরূপ আমরা ব্যবহার করতে পারি ...


এটি আনার জন্য ধন্যবাদ, জেনিথ। কেউ এটিকে আনতে চায় বলে মনে হয় না। ডাব্লুএসডিএলকে বর্ণনা সহ করতে হবে। REST একটি দৃষ্টান্ত। অন্যদের জন্য: দয়া করে আইবিএম / ডেভেলপ ওয়ার্কস / ওয়েবেসর্সেসস / লাইবারি / ওয়েস -আর্টসডএসএল এর ভূমিকা দেখুন । আসল প্রশ্নটি, এর মাধ্যমে (তার প্রবেশের তারিখ বিবেচনা করে) দেখায় যে প্রশ্নের শিরোনামটি খারাপভাবে বেছে নেওয়া হয়েছে (সম্ভবত ডাব্লুএসডিএল ১.০ মনে আছে)।
সনি

3

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

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

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

এন্টারপ্রাইজ অ্যাপ্লিকেশনগুলির জন্য আমি মনে করি না যে REST পর্যাপ্ত কারণ লেনদেন, সুরক্ষা, কঠোর টাইপিং, স্কিমাস এন্টারপ্রাইজ অ্যাপ্লিকেশন বিকাশে খুব গুরুত্বপূর্ণ ভূমিকা রাখে এজন্য তাদের জন্য এসওএপি আরও উপযুক্ত।

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

আমার অদক্ষ ইংরেজির জন্য আমি দুঃখিত.


2

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


1

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

আপনার যদি একটি বাছাই করা প্রয়োজন, আমি বিশ্রামের পরামর্শ দিই, এটি আরও সহজ।


1

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

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

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

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


-1: এটি আসলে প্রশ্নের উত্তর দেয় না। এটি "কেন আমি অন্যের চেয়ে একটি বেছে নেব" সম্পর্কে খুব কম বা কিছুই বলেছে
জন স্যান্ডার্স

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

0

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

বিশ্রাম আপনাকে বেশিরভাগ ক্ষেত্রে HTTP- এ সীমাবদ্ধ করে (যা বেশিরভাগ ক্ষেত্রে ভাল fine


0

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

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

এসওএপি ব্যবসায় স্বাধীন, কারণ এতে নথিতে এমবেড থাকা সমস্ত ডেটা বিধি রয়েছে।

এসওএপি এবং আরএসইএসের মধ্যে পার্থক্য হ'ল এসওএপি একটি স্বনির্ভর ব্যবসায়িক ভিত্তিক স্কিমা। REST একটি পাঠ্য দলিল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.