سؤال

بقدر ما فهمت يمكننا أن نقول أن الهندسة المعمارية ثلاثية الطبقات تعني مشاريع منفصلة لكل اهتمام.طبقة واجهة المستخدم وطبقة الأعمال وطبقة البيانات.تتحدث واجهة المستخدم إلى BL ويتحدث BL إلى DB والعكس صحيح.هذا أمر جيد لقابلية الصيانة وفكرة الفصل بين الاهتمامات معقولة.ولكن من ناحية أخرى، فإن الطبقات تختلف عن الطبقات.أي أن الطبقات ترتبط مباشرة بالأجهزة/الشبكة.أعني عندما نقول الطبقة الثانية، فهي بشكل عام جهاز عميل وجهاز خادم قاعدة البيانات.عندما نقول 3 طبقات، فهي بشكل عام جهاز عميل، وجهاز خادم التطبيقات، وجهاز خادم قاعدة البيانات.لذا، فيما يتعلق بهذه المعلومات، من الممكن تطوير تطبيق من مستويين يستخدم بنية ثلاثية الطبقات.

لقد استخدمت حتى الآن الطبقة الثلاثة ولكن حان الوقت لتقرير ما إذا كان ينبغي لنا التطوير في الطبقة الثالثة أو الطبقة الثانية.سيكون هناك مشروع windows form في الميدان وحوالي 150 عميلًا و100 محطة طرفية ستستخدم مشروع windows form وتتواصل عبر خدمات الويب.في المحطات الطرفية، من الواضح أن الحل الأفضل هو استخدام ثلاثة مستويات ولكن بالنسبة لعملاء Windows الذين سيتم تشغيلهم على Windows 7، فمن الصعب تحديد ما إذا كان ينبغي لنا التحدث مع قاعدة البيانات عبر خادم تطبيق واحد أو الاتصال مباشرة بقاعدة البيانات.

السؤال الرئيسي هنا ما هي فوائد الهندسة المعمارية المكونة من 3 طبقات مقارنة بالطبقتين.بالنسبة لي، يعني وجود مستوى آخر خادمًا/مضيفًا/جهازًا آخر يجب أن يكون جاهزًا للعمل طوال الوقت، وهو ما قد يكون حملًا زائدًا.

يرجى إرشادنا لاختيار أفضل بنية للطبقة.

هل كانت مفيدة؟

المحلول

أوصي فقط باستخدام "المستوى الثالث" (العميل وخادم التطبيقات وخادم قاعدة البيانات) إذا كنت ستقوم ببعض المهام الرئيسية على خادم التطبيقات والتي قد تستهلك الموارد المتاحة لتشغيل النظام الأساسي لقاعدة البيانات أيضًا.على سبيل المثال، تجميع الاتصالات أو برنامج إدارة الاتصال الذي يعمل بين التطبيق (طبقة الأعمال) وخادم قاعدة البيانات (طبقة البيانات).

نصائح أخرى

لنفترض أن لديك هذه المكونات:UI, Common, Biz, DAL

في تطوير التطبيقات ذات المستويين أو الثلاثة، يمكنك النشر UI و Common على client و Common, Biz , DAL على server (انتبه إلى أنه تم نشر المشترك على كليهما) وحاولت توصيل منطقة BIZ الخاصة بك عبر .Net Remoting أو WCFوأخيرًا، يمكن أن تكون قاعدة البيانات موجودة على الخادم أو على خوادم أخرى للطبقة الأخيرة.

آمل أن يساعد هذا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top