لنأخذ السيناريو التالي: افتتاح مطعم في وسط المدينة، وهذا المطعم استخدم برنامجا على الحاسب يقوم بعملية الحساب وحساب الأرباح..الخ ، بعد فترة تم افتتاح فرع آخر للمطعم في شمال المدينة، ونريد أن نربط المطعمين بنفس البرنامج، ماهو المتاح لفعل ذلك والقابلية للتوسعة لاحقا لمطعم ثالث، هل نحن بحاجة إلى بناء شبكة في هذه الحاله؟ هل هي عملية سهلة أم معقدة؟ وكيف يتم برمجة ذلك باستخدام لغات البرمجة (خاصة في بيئة الدوت نت).
كيف يتم برمجة برنامج يعمل على أكثر من جهاز بنفس الوقت؟
أسهل طريقة هي عمل موقع كوسيط بين برامج الفروع
يحتوي الموقع علي قاعدة البيانات الخاصة بالمطاعم (الفروع / الحسابات / عضويات العاملين ... الخ)
وواجهة برمجية (API) بأي من لغات الويب مثل PHP, Ruby, Python للربط بين البرامج وقاعدة البيانات
ويتم تبادل البيانات بين الواجهة البرمجية والبرنامج بإستخدام json او xml
يمكن ربطهم من خلال سرفر مركزى, يقع فى اى فرع منهم (و غالبا فى الفرع الرئيسى),
هذا السرفر هو فقط الذى يحتوى على قاعدة البيانات الرئيسية, و كل الباقى هم clients يقومون بالاضافة الى الdatabase و القراءة منها,
طبعا ده محتاج database مصممة بشكل جيد, و كذلك الى API بين الserver و الclients,
احدى البروتوكولات المستخدمة بكثرة فى هذه المجالات هى SOAP و هو بروتوكول مبنى على XML.
او يمكنك بالطبع تصميم بروتوكول خاص بينهم و هذا اكثر امانا و لكن سوف تكون اكثر عرضة للأخطاء.
ردود الإخوة الذين سبقوني مفيدة وتشير إلى الحلول المناسبة والمتعارف عليها
أريد أن أضيف إمكانية انشاء قاعدة بيانات داخلية لكل برنامج (مطعم)
تخزن فيها البيانات الخاصة بالفرع دائما قبل أن تخزن في القاعدة المركزية المرتبطة بكل الفروع
تستفيد من هذه الإضافة إمكانية العمل حتى عند انقطاع الانترنت أو حدوث خلل في قاعدة البيانات المركزية
ثم عند انتهاء الدوام اليومي (مثلا) تقوم بمزامنة البيانات مع قاعدة البيانات المركزية
لديك حلان
الاول كما قال الاخ @mamod06 لكن عيوبها انها ليست امانه بتاتاً
الثانيه هي الاعتماد على شبكة داخليه المعروفة بـ"P2MP" كالمستخدمه في الشركات والبنوك وهي امنه اكثر لكنها مكلفه بعض الشئ , لمعلومات اكثر من شركة اتصالات يمن نت , فقط لاخذ فكرة
بالتأكيد ستحتاج الى شبكة والى نظام تشغيل خاص بالشبكات مثل Windows Server وبطبيعة الحال ستحتاج الى شبكة Domain وليست Workgroup.
نظام التشغيل Windows Server فيه كل المتطلبات لعمل هذه الشبكة وستحتاج ايضا ً الى تنصيب SQL Server والى تفعيل ال Active Directory لإدارة افرع المطعم وعمل مزامنه فيما بينها، اما بخصوص برنامج الحسابات فبإمكانك استخدام لغة C# لبرمجة هذا البرنامج او اي لغة اخرى.
أيضا ً بإمكانك استخدام نظام Oracle لهذا الموضوع، فيها كل ما تحتاجه بدون الحاجة الى استخدام لغة برمجة مستقلة وبرمجة نظام محاسبي من الصفر.
التعليقات