আমি এমভিসিতে এমন একটি প্রকল্পে কাজ করছি যার মোবাইল অ্যাপ্লিকেশন রয়েছে তাই একটি জিনিস পরিষ্কার যে আমাদের ওয়েব এপিআই ব্যবহার করতে হবে যাতে এটি মোবাইল অ্যাপ্লিকেশনটিতে ব্যবহার করতে পারে।
API তৈরি করার পরে যখন আমরা ওয়েব সাইট বিকাশ শুরু করি তখন আমরা বিভ্রান্ত হয়ে পড়েছিলাম এবং এপিআই ব্যবহার করতে হবে বা ব্যবসায়ের উদ্দেশ্যে সরাসরি অ্যাক্সেস করতে হবে কিনা তা নিয়ে আলোচনা করেছি। এবং আমরা সরাসরি ব্যবসায়িক আইটেমটি ব্যবহার না করে ওয়েব এপিআই গ্রাহ্য করার জন্য আরও অভিজ্ঞ বিকাশকারী হিসাবে মতামত তৈরির পরে শেষ করেছি।
আমি এই সমাধান কাঠামো সম্পর্কে বিভ্রান্তি করছি।
1) কেন আমাদের ওয়েব এপিআই ব্যবহার করা উচিত এবং ব্যবসায়ের সামগ্রীর পরিবর্তে ডেটা পেতে বা রাখার জন্য এইচটিটিপি অনুরোধ (যা সময় সাপেক্ষে) করা উচিত যা একই সমাধানে রয়েছে।
২) তর্ক করার পরে তারা কী বলেছিল যে ক্লায়েন্ট যদি বিভিন্ন ক্লাউড সার্ভারে এপিআই এবং ওয়েব হোস্ট করতে চায় এবং কেবল এপিআইতে স্কেলিং প্রয়োগ করতে পারে বা এপিআই এবং ওয়েব অ্যাক্সেসের জন্য আলাদা ইউআরএল পেতে চায় (যা কিছুটা যৌক্তিক)। তাহলে সেক্ষেত্রে আমাদের কি এমভিসি অ্যাপ্লিকেশন থেকে একই সমাধানে ওয়েব এপিআই কল করা উচিত?
3) আমরা যদি পৃথক হোস্টিং এপিআই এবং ওয়েব হোস্টিং করি তাই এর অর্থ আমাদের ওয়েব ওয়েবক্লিয়েন্ট ব্যবহার করবে এবং প্রতিটি নেভিগেশনে এইচটিটিপি কল থাকবে। এটা কি ঠিক?
4) যদি আমরা ব্যবসায়িক আইপিএল এবং ওয়েব হোস্টিং উভয়ই বিভিন্ন সার্ভারে গঠন করি তবে বিএল-তে কিছু পরিবর্তন হলে উভয় সার্ভারে বিল্ড আপডেট করতে হবে।
৫) অথবা আমাদের এপিআইয়ের জন্য কেবল একটি প্রকল্প তৈরি করা উচিত এবং ওয়েব ইন্টারফেস বিকাশের জন্য ভিউ বা এইচটিএমএল পৃষ্ঠাগুলি যুক্ত করতে পারি যাতে আমরা এজ্যাক্স থেকে সরাসরি এপিআই কল করতে পারি।
আমার জ্ঞান অনুসারে # 5 সেরা সমাধান বা এপিআই শুধুমাত্র তৃতীয় পক্ষের অ্যাক্সেসের জন্য। যদি আমাদের একই সমাধানে ডিবি, ইএফ, ডেটা স্তর এবং ব্যবসায়ের স্তর থাকে তবে আমাদের এইচপিটি কলগুলি করতে এবং সরাসরি ব্যবসায়িক আইনে অ্যাক্সেস করার জন্য এপিআই ব্যবহার করা উচিত নয়। (আমি ভুল হলে আমাকে সংশোধন করুন) মোবাইল অ্যাপ্লিকেশন বা ডেস্কটপ বা যে কেউ অ্যাপ্লিকেশন অ্যাক্সেস করতে চাইলে এপিআই দরকার হয় যাতে আমাদের একই সংগ্রহস্থল এবং ডেটা স্তর থাকতে পারে।
আমার দৃশ্যে আমি যেমন মোবাইল অ্যাপ্লিকেশন রয়েছে তেমনি এপিআইও তৈরি করেছি এবং প্রজেক্টের এপিআই সাইডে আমরা ব্যবসায় স্তর (পৃথক প্রকল্প) এবং ব্যবসায় স্তরটিকে ডেটা অ্যাক্সেস লেয়ারে যোগাযোগ করি (পৃথক প্রকল্প)। সুতরাং আমার প্রশ্নটি হ'ল আমরা যদি আমাদের এপিআই এবং ওয়েবকে বিভিন্ন সার্ভারে হোস্ট করি তবে প্রজেক্টটি তৈরি করার সাথে সাথে ব্যবসায়িক স্তর থেকে পদ্ধতিটি ব্যবহার করার পরিবর্তে এপিআই কল করা আরও বেশি সময় নিতে পারে এবং আমরা ব্যবসায় স্তরটি ডল করব। এপিআই কন্ট্রোলারে আমরা কেবলমাত্র আমাদের ব্যবসায়ের পুটিকে জসন ফর্ম্যাটে রূপান্তর করি।
আমি ইন্টারনেটে অনুসন্ধান করেছি কিন্তু নিশ্চিত উত্তর পাইনি didn't আমি একটি ব্লগ পেয়েছি http://odetocode.com/blogs/scott/archive/2013/07/01/on-the-coexistance-of-asp-net-mvc-and-webapi.aspx একই পয়েন্টটি নিয়ে আবার আলোচনা করছি সেই ব্লগে আমার প্রশ্নটি হল কেন আমাদের পরিস্থিতি # 3 বিবেচনা করা উচিত?
আপডেট: আমাদের আলাদা আলাদা এপিআই প্রকল্প এবং এমভিসি প্রকল্প থাকতে পারে এবং আমরা জাভাস্ক্রিপ্ট ব্যবহার করে ওয়েব থেকে এপিআই কল করতে পারি বা এমভিভিএম প্যাটার্ন ব্যবহার করতে পারি।