كيف تربح المؤسسة الدموية المصدر المفتوح: معركة BPMS

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



يعرض المبرمجون العمليات التجارية باستخدام الرموز المختلفة. المعيار الآن هو BPMN (نموذج عملية وتدوين) - هذه هي ملفات XML مع صور مرفقة بها. للعمل مع هذا الترميز ، يتم إنشاء منتجات BPMS - أنظمة خاصة متجانسة تحاول استيعاب الحد الأقصى من الأدوات لتطوير BPM: من محرر واجهة المستخدم إلى نظام التحكم في الإصدار.

يمكن فقط للمطورين الذين كانوا يعملون مع هذه الأنظمة لفترة طويلة توسيعها. في BPMS للمؤسسات ، يتم توفير REST API ، أي أنه يمكن الوصول إلى الأنظمة وتلقيها استجابة. لكن تعديل وضبط BPMS نفسه يكاد يكون مستحيلاً. من الممكن العمل مع BPMS فقط من خلال مجموعة محدودة من الأدوات من قبل الشركة المصنعة - نظام التحكم في إصدار الملكية ، المترجم ، الناشر - عادة لكل مجموعة BPMS كبيرة يتم تطوير مجموعة كاملة. تتطور هذه الأدوات ببطء ، وقد تستمر المشاكل نفسها من الإصدار إلى الإصدار ، لأنه ليس هناك الكثير من الأشخاص المشاركين في العمل ، كما هو الحال مع المصدر المفتوح. بشكل عام ، نادرًا ما تتزامن إمكانات BMPS للمؤسسات واحتياجات مستخدميها.

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


تتكون عملية الأعمال من مهام المستخدم والخدمة التي تؤدي تسلسلاتها إلى التوقف النهائي. في BPMS ، من خلال هذه المخططات ، يمكنك تتبع وقت تنفيذ العمليات التجارية ، بالإضافة إلى مؤشرات الأعمال المختلفة - على سبيل المثال ، KPI.

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

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

يحل Camunda المشاكل


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

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

يسمح لك BPMS Camunda بتحرير عمليات الأعمال باستخدام Java القياسي ويدعم مشاركة الخدمات المصغرة. يوفر تحويل BPMS إلى الخدمات الدقيقة مزايا عديدة في وقت واحد:

  • التخلص من المونوليث. يمكننا تقسيم العمليات التجارية حسب القطاعات ، وربطها معًا باستخدام Rabbit MQ أو Kafka من خلال قائمة الانتظار. يمكن تغيير عمليات الأعمال بمعزل عن بعضها البعض ، وتغيير التغييرات دون انتظار الإصدار الكامل.
  • التخلص من خادم عملية الأعمال.
  • تحجيم. إذا بدأ أي خادم في الانخفاض تحت التحميل ، فيمكن استنساخه. في أوقات الذروة ، يمكنك زيادة الإنتاجية بسهولة عن طريق تشغيل مثيلات متعددة من عمليات الأعمال في خدمات مختلفة.
  • تعيين الإصدار على سبيل المثال ، إذا كنت بحاجة إلى تحديث إصدار Java ، يمكنك اختيار العديد من الخدمات المصغرة بإصدارات مختلفة من Java وتشغيل الإصدار الجديد بالتوازي. لا يمكن أن تحتوي كل خدمة صغيرة على إصدارات مختلفة من البرامج فحسب ، بل أيضًا لغات مختلفة.

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

استند إصدارنا الأول من Camunda إلى Websphere ، وفي الواقع ، لم يكن مختلفًا كثيرًا عن IBM Lombardi. قررنا كتابة التطبيقات التي وصلت إليها الخدمة في Spring Boot. نشروا على Tomcat ولم يعملوا بمفردهم. ثم اتضح أن Camunda يمكن أن تعمل على Tomcat ، تم تطوير إصدار لـ Spring Boot. لقد أصبحت هناك بالفعل بنية كاملة للخدمات الصغيرة متوفرة هناك. تم تنفيذ جميع التطبيقات التي عملت بها عملية الأعمال على بنية خدمة صغيرة تعتمد على Spring Cloud.

ثم اتضح أنه يمكنك تغيير الوظائف بسرعة ليس فقط في الخدمات التي تخدم عملية الأعمال. يمكن توصيل محرك BPM نفسه بأي تطبيق Springboot كمكتبة.

كاموندا كخدمة صغيرة

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

آفاق BPMS


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

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

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


All Articles