كيف يتم برمجة برنامج يعمل على أكثر من جهاز بنفس الوقت؟

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

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

أسهل طريقة هي عمل موقع كوسيط بين برامج الفروع

يحتوي الموقع علي قاعدة البيانات الخاصة بالمطاعم (الفروع / الحسابات / عضويات العاملين ... الخ)

وواجهة برمجية (API) بأي من لغات الويب مثل PHP, Ruby, Python للربط بين البرامج وقاعدة البيانات

ويتم تبادل البيانات بين الواجهة البرمجية والبرنامج بإستخدام json او xml

تعليقاً علي الخطورة الأمنية, فالموقع الوسيط لن يكون موقع منشور وغير معلوم غير داخليا والطريقة الوحيدة لمعرفته يمكن بها معرفة أي سيرفر من نوع اخر.

ولكن بشكل عام إذا تم برمجة النظام بشكل سليم فالخطورة من الأختراق تقل كلما كانت البرمجة أكثر إحترافية, والحلول الأمنية كثيرة.

يمكن ربطهم من خلال سرفر مركزى, يقع فى اى فرع منهم (و غالبا فى الفرع الرئيسى),

هذا السرفر هو فقط الذى يحتوى على قاعدة البيانات الرئيسية, و كل الباقى هم clients يقومون بالاضافة الى الdatabase و القراءة منها,

طبعا ده محتاج database مصممة بشكل جيد, و كذلك الى API بين الserver و الclients,

احدى البروتوكولات المستخدمة بكثرة فى هذه المجالات هى SOAP و هو بروتوكول مبنى على XML.

او يمكنك بالطبع تصميم بروتوكول خاص بينهم و هذا اكثر امانا و لكن سوف تكون اكثر عرضة للأخطاء.

-1

صح يحتاج الClients و الServer هي اسهل طريقة احسن من ان يعمل موقع

و يتم اختراقه اذا كان فيه خلل و يلعب بلحسابت و يصير مشاكل....

و طريقتها سهلة مش صعبة

ردود الإخوة الذين سبقوني مفيدة وتشير إلى الحلول المناسبة والمتعارف عليها

أريد أن أضيف إمكانية انشاء قاعدة بيانات داخلية لكل برنامج (مطعم)

تخزن فيها البيانات الخاصة بالفرع دائما قبل أن تخزن في القاعدة المركزية المرتبطة بكل الفروع

تستفيد من هذه الإضافة إمكانية العمل حتى عند انقطاع الانترنت أو حدوث خلل في قاعدة البيانات المركزية

ثم عند انتهاء الدوام اليومي (مثلا) تقوم بمزامنة البيانات مع قاعدة البيانات المركزية

لديك حلان

الاول كما قال الاخ @mamod06 لكن عيوبها انها ليست امانه بتاتاً

الثانيه هي الاعتماد على شبكة داخليه المعروفة بـ"P2MP" كالمستخدمه في الشركات والبنوك وهي امنه اكثر لكنها مكلفه بعض الشئ , لمعلومات اكثر من شركة اتصالات يمن نت , فقط لاخذ فكرة

يمكن تشفير الاتصال فى الطريقة الاولى عبر SSL و TLS, و هذا يوفر مستوى جيد من الامان.

وسيبقى المخدم عام , اذا كان المطعم كبير ومهم فنصيحتي هي P2MP هي الافضل والاكثر امان

الأمر يتعلق بقاعدة بيانات أكثر من البرنامج،

يعني أن يكون هناك Server واحد به قاعدة بيانات و كل فروع المطعم تتصل بهذا Server عن طريق انترنت(كل فروع المطعم بها نسخة من البرنامج, هذا في حالة دوت نت )، الشيء الوحيد المشترك هو قاعدة البيانات.

بالتأكيد ستحتاج الى شبكة والى نظام تشغيل خاص بالشبكات مثل Windows Server وبطبيعة الحال ستحتاج الى شبكة Domain وليست Workgroup.

نظام التشغيل Windows Server فيه كل المتطلبات لعمل هذه الشبكة وستحتاج ايضا ً الى تنصيب SQL Server والى تفعيل ال Active Directory لإدارة افرع المطعم وعمل مزامنه فيما بينها، اما بخصوص برنامج الحسابات فبإمكانك استخدام لغة C# لبرمجة هذا البرنامج او اي لغة اخرى.

أيضا ً بإمكانك استخدام نظام Oracle لهذا الموضوع، فيها كل ما تحتاجه بدون الحاجة الى استخدام لغة برمجة مستقلة وبرمجة نظام محاسبي من الصفر.