Activiti 7'ye Genel Bakış
Activiti 7, bir Bulut Yerel uygulaması olarak uygulanır ve mesaj kuyrukları ve hizmet kaydı gibi farklı bulut hizmetlerine karşı ana soyutlama katmanı, Spring Cloud çerçevesidir. Activiti ekibinin bunu kullanarak bulut hizmetleri için yeniden keşfetmesi ve yeni soyutlama katmanları bulması gerekmez.
Dünya çapında ölçeklendirmeyi desteklemek için Activiti ekibi Kubernetes konteyner düzenleme motorunu seçti. Kubernetes, Amazon ve Google gibi ana bulut sağlayıcıları tarafından desteklenir. Activiti çözümünün bazı bölümleri, Kubernetes ile daha da iyi entegrasyon elde etmek için API Ağ Geçidi gibi Spring Cloud Kubernetes projesini de kullanır.
Activiti 7 altyapısı aşağıdaki resimle tanımlanabilir:
Altyapıdaki farklı yapı taşları şu şekilde açıklanabilir:
Activiti Keycloak - SSO - Tüm hizmetlerde Tek Oturum Açma
Activiti Keycloak - IDM - Kimlik Yönetimi, böylece Activiti, organizasyon yapısının neye benzediğini, grupların ve kullanıcıların kim olduğunu ve kimin ne yapmasına izin verildiğini bilir.
Activiti Modeler - geliştiricilerin yeni süreç uygulamalarını bir veya daha fazla süreç tanımlayabildiği BPMN 2.0 modelleme uygulaması.
API Ağ Geçidi - Kullanıcı arayüzlerine ve diğer sistemlere süreç uygulamaları için erişim verir.
Hizmet Kaydı - tüm hizmetlerin ve uygulamaların ona kaydolmasına ve dinamik bir şekilde keşfedilmesine izin veren bir hizmet kayıt defteri.
Yapılandırma Sunucusu - diğer tüm hizmetler tarafından kullanılabilen merkezi ve dağıtılmış yapılandırma hizmeti.
Zipkin - dağıtılmış bir izleme sistemidir. Mikro hizmet mimarilerindeki gecikme sorunlarını gidermek için gereken zamanlama verilerinin toplanmasına yardımcı olur.
Activiti Uygulamaları - her uygulama bir veya daha fazla iş süreci uygulamasını temsil eder. Dolayısıyla, bir başvuru iş başvuruları için bir İK süreci olabilirken, başka bir başvuru kredi başvuruları için kullanılabilir. Bulut bağlayıcıları, iş sürecinin dışında arama yapmak için kullanılır.
Daha spesifik olarak, Bir Activiti 7 Uygulaması aşağıdaki hizmetlerden oluşur:
Çalışma Zamanı Paketleri - farklı iş modelleri için farklı çalışma zamanları sağlar. Kullanılabilir ilk çalışma zamanı, iş süreçleri içindir. Process Runtime, daha önce Activiti Process Engine olarak anılanla karşılaştırılabilir. Bir çalışma süresi olabildiğince küçük ve olabildiğince verimli olacaktır. Bir Runtime Bundle, bir dizi işlem tanımını içerir ve değiştirilemez. Bu, yalnızca bir dizi değişmez süreç tanımını (örnekleri) çalıştıracağı anlamına gelir.
Sorgu Hizmeti - verileri toplamak için kullanılır ve verilerin verimli bir şekilde tüketilmesini mümkün kılar. Bir Activiti uygulamasında birden fazla Çalıştırma Zamanı Paketi olabilir ve Sorgu Hizmeti bunların her birinden veri toplayacaktır.
Bildirim Hizmeti - farklı Çalışma Zamanı Paketlerinde neler olduğu hakkında bildirimler sağlayabilir.
Denetim Hizmeti - Bu, BPM sistemlerinde sahip olduğunuz standart denetim günlüğüdür, bir işlem yürütüldüğünde tam olarak ne olduğuna dair bir günlük sağlar.
Bulut Bağlayıcıları / Connectors - Sistemden Sisteme etkileşimle ilgilidir. Süreç tanımı uygulamasında ve işlem çalışma zamanında harici sistemlerle konuşan tüm koda sahip olmak yerine, artık ayrıştırılmış ve ayrı SLA'larla ayrı hizmetler olarak uygulanmıştır. Bir Hizmet Görevi, tipik olarak bir Bulut Bağlayıcı olarak uygulanacaktır.
Bir İş Sürecini Dağıtma ve Yürütme
Bu bölüm size Helm ve Kubernetes kullanarak Activiti 7 ürünü ile bir iş sürecini nasıl dağıtacağınızı ve yürüteceğinizi gösterecektir. Herhangi bir yeni süreç geliştirmeyeceğiz, sadece verilen bir örneği kullanarak Activiti 7'nin nasıl çalıştığını hissedeceğiz. Activiti 7'nin bir UI ile gelmediğini unutmayın, bu da ReST API aracılığıyla sistemle etkileşimde bulunmanız gerektiği anlamına gelir.
Bunu yapmak için, kullanıma hazır örneklerden birini kullanacağız. Activiti 7 Tam Örneği olarak adlandırılır ve bir Activiti 7 uygulamasına uyan tüm yapı taşlarını içerir, örneğin:
API Ağ Geçidi (Spring Cloud)
SSO / IDM (Keycloak)
Activiti 7 Çalışma Zamanı Paketi (Örnek)
Activiti 7 Bulut Bağlayıcısı (Örnek)
Activiti 7 Sorgu Hizmeti
Activiti 7 Denetim Hizmeti
Aşağıdaki resim göstermektedir:
Gerçek örnek süreç tanımı, Runtime Bundle adı verilen şeyin içinde bulunur. Hizmet Görevi uygulamaları ve dinleyici uygulamaları, Bulut Bağlayıcı (Cloud Connector) adı verilen şeyde bulunur. Bu durumda Client, hizmetlerle etkileşimde bulunmak için kullanılacak bir Postman Koleksiyonu olacaktır. Activiti 7'de şu anda Süreç ve Görev yönetimi kullanıcı arabirimi bulunmamaktadır.
Yeni Activiti Modeler uygulaması, örneğin geri kalanıyla aynı anda devreye alınabilir, ancak varsayılan olarak mevcut olmadığı için manuel olarak etkinleştirmeniz gerekir.