ডাব্লুসিএফ ডেটা পরিষেবাদি (ওডেটা) বনাম এএসপি.নেট ওয়েব এপিআই


87

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

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

সিদ্ধান্ত নেওয়ার আগে এই দুটি প্রযুক্তি সম্পর্কে আমার কিছু জানা উচিত? কেন কেউ ডাব্লুসিএফ ডেটা পরিষেবাদির উপরে এএসপি.নেট ওয়েব এপিআই বেছে নেবে?

উত্তর:


31

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

আমি এই নিয়ে ডেভ ওয়ার্ডের সাথে চুক্তিতে আছি । আরও তথ্যের জন্য তার ব্লগ দেখুন।

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

আমি বিশ্বাস করি যে মাইক্রোসফ্ট এএসএমএক্সের সরলতা এবং ডাব্লুসিএফের শক্তির মধ্যে ওয়েব এপিআইয়ের মধ্যে একটি ভাল ভারসাম্য পেয়েছে।


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

আমার এটি এখনও ব্যবহার করার সুযোগ হয়নি, তবে দেখে মনে হচ্ছে আপনি MediaTypeFormatterনিজের প্রতিক্রিয়াগুলি ফর্ম্যাট করতে প্রয়োগ করতে পারেন । একটি নমুনার জন্য কোড. msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d দেখুন ।
jrummell

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

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

111

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

আমি কিছুক্ষণ ওডাটা এবং ওয়েবএপিও অনুসরণ করে চলেছি। আমি সবসময় কয়েকটি বড় পার্থক্য খুঁজে পেয়েছি।

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

ওডাটা + ডাব্লুসিএফ ডেটা পরিষেবাদি সম্পর্কে আমি যা পছন্দ করি তা এখানে:

ওডাটা + ডাব্লুসিএফ ডেটা সার্ভিসেস ওয়েবে ডেটা জিজ্ঞাসা করার সময় ক্লায়েন্ট অ্যাপ্লিকেশনগুলিকে আরও "অভিব্যক্তিপূর্ণ" হওয়ার অনুমতি দিয়েছে। এর আগে, কঠোর ওয়েব এপিআই তৈরি করতে আমাদের সর্বদা এএসএমএক্স বা ডাব্লুসিএফ ব্যবহার করতে হত যা অযাচিতভাবে পায় এবং যখন কোনও ইউআই কিছুটা আলাদা চায় তখন ধ্রুবক পরিবর্তন প্রয়োজন। ক্লায়েন্ট অ্যাপ্লিকেশনটি কী মানদণ্ডে ফিরে আসবে তা নির্ধারণের জন্য কেবলমাত্র পরামিতি নির্দিষ্ট করতে পারে। বা আমি যেমন করেছি এবং লিনিকিউ এক্সপ্রেশনগুলি "সিরিয়ালাইজ" করেছি এবং সেগুলি প্যারামিটার হিসাবে পাস Expressions<Func<T,bool>>করে সার্ভারে পুনরায় হাইড্রেট করুন। এটি শালীন। কাজটি পেয়েছি, তবে আমি ক্লায়েন্টের উপরে লিনকিউটি ব্যবহার করতে চাই এবং এটি আরইএসটি ব্যবহার করে ওয়েবে অনুবাদ করতে চাই, যা ওডাটা ঠিক তাই দেয় এবং আমি নিজের সমাধানের নিজস্ব "হ্যাক" ব্যবহার করতে চাই না।

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

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

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

ডাব্লুসিএফ ডেটা সার্ভিসেসের ডাউনসাইড হ'ল এইচটিটিপি স্ট্যাকের উপরে "নিয়ন্ত্রণ"। আমি খুঁজে পেলাম সবচেয়ে বড় ত্রুটিটি সেই IQueryable<T>পদ্ধতিগুলির মধ্যে যা সংগ্রহগুলি ফিরিয়ে দেয়। আরআইএ পরিষেবাদি এবং ওয়েবএপি থেকে পৃথক, আপনার আইকিউয়েরেবল পদ্ধতিতে যুক্তি বিকাশের সম্পূর্ণ অ্যাক্সেস নেই। আরআইএ সার্ভিসেস এবং ওয়েবএপিতে আপনি যতক্ষণ না ফিরে আসতে চান কোড লিখতে পারেন IQueryable<T>। ডাব্লুসিএফ ডেটা পরিষেবাদিতে আপনি কেবল Expression<Func<T,bool>>ইন্টারসেপ্টর পদ্ধতি ব্যবহার করে "যেখানে" বিবৃতি সংযোজন করতে অ্যাক্সেস পাবেন get আমি এই হতাশ পেয়েছি। আমাদের বর্তমান অ্যাপ্লিকেশনটি আরআইএ পরিষেবাদি ব্যবহার করে এবং আমি দেখতে পাচ্ছি যে সত্যই আমাদের আইকিউয়েরেবল যুক্তি নিয়ন্ত্রণ করার ক্ষমতা প্রয়োজন। আমি আশা করি আমি এতে ভুল করছি এবং আমি কিছু মিস করছি

এছাড়াও, ডাব্লুসিএফ ডেটা পরিষেবাগুলি এখনও সমস্ত লিনকিউ অপারেটরকে পুরোপুরি সমর্থন করে না। এটি এখনও WebApi এর চেয়ে বেশি সমর্থন করে।

WebApi সম্পর্কে কি ???

  1. আমি এইচটিপি অনুরোধ / প্রতিক্রিয়া উপর নিয়ন্ত্রণ পছন্দ করি
  2. এটি অনুসরণ করা সহজ (এমভিসি নিদর্শনগুলির উত্তোলন)। আমি নিশ্চিত যে আরও টুলিং আসবে।

এখন পর্যন্ত (আমার বোঝার জন্য), ক্লায়েন্টের উপর কোনও "ডেটা কনটেক্সট" সমর্থন নেই (যেমন সিলভারলাইট, এএসপি। নেট সার্ভার-সাইড কোড, ইত্যাদি), কারণ ওয়েবএপি সত্যই ডাব্লুসিএফ ডেটা সার্ভিসেস / ওডিটার মতো সত্তা ডেটা মডেলগুলি সম্পর্কে নয় হয় এটি আইকুয়ারেবল / আইনিউবারেবল ব্যবহার করে মডেল অবজেক্টগুলির সংগ্রহ প্রকাশ করতে পারে তবে ক্লায়েন্টে সত্তা লোড হয়ে যাওয়ার পরে কোনও প্রাথমিক কী / বিদেশী কী "নেভিগেশন প্রোপার্টি" (অর্থাত্ ગ્રાહার ইনভয়েসেস) ব্যবহার করার প্রয়োজন নেই কারণ কোনও "ডেটা কনটেক্সট" নেই যা এগুলি অবিচ্ছিন্নভাবে লোড করে (বা এক কলের মাধ্যমে $ প্রসারিত ব্যবহার করে) এবং পরিবর্তনগুলি পরিচালনা করে। আপনি আরআইএ পরিষেবাদি বা ডব্লিউসিএফ ডেটা পরিষেবাদিতে যেমন করেন তেমন কোনও ক্লায়েন্টে আপনার সত্তা ডেটা মডেলের কোড-উত্পন্ন "প্রতিনিধিত্ব" নেই। আমি বলছি না যে ক্লায়েন্টে আপনার ডেটা উপস্থাপন করে এমন মডেলগুলি আপনি রাখতে পারবেন না / না, তবে আপনি ম্যানুয়ালি ডেটা পপুলেট করেছেন এবং ওয়েবে পুনরুদ্ধার করার পরে প্রতিটি "গ্রাহক" এর সাথে কোন "চালান" সেট করতে হবে তা পরিচালনা করেন manage এটি জটিল হয়ে উঠতে পারে, বিশেষত সমস্ত অ্যাসিঙ্ক স্টাফ দিয়ে। আপনি জানেন না কোন কলগুলি প্রথমে ফিরে আসবে। এখানে এটি ব্যাখ্যা করা শক্ত হতে পারে তবে কেবল আরআইএ পরিষেবাদিগুলিতে বা "ডেটা প্রসঙ্গ" স্টাফ সম্পর্কে পড়ুন বাডাব্লুসিএফ ডেটা পরিষেবাদি । লাইন অফ বিজনেস অ্যাপ্লিকেশনগুলির সাথে কাজ করার সময়, এটি আমার কাছে বড় সমস্যা। এটি মূলত উত্পাদনশীলতা এবং রক্ষণাবেক্ষণের উপর ভিত্তি করে। আপনি ডেটা প্রসঙ্গ ছাড়াই অস্পষ্টভাবে অ্যাপস তৈরি করতে পারেন। এটি কেবল জিনিসগুলিকে আরও সহজ করে তোলে, বিশেষত সিলভারলাইট, ডাব্লুপিএফ এবং এখন উইন্ডোজ 8 মেট্রোতে। অবিচ্ছিন্নভাবে স্মৃতিতে লোড হওয়া রিলেশনাল সত্তা থাকা এবং টু-বাইন্ডিং থাকা সত্যিই দুর্দান্ত।

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

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

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

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


4
ওয়েব এপিআই OData সমর্থন যোগ করা যে একই ভিত্তির ওপর peacies এবং রাখে এটা অনুপস্থিত জন্য একটি নতুন প্রিভিউ আছে WCF ডিএস ব্যবহারসমূহ: [লিংক] [ blogs.msdn.com/b/alexj/archive/2012/08/15/...
জোহানেস রুডল্ফ

@ জোহনেস রুডল্ফ - আপনি যে লিঙ্কটি দিয়েছেন তা আকর্ষণীয় মনে হলেও ভেঙে গেছে।
অলি

ঠিক আছে, মনে করুন এটি কেবল একটি ফর্ম্যাট করার সমস্যা। এটি হওয়া উচিত: ব্লগস.এমএসএনএন / বি / আলেকজ / অর্চিভ / / ২৮ / ১৫ / ১৫
অলি


4
আমরা এখন যেমন 2014 তে আছি , ডাব্লুসিএফ এবং ওয়েবএপি থেকে ওডাটা সমর্থন ভবিষ্যতের বিষয়ে আলোচনা করার জন্য মাইক্রোসফ্টের একটি আকর্ষণীয় ব্লগ পোস্ট আছে ব্লগস.এমএসডন.কম / বিডোটাটাম / অর্চিভ/ 2014 /03/27/…
হার্ডওয়াইং

26

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

ওডেটা টিম ব্লগ

সুতরাং, এখন সবকিছু যথেষ্ট পরিষ্কার


16

ওয়েব API এবং ডাব্লুসিএফ ডেটা পরিষেবা উভয়ই বাক্সের বাইরে ওডাটা সমর্থন করে। ডাব্লুসিএফ ডেটা সার্ভিসেস (ডাব্লুসিএফডিএস) এর সাথে এটি স্বয়ংক্রিয়। ওয়েব এপিআই দিয়ে IQueryableআপনার কন্ট্রোলার থেকে ফিরে আসুন এবং পদ্ধতিটি ট্যাগ করুন [Queryable]। আপনি যে $filterকার্যকারিতাটির কথা বলছিলেন তা এটি আপনাকে পেয়ে যাবে । এবং যদি আপনি এটি এভাবেই চালিয়ে যান তবে উভয় accept=application/jsonঅনুরোধ শিরোনামটি রেখে স্বয়ংক্রিয়ভাবে প্রতিক্রিয়াতে JSON কে পরিচালনা করতে পারে । ডাব্লুসিএফডিএসের ওডাটা ওয়েব এপিআইয়ের তুলনায় আরও কয়েকটি ওডেটা কীওয়ার্ড সমর্থন করে (যদিও এটি কেবলমাত্র$expand কীওয়ার্ডটি মনে আসে) তবে আমি নিশ্চিত যে সময় এর প্রতিকার করবে।

নেট ক্লায়েন্ট এবং এইচটিএমএল পৃষ্ঠাগুলি উভয়ই এই বিকল্পগুলিতে সহজেই কল করতে পারে তবে আপনি যদি লিনকিউ পছন্দ করেন এবং আপনি যদি নেট ক্লায়েন্ট তৈরি করেন তবে ডাব্লুসিএফডিএসকে পরিষেবা প্রকল্প হিসাবে আপনার প্রকল্পে যুক্ত করা যেতে পারে। এটি আপনাকে সমস্ত এইচটিটিপি ব্যবসায় পুরোপুরি এড়িয়ে যেতে এবং সংগ্রহগুলি সরাসরি জিজ্ঞাসা করতে দেয়।

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


6

অন্য কথায়:

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

যদি আপনি কোনও এপিআই তৈরি করছেন এবং কেবলমাত্র ওডিটা কোয়েরি সিনট্যাক্স বা ফর্ম্যাট ব্যবহার করে কিছু সংস্থান (এবং যুক্তি) প্রকাশ করতে চান তবে এএসপি.নেট ওয়েব এপিআই সম্ভবত শুরু করার সেরা জায়গা is

http://mattmilner.com/Milner/Blog/post/2013/04/02/WCF-Data-Services-and-Web-API-with-OData ;- choice-choice.aspx


5

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

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


1

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

হ্যাঁ আপনি নিজেকে ডাব্লুসিএফ এ প্রয়োগ করতে পারেন তবে বাক্যটিতে যেমনটি বলা হয় আপনাকে এগুলি নিজেই প্রয়োগ করতে হবে।

ঠিক যেমন একটি উদাহরণ আজ একটি ওয়েব এপিআইয়ের জন্য 2 ফ্যাক্টর প্রমাণীকরণের প্রয়োগ করতে OWIN ব্যবহার করে 15 মিনিটেরও কম সময় লাগে যা একটি ওপেন সোর্স প্রকল্প হিসাবে শুরু হওয়া প্রাথমিকভাবে প্রমাণীকরণ / অনুমোদন নুগেট প্যাকেজ।

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

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


0

এটি এই টিএল; ডিআর এই প্রশ্নের উত্তর।

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

এখানে একটি দুর্দান্ত তুলনা করা হয়

ওয়েব এপিআই

WEB API ব্যবহারের এক নম্বর কারণ হ'ল এটি হ'ল ওয়েট weight এর অর্থ এটি কার্যকর করা সহজ, শেখা সহজ, বজায় রাখা সহজ ইত্যাদি It এটি বিশেষত ওয়েবের জন্য ডিজাইন করা হয়েছে, যার জন্য HTTP- র জন্য RESTful ওয়েব পরিষেবাদি প্রয়োজন। এটি এটি করে এবং এটি এটি ভাল করে। যদি আপনার কেবলমাত্র এটির প্রয়োজন হয় তবে সম্ভবত ওয়েল এপিআই হ'ল উপায়।

এছাড়াও, এটি ওপেন সোর্স (যদি আপনি যত্নশীল হন)

ডাব্লুসিএফ

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

ওডাটা

ওডাটা সোজা

সাধারণ ও মানক উপায়ে ক্যোয়ারেবল এবং ইন্টারঅঅবারেবল RESTful API গুলি তৈরি এবং ব্যবহারের অনুমতি দেওয়ার জন্য একটি উন্মুক্ত প্রোটোকল। সূত্র: http://www.odata.org/

অন্য কথায়, উচ্চ স্তরের, এটি কেবলমাত্র RESTful HTTP অনুরোধগুলির জন্য একটি নির্দিষ্ট ব্যাকরণকে মানক করে তুলছে। যা কোনও প্রোটোকলের মতোই সুবিধা প্রদান করবে। এবং কমপক্ষে 2013 হিসাবে WCF এবং WEB API উভয়ই ওডেটা ব্যবহারের অনুমতি দেয়। সুতরাং, এটি সম্ভবত ওডাটা নিয়ে চিন্তা করার মতো নয়।

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