জেএসন, রিস্ট, এসওএপি, ডাব্লুএসডিএল এবং এসওএ: তারা সবাই কীভাবে একসাথে লিঙ্ক হয়


155

বর্তমানে কিছু পরীক্ষা দিচ্ছি এবং আমি কিছু ধারণার মধ্য দিয়ে লড়াই করছি। এগুলি আমার নোটগুলিতে সত্যিই 'উল্লেখ করা' হয়েছে তবে কীভাবে তারা সবাই মিলে যুক্ত হয়েছিল তা আমি সত্যি বুঝতে পারি নি। আমার বোঝা যতদূর:

এসওএ - পরিষেবা ভোক্তা / সরবরাহকারীদের যোগাযোগ করার একটি সমাধান। (যতদূর আমি বুঝতে পেরেছি এটি অন্য সমস্ত কিছুর জন্য ছাতা শব্দ)

ডাব্লুএসডিএল - এমন একটি ভাষা যা সরবরাহকারীর পরিষেবা বর্ণনা করে।

সোপ - বার্তা প্রেরণের জন্য পরিষেবাগুলির দ্বারা ব্যবহৃত একটি এক্সএমএল প্রোটোকল 'র‍্যাপার'। প্যারামিটারগুলি সরবরাহ করার জন্য ডাব্লুএসডিএলের সাথে একযোগে কাজ করে?

রেস্ট - একটি নকশার প্যাটার্ন যা ফাংশনে এসওএপ এর অনুরূপ তবে এক্সএমএলকে এড়িয়ে চলে? (এটি সম্পর্কে সত্যই নিশ্চিত নয়)

JSON - জাভাস্ক্রিপ্ট ব্যবহার করে এমন এক্সএমএলের একটি বিকল্প? (এটি সম্পর্কে নিশ্চিত না)

ইন্টারনেটে চারপাশে খোঁজাখুঁজি করার মতো মনে হয় না যে এগুলি সমস্ত কী এবং তারা কীভাবে একে অপরকে সংযুক্ত করে of

উত্তর:


252

কল্পনা করুন যে আপনি একটি ওয়েব-অ্যাপ্লিকেশন বিকাশ করছেন এবং আপনি অ্যাপ্লিকেশনটির উপস্থাপনা থেকে কার্যকারিতা ডিকুয়াল করার সিদ্ধান্ত নিয়েছেন কারণ এটি আরও বেশি স্বাধীনতা অর্জন করে।

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

ওয়েব পরিষেবাগুলি কার্যকরী বিল্ডিং-ব্লকগুলিকে প্ল্যাটফর্ম এবং প্রোগ্রামিং ভাষা থেকে পৃথক স্ট্যান্ডার্ড ইন্টারনেট প্রোটোকলের মাধ্যমে অ্যাক্সেসযোগ্য করে তোলে।

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


সেখানেই সোপ এবং রেস্ট আসবে They এগুলি হ'ল মানক উপায় যা আপনি ওয়েব-পরিষেবার সাথে যোগাযোগ বেছে নিতে চান।

সাবান:

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

বিশ্রাম:

REST হ'ল একটি নকশা ধারণা।

ওয়ার্ল্ড ওয়াইড ওয়েব REST আর্কিটেকচারাল স্টাইল অনুসারে একটি সিস্টেমের বৃহত্তম প্রয়োগের প্রতিনিধিত্ব করে।

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

ফ্লিকারের REST এপিআই আরও এগিয়ে যায় এবং আপনাকে চিত্রগুলিও ফিরে আসতে দেয়।


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


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

30

ডাব্লুএসডিএল : ওয়েব সার্ভিসের বিবরণ ভাষার জন্য দাঁড়িয়েছে

এসওএপি (সাধারণ অবজেক্ট অ্যাক্সেস প্রোটোকল) এ, আপনি যখন ওয়েব পরিষেবা ব্যবহার করেন এবং আপনার প্রকল্পে একটি ওয়েব পরিষেবা যুক্ত করেন, তখন আপনার ক্লায়েন্ট অ্যাপ্লিকেশনগুলি ওয়েব পরিষেবা ফাংশন সম্পর্কে জানেন না know আজকাল এটি একরকম পুরানো ফ্যাশন এবং বিভিন্ন ধরণের ক্লায়েন্টের জন্য আপনাকে বিভিন্ন WSDLফাইল প্রয়োগ করতে হবে। উদাহরণস্বরূপ আপনি .Netএবং phpক্লায়েন্টের জন্য একই ফাইলটি ব্যবহার করতে পারবেন না । WSDLফাইল ওয়েব পরিষেবা ফাংশন সম্পর্কে কিছু বিবরণ রয়েছে। এই ফাইলের ধরণ XMLSOAPজন্য একটি বিকল্প REST

REST : প্রতিনিধিত্বমূলক রাষ্ট্র স্থানান্তর জন্য দাঁড়িয়েছে

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

এসওএ : এর অর্থ পরিষেবা ওরিয়েন্টেড আর্কিটেকচার

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

JSON : এর জন্য দাঁড়িয়েছেjavascript Object Notation

যখন আপনি জাভাস্ক্রিপ্টের জন্য কোনও বস্তুকে সিরিয়ালাইজ করবেন তখন বস্তুর বিন্যাসের ধরণটি JSON। কল্পনা করুন যে আপনি মানব বর্গ আছে:

class Human{
 string Name;
 string Family;
 int Age;
}

এবং আপনার কাছে এই শ্রেণীর কিছু উদাহরণ রয়েছে:

Human h1 = new Human(){
  Name='Saman',
  Family='Gholami',
  Age=26
}

আপনি যখন JSON এ h1 অবজেক্টটি সিরিয়াল করুন ফলাফলটি:

  [h1:{Name:'saman',Family:'Gholami',Age:'26'}, ...]

javascripteval()ফাংশন দ্বারা এই ফর্ম্যাটটি মূল্যায়ন করতে এবং এই JSONস্ট্রিং থেকে একটি মিশুক অ্যারে করতে পারেন । আমি পূর্বে বর্ণিত অন্যান্য ধারণার তুলনায় এটি একটি ভিন্ন ধারণা।


এই উত্তরে কয়েকটি ভুল রয়েছে (যেমন এইচটিএমএল <> এইচটিটিপি)
ইয়াসিন হাজাজ

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