أفضل الممارسات للحصول على هندسة غير متجانسة .NET WPF & J2EE 3-Tier

StackOverflow https://stackoverflow.com/questions/3237627

  •  14-09-2020
  •  | 
  •  

سؤال

أنا في الغالب مطور ASP.NET، لذلك أنا لست على دراية بأفضل الممارسات J2EE أو WFP، أنماط وغيرها، لكنني أشعر أن المشروع الذي أشارك فيه كان من الممكن القيام به بشكل أفضل، لكنني لا يمكن وضع إصبعي تماما على ما هو الخطأ في الهندسة المعمارية.

ما هو أفضل هندسة (*) للتطبيق المتجانس لمدة 3 مستويات موزعة، على وجه التحديد، إذا أردت تنفيذ نظام يتكون من:

  1. java ee 5 back-end على خادم تطبيقات JBOSS - تعريض خدمات EJB على سبيل المثال كما الصابون أو الراحة أو جيمز الفول
  2. السبات إلى قواعد بيانات SQL Server أو Oracle
  3. . NET 4.0 WPF Desktop Client
  4. . NET 4.0 Silverlight Client Web
  5. jsp / pure-html عميل الويب
  6. * أعرف أنه من المستحيل أن يحدد "أفضل بنية"، لكنني فضولي فقط حول الآراء المتعلقة بالنهج المعمارية وأفضل الممارسات والأنماط وغيرها.

    أحد المشاكل الواضحة التي أراها في تصميمنا / الهندسة المعمارية هي أن الاتصالات بخدمة الويب SOAP بين عملاء .NET و Back-End بطيئة للغاية، ربما بسبب مشكلات الكمون. تجربة واجهة المستخدم كلها بطيئة للغاية. وهذا مع مستخدم واحد - في الإنتاج، نتوقع +/- 100 مستخدم متزامن.

    أقدر أي تعليقات / آراء.

    بعض الأسئلة:

    • ما هي التقنيات التي تنصح بها لمعالجة أي من المكونات المذكورة أعلاه، على سبيل المثال ما نوع الخدمات (الصابون، الراحة، المراسلة؟)
    • كيفية تقليل الكمون في الاتصال بين عملاء .NET و Java Back-End؟
    • ما أنماط / نهج النظر في، على سبيل المثال من حيث رمز عميل WPF (نمط MVVM؟)، الاتصالات مع Java Back-end (WCF؟)
    • كيف تأمين (المصادقة أو التفويض) مثل خدمات J2EE هذه عند استخدام عميل WCF؟
    • ما هي القضايا المعمارية للبحث عنها وكيفية معالجةها، على سبيل المثال من حيث الأمن، قابلية التوسع، الأداء، إلخ؟

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

    شكرا!

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

المحلول

هي الهندسة المعمارية لهذا المشروع كانت معقدة للغاية.

كنت قد اتخذ التغييرات التالية:

  • استخدم .NET على الخلفية لتقليل عدد التقنيات
  • إسقاط عميل WPF واستخدم Silverlight من المتصفح كعميل Windows
  • استخدم مكالمات ASYNC فقط إلى الخلفية للحفاظ على استجابة UI
  • استخدم مآخذ ويب WCF للتحدث إلى الخلفية
  • استخدم HTML5 كويو الويب الخاص بك، وهذا يدعم أيضا مآخذ الويب الخاصة بك، لذلك لديك طريقة واحدة للتحدث مع الخلفية

مآخذ ويب: http://tomasz.janczuk.org/

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