لنفكر قليلاً في مشروع كبير ونرسم مخططه سوياً ... من يشارك
السلام عليكم
كوني محلل نظم فقد تجدني أرسم في مشاريع كبيرة وقت الكلام
ولكن وقت الكتابة والعمل 
نخلينا في الرسم
مشروعنا هو مشروع مطلوب فيه عدة أمور لتناسب مدي كبره وتوافد الزوار عليه بالملايين
المطلوب عدة أقسام مثل جوجل كلها تعمل علي سيستم أعضاء موحد فدعنا نحدد 4 أقسام مثلاً الأن وأي زيادة ستيكون مبنية علي نفس الفكرة
- نظام إدارة مدونات شخصية مثل بلوجر
- منتدي شامل ( بالطبع سيكون بنظام حصري قليلاً ليتناسب مع المشروع )
- نظام عارض فيديو ومشاركة فيديو وملفات صوتيه مثل يوتيوب
- نظام مشاركة صور وتصاميم مثل ديفيان ارت
لنحدد النقاط الأساسية
- يجب ان يكون كل سيستم منفصل في ملفات منفصلة ليكون علي دومين فرعي منفصل علي حساب منفصل وله قاعدة بيانات منفصلة <<< صاحبك أنفصل :looking:
هذه النقاط ستسمح لك بكل خفة ونشاط بنقل حساب بأكمله علي سيرفر اخر ليعمل بكل كفاءة
وعلي السيرفر الأصلي توجيه الدومين الفرعي من ال dns للسيرفر الأخر
وبالتالي يمكن جعل كل قسم فيما بعد علي سيرفر منفصل
لنبدأ في جمع نقاط الإلتقاء بين كل تلك البرمجيات
نقطة 1 : بالطبع سيكون هناك فريم ورك هو البنية التحتية لكل تلك البرمجيات سيتم كتابته
ولكن ستكون هناك مشكلة
أي تعديل علي الملفات الأساسية الخاصة بهذا الفريم ورك يجب ان نجري هذا التعديل في ال 4 حسابات ( تخيل لو كانت 30 :looking: )
الحل : سأترك لكم الحل ولكني سمعت ان php 6 سيكون فيها حل وهو نظام الحزمة الواحدة شبيه بملفات jar الخاصة بالجافا فهل لديكم حل لهذه المشكلة حالياً ؟
نبدأ في التفكير
هناك نقاط إلتقاء بين كل تلك البرامج أليس كذلك ؟
مثلا ملف اللغة ( ممكن نخلي اللغة في قواعد البيانات وبالتالي سيكون نظام إدارة اللغة موحد )
خيارات كل برمجية
نظام إدارة المجموعات والصلاحيات
لها سنضيف قسم منفصل خامس وسيكون له واجهتين
الواجهة الأولي هي الواجهة الإدارية التي يدخلها المديريين ( كلاً حسب صلاحياته ) للإدارة العاملة لكل جنبات تلك الأقسام
الواجهة الثانية هي واجهة للأعضاء للأمور المشتركة بين تلك الأقسام مثل
- أنشاء عضوية جديدة ( مثل إنشاء حسب في جوجل في مكان يسمع لك في كل نظام إضافته لحسابك )
- تغيير معلومات العضوية
إلخ
إذا لدينا نظام خامس سيكون هو الهيكل الإدارة للإقسام والعضويات وسيكون له قاعدة بياناته الخاصة وملفاته الخاصة
الأن لدينا مشكلة
العضو حينما يذهب لقسم من الأقسام كيف ستكون بياناته عاملة هناك في حين أنها علي قاعدة الهيكل الإدارة ؟
الحل : عمل نظام جلسات في كل قسم من تلك الأقسام في قاعدة البيانات لتدير جلسة العضو داخل هذا القسم
حينما يدخل العضو قسم من الأقسام ويسجل دخول ( او عبر الكوكيز ) سيتم إنشاء جلسه داخليه لهذا القسم فقط تم جلب محتوياتها من الهيكل الأساسي ووضعها هنا
وأيضا كل قسم من تلك الأقسام عليه جلب خياراته وصلاحياته من الهيكل الأساسي
السؤال الجديد
كيف سيقوم كل قسم من تلك الأقسام بالإتصال علي قاعدة بيانات الهيكل ( وهذا الهيكل قد يكون علي سيرفر أخر ) لجلب البيانات ؟
الحل : برمجة نظام كامل في الهيكل لإدارة جلب وإعطاء البيانات بإستخدام واجهة API
ملف للأعضاء يأتي له أي قسم من تلك الأقسام باليوزر والباس فتعود الواجهة ال API له ببيانات العضو كاملة
يناديه أي قسم ليطلب خيارات وصلاحياته لو تم تحرير لها فتعود له الواجهة بما طلب
سؤال جديد
كيف سترسل الواجهة تلك المعلومات ؟
أعتقد الجواب هو بال xml مثلاً
او text معمول لها serialize
ما رأيكم ان نتشارك في المعلومات حول بناء سيستم ضخم لإدارة موقع كبير من عدة أقسام منفصلة لنصل لأفضل الحلول لتلك المشاريع الكبيرة
هل ما طرحته من أجوبة جيدة ام لديكم أجوبة افضل ؟
__________________
السيف أصدق أنباء من الكتب