এসওএপি-র বর্তমান সময়ের তাত্পর্যটি কী


51

সর্বশেষে আমি একটি এসওএপি ভিত্তিক পরিষেবাটি মুখোমুখি হয়েছিলাম ২০১৩ সালে একটি আর্থিক সংস্থায় আমার ইন্টার্নশিপ চলাকালীন That এই সময়টি ছিল যখন আমি আইটিতে আমার কেরিয়ার শুরু করি। আমার মনে আছে আমার ইঞ্জিনিয়ারিং কোর্সের একটিতে এসওএপি সম্পর্কে কিছু অধ্যয়নের উপাদান রয়েছে। এর বাইরেও আমি আমার ক্যারিয়ারের সময় এসওএপি বেশি ব্যবহার করি নি।

আমার সাম্প্রতিক একটি সাক্ষাত্কারে "SOAP এবং REST এর মধ্যে পার্থক্য" প্রশ্নটি আসার পরে আমি এটি জিজ্ঞাসা করছি। আমি যা জানি (এবং আমি গুগলে যা পেয়েছি) থেকে এসওএপি হ'ল একটি প্রোটোকল যা ক্লায়েন্ট এবং সার্ভারের মধ্যে তথ্যের বিনিময়ের জন্য টান সংযোগের সাথে ব্যবসায়ের যুক্তির সাথে ঘনিষ্ঠভাবে সম্পর্কিত। যেখানে আরএসটি হ'ল ডেটা স্থানান্তরের জন্য আরও নমনীয় স্টেটলেস আর্কিটেকচার।

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




14
@ গ্যাनेट: এটির মূল্য কী, তার জন্য এই দুটি প্রশ্নের উত্তরই সব ভয়ানক।
রবার্ট হার্ভে

7
আপনি কি আসলেই কোনও রেস্ট স্টোরটি দেখেছেন? আমি যা দেখি সেগুলি হ'ল "ওয়েব পরিষেবাদি যা শেষ পর্যন্ত এইচটিটিপি ক্রিয়াগুলির অর্থ কী তা শিখেছিল"। কেন আমরা হঠাৎ এইচটিটিপিআরএসটি কল করছি?
লুয়ান

8
@ লুয়ান: এটি সম্পর্কে হঠাৎ কিছুই নেই; লোকেরা বছরের পর বছর ধরে "REST" শব্দটি ব্যবহার করে আসছে।
মনিকা

উত্তর:


58

REST প্রকৃতপক্ষে একটি স্থাপত্য শৈলী। এসওএপি একটি ডেটা প্রোটোকল। পার্থক্য গুরুত্বপূর্ণ; আপনি তাদের সরাসরি তুলনা করতে পারবেন না।

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

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

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

তবে এর কোনওটিরই আরইএসইএসটির সাথে খুব একটা করার নেই, সত্যই।

আরও পড়া
কি এসওএপি এর চেয়ে ভাল? (ভাল নিবন্ধ, এমনকি এটি ভুলভাবে একটি প্রোটোকল কল করে)।
রিচার্ডসন পরিপক্কতা মডেল


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

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

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

6
@ পলওয়াসিলেউস্কি: হ্যাঁ, আমি যা বলেছিলাম। কথায় ঝুলবেন না। প্রত্যেকে জেএসএন ব্যবহার করার একটি কারণ রয়েছে; এটি একটি মান। এটি ব্যবহার করা গ্যারান্টি দেয় যে আপনি এমন কিছু ব্যবহার করছেন যা অন্যের কাছে স্বীকৃত।
রবার্ট হার্ভে

3
@ রবার্টহারভে, না আপনি যা লিখেছেন এটি তা নয় যা আপনি সম্ভবত এটি বোঝাতে চেয়েছিলেন। জেএসওএন স্ট্যান্ডার্ড তাই কি? সিএসভি, প্রটোকল বাফারস, বিএসওএনকে অনেকগুলি অন্যান্য যেমন মানক করা হয়েছে। সুতরাং যে কারণে সবাই জেএসএন ব্যবহার করছে তা বহুগুণ। এবং এমনও কিছু আছেন যারা
জেএসএন

29

আরওএসটি এসওএপি থেকে অনেক বেশি সীমাবদ্ধ যা এটির শক্তি এবং এর জনপ্রিয়তার কারণ।

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

REST + JSON বিশেষত সরলতার কারণে জনপ্রিয়তা অর্জন করেছে। এটি সীমিত ডাটা টাইপের একটি সীমিত সংখ্যক ক্রিয়াকলাপকে সংজ্ঞায়িত করে, যাতে এআইপি ডিজাইনার সাবধানতার সাথে এই সীমাবদ্ধ শব্দভাণ্ডারের মধ্যে ফিট করে এমন বিমূর্ততাগুলি ডিজাইনের প্রয়োজন এবং ব্যবসায় ডোমেনকে আরএসটি সংস্থাগুলিতে ম্যাপিংয়ের মাধ্যমে সত্যই ভাবেন think একটি REST এপিআই কোনও বিশেষ সরঞ্জামাদি ছাড়াই বোঝা সহজ এবং সহজেই ব্যবহারযোগ্য। একটি জন-মুখোমুখি এপিআইয়ের জন্য যেখানে আপনার এপিআই ব্যবহারকারীদের সমস্ত স্তরের দক্ষতা এবং জ্ঞান থাকতে পারে এটি হ'ল আপনি যা চান তা হ'ল এজন্য আপনি ওয়েবে যে সমস্ত এপিআই দেখেন তার সমস্তগুলিই আরএসটিতে স্থানান্তরিত হয়। SOAP এন্টারপ্রাইজ পরিস্থিতিতে প্রেরিত হয় যেখানে এখনও সিস্টেমের মধ্যে জটিল API গুলি ভাগ করে নেওয়ার ইচ্ছা এবং প্রয়োজন রয়েছে। যাহোক,

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


4
ভাল পুরাতন স্ট্যাটিক বনাম গতিশীল টাইপিং বিতর্ক, হ্যাঁ: ডি ঝরঝরে এবং শক্ত বনাম হ্যাকি এবং সহজ, যে যুদ্ধ কখনও শেষ হয় না।
লুয়ান

@ লুয়ান ... এবং ডায়নামিক সর্বদা ডেটা এক্সচেঞ্জের জন্য জয়ী হয়। youtube.com/watch?v=ROor6_NGIWU
জারেড স্মিথ

6
@ জারেডস্মিথ আমি দৃ strongly়ভাবে একমত নই। চুক্তিগুলি অনুসরণ করার কথা রয়েছে সুতরাং উভয় প্রান্তই সঠিকভাবে ডেটা ম্যাপ করে, আপনি যদি ত্রুটি প্রবণ ডকুমেন্টেশন পৃষ্ঠাগুলির পরিবর্তে মেটাডেটা প্রকাশের মাধ্যমে তা করতে পারেন তবে আপনি কেন করবেন না?
drake7707

1
প্রাকটিক্যাল আরইএসটি হ'ল একটি প্রোটোকল; থিসিস এবং ধর্ম হ'ল 'আর্কিটেকচারাল স্টাইল'। এই উত্তরটি ব্যবহারিক বিশ্রামকে সঠিকভাবে ব্যবহারিক সাবানের সাথে তুলনা করে।
bmargulies

1
আপনার উত্তর ইতিমধ্যে দেখিয়েছে যে আপনি বিশ্রাম বুঝতে পারবেন না এবং আপনি মন্তব্যটিকে আন্ডারলাইন করেছেন।
পল ওয়াসেলিউস্কি

5

আপনি আরএসটি এবং এসওএপি তুলনা করতে পারবেন না। REST হ'ল একটি স্থাপত্য শৈলী যেখানে SOAP একটি প্রোটোকল।

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

REST নিম্নলিখিত নীতিগুলির উপর ভিত্তি করে (সীমাবদ্ধতা এবং উপাদান) (বন্ধনীগুলিতে RESTful HTTP- তে উপলব্ধি) [1]

  • স্টেটলেস (এইচটিটিপি একটি স্টেটলেস প্রোটোকল)
  • সংস্থান (ইউআরআই দ্বারা চিহ্নিত)
  • ইউনিফর্ম ইন্টারফেস (HTTP পদ্ধতি)
  • প্রতিনিধিত্ব (মাইম-টাইপ)
  • হেটোস (হাইপারলিঙ্কস)
  • ক্যাশে (HTTP ক্যাশে)

অন্যদিকে অনেকেই ডাব্লুএসডিএল এবং এসওএপি ভিত্তিক একটি ওয়েব পরিষেবা এসওএপি বলে বোঝায় যা ডাব্লু 3 সি ওয়েব পরিষেবা আর্কিটেকচারের অংশ [2]

  • এসওএপি তথ্য আদান-প্রদানের জন্য প্রোটোকল হিসাবে ব্যবহৃত হয় (মূলত পদ্ধতির নাম, প্যারামিটার, রিটার্ন মান, ডেটা ধরণের, ...)।
  • ওয়েব সার্ভিস বর্ণনা করার জন্য একটি ইন্টারফেস সংজ্ঞা ভাষা ডাব্লুএসডিএল।

এসওএপি * এর বর্তমান সময়ের তাত্পর্যটি কী?

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

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

„[...] REST এসওএপি থেকে অনেক বেশি সীমাবদ্ধ [...]।

RE আরআরইএসটির প্রাথমিক উদ্দেশ্য হ'ল ইন্টারনেটে সংস্থানসমূহের প্রতিনিধিত্ব করা [...]।

অতিরিক্তভাবে, এসওএপি (এবং ডাব্লুএসডিএল) ডাব্লু 3 সি ওয়েব সার্ভিস প্রোটোকল স্ট্যাকের একটি অংশ যা একটি ওয়েব পরিষেবা বাস্তবায়নের জন্য আরও বেশি মান সরবরাহ করে।

লোকেরা কি এখনও নতুন এসওএপি-ভিত্তিক এপিআই তৈরি করছে, না এটি এখন বেশিরভাগ উত্তরাধিকার?

সুতরাং হ্যাঁ, এখনও আছে এবং ভবিষ্যতে সিস্টেমগুলিও থাকবে যা এসওএপি ব্যবহার করছে (কমপক্ষে এন্টারপ্রাইজ সিস্টেমে, বেশিরভাগ দরজার পিছনে)। তবে সংখ্যাগরিষ্ঠরা আজকাল কিছুটা "REST" করার চেষ্টা করছেন।

আমি যদি এসওএপি এবং রেস্টের মধ্যে এই পার্থক্যটি সম্পর্কে ভুল হয়ে থাকে তবে দয়া করে কেউ আমাকে সংশোধন করতে পারেন?

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

আমি ইতিমধ্যে লিখেছি আপনি তাদের তুলনা করতে পারবেন না। তবে আপনি একটি এসইওপি / ডাব্লুএসডিএল ওয়েব পরিষেবাটির সাথে একটি বিশ্রামের এইচটিটিপি ওয়েব পরিষেবাদির তুলনা করতে পারেন।


"তবে আপনি একটি এসইওপি / ডাব্লুএসডিএল ওয়েব পরিষেবাটির সাথে একটি রেস্টস্টুল এইচটিটিপি ওয়েব পরিষেবাদির তুলনা করতে পারেন" " তবে ওপি এটিই জিজ্ঞাসা করছে। কেউ কি এখনও উত্তর দিয়েছে?
রোবোজ 1 এম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.