Search

SOA HARMONİSİ



3 yorum

SOA HARMONİSİ

soa .netSOA(Service Oriented Architecture), Türkçedeki anlamıyla servis odaklı mimaridir. Uzun zamandır var olan bir yazılım mimarisi olan SOA ile büyük bir uygulama geliştirip, daha sonra o uygulamanın harmoni içerisinde çalıştığını görmek hayranlık uyandırıcı.

SOA programlama dillerinden bağımsız bir yapı, mimaridir. SOA ile programlama ise
birbirinden farklı amaçlara hizmet eden servislerin bir bütün halinde çalışmasını sağlayan yazılım mimarisidir. Bunu kendi vücudumuzdaki işleyişe benzetebiliriz, örneğin kalp, damarlar ve kan dokusu kendi görevlerini(hizmet, servis) uyum(harmoni) içinde yerine getirerek Dolaşım Sistemini oluştururken, akciğerler ve akciğerlere hava taşıyan borularda uyum içinde çalışarak Solunum Sistemini oluşturur. Bu sistemlerde kendi aralarında harmoni içinde çalışarak büyük Sistemi oluştururlar. Bu düzeni SOA’ya benzetmek yanlış olmayacaktır.

Düşünecek olursak vücudumuzda işleyen bu düzen içerisindeki herhangi bir sistemde bozukluk olması durumunda diğer sistemler bundan tam olarak etkilenmez ve işleyişine devam eder. SOA ile geliştirilen uygulamalarda böyledir, herhangi bir yerde hata alınması durumunda tüm işleyişin bozulması gibi bir durumun önüne geçilmiş olur.

SOA Değişiklikleri Destekler ve Platformdan Bağımsızdır:
SOA tüm platformlar tarafından kabul edilmiş standartlarla bilgi alışverişi yaptığı için, tüm platformlar tarafından desteklenmektedir. Bu sayede platformdan bağımsız çalışabilir. Servislerin birbirleri arasındaki iletişimi gerçekleştirmesini sağlayan protokollerden bahsettiğim yazıma buradan ulaşabilirsiniz.
Servisler birlikte çalışabilir ve birbirlerine düşük bağımlıdırlar. Bu düşük bağımlılıklarından dolayı yapılması gereken değişiklikleri en uygun şekilde destekler.

SOA Tekrar Kullanılabilirliği Destekler ve Yüksek Erişilebilirlik Sağlar:
SOA ile geliştirilen servisler birden fazla yerde kullanılabilir. Bu sayede bir kere geliştirilen servis tekrar başka yerlerde tanımlanma ihtiyacını ortadan kaldırmış olur. Örnek olarak mail gönderme servisini düşünebiliriz. Bu servis sayesinde geliştirdiğimiz uygulamanın herhangi bir yerinden bu servise erişebilir ve isteklerimizi yerine getirmesini sağlayabiliriz.

SOA Takım Çalışmasını Destekler ve Test Edilebilirliği Yüksektir:
SOA ile uygulama geliştirilirken, her geliştirici kendi modülü üzerinde çalışabilir ve bu sayede işine odaklanabilir. Bu şekilde takımın her parçası ayrı bir modülü geliştirmekle uğraşır ve çalışanlardan alınan verim optimum düzeyde olur.
Geliştirilen her modül diğer modülü etkilemeden test edilebilir, böylece diğer modüllerde çalışanlar bu testten etkilenmeden çalışmalarına devam ederler.

SOA Proje Maliyetini Düşürür ve Kazancı Artırır:
SOA ile geliştirilen uygulamalarda uzun vadede bakılınca projenin maliyetinin düştüğü görülecektir. Önceden geliştirilmiş SOA mimarisine dayalı uygulamalar, yeni geliştirilecek uygulamaya entegre edilerek tekrar yazılmasının önüne geçilmiş olacaktır. Bu sayede geliştirilen projeler çöpe gitmeyip değerlendirilecek kazanç artışı sağlanacaktır.

service oriented arch karikatür

SOA Nerelerde Kullanılmalı?
SOA ile yazılan uygulamalar sayesinde tüm platformlardan erişim sağlanacağı unutulmamalıdır. Bu sayede mobil aygıtlar, tabletler gibi cihazlarda da çalışabilecektir. Bu tarz evrensel bir uygulama geliştirmek istersek SOA mimarisini kullanmak uygun olacaktır. Ayrıca büyük, devamlılığı olan(sürekli yeni moduller eklenen), bakımının kolay olması istenen projelerde de SOA kullanımı doğru bir seçim olacaktır.

Ayrıca SOA ile web servisini karıştırmamız gerekir. SOA bir programlama mimarisidir. Yandaki karikatürde buna güzel bir örnek ile değinilmiştir.


3 yorum:

Erman Akturk at: 5 Haziran 2013 04:23 dedi ki...

Merhabalar;

Öncelikle yazınız çok faydalı olmuş. Belirtmek isterim. Size konuyla ilgili bir sorum olacaktı: A ve B platformlarında geliştirilmiş SOA tabanlı yazılımlar bir birleriyle iletişim kurabilirler mi? Cevabınız Evet ise, hangi nitelikleri taşıması gerekir. Yani olmazsa olmazları nelerdir?

Teşekkürler.

egvrcn at: 5 Haziran 2013 04:34 dedi ki...

Tabi ki de SOA ile geliştirilmiş yazılımlar birbirleriyle iletişim kurabilirler, bu zaten SOA'nın özünde olan bir durumdur. SOA disiplini, kullandığı standartlardan(W3C) dolayı farklı platformda yazılmış olan servislerle iletişim kurulmasına olanak tanımaktadır. SOA standartları dışına çıkmadan(SOAP, REST gibi) yazılmış olan yazılımlar arasında iletişim sağlanabilecektir.

Erman Akturk at: 5 Haziran 2013 04:36 dedi ki...

Teşekkürler

Yorum Gönder

Check Page Rank
DMCA.com