JBoss Fuse - ESB'ye Giriş
Bu bölümde, Enterprise Service Bus'un temelleriyle başlayacağız. Aşağıda, ESB hakkında avantajları, dezavantajları ve daha kolay anlaşılması için birkaç diyagram ile ilgili ayrıntılı bir açıklama verilmiştir.
ESB nedir?
ESB, Enterprise Service Bus anlamına gelir. En basit haliyle ESB, birden fazla uygulamanın iletişim kurmasına yardımcı olan bir bilgi yolu görevi gören bir ara yazılımdır.
Kurumsal dünyada birçok şeye çözüm geliştiriyoruz. Bu çözümler, farklı teknolojileri ve farklı veri formatlarını kullanabilir. Bu teknolojilerdeki iletişim veya veri formatının uyumluluk farklılıkları nedeniyle bu çözümleri birlikte kullanmak zahmetli hale geliyor. Bu nedenle izin verecek bir teknolojiye ihtiyacımız varloosely coupled integration bu farklı çözümler arasında.
ESB, tüm uygulamalarınızın ortasında yer alan ve aralarında mesaj yönlendirmeyi kolaylaştıran bir 'HUB' haline gelerek bu entegrasyon sorununu basitleştirmeyi amaçlamaktadır. ESB, bilgi yolu görevi gören, veri dönüştürme yönlendirmesiyle ilgilenen, Kodlayıcı veya Geliştiriciyi kendi uygulama mantığına odaklanmaya bırakan bir arabulucu görevi görür.
ESB'yi anlamak, özellikle tasarlandığı sorunu anladığımızda çok basitleşir ve çözüm kolaylaşır. Bilgi paylaşmak ve entegre bir iş platformu oluşturmak için farklı dillerde yazılmış ve farklı veri formatlarını kullanarak farklı makinelerde çalışan birçok farklı sistemin nasıl etkinleştirileceği konusunda net bir anlayışa sahip olunmalıdır.
Entegrasyon Sorunu
Kurumsal platformda, birden çok uygulamanın işbirliği yapması ve bir bütün olarak iş işlevselliği sağlaması yaygındır, ancak bu uygulamaların entegrasyonu en sık tekrarlanan sorundur. Uygulamalar büyüdükçe zamanla daha da zorlaşır.
Her uygulama, verileri kendi formatında girebilir ve çıkarabilir. Bu yaklaşım, uygulama sayısı azsa iyi çalışır, ancak uygulama sayısı arttıkça, entegrasyon çarklarının daha iyi bir yaklaşımla karıştırılması gerekir. Örneğin, bir iş için belirli bir uygulamanın değiştirilmesi gerekiyorsa, o Ana uygulamaya bağımlı olan tüm uygulamalar için çıktı veya girdi veri formatı etkilenir.
Böyle bir yaklaşım, sıkı sıkıya bağlı bir mimari bekleyen Entegrasyon için en büyük engel olarak hizmet etmektedir. Burası ESB'nin devreye girdiği yerdir. Her uygulamanın diğer uygulama ile doğrudan iletişim kurmasına gerek yoktur; bunun yerine, tüm uygulamalar ESB ile iletişim kurar ve ESB, bilgilerin yönlendirilmesini ve dahili veri formatı dönüşümünü gerçekleştirir.
Neden ESB?
Aşağıda, Enterprise Service Bus'un neden gerekli olduğunu açıklayan birkaç nokta verilmiştir.
ESB, varyant uyumlu uygulamalarla entegrasyon sorununu basitleştirmeyi amaçlamaktadır.
Tüm uygulamalarınız için bir arabulucu görevi gören ve aralarında mesaj yönlendirmeyi kolaylaştıran bir Middleware görevi görür.
Her uygulamanın diğer uygulamalarla doğrudan bağlantı kurması yerine, artık her uygulamanın ESB'ye yalnızca bir arabirimi vardır.
ESB, mesajları ortak bir formata / formattan çevirmekten ve hedeflerine yönlendirmekten sorumludur.
Mevcut uygulamalarınızdan herhangi birini değiştirmeniz gerekirse, bu yaklaşımdaki en büyük tasarruf bir nimet olarak gelir. Bir sürü yeni arabirim yazmak yerine, artık endişelenmeniz gereken tek bir arabiriminiz var (uygulamanız ve ESB arasında).
SOA ve ESB?
SOA ve ESB genellikle birbirinin yerine kullanılır, ancak tamamen farklıdırlar.
SOA, uygulamanın işlevselliklerini iletişim protokolleri aracılığıyla ağ üzerinden bir hizmet olarak ortaya çıkarmasına izin veren bir tasarım modelidir, oysa ESB, farklı sistemler arasındaki iletişimi kolaylaştıran bir modeldir, ancak ESB, SOA uygularken bir omurga olarak kullanılabilir.