ESB(Enterprise
Service Bus - Kurumsal Veri Yolu); SOA(Service Oriented
Architecture – Servis Yönelimli Mimari) mimarisinin uygulanması(implementasyonu)
için bir şablon (pattern) olarak nitelendirilebilen, çeşitli altyapısal
hizmetleri sunan, bağımsız heterojen ortamlarda dahi çalışabilen, böylece bu ortamlardaki
entegrasyonu kolaylaştıran bir yazılım mimarisi modelidir. JAVA tabanlı sistemlerde
yaygın olarak kullanılmaktadır. Bu mimarinin ilk olarak çıkışı 2002 yılında
Gartner Group ta , Roy W. Schulte ‘a atfedilir. SONIC Software de çalışan David
Chappell, "The Enterprise Service Bus" isimli bir kitap ile bu
mimariden bahsetmiş, ancak uzun yıllar öncesinde de bu mimarinin isimlendirilmeden
kullanıldığına dair ortak bir inanç bulunmaktadır.
ESB’ler
; servisleri ve uygulamaları entegre etmek için esnek bir yapı sağlarlar. Servisler
arası mesajları yönlendirirler. Servis ve isteği yapan arasında protokol
dönüşümü , mesaj dönüşümü yaparlar. Farklı
protokollerle mesajlaşmayı desteklerlerler. Bir protokolden diğerine dönüşümü
sağlayabilirler. Sadece SOAP mesajları değil, farklı mesaj tipleriyle de
çalışabilirler. (JMS, REST, XML vs.). Yani farklı platform ve sistemlerin
birbirleriyle “konuşabilmelerini”
sağlarlar. ESB ile birlikte kurumlar,
mevcutta var olan uygulamalar arasındaki entegrasyon yapılarını yeniden şekillendirmektedirler.
Buna göre artık “Miras(Legacy)” adını verdiğimiz kurum içerisindeki eski
uygulamalara, yatırım kaybı olarak bakılmamaktadır. Bu uygulamalardan modüler
servisler üretilerek bir yandan uygulamalar arasındaki entegrasyon ihtiyaçları
giderilirken diğer yandan servis odaklı yeni bir hizmet mantığına
geçilmektedir. Artık “Peer to Peer” olarak bilinen her uygulamanın bir
diğer uygulama ile entegrasyonu yöntemi terk edilirken, bunun yerine bütün
uygulamaların üzerinde yeni bir katman olarak “ESB” konumlandırılmaktadır. Genel olarak referans mimarilerden de
anlaşılabileceği gibi bu yaklaşım kurum içi ve kurum dışı entegrasyon maliyetlerini son derece düşürmektedir. Yani, Entegrasyon ve toplam
sahip olma maliyetlerinde tasarruf sağlamaktadır. Ayrıca ESB, servis geliştirme
zamanlarını kısaltmakta, kurumsal süreç otomasyonu için altyapının oluşturulmasını,
kurumda var olan uygulamaların kolayca servis haline dönüştürülmesini ve bu servislerin kolaylıkla farklı
Protokollere açılımını sağlamaktadır. (Protokoller arası geçişlilik).
Şekil
1:
Farklı Yazılım Uygulamalarının, kullandığı farklı iletişim protokollerine göre
birbirleri ile ESB altyapısını kullanarak nasıl haberleştiklerinin gösterimi.
Bir
ESB, hizmet odaklı mimari (SOA) uygulanması için gerekli olan bağlanırlığı
sağlar ve uygulamalar ile hizmetlerin bütünleştirilmesinin karmaşıklığını
azaltır. Biraz daha açacak olursak; ESB’ler
dağıtık Servisleri birleştirmeyi, çalıştırmayı ve yönetebilmeyi sağlarlar. Yani
dağıtık çalışan, standartlara dayanan entegrasyon için kurumsal bir altyapı sunmaktadırlar.
Geleneksel sistemler sıkı semantik bağlarla kurulmuştur eğer bu semantik
zincirinin bir halkası kırılırsa bütün zincir kırılmış olur. Halbuki ESB’ler
semantik dönüşümleri de mümkün kılmaktadırlar. Fiziksel bağlantılar
soyutlaştırılır böylelikle konum
bağımsızlığı kazanılır. ESB içinde iş süreçlerini uygulayabilecek yada iş
mantığını uygulayabilecek araçlar, akıllı mesaj yönlendirmesinin yanında
filtreleme de bulundurulabilir. Servislere Güvenlik hizmetleri sağlayabilir
onları koruyabilirler. Ayrıca Hizmet Seviyesi Anlaşmalarına (SLA) dayanarak
servisleri gözlemleyebilir ve alarmlar oluşturabilirler.
Bu mimari
model için, firmalar tarafından yeni bir ürün kategorisi olarak ortaya çıkarak
yada mevcut ürünlerin ESB özellikleri ön plana çıkarılarak ticari ve açık kaynak kodlu çeşitli
ürünler pazarlanmaktadır.
Ticari
ürünler;
•
IBM WebSphere ESB
•
Microsoft BizTalk Server
•
Oracle Enterprise Service Bus (BEA Logic)
•
Progress Sonic ESB
•
Tibco Software
•
Fiorano SOA Platform
•
IONA
Açık
Kaynak Kodlu(Open Source) Ürünler;
•
Apache ServiceMix
•
Progress Software FUSE (Managed adoption of
Apache Service Mix)
•
NetKernel
•
Petals ESB
•
Open ESB
•
Mule
•
UltraESB
•
JBoss ESB
•
Spring Integration
Kaynaklar:
- http://www.turk-internet.com/portal/yazigoster.php?yaziid=14660
- https://en.wikipedia.org/wiki/Enterprise_service_bus
- https://soacorner.wordpress.com/2014/10/09/esb-enterprise-service-bus-nedir/
- http://samples.sainsburysebooks.co.uk/9781743332672_sample_143790.pdf
Hiç yorum yok :
Yorum Gönder