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


12

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

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

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

সুতরাং আমার দুটি প্রশ্ন আছে:

1) কেউ কি ওয়েব এপিআই এবং ওডেটার সমর্থন / ট্রেশন সম্পর্কে মন্তব্য করতে পারে?

2) কি ওয়েব এপিআই রিলিজ সময় দ্বারা হাইপারমিডিয়া স্থানীয়ভাবে সমর্থন করবে বা আমার সাথে দেখা উচিত এমন কোনও শেল্ফ বাস্তবায়ন বা উদাহরণ রয়েছে?

ধন্যবাদ!


2
এখনও পর্যন্ত প্রশ্নের 1 এর উত্তরের উত্তর। আমার দ্বিতীয় প্রশ্নটি সম্পর্কে কারও অন্তর্দৃষ্টি আছে?
রেমন্ড সালট্রেল্লি

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

2
মূলত, REST এর প্রসঙ্গে হাইপারমিডিয়া মানে "অলস বোঝা"। উদাহরণস্বরূপ, যদি কোনও আরইএসটি পরিষেবাতে আপনার অনুরোধটি অন্য কোনও অবজেক্টের রেফারেন্সযুক্ত কোনও বস্তু ফেরত দেয়, তবে রেফারেন্সগুলি XML নথিতে একটি লিঙ্ক হিসাবে প্রতিনিধিত্ব করা হয় কারণ এটি সম্পূর্ণরূপে রেফারেন্সযুক্ত বস্তুটি অন্তর্ভুক্ত করার বিরোধিতা করে না। আপনি যদি রেফারেন্সযুক্ত অবজেক্ট সম্পর্কে তথ্য চান তবে কেবল লিঙ্কটি অনুসরণ করুন। dret.net/lectures/ppos-spring11/reading/…
রেমন্ড সালট্রেলি

1
REST এর সাথে হাইপারমিডিয়া সম্পর্কিত আরও একটি ভাল বর্ণনা। timelessrepo.com/haters-gonna-hateoas
রেমন্ড সালট্রেলি

উত্তর:


2

ওয়েব এপিআই ওডাটা করে। দেখুন স্কট Guthrie এর ব্লগ পোস্টে । বিশেষ করে:

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

আমি আরও ভাবতাম যে অনেক ক্ষেত্রে একই বর্গটি theতিহ্যবাহী ডাব্লুসিএফ ক্লাস এবং ওয়েব এপিআই ক্লাস হতে পারে, তারা অবশ্যই পারস্পরিক একচেটিয়া নয়।


2

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

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

/products/orders/[put some linq-ish query here]

এটি তর্কযোগ্যভাবে ভাল বা খারাপ। প্রমাণীকরণ মান এবং এটি নির্মিত।

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

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

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

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

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

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

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


2

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


2
ওয়েব এপিআই ব্যবহার করে এটি কীভাবে বাস্তবায়ন করা যায় তার কোনও অনলাইন উদাহরণ রয়েছে?
রেমন্ড সালট্রেল্লি


আপনি এখনও ওডাটা v3 ( odata.org/media/30002/OData.html#tives ) এর ক্রিয়া যুক্ত করে এই মতামতটির সমর্থন করেন ?
ক্রিস ডেমর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.