نموذج التطبيق (Avalanche - إطار عمل تطبيق Java)

نموذج التطبيق (Avalanche - إطار عمل تطبيق Java)


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

وُلد نموذج التطبيق المذكور في هذه المقالة على أساس خبرتنا في تنفيذ وتشغيل تفاعلات التكامل المختلفة لأنظمة المعلومات (IS) وكان يهدف في المقام الأول إلى الحد من استخدام الموارد المختلفة (المالية والعمالة والوقت وما إلى ذلك) في تنفيذ حلول التكامل هذه.

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

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

الطرق الحالية لمعالجة تكامل أنظمة تكنولوجيا المعلومات:

  • تبادل الملفات
  • المراسلة (نوع من تبادل الملفات)
  • التكامل على مستوى نموذج البيانات ، على سبيل المثال ، إنشاء كائنات قاعدة بيانات خاصة أو الإجراءات المخزنة
  • باستخدام تقنيات RCP (إجراء الاتصال عن بُعد) ، على سبيل المثال ، CORBA ، RMI ، SOAP ، DCOM ، إلخ.

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

نتيجة للبحث عن بديل للحلول الحالية ، تمت صياغة الفكرة لتحويل نموذج MVC (MODEL - VIEW - CONTROLLER) إلى طراز MVFA (MODEL - VIEW - FUNCTION - APPLICATION) ، تقسيم CONTROLLER إلى طبقتين من البرنامج FUNCTION و APPLICATION ).



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

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

لتنفيذ نموذج MVFA ، يُقترح نموذج البرنامج التالي:

  1. وظيفة (دالة) ، أي كائن له طرق لتنفيذ أي وظيفة ؛
  2. محول ، كائن معلن لا يحتوي على تطبيق. يوفر هذا الكائن رابطًا بين كائنات التطبيق والوظائف المحلية أو البعيدة. للوصول إلى الوظائف عن بعد ، يتم استخدام كائن "الواجهة" ؛
  3. الموصل (رابط) ، يوفر الوصول إلى الوظائف المحلية للكائنات البعيدة باستخدام كائنات "النشر" ؛
  4. منشور (نشر) ، ينشر وظيفة محلية في الموصل ؛
  5. واجهة (واجهة) ، يوفر الوصول إلى محولات إلى وظائف عن بعد ؛
  6. التطبيق (التطبيق) ، يؤدي تحويل البيانات بين العرض التقديمي والوظيفة / الوظائف ، ويمكن أيضا أن يكون بمثابة "وظيفة" لكائنات أخرى من "التطبيق".



يشكل زوج من "واجهة" - "موصل" قناة بيانات عبر بروتوكول بين أنظمة مختلفة أو عقد مختلفة من نفس النظام. يجب أن تتمتع القناة المنفذة بالقدرة على تمرير كميات البيانات المطلوبة.

هناك تطبيقات متخصصة لـ "واجهات" لا تحتوي على عناصر "موصل" مقترنة ، على سبيل المثال ، واجهة توفر عالية تتيح لك إنشاء أنظمة معلومات تتحمل الأخطاء. الغرض الرئيسي من الواجهة ذات الإتاحة العالية هو إعادة توجيه الحمل لتكرار العقد عند التخطيط أو خارج الإغلاق المخطط له لأحد عقد النظام.

يتم تطبيق نموذج MVFA المدروس في Avalanche - إطار عمل تطبيق لمنتج برنامج Java ، الذي ينتمي إلى فئة الأدوات الوسيطة ويتم تصميمه لإنشاء مجموعات برامج أو أنظمة معلومات عالية التوفر تتحمل الأخطاء.

بالطبع ، مثل أي تقنية ، يحتوي Avalanche - إطار عمل تطبيق Java على بعض القيود:

  1. يمكن إرسال أي كائنات (أنواع) تم الإعلان عنها في المحولات (معلمات الإدخال والإرجاع) عبر الشبكة ، وبالتالي يجب أن تنفذ هذه الكائنات واجهة java.lang.Serializable . يتم استدعاء الكائنات المحلية مباشرة ، دون استخدام عمليات القراءة والكتابة إلى الدفق.
  2. لا يمكن نقل جميع الكائنات عبر الشبكة. على سبيل المثال ، الكائنات التي تعتمد حالتها أو أدائها على تكوين عقدة النظام حيث تم تكوينها. تتضمن هذه الكائنات كائنات تقوم بتطبيق مواصفات javax.sql.DataSource.
  3. يجب أن توجد العقد المكررة للنظام على أجهزة مختلفة.
  4. يجب عدم إيقاف تشغيل العقد النظام المكررة (serviced) في نفس الوقت.

تم توضيح مثال لتطبيق بسيط في المقال - التطبيق الأول (Avalanche - إطار عمل تطبيق Java)

Source: https://habr.com/ru/post/ar477500/


All Articles