SOA - Servis Odaklı Mimari
Onur Çalıkuş Tarih: 19/02/2009 Yorum: 3 adet
Okunma : 2127 Tutanlar: Bu yazıyı 2 kişi tuttu.
SOA (Service Oriented Architecture) son döneminde çok duyduğumuz ve önümüzdeki yıllara da damgasını vurmaya devam edecek bir kavram. Nedir bu SOA ve Web Servisleri peki? Bu sorulara geçmeden önce yazılım dünyasındaki gelişmelerden ve neden SOA'ya ihtiyaç duyulduğundan söz etmek gerekir.
Aslında klasik yazılım dünyasındaki ilk aşama, yazılım dillerinde bir kere yazılan kodun birçok yerde kullanılabilmesine olanak sağlayan kodun yeniden kullanımına olanak veren yapısal değişimlerde oldu.
Daha sonraki süreçte ise bu yazılan kodların uzak makinelerde çağırılması gündeme geldi. Örneğin sizin yazdığınız uygulamanın bir modülü CPU, RAM veya Database sorgusu içeren çok performans gerektiren bir uygulama ise o performansı kaldıracak ayrı bir makinede çalıştırıp, farklı makinadaki uygulamanın diğer modülleri ile haberleşmesi olanağı gerçekleşti. Örneğin Java'da RMI(Remote Method Invocation) kullanılarak RPC (Remote Procedure Call) çağrıları yapıldı. Application Server kavramı da bu dönemde ortaya çıktı.
Bu da yetmedi tabii ki. Uygulamanın farklı modülleri birbirleriyle farklı cihazlarda konuşabiliyor fakat farklı uygulamalar ve platformlar niye birbirleriye konuşamıyor? Hatta evrensel ortak bir protokol ile (XML) haberleşen bütün uygulamaların birbirlerinin özelliklerine erişebildiği bir yapıya ihtiyaç olduğu ortaya çıktı. İşte SOA dediğimiz kavramda bu noktada ortaya atıldı.
SOA, bir çok uygulamanın kendi modüllerini veya fonksiyonlarını ki bunlara "Servis" diyoruz başka uygulamalar tarafından kullanılacak şekilde tasarlandığı bir mimari kavramdır. Peki nasıl yazdığım bir uygulamanın özelliklerini başka uygulamaların da kullanacağı şekilde açacağım? İşte bu noktada da Web servisi kavramı devreye giriyor. Web servisleri, SOA altyapısında kullanılan bir yöntemdir. Basitçe uygulamanızın özeliklerinin ya da servislerinin bir web sayfası gibi URL adresi olmakta ve diğer uygulama bu web adresini çağırarak uygulamanın özelliklerini kullanabilmektedir.
Bu konuda en güzel örnek Turkcell SDP (Servis Delivery Platform) altyapısıdır. turkcell 3rd party iş geliştiricilerine web servisleri üzerinden altyapı özelliklerini kullandırarak iş geliştirme olanağı sağlamaktadır.Örneğin bu altyapıda SendSMS servisini http://sdp.turkcell.com.tr/view/SendMessage adresine ulaşarak kullanabilmektesiniz. Böylece Turkcell içindeki ve 3rd party uygulamalar SMS gönderme işlemini bu servis üzerinden gerçekleştirebilmektedirler.
Eskiden olsaydı SMSC'lerle Soket üzerinden konuşan ya da SMS atma işini yapan bir uygulama ile RMI yolu ile SMS atan bir uygulama yazmanız, connection pooling gibi sorunlarla uğraşmanız gerekmekteydi. Ve her seferinde her uygulama için bunların baştan yapılması, şirket içerisinden bu IP'lere erişim için izinlerin alınması gibi proje zamanın da uzamasına sebep olan bir prosedür işlemekteydi.
Tabii ki bu yapının da dezavantajları mevcut. Örneğin sizin servisleri arası gidip gelen XML içindeki datanız hiçbir zaman kendi yazdığınız soket ile haberleşen bir uyulama kadar hızlı çalışmamaktadır. Bu da yüksek transection gerektiren uygulamaların web servislerine çok bağımlı olmaması gerekliliğini ortaya çıkarmaktadır. IVR uygulamalarını buna örnek gösterebiliriz.
Bu yönetem tam olarak API sayılmaz arkadaşım neden? Çünkü API uygulamaları genelede hazır olur ve alır kullanırsın burda kendi XML şema nı kendin oluşturmalısın ne tarz bir bilgi alacaksın ya da yollayacaksın hepsini kendin belirliyorsun
çok hoş bir anlatım olmuş peki şuna cevap bulabilmişlermi acaba ?
çeşitli sniffer'lar ile bir çok data okunabilmekte. heleki xml datalar daha açık bu konularda. siz ne dersiniz ?
Makale
İlişkili makale bulunamadı.
Haber
İlişkili haber bulunamadı.
Ders
İlişkili ders bulunamadı.
Etkinlikler
Toplantı
Özgür Yazılım ve Linux Günleri '10
Özgür Yazılım ve Linux Günleri '10
İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü ve Linux Kullanıcıları Derneği'nin 9 yıldır düzenlemekte oldukları etkinlikler bu yıl `Özgür Y...
Kategori:
Toplantı
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 51 (50 kayıtlı, 1 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Blog Bölümü Blogevi.com'a Taşınıyor
Selam arkadaşlar MMIstanbul'da , tasarımcı ve programcıların blog yazılarını "feedleyerek" MMIstanbul okurlarını MMIstanbul dışın ...
7.500'üncü üyemiz Cem Koç!
Neler Yapılabilir?
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)










API gibi bir şeyden bahsediyorsunuz. Bankalar, alışveriş siteleri ve bazı özel uygulamalarda API birimiyle haberleşerek (tabi önce oturum açarak) seri bir şekilde hizmetten faydalanıyorsunuz. Bunun en iyi örneği kredi kartı provizyonu alma ve bunu SSL üzerinde süratli bir şekilde yapabiliyorsunuz.