Eklenti tabanlı, genişletilebilir ERP altyapısı
Yeni modüllerin ayrı bir eklenti olarak geliştirilip çekirdek sisteme dokunmadan devreye alınabildiği, mesajlaşma altyapılı bir ERP çekirdeği.
Platform MimarisiRocketMQWebSocket
Durum
Büyümekte olan bir ekip, her yeni müşteri talebinde ERP çekirdeğine doğrudan dokunmak zorunda kalıyor, bu da her değişikliğin tüm sistemi yeniden test etmeyi gerektirmesine yol açıyordu. İhtiyaç, çekirdeği bozmadan yeni yetenekler ekleyebilecekleri bir mimariydi.
Çözüm
Eklenti (plugin) mimarisine sahip bir ERP çekirdeği tasarladık:
- Çalışma zamanında yüklenip kaldırılabilen eklenti sistemi (classpath tarama tabanlı)
- Mesaj kuyruğu (RocketMQ) üzerinden çekirdek ve eklentiler arası asenkron iletişim
- WebSocket ile gerçek zamanlı bildirim ve durum güncellemeleri
- Yönetim paneli üzerinden eklentilerin başlatılıp durdurulabildiği bir operasyon arayüzü
Sonuç
- Yeni özellikler artık ayrı eklentiler olarak geliştirilip çekirdeğe dokunmadan devreye alınabiliyor
- Bir eklentideki hata, çekirdek sistemi veya diğer eklentileri etkilemiyor
- Geliştirme ekibi, yeni müşteri taleplerine haftalar yerine günler içinde yanıt verebiliyor
- Sistem, marketplace benzeri bir yapıyla üçüncü taraf eklentilere de açılabilecek şekilde tasarlandı