أنا أبحث عن منصة مراسلة (مثل XMPP) تسمح بالتكامل الضيق مع تطبيق ويب

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

سؤال

في الشركة التي أعمل من أجلها ، نقوم ببناء مجموعة من تطبيقات الويب للتعاون. أشياء مثل المحاسبة ، الفواتير ، CRM إلخ.

نحن نستخدم تقنية Restfull:

  1. لقاعدة البيانات نستخدم CouchDB
  2. تتواصل التطبيقات المختلفة مع بعضها البعض ومع قاعدة البيانات عبر HTTP.
  3. علاوة على ذلك ، لدينا حل واحد على تسجيل الدخول ، بحيث عند تسجيل الدخول في تطبيق واحد ، يتم تسجيل الدخول تلقائيًا إلى الآخر.
  4. لجميع التطبيقات نستخدم Python (Pylons).

الآن نحن بحاجة إلى إضافة الرسائل الفورية إلى المكدس. نحتاج إلى دعم عملاء الويب وسطح المكتب. لكن مجرد القدرة على الدردشة لا يكفي. نحن بحاجة إلى أن نكون قادرين على تحقيق كل ما يلي (وأكثر أشياء مماثلة).

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

يمكنني تنفيذ هذا باستخدام حلول مخصصة مثل Hookbox http://hookbox.org/docs/intro.htmlولكن بعد ذلك سأواجه الكثير من المشكلات في دعم عملاء سطح المكتب.

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

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

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

المحلول

مثل FRX المقترحة أعلاه ، فإن لدى أشخاص Strophejs كتاب ممتاز عن ترميز الويب+XMPP ، لكن بما أنك ذكرت أنه ليس لديك خبرة في هذا النوع من الترميز ، أود أن أقترح التحدث إلى بعض الأشخاص الذين لديهم :) سيوفر لك الوقت على المدى الطويل - لا أقول أنني لا أحاول تنفيذ ما تحدده FRX ، فقد يكون مشروعًا ممتعًا :)

أعرف مجموعة واحدة قامت بتنفيذ شيء مشابه والدردشة معهم من شأنه أن يساعد في ترسيخ ما تفكر فيه: http://andyet.net/ (أنا لست مرتبطًا بهم على الإطلاق باستثناء حقيقة أن مجتمع XMPP Dev صغير ونميل إلى معرفة بعضنا البعض :)

نصائح أخرى

يمكن تحقيق جميع الأهداف مع البرمجة النصية Ejabberd و Strophe و Little Server Server

  1. عندما يتم تعيين شخص ما للمهمة ، يمكن للمصادقة على Server Side Script بسهولة إلى خادم XMPP وإرسال رسالة Stanza إلى JID المعينة. أن مهمتها التافهة.
  2. لتجميع أشخاص مختلفين في مجموعات ، يمكن القيام به بسهولة من تطبيق دردشة الويب إذا تم تخزين خصائص المستخدم هذه في مكان ما. فقط انضم إليهم على وجه الخصوص غرفة دردشة متعددة المستخدمين بعد المصادقة.
  3. لدى Ejabberd خيار لإنشاء وتدمير الغرف تلقائيًا.
  4. لدى Ejabberd طرق تفويض مختلفة بما في ذلك قاعدة البيانات ومكتوبة البرنامج النصي

يمكنك إلقاء نظرة على مكتبة Strophejs ، لديهم كتاب رائع (غلاف عادي). أوصي حقًا بقراءة هذا الكتاب http://professionalxmpp.com/

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