Anasayfa > Programlama > SOA ile ilgili çeşitli kavramlar

SOA ile ilgili çeşitli kavramlar

SOA (Service Oriented Architecture – Hizmet Odaklı Mimari), bir bilgi işlem stratejisi olup, kurumsal yazılımlar içindeki farklı fonksiyonları karşılıklı çalışabilecek, standartlara dayanan, iş ihtiyaçlarını karşılamak üzere kolaylıkla tekrar kullanılabilen ve birleştirilebilen hizmetler haline sokmaktır. Hizmetler, aslında mevcutta var olan fonksiyonların yada yeni oluşturulan fonksiyonların, belli prensipler göz önünde bulundurularak hizmet halinde sunulmasıdır.

EDA (Event-Driven Architecture – Olaya dayalı mimari*):  *Olayların üretimini, tespitini, tüketimini ve olaylara tepkiyi destekleyen bir yazılım mimarisi kalıbıdır. Bir olay “durumdaki önemli bir değişiklik” olarak tanımlanabilir. Mesela, müşteri bir araba satın aldığı zaman arabanın durumu “satılıktan” “satılmış”‘a değişir. Araba satıcısının sistem mimarisi buna üretilmiş, yayınlanmış, tespit edilmiş ve miamari içinde birçok değişik uygulama tarafından tüketilmiş “durum değişimi sağlayan” bir olay olarak davranır.

ESB (Enterprise Service Bus – Kurumsal Hizmet Veriyolu); 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 çıkartılarak pazarlanmaktadır. ESB ile birlikte kurumlar mevcutta var olan uygulamaları arasındaki entegrasyon yapılarını yeniden şekillendirmektedir. Buna göre “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. “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.

Özetle ESB’nin Görevleri:

  • ESB’ler dağıtık servisleri birleştirmeye, çalıştırmaya ve yönetmeye yararlar.
  • ESB’ler dağıtık çalışan, 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. Fakat ESB’ler semantik dönüşümlerini mümkün kılarlar.
  • ESB fiziksel bağlantıları soyutlaştırır ve böylelikle konum bağımsızlığı kazanılır.
  • ESB içinde iş süreçlerini ya da iş mantığını uygulayabilecek araçlar bulunabilir.
  • ESB, içeriğe göre akıllı mesaj yönlendirmesi ya da filtreleme bulundurabilir.
  • ESB’ler farklı protokollerle mesajlaşmayı destekler. Bir protokolden diğerine dönüşümü kolayca sağlarlar.
  • Sadece SOAP mesajları değil, farklı mesaj tipleriyle de çalışabilir. (JMS, REST, XML, vs.)
  • Servislere “güvenlik hizmetleri” sağlayarak onları koruyabilir.
  • Hizmet Seviyesi Anlaşmalarına (SLA) dayanarak servisleri gözlemleyebilir ve alarmlar oluşturabilir.

Özetle ESB nin Faydaları:

  • Entegrasyon maliyetlerinde tasarruf,
  • Toplam sahip olma maliyetlerinde tasarruf,
  • Daha kısa servis geliştirme zamanları,
  • Kurumsal Süreç otomasyonu için altyapının oluşturulması,
  • Kurumda var olan uygulamaların kolayca servis haline dönüştürülmesi,
  • Servislerin kolaylıkla farklı protokollere açılımının sağlanması (Protokoller arası geçiş)

JBI (Java İş Entegrasyonu – Java Business Integration): Java platformunun geleceği ve özellikleri ile ilgili kararlar almak için 1998 yılında kurulmuş Java Community Process (JCP) tarafından servis odaklı mimari (SOA) tabanlı yazılımların gerçekleştirilmesine bir yaklaşım sağlamak amacıyla hazırlanmış bir spesifikasyondur. JBI standardının hedefi bileşen ve hizmetlerin ESB üzerinde menşey bağımsız olarak birbirleriyle entegre olmasını sağlamaktır. Bir web servisi modeli üzerine inşa edilmiştir ve üretici (producer), tüketici (consumer) servis bileşenlerini barındıran mahfaza (container) için kolayca eklenip çıkartılabilen bileşenli bir mimari sağlar.
JCP referansı JBI 1.0 için JSR-208, JBI 2.0 için ise JSR-312’dir.

Apache ServiceMix, SOA ve EDA özelliklerini birleştiren açık kaynak kodlu ESB üzerine kurulmuş bir platformdur. Dağıtık yapıya sahip bir ESB’dir. JSR-208 standardları ile belirlenen Java İş Entegrasyonu (JBI) için inşa edilmiş ve Apache lisansı altında dağıtılan açık kaynak kaynak kodlu bir platformdur. ESB bir kavramdır, Servicemix ise bu kavramı gerçekleştirmiş (implement etmiş) bir yazılım platformudur.

Kategoriler:Programlama
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: