Servis Odaklı Mimari Nedir?
İngilizce: Service-Oriented Architecture
Yayın: · Son güncelleme:
Servis Odaklı Mimari Nedir? Kısaca
Servis odaklı mimari (SOA), bir kurumdaki farklı uygulamaların işlevlerini standart arayüzlere sahip yeniden kullanılabilir servisler olarak sunduğu ve bu servislerin ağ üzerinden birbiriyle haberleştiği yazılım mimarisidir.

Servis odaklı mimari nedir?
Servis odaklı mimari, kısaca SOA, 2000'li yıllarda büyük şirketlerin dağınık sistemlerini birbirine bağlamak için yaygınlaşan bir yaklaşımdır. Her uygulama, belirli bir işi "servis" olarak dışarıya açar. Diğer sistemler bu servisi, iç yapısını bilmeden standart bir arayüz üzerinden çağırır.
Örneğin bir bankada müşteri bilgisi servisi, kredi skoru servisi ve hesap servisi ayrı sistemlerde çalışabilir. Şubedeki ekran, mobil uygulama ve çağrı merkezi aynı müşteri servisini kullanır; müşteri bilgisi üç kez ayrı ayrı yazılmaz.
SOA nasıl çalışır?
Klasik SOA kurulumlarında servisler çoğunlukla SOAP protokolü ve XML mesajlarıyla konuşur. Aradaki trafiği çoğu zaman kurumsal servis yolu (Enterprise Service Bus, ESB) adlı bir ara katman yönetir. ESB mesajları doğru servise yönlendirir, biçimlerini dönüştürür ve güvenlik kurallarını uygular.
Bu merkezi yapı, farklı yıllarda farklı tedarikçilerden alınmış sistemleri ortak bir dilde buluşturur. Bir ERP, bir CRM ve eski bir muhasebe programı aynı süreçte birlikte çalışabilir.
Mikroservisten farkı ne?
İki yaklaşım da sistemi servislere böler ama ölçek ve felsefe farklıdır. SOA kurum genelinde yeniden kullanım hedefler ve servisler genellikle büyüktür; veritabanı paylaşımı sık görülür. Mikroservisler ise tek bir uygulamanın içini küçük, bağımsız parçalara ayırır ve her servis kendi verisini tutar.
Merkezi ESB zamanla darboğaza dönüşebilir. Bu nedenle yeni projelerde daha hafif API'ler tercih edilse de birçok kurumsal sistem bugün hâlâ SOA ile çalışır.
Sıkça Sorulan Sorular
SOA eski bir yaklaşım mı?
Popülerliği azalsa da bankacılık, telekom ve kamu gibi alanlarda yaygın biçimde kullanılmaya devam ediyor. Mikroservis fikri de büyük ölçüde SOA'dan türemiştir.
ESB nedir?
Enterprise Service Bus, servisler arasındaki mesajları yönlendiren, dönüştüren ve izleyen merkezi ara katman yazılımıdır. SOA kurulumlarında sistemleri birbirine bağlayan omurga görevi görür.