যদিও এটি নিয়ে অনেকগুলি চিন্তাভাবনা রয়েছে, এবং অবশ্যই কোনওভাবেই সর্বজনীনভাবে "সঠিক পথ" বলা যায় না, অন্যদিকে সর্বজনীনভাবে "ভুল পথ" হলেও সার্ভারের দিক থেকে ব্যবসায়ের যুক্তি বিচ্ছিন্ন করার বিভিন্ন কারণ রয়েছে While , এবং একটি বিশিষ্ট পরিষেবার মাধ্যমে সেগুলি অবজেক্ট এবং পরিষেবাগুলিতে অ্যাক্সেস করুন।
সংক্ষিপ্ত উত্তরটি হ'ল এটি বেশিরভাগ ঝুঁকি ব্যবস্থাপনার এবং কর্মক্ষমতা পর্যবেক্ষণ এবং উন্নতির বিষয়ে।
বিস্তারিত:
নম্বর 1 প্যারামাউন্ট কারণ সুরক্ষা। ক্লায়েন্টদের কখনই সার্ভারের কাছে আবর্জনা ব্যতীত অন্য কোনও কিছু জমা দেওয়ার জন্য আস্থা রাখা উচিত নয় এবং সুরক্ষা দিকগুলি সার্ভারের পাশে রেখে আপনি আপনার সিস্টেমের ক্ষতিগ্রস্থ একজন দুর্বৃত্ত ব্যবহারকারীর সম্ভাব্য ঝুঁকি আলাদা করে দেবেন। মনে রাখবেন, জাভাস্ক্রিপ্ট সম্পূর্ণ ক্লায়েন্ট পক্ষ এবং তুচ্ছ পরিবর্তনযোগ্য, তাই আপনি আউটপুটকে বিশ্বাস করতে পারবেন না।
2 নম্বর কারণ উদ্বেগ পৃথকীকরণ। আপনার জাভাস্ক্রিপ্ট প্রোগ্রামারটি সুরক্ষা সম্পর্কে বিশেষজ্ঞ নাও হতে পারে এবং আপনার সুরক্ষা গুরু জাভাস্ক্রিপ্টে তেমন দুর্দান্ত নাও হতে পারে। উপস্থাপনার যুক্তি থেকে ব্যবসায়িক যুক্তিটিকে পৃথক করে, আপনি এই উদ্বেগগুলি অতিক্রম করতে পারবেন, কারণ জাভাস্ক্রিপ্টটিকে এর অনুমতি স্তর ছাড়িয়ে সংস্থানগুলিতে অ্যাক্সেস করার অনুমতি দেওয়া হবে না এবং ত্রুটি দেওয়া হবে, যার পরিচালনা হস্তান্তর স্ক্রিপ্ট প্রোগ্রামারের প্রচলনের মধ্যে রয়েছে। তেমনি, সুরক্ষাটি কীভাবে সুরক্ষা বজায় রাখা হয় তা দেখতে জাভাস্ক্রিপ্ট ডিবাগ করা হবে না।
3 নম্বর কারণটি হল পারফরম্যান্স। ব্যবসায়ের যুক্তি সম্ভবত সার্ভার এবং ডাটাবেস সংস্থানগুলির দাবি করতে পারে। সেই যুক্তিটিকে আপনার ইউআই উপাদানগুলি থেকে পৃথক করে রেখে, আপনি তারপরে আপনার আবেদনের কেবলমাত্র সেই অংশটিই স্কেল করতে পারবেন, যাতে বাধাগুলি মোকাবেলা করা এত সহজ easier অতিরিক্তভাবে, সার্ভারে যদি ব্যবসায়িক প্রক্রিয়াগুলি চালিত হয় তবে কোন ব্যবসায়িক প্রক্রিয়া আপনার সিস্টেম বা ডাটাবেস ব্যাকেন্ডগুলি লোড করছে তা বিচ্ছিন্ন করা অনেক সহজ।
এখানে একটি ছদ্মবেশ হ'ল প্রায়শই বেশ কয়েকটি ব্যবসায়িক প্রক্রিয়া একই ডেটা ব্যবহার করবে এবং তাই ক্লায়েন্টের সাইড কোড অ্যাক্সেস দেওয়া সম্ভব / সুরক্ষিত না হতে পারে সামগ্রিক সিস্টেমের লোড হ্রাস করার জন্য আপনি সার্ভার সাইডে ক্যাচিং প্রয়োগ করতে পারেন।
অবশেষে, আমি প্রস্তাব করব যে এসিডি মানগুলি বজায় রাখার জন্য, ব্যবসায়ের লজিকটি সত্যই সার্ভারে থাকা দরকার। আমি মনে করি একটি বিলিং পণ্য বজায় রাখা যা সার্ভারের সাথে কেবল একটি ডাটাবেস সংযোগ সহ ওয়েব ব্রাউজারে চলে। যদি দৈনিক বিলিংয়ে (যা ভাল দিনটিতে এক ঘন্টা বা তার বেশি সময় নিতে পারে!) বাধা হয়ে থাকে, বলুন, ব্রাউজারটি বন্ধ বা ক্র্যাশ হয়ে যাওয়ার কারণে, এটি যে ডাটাবেসটি রেখেছিল তা ছড়িয়ে দিতে কয়েক ঘন্টা সময় নিতে পারে which অসামঞ্জস্য অবস্থায় in মনে রাখবেন, এতে ক্রেডিট কার্ডও জড়িত, তাই বিলিংয়ের রেকর্ডগুলি প্রসেসরের বিরুদ্ধেও পরীক্ষা করতে হয়েছিল!
অ্যাপ্লিকেশন বা ডাটাবেস পর্যায়ে লেনদেন বজায় রাখার জন্য যে কোনও ভাষার জন্য কোনও ফ্রেমওয়ার্ক রয়েছে বলে এসিডি আপডেটগুলি নিশ্চিত করতে সার্ভার সাইড বিজনেস লজিক বেশিরভাগ ক্ষেত্রে তুচ্ছ। আপনি যদি কোনও ওয়েব ক্লায়েন্টের একাধিক আপডেটের মাধ্যমে এটি করছেন ... আপনি কোনও সময় বেমানান অবস্থা পেতে চলেছেন এবং সম্ভবত এটি আপনার অ্যাপ্লিকেশনটিকে প্রভাবিত করবে।
যদিও বিশ্রামের পরিষেবাগুলি ডাটাবেস অ্যাক্সেসের সহজ উপায় হিসাবে ভাবা লোভনীয় হতে পারে, আপনি এই ফাঁদে পড়বেন না কারণ এটি দুর্যোগের জন্য একটি ভাল রেসিপি। আপনি একটি রেস্টলফুল সেবার মাধ্যমে যে বস্তু মডেলটি প্রকাশ করেন তা আপনার ডাটাবেসের সাথে সম্পর্কিত হতে পারে তবে এটি কেবলমাত্র একটি CRUD ইঞ্জিন হিসাবে ব্যবহার না করে আপনার ব্যবসায়িক যুক্তিটিকে সত্যই সজ্জিত করে।