Yazının başını Bunun için ikinci bölümü tıklayınız başlığı altında okuyabilirsiniz..
ESB (Enterprise Service Bus)
Piyasada ki ESB tanımlamalarında tam bir tutarlılık olduğundan bahsetmek zor. Bu yüzden ESB buzzword tanımlamasını tam anlamıyla hak ediyor. Çünkü piyasada ki mevcut oyuncular ESB tanımını kendi çıkarlarına hizmet edecek şekilde tanımlamaya meyilliler. Bu yüzden kimi yazılım firmaları ESB’yi halihazırdaki ürünlerinin bir yada bir kaçının harmanlamasıyla uygulanabilecek bir altyapı mimarisi olduğunu öne sürmekte, kimisi de bunun yepyeni bir ürün kategorisi olduğunu öne sürmektedir.
Bana göre, Kurum Hizmet Yolu ESB, SOA mimarisinin uygulanması için bir kalıp (pattern) görevini gören, çeşitli altyapısal hizmetleri sunan, heterojen ortamlarda dahi çalışabilen, böylelikle entegrasyonu kolaylaştıran hafif bir altyapı mimarisidir. Bu altyapı yeni bir ürün kategorisi olarak ortaya çıkmakta veya mevcut ürünler ESB özellikleri ön plana çıkarılarak pazarlanmaktadır.
Aşağıdaki resimde ESB’nin nasıl SOA’yi nasıl bir kalıp haline soktuğunu görüyoruz. Bu resme göre servisler sadece ESB’ye bağlı olup, birbirlerinden ESB sayesinde soyutlanmış, dolayısıyla birbirlerinden bağımsız hale gelmiştir. İhtiyaç dahilinde servisler ESB üzerinden tüketilmekte olduğundan kullanıcının o servisin nerede nasıl ve kurulu olduğundan habersizdir.

Yukarida ki resimde görüldügü gibi ESB, iki uygulamanin ortasinda otururken şu altyapi servislerini SOA’ya saglar:
- ESB’ler dağıtık Servisleri birleştirmeye, çalıştırmaya ve yönetmeye yarar.
- ESB’ ler dağıtık çalışma, standartlara dayanan entegrasyon ve kurumsal bir altyapı sunar.
- 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üşümlerini mümkün kılar.
- ESB fiziksel bağlantıları soyutlaştırı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 bulunabilir.
- ESB içeriğe göre akilli mesaj yönlendirmesi yada filtreleme bulundurabilir.
- ESB’ler farklı protokollerle mesajlaşmayı destekler. Bir protokolden diğerine dönüşümü sağlayabilir.
- Sadece SOAP mesajlarını değil, farklı mesaj tipleriyle de çalışabilir.
- Servislere Güvenlik hizmetleri sağlayabilir onları koruyabilir.
- Hizmet Seviyesi Anlaşmalarına (SLA) dayanarak servisleri gözlemleyebilir ve alarmlar oluşturabilir.
ESB pek çok açıdan herhangi bir EAI ürününe benzer. EAI (Enterprise Application Integration) ürünlerinde de bulunan bağlanırlık, uygulama adaptörleri, veri transformasyonu, kurallara dayalı akilli mesaj yönlendirme gibi temel özellikler ESB’de de bulunur. Hatta yazılım firmalarının kendi ESB tanımlarına göre daha başka özellikler de ESB de bulunabilir. Fakat ESB kendisini sadece SOA tabanlı uygulamaları entegre etmek üzere sınırlandırmıştır. Mesela ESB, web services teknolojisini düzenli bir entegrasyon ara yüzü olarak kullanır. Bunun gibi daha pek çok ince farklılık ESB ve EAI arasında bulunmakla beraber amacımızdan uzaklaşmamak için bu farklılıkları başka bir yazıya bırakıyoruz.
Bu yazımızda SOA ve ESB gibi iki güncel kurumsal mimari konusunu açıklamaya çalıştık. Okuyucularımızın kompleks olmayan bu terimleri projelerde gerçek anlam ve değeriyle kullanılmasını diliyoruz.



Kaynak : 