JSON, REST, SOAP, WSDL, এবং SOA: তারা কিভাবে একসঙ্গে লিঙ্ক করে



(2)

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

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

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

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

সোয়াপ এবং REST আসছে যেখানে। আপনি ওয়েব পরিষেবা সঙ্গে যোগাযোগ বাছাই করতে হবে স্ট্যান্ডার্ড উপায়।

সাবান:

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

বিশ্রাম:

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

ওয়ার্ল্ড ওয়াইড ওয়েবটি REST আর্কিটেকচারাল শৈলী অনুসারে একটি সিস্টেমের সর্বাধিক বাস্তবায়ন প্রতিনিধিত্ব করে।

এটি SOAP হিসাবে শক্ত নয়। অসাধারণ ওয়েব-পরিষেবাদিগুলি ইউআরএস এবং ওয়েবসেসে কল করার পদ্ধতিগুলি ব্যবহার করে। যখন আপনি একটি ইউআরআই অনুরোধ করেন, এটি একটি বস্তুর উপস্থাপনা ফিরিয়ে দেয়, তারপরে আপনি তারপরে অপারেশনগুলি সম্পাদন করতে পারেন (যেমন GET, PUT, POST, DELETE)। আপনি তথ্য প্রতিনিধিত্ব করতে এক্সএমএল বাছাই সীমাবদ্ধ না, আপনি সত্যিই কিছু বাছাই করতে পারে (JSON অন্তর্ভুক্ত)

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

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

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

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

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

SOAP - একটি XML প্রোটোকল 'মোড়ক' বার্তা পাঠাতে পরিষেবাগুলির দ্বারা ব্যবহৃত হয়। পরামিতি প্রদান হিসাবে WSDL সঙ্গে সংযোগ করে কাজ করে?

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

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

ইন্টারনেটে ঘুরে দেখলে এগুলি কী এবং কীভাবে তারা সংযুক্ত হয় সেগুলির একটি স্পষ্ট সংজ্ঞা বলে মনে হচ্ছে না।


Answer #1

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

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

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

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

SOA : পরিষেবা ভিত্তিক স্থাপত্যের জন্য দাঁড়িয়েছে

ওয়েব পরিষেবাদি ধারণা এবং স্থাপত্য সঙ্গে সব প্রোগ্রামিং অন্তর্ভুক্ত। আপনি একটি বড় স্কেল অ্যাপ্লিকেশন বাস্তবায়ন করতে চান যে কল্পনা করুন। এক প্র্যাকটিস কিছু ভিন্ন পরিষেবা থাকতে পারে, যাকে মাইক্রো-সার্ভিস বলা হয় এবং সমগ্র অ্যাপ্লিকেশন প্রক্রিয়া সঠিক সময়ে প্রয়োজনীয় ওয়েব পরিষেবাদি কল করবে। 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'}, ...]

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





soa