سؤال

لقد حصلت على سؤال بشأن JBPM. في أحد مشاريعنا، قمت بتطوير خدمة المؤسسات (.NET) أن الأنظمة الأخرى (JBPM، Delphi، إلخ) يجب أن تتلقى البيانات من. لهذا أنا أقدم واجهة الصابون.

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

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

  1. سؤال: نظرا لأنني لست مطور JBPM، كنت أتساءل عما إذا كان لا يوجد نمط قياسي للتعامل مع جزء اقتراع خدمة الويب داخل JBPM؟
  2. السؤال: ما هي الطريقة التي تقترحها في مثل هذه الحالات مع الأخذ في الاعتبار أن خدمة المؤسسة يجب أن تكون فضفاضة؟
هل كانت مفيدة؟

المحلول

إذا قمت بتطبيق قائمة انتظار JMS، فسوف أفترض أن مطور دلفي سوف يشكو. الصابون هو الحل الجيد.

تفقد هذا, ، وإعطائها لمطور JBPM. (راجع للشغل، هل تستخدم JBPM 3 أو 4؟)

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

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