Bagaimana perusahaan berdarah memenangkan sumber terbuka: pertempuran untuk BPMS

Roda persneling bank modern sesuai dengan proses bisnis keuangan. Mereka lebih rumit dari biasanya - aturan ini berfungsi untuk semuanya, yang Anda tambahkan definisi "keuangan". Di satu sisi, semuanya dipersulit oleh regulator, persetujuan yang tak terhitung jumlahnya dan pihak-pihak yang terlibat. Di sisi lain - BPMS monolitik canggung (Sistem Manajemen Proses Bisnis). Dalam posting ini, kami akan memberi tahu Anda bagaimana Anda berhasil meninggalkan satu sistem seperti itu dan masuk ke open source yang fleksibel dan fungsional.



Pemrogram menampilkan proses bisnis menggunakan notasi yang berbeda. Sekarang standarnya adalah BPMN (Model Proses Bisnis dan Notasi) - ini adalah file XML dengan gambar yang dilampirkan padanya. Untuk bekerja dengan notasi ini, produk BPMS dibuat - sistem eksklusif monolitik yang mencoba mengakomodasi alat maksimum untuk mengembangkan BPM: dari editor antarmuka pengguna ke sistem kontrol versi.

Hanya pengembang yang telah bekerja dengan sistem ini untuk waktu yang lama yang dapat mengembangkannya. Di BPMS perusahaan, API REST disediakan, yaitu, sistem dapat diakses dan diterima sebagai respons. Tetapi memodifikasi dan menyelaraskan BPMS itu sendiri hampir tidak mungkin. Dimungkinkan untuk bekerja dengan BPMS seperti itu hanya melalui seperangkat alat terbatas oleh pabrikan - sistem kontrol versi eksklusif, kompiler, penyebar - biasanya untuk setiap BPMS besar seluruh rangkaian dikembangkan. Alat-alat ini berkembang perlahan, masalah yang sama dapat bertahan dari rilis ke rilis, karena tidak banyak orang yang terlibat dalam pekerjaan, seperti halnya dengan open source. Secara umum, kemampuan BMPS perusahaan dan kebutuhan penggunanya sangat jarang terjadi.

Dalam iklan sistem seperti itu, mereka berbicara tentang alur kerja ujung ke ujung, mereka mengatakan bahwa bisnis itu sendiri dapat mengubah proses BPM dengan cepat. Tetapi pada kenyataannya, bahkan analis tidak dapat melakukan ini - hanya yang maju yang bisa mengatasinya.


Proses bisnis terdiri dari tugas-tugas pengguna dan layanan yang urutannya mengarah ke perhentian terakhir. Di BPMS, melalui skema seperti itu, Anda dapat melacak waktu pelaksanaan proses bisnis, serta berbagai indikator bisnis - misalnya, KPI.

Kita sering harus melakukan perubahan berbagai ukuran untuk proses bisnis. Kami dulu memiliki proses BPM untuk manajer klien yang duduk di kantor tambahan. Pada 2015, kami menutup beberapa kantor, dan memindahkan manajer ke pekerjaan lapangan. Ini membutuhkan perubahan besar dalam proses BPM, itu perlu untuk memperkenalkan peran lain, tindakan. Atau, misalnya, peraturan dinas keamanan ekonomi telah berubah, dan alih-alih dua koordinator, sekarang ada tiga.

Pertama, kami melakukan perubahan melalui IBM Lombardi BPMS. Setelah mengumpulkan kekurangan tipikal dari sistem kelasnya, itu juga dibedakan dengan kurangnya dokumentasi yang dipesan. Tampaknya setelah pembelian Software Lombardi, raksasa perangkat lunak itu melihat awan amorf dari artikel yang menyertainya dan memutuskan untuk tidak menyentuh apa pun. Dan bahkan setelah membaca semua dokumentasi, tidak mungkin melakukan banyak hal. Misalnya, aktifkan permintaan REST dengan otentikasi HTTPS menggunakan sertifikat pengguna. Untungnya, pencarian alternatif berhasil.

Camunda memecahkan masalah


Setelah bekerja dengan IBM BPM, kami sampai pada kesimpulan bahwa kelompok pengguna yang berbeda harus dapat mengubah proses bisnis. Sesuatu yang tidak signifikan dalam mode online dapat disumbangkan oleh karyawan biasa dari unit bisnis. Analis sistem mengubah urutan tugas dalam proses bisnis. Integrasi baru, perubahan dalam UI dan kode program tetap di sisi pengembang. Dan untuk menjaga fleksibilitas ini, semua BPMS harus dikerahkan pada layanan-layanan mikro.

Kami dapat menyediakan pendekatan ini dengan BPMS sumber terbuka Camunda. Ini adalah fork dari proyek Activity, yang diputuskan oleh tim pengembangan untuk menghasilkan lebih banyak penjualan. Mereka mengatur dokumentasi dan mulai mengembangkan Camunda secara terpisah, mereka mendapat dukungan penjualan.

BPMS Camunda memungkinkan Anda untuk mengedit proses bisnis menggunakan Java standar dan mendukung berbagi layanan mikro. Mengubah BPMS ke layanan mikro memberikan beberapa keuntungan sekaligus:

  • Menyingkirkan monolit. Kami dapat membagi proses bisnis berdasarkan segmen, menghubungkannya bersama menggunakan Rabbit MQ atau Kafka melalui antrian. Proses bisnis dapat diubah secara terpisah satu sama lain, gulirkan perubahan tanpa menunggu rilis penuh.
  • Menyingkirkan server proses bisnis.
  • Scaling. Jika memuat, server mana pun mulai jatuh, maka itu bisa dikloning. Pada beban puncak, Anda dapat dengan mudah meningkatkan produktivitas dengan menjalankan banyak contoh proses bisnis di berbagai layanan.
  • Versi Jika, misalnya, Anda perlu memperbarui versi Java, Anda dapat mengambil beberapa layanan Microsoft dengan berbagai versi Java dan menjalankan versi baru secara paralel. Setiap microservice tidak hanya memiliki versi perangkat lunak yang berbeda, tetapi juga bahasa yang berbeda.

Di masa depan, kami berencana untuk mentransfer salah satu proses bisnis terbesar kami ke Camunda - pinjaman perusahaan. Semuanya di sini jauh lebih rumit daripada individu dan bahkan dari bisnis kecil / menengah. Ini bukan produk tetapi skema kredit terbatas yang diterapkan, batasan waktu terbatas, peminjam biasanya menjadi bagian dari organisasi yang lebih besar seperti kepemilikan, dan kepemilikan memiliki sesuatu yang harus dilakukan. Batas ditentukan secara terpisah untuk masing-masing struktur ini, dan masing-masing struktur memiliki yang sesuai, komposisi yang terus berubah. Kami mendapatkan proses bisnis dari ratusan tahap. Kami dapat mengubahnya dengan Camunda dan memutuskan untuk tetap menggunakannya. Bahkan jika pengembang memutuskan sekarang untuk menutup proyek, kemampuan sistem saat ini akan bertahan tiga tahun lagi.

Versi pertama kami Camunda didasarkan pada Websphere dan, pada kenyataannya, tidak jauh berbeda dari IBM Lombardi. Kami memutuskan untuk menulis aplikasi yang diakses layanan di Spring Boot. Mereka ditempatkan di Tomcat dan tidak bekerja sendiri. Kemudian ternyata Camunda dapat bekerja pada Tomcat, versi untuk Spring Boot dikembangkan. Arsitektur microservice lengkap telah tersedia di sana. Semua aplikasi dengan mana proses bisnis bekerja diimplementasikan pada arsitektur layanan-mikro berdasarkan Spring Cloud.

Kemudian ternyata Anda dapat dengan cepat mengubah fungsionalitas tidak hanya di layanan yang melayani proses bisnis. Mesin BPM itu sendiri dapat dihubungkan ke aplikasi springboot sebagai pustaka.

Camunda sebagai layanan mikro

Muncul pertanyaan: berapa banyak microservices untuk diangkat? Dimungkinkan untuk membuat satu server untuk setiap proses, dan di sana untuk menempatkan semua layanan microser, atau untuk setiap tugas membuat layanan microser Anda sendiri dan di dalamnya proses bisnis yang terpisah. Yang kedua akan lebih mudah, tetapi akan perlu untuk mengatur interaksi proses yang tersebar di masing-masing layanan mikro. Kami mencoba beberapa opsi dan menentukan solusi ketika beberapa layanan Microsoft bertanggung jawab atas topik tertentu dan beberapa proses dikelompokkan di sana. Komunikasi terjadi baik melalui REST atau melalui Rabbit MQ. Sekarang mereka telah meluncurkan pilot di Kafka.

Prospek untuk BPMS


Proses bisnis tidak hanya menampilkan alur kerja bisnis, tetapi juga merespons peristiwa yang terjadi di sistem lain. Kami memiliki acara ini diakumulasikan oleh divisi Big Data yang terpisah. Berdasarkan analisis peristiwa ini, proses bisnis baru dibuat atau yang sudah ada diubah - ini terjadi setelah fakta, dengan frekuensi, misalnya, sekali sehari.

Idealnya, proses bisnis harus beralih ke perubahan online - misalnya, ketika permintaan untuk layanan tertentu meningkat, mereka akan secara otomatis memprioritaskan penerapannya dan merealokasi sumber daya. Ini dapat dicapai melalui otomatisasi, interaksi, misalnya, Kafka dan Camunda, tetapi ini adalah masalah setidaknya beberapa tahun. Mungkin sekarang ke arah perubahan dalam mode online, yang paling sepenuhnya maju adalah Bank Monzo Inggris sepenuhnya online. Dan kami juga sedang mengusahakannya.

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


All Articles