2. Gündem
• SOA Nedir? • Big Picture
• Gevşek Bağlılık • OO vs SOA
• Modulerlik
• Gelecek
• Öyleyse SOA
• Kaynaklar
• SOA’ dan Önce
• Soru&Cevap
• SOA’ dan Sonra
• Peki, Neden SOA?
• 4 Temel Prensip
3. SOA Nedir?
Hem iş hem de IT gereksinimlerini destekleyen gevşek
bağlı(Loosely Coupled) modüler servisler bütünüdür...
5. Gevşek Bağlılık(Loosely coupled)
Servisler bağımsızdır. Servisin hangi
platformda çalıştığının hiç bir önemi yoktur.
• Ne işletim sisteminin
• Windows, Mainframe, MacOS, Unix...
• Ne kullanılan geliştirme platformunun
• .Net, Java...
• Dünyanın neresinden sunulduğunun
• Türkiye, USA, İngiltere, Çin, MIR Uzay
İstasyonu
• Nasıl bir sistem üzerinde koşutuğunun
• CRM, ERP, DBMS...
6. Modüler Olmak
• Servisler sadece tekil
çalışan uygulamalar olarak
düşünülmemelidir. Bunun
yerine birleşik hale getirilen
bir servis bütünü tek bir
hizmet olarak da
sunulabilirler.
7. Modüler Olmak
• Örneğin bir para transferini birleşik servis olarak düşünelim.
Bu iş birden fazla servisin birleşimi olarak düşünülebilir.
• Müşteriyi bul
• Müşteriyi doğrula
• Ödeme hesabını bul
• Hesabın bakiyesini kontrol et
• Alıcı müşteriyi bul
• Alıcı müşteriyi doğrula
• Alıcı hesabı bul
• Gönderen hesabı borçlandır
• Alıcı hesabı alacaklandır
8. Öyleyse SOA...
• SOA, IT ve iş(Business) ihtiyaçlarını karşılayan,
gevşek bağlı modüler servisler bütününü
tanımlayan bir mimari yaklaşımdır.
• Microsoft BizTalk
• Oracle SOA Suite
• IBM Websphere
• ...
9. SOA’ dan Önce
Servis Planlama Sipariş Süreci Hesap Yönetimi
Müşteri Durumunu
Kontrol Et
Ürün Uygulama Bağımlı
Kullanılabilirliğine
Müşteri Durumunu Bak Ulaştırma İş Fonksiyonları
Kontrol Et Maliyetini Hesapla
Müşteri Kredisini
Ürün Doğrula Ödemeyi Yap
Kullanılabilirliğine
Karar ver Ödemeyi Yap Krediyi Kontrol Et
Veri Üçünü
Pazarlama Satış CRM Finans
Ambarı Ortak
Veri Katmanı
10. SOA’ dan Sonra
Composite Applications
Composite
Servis Planlama Sipariş Yönetimi Hesap Yönetimi
Uygulama
Composite İş
Süreci
Reusable Business Services
Müşteri Durumunu Müşteri Kredisini
Krediyi Kontrol Et Reusable Service
Kontrol Et Doğrula
Fatura Oluştur Envanter Oluştur Reusable Service Reusable Service
Veri Üçünü
Pazarlama Satış CRM Finans
Ambarı Ortak
Veri Katmanı
11. Peki Neden SOA?
• Sorunlar
• Günümüz bankacılık sistemleri ölçek olarak çok daha büyük,
dağınık ve düzensiz olarak yayılmış durumda.
• “Complexity increases exponentially with size” - Juval Lowey
• Sistemlerin birbirleri ile iletişimde olma ihtiyacı var.
• OO sadece küçük ve orta ölçekli sistemlerde çözüm olabilir.
• CO (Component Orientation) ise, orta ve büyük ölçekli
sistemlerde OO’ nun çözemediği sorunları aşabilir.
• Yine de ne OO ne de CO, çok büyük sistemlerde, sistemlerin
sistemlerinde ve sistemler arası entegrasyonlarda yetersiz
kalmaktadır.
12. SOA’ nın 4 Temel Prensibi
Autonomous
Explicit
boundaries
Shared schemas
and contracts
Policy Based
Compatibility
15. OO vs SOA
Özellik Nesne Yönelim Servis Yönelim
Birbirlerine daha sıkı bağlı nesneler ve Uygulama geliştirme, birbirlerine zayıf bağlı
çoğunlukla kalıtım(Inheritance) temelli servislerin bir süreç içerisinde bir arada
Metodoloji geliştirme söz konusudur. kompoz edilmelerine dayanaır.
Uygulama genellikle ALM içerisindeki Geliştirme 3 bağımsız takıma adanır.
Soyutlama seviyesi ve tek bir takımın işi olur. Bu takım Application Builder, Service Provider, Service
takımsal işbirliği Domain yapısını bilmek zorundadır. Broker.
Aynı çalışma ortamı içerisindeki tek Farklı sistemlerin/platformların ayrı çalışma
...jenlik
bir sistemin ele alınması(Homojenlik). ortamları içerisinde olması(Heterojenlik).
16. OO vs SOA
Özellik Nesne Yönelim Servis Yönelim
Şemaların(Schema) ve mesajlaşmanın önemli
Tip/Şema Tiplerin(Types) önemli olması.
olması.
Daha çok kriter. Ağ günveliği, mesaj güvenliği,
Güvenlik Daha az kriter var.
Authentication, Authorization çeşitleri vb...
Maliyet Servis tabanlıya göre daha ucuz. Geliştirme maliyeti daha yüksek.
Sistem yaşamını devam ettirirken
İstemci/ Sunucu tarzı uygulamalarda
Dağıtım dağıtımların(Deployment) bağımsız olarak
dağıtımın senkron olarak yapılması
yapılabilmesi.
Bellek üzerindeki nesneleri Farklı uygulama alanlarındaki(Application
Nesnel İletişim
konuşturmak. Domain)bileşenleri konuşturmak.
Performansı arttırma maliyetinin daha Performansı etkileyebilecek daha çok faktör
Performans
ucuz olması. olması(Not : Cloud)
17. Gelecek
• Servis yaklaşımını pek çok yerde görmekteyiz.
• Gelecek nesil servisler ağırlık olarak Cloud üzerinde
konuşlandırılıyor olacaktır. (bknz Windows Azure)
• IaaS (Infrastructre as a Service)
• PaaS (Platform as a Service)
• Saas (Software as a Service)
• ve hatta CaaS (Compiler as a Service)
Development is delegated to three independent parties: application builder, service provider, and service broker. Application builders need to understand application logic and may not knowhow individual services are implemented. Service providers can program but do not have to understand the applications that use their services.
Development is delegated to three independent parties: application builder, service provider, and service broker. Application builders need to understand application logic and may not knowhow individual services are implemented. Service providers can program but do not have to understand the applications that use their services.