5 Temmuz 2015 Pazar

ESB(Enterprise Service Bus)

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:




Hiç yorum yok :

Yorum Gönder