السؤال يقول
انت تقوم بتطوير قاعدة بيانات لعدة مستخدمين لصيانة نظام المالية في شركتك اي من هذه الحلولو تختار
N-tir
أو
single-tier
او
multi-tier
او
no tier
ايش الجوا وايش معنى هذه الحلول
السؤال يقول
انت تقوم بتطوير قاعدة بيانات لعدة مستخدمين لصيانة نظام المالية في شركتك اي من هذه الحلولو تختار
N-tir
أو
single-tier
او
multi-tier
او
no tier
ايش الجوا وايش معنى هذه الحلول
بعد السلام عيلك يبدو يامحمد انك بدات في الكتاب الثاني هل نجحت اتمنى ذلك ولكن بخصوص سؤالك اقول
1- ليس هناك ما يسمى بال no tier لانه على الاقل لابد ان يكون هناك single tier
2 - والsingle tier هي لو اردت ان تنشا تطبيق بالفيجوالبيسك فانك تضع التطبيق وقاعدة البيانات والدوال المستخدمه لمخاطبة قاعدة البيانات كلها معنا على جهاز واحد.
3 - two tier فيه يكون يكون التطبيق الذي انشاته في الفيجوال بالاضافة الى الدوال او component على جهاز والبنات المتداولة على جهاز اخر وهذة الطريقة تفضل عندما عدد المستخدمين لايتعدى ال 100 مستخدم ولكن اذاتجاوز عدد المستخدمين ال 100 معنى ذلك انك ستخدل في مشاكل كثيرة.
4 - multi-tier or n-tier حيث لافرق بينهما اخي الكريم فهي بالتاكيد افضل الطرق اذا كانت لدى مؤسسة كبيرة وهنا يتم الفصل الكلي ما بين ما بين الاapplication او ما يسمى بال user interface وهي عبارة عن اي نموزج(form) في الفيجوال عن الbusiness وكذلك عن ال data حيث كلامنهم يكون على جهاز منفصل وذلك ادع لاحتياطات امان عالية المستوى
ولك حبي وتقديري
واذاكنت تريد المزيد فارسل على اميلي
أخي محمد ،
سوف أشرح لك ذلك بشكل عام من غير الدخول في لغة معينة لأن هذا الموضوع ليس علاقة بلغة معينة بقدر ما لع علاقة ببنية البرامج ..
أولا مايكروسوفت اعتبرت أن هناك ثلاث أنواع لبنية البرامج وهي : desktop و 2-tier و 3-tier ..
سوف أبدء بشرح كل واحدة بالتفصيل ومن ثم سوف أشرح ال N-tier والفرق بينها وبين ال 3-tier ..:
بنية تطبيقات ال desktop:
=========================
هذا النوع من البرامج هو الأكثر انتشارا بين التطبيقات الحالية وهو يتضمن كل مايريده البرنامج في نفس الكمبيوتر . إن كل طبقات البرنامج تكون موجودة هنا في جهاز طرفي بالإضافة إلى قواعد البيانات . عندما تكون قواعد البيانات في جهاز آخر فلا يعتبر هذا التطبيق desktop بل يمكن أن يكون 2-tier .
إن الطبقات هذه هي عبارة عن واجهة البرنامج User Interface و قوانين العمل Business Logic Rules و طبقة الوصول إلى قواعد البيانات Database Acess Logic . معظم تطبيقات الdesktop لا تحتوي على فصل واضح بين هذه الطبقات مما يجعل نقل هذه التطبيقات إلى برامج موزعة صعب جدا distribted .
بنية تطبيقات ال 2-tier :
========================
أي تطبيق يصل إلى قواعد بيانات بعيدة هو على الحد الأدنى تطبيق 2-tier . طبعا هذا النوع من قواعد البيانات يمكن الوصول له عن طريق أي واجهة برمجية لقواعد البانات من نوع client/server مثل ADO و RDO و ODBC و غيرها ..
إن تحويل أي برنامج desktop إلى 2-tier هي عملية سهلة جدا في حالة كنت تستخدم الواجهات السابقة ، وذلك بعد تعديل بسيط في مصدر قواعد البيانات ليصبح البرنامج 2-tier . يعني قد يكون هناك برنامج desktop ولكنه يعتمد على تقنية ال 2-tier ؟؟ وهنا وقعنا في مشكلة وهي هل هذا التقسيم يعتمد على التركبة الفيزيائية أو المنطقية لتقسيم البرنامج ! أي هل يجب أن تكون قواعد البيانات في جهاز منفصل حتى نسمي التطبيق 2-tier .. في الحقيقة الخبراء رفضوا في أنها تعتمد على البنية المنطقية ولكن العدد الكبير من المطورين بداو يقرو من أن n-tier هي تعبير للبنية المنقية للبرنامج وليس الفيزيائية . فعلى سبيل المثال يمكن وضع كل مكونات تطبيق ال 3-tier بالاضافة إلى قواعد البيانات على جهاز واحد . إن بناء مثل هذه الحالة السابقة لا يجعل برنامج desktop ، لأنه ممكن أن تتحول إلى 3-tier من غير أي تعديل.
بنية تطبيقات ال 3-tier :
=========================
بعض الشركات تحتوي على قواعد وقوانين قد تتغير باستمرار لذا يفضل وضع هذه القواعد في طبقة منفصلة حتى يسهل تغييرها في أي وقت من غير أن تؤثر على باقي الطبقات . هذه الطبقة التي توضع في المنتصف بين ال UserInterface و Database تسمى ب Business Logic . وهذه الطبقة يجب أن تكون مع قواعد البيانات على ال server لتسهل عملية تعديلها في أي وقت .
طبعا من أجل أن قواعد البيانات وال business logic موجودة في ال server و ال UserInterface موجود في الجهاز الطرفي ، فإنه توجد العديد من طرق الاتصال بينهما مثل استخدام ال TCP/IP Socket و named pipes ، وغيرها .. ولكن الأفضل هنا هو استخدام ال DCOM أو Distributed COM . والأفضل بكثير هو استخدام DCOM ضمن بيئة MTS في طرف السيرفر مما يعطي بيئة ممتازة جدا من أجل واجهات ال DCOM مثل التحكم في security و shared resources و transactions و و ..
طبعا بما أنه دخلت الشبكة في الموضوع ومن المعروف بطئ الشبكة في حمل كميات كبيرة من البيانات فيجب تقليل عمليت الطلب والأخذ من السيرفر إلى أقل مايمكن وهذا مايسمى بالدوران أو round-trip .. لذلك يجب أن تكون ال businiss logic في السيرفر مع قواعد البيانات ويجب أن تحتوي على توابع ووظائف تجمع أكثر من عملية في وقت واحد وهذه الطبقة لا تحتوي على متحولات لحالة الطلب أي أن تكون stateless ، وتتميز هذه الطبقة في أن توابعها تتميز بالعدد الهائل من بارامتراتها وذلك كما قلت لأنها تجمع أكثر من وظيفة في تابع واحد . ولكن تصور أنك في برامج ال UI تستدعي توابع ب20 بارامتر . هذا الأمر غير مستحسن أبدا .. وهذا ما ينقلنا إلى البنية التي تلي.
بنية تطبيقات ال n-tier:
========================
بفرض أنه تم وضع طبقة أخرى بين الطبقات السابقة ، هل سنسمي هذي البنية 4-tier ؟ في الحقيقة اعتبر المطورين أن أي طبقة تضاف إلى بنية ال 3-tier على أنها بنية n-tier .. وهذه الطبقة الجديدة التي أضفناها إلى البنية السابقة هي ضرورية من أجل التعامل مع بنية ال buisness logic التي تكون stateless وتحتوي على توابع ذات بارامترات كثيرة . هذه الطبقة التي توزع مع البرنامج الطرفي تسهل من عملية البرمة والوصول إلى ال business logic حيث تحتوي هذه الطبقة على objects عديدة وجميعها يحتوي على methods و properties اي أنها statefull .. وهي جدا مريحة من أجل مبرمجين الobject oriented الذين يصعب عليهم التعامل معى كائنات ال business logic . تسمى هذه الطبقة الجديدة التي تعتبر مثل غلاف لكائنات ال business logic ب Object Model وهي بالعادة ما تكون عن COM ..
الملخص :
+++++++++
إن أكثر التطبيقات المنتشرة في الشركات الكبيرة هي من نوع N-Tier وذلك لفائدتها وللتسهيلات التي تعطيها في نشر عمل الشركة عبر برامج ال client و الانترنت .
بيمكن عمل صفحة ASP تتصل بطبقة ال business Logic ويمكن عمل تطبيقات UI تستخدم ال Object Model من أجل الوصول إلى ال Business Logic . وطبعا يمكن تغيير ال DCOM في الbusiness Logic من أجل وضع قوانين جديدة للعمل ...
وسوف أعطيك هذا المثال على تطبيق n-tier :
وهذا الذي استطعت أن أعطيك إياه وإذا في خطأ أو نقصان أرجو من أحد الأخوة أن يزيد أو يصحح ... :)
Coding on the Cloud and for the Cloud!
شكرا لكم اخواني جدا بصراحه الشرح كفى ووفى وحتى انه بعد ما فهمت الموضوع عرفت اجاوب على اسئله اكثر
أخي محمود هلا راجعت بريدك فلقد طلبت منك اي اسئلة حول هذا الاختبار وشكرا
ماشاء الله جزاكم الله خيرا على هذا الموضوع القيم
فلسطين الزاهية بألوان الحب والسلام
ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها
تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين
موضوع رائع وفعلا متقدم :lol:
وشكرا لكم (h)
مع تحيات : عبدالرحمن نورالله
بيلار الدولية للتكنولوجيا لتصميم وأستضافة مواقع الأنترنت ، شركة مسجلة في المملكة الاردنية الهاشمية
أستضافة مواقع (Website Hosting) ابتداء من 35دينار اردني (50$) سنوي 962799247524+ أضغط هنا

هذا الموضوع مغلق.