سؤال

لذلك نحن نبني محليا(في للعملاء الموقع) استضافت مخصص نقاط البيع نظام شيئا كثيرا من العادي.كل شيء .NET, C# و SQL Server.

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

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

توصلنا مع الحل الذي يقلل من التعرض DB المحلية إلى العالم الخارجي:

  • التطبيق على شبكة الإنترنت لا يمكن الوصول إلى أي شيء من التطبيق.
  • الطريقة الوحيدة البيانات يمكن نقلها عن طريق دفع المرسلة من التطبيق إلى التطبيق على شبكة الإنترنت.
  • الشيء الوحيد ويب التطبيق يمكن القيام به هو إرسال إخطار المحلية db أن النظام الجديد قد اتخذت.المحلي التطبيق ثم الاتصال الخارجي التطبيق وسحب تفاصيل النظام.

إذا كنا نفكر في تصميم مثل هذا ، وذلك باستخدام خدمات الويب, و تحديد العمليات الأساسية على شبكة الإنترنت التطبيق مثل addProduct(id, بلاه بلاه بلاه)

ولكن بعد ذلك يجب أن تكتب إجراءات للحفاظ على الأشياء في المزامنة ، مثل ما إذا كان المنتج هو حذفها من التطبيق ، ولكن الخارجية التطبيق مؤقتا unavailible ، الخ ، الخ...

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

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

المحلول

هذه هي الحالة التي يبدو فيها SOA قابلاً للتطبيق بالنسبة لي.سأفكر في الكشف عن وظائف معينة من تطبيق POS باستخدام WCF.يحتوي هذا على الأقل على الأشياء التالية:

  • يمكنك إعادة استخدام الوظيفة من نظام نقاط البيع بدلاً من تكرار أجزاء منها على الموقع الإلكتروني
  • باستخدام ربط MSMQ على سبيل المثال، يمكنك العمل في المواقف غير المتصلة
  • تتمتع WCF بآليات أمنية ممتازة ودعم المعاملات وما إلى ذلك ...

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

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

نصائح أخرى

ليس في الواقع إجابة لسؤالك مباشرة ...سأحاول إنشاء نفق VPN بين الموقعين، وإذا لم تتمكن من ذلك، حاول استخدام نفق SSH؟

بصرف النظر عن كون الأمان جيدًا، هناك الكثير من الخيارات المتاحة بمجرد وجود VPN في تجربتي، حيث أن الأشياء التي كانت في السابق غير آمنة للغاية بحيث لا يمكن أخذها في الاعتبار هي أمور قيد التفكير.

@أولي هذا يبدو واعدا.مسألة واحدة هي أن الاتصال ب/ث على الانترنت والمحلية التطبيق غير موثوق بها.ومع ذلك, نحن لا تزال تريد أن تكون قادرة على اتخاذ أوامر عندما الرابط في الأسفل.لذا أعتقد أننا ذاهبون إلى استخدام رأس المال العامل في webapp قراءة البيانات من الخادم و التخزين المؤقت المحلية في الجداول.التطبيق على شبكة الإنترنت سوف طلب البيانات من خلال intermidiary طبقة والذي يقدم المحتوى المخزنة مؤقتا الجداول إذا WCF دعوة لا يعود في وقت قصير.إذا كان لا عودة بنجاح ، ذاكرة التخزين المؤقت سيتم محوها واستبدالها مع النتائج.يبدو وكأنه خطة ؟

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