bankacılık ve soa
TRANSCRIPT
• SOA Nedir?
• Gevşek Bağlılık
• Modulerlik
• Öyleyse SOA
• SOA’ dan Önce
• SOA’ dan Sonra
• Peki, Neden SOA?
• 4 Temel Prensip
Gündem
• Big Picture
• OO vs SOA
• Gelecek
• Kaynaklar
• Soru&Cevap
Hem iş hem de IT gereksinimlerini destekleyen gevşek bağlı(Loosely Coupled) modüler servisler bütünüdür...
SOA Nedir?
Servisler bağımsızdır. Servisin hangiplatformda ç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...
Gevşek Bağlılık(Loosely coupled)
• 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.
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
Modüler Olmak
• 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
• ...
Öyleyse SOA...
Veri Katmanı
Uygulama Bağımlı İş Fonksiyonları
SOA’ dan Önce
Servis Planlama
Müşteri Durumunu Kontrol Et
Ürün Kullanılabilirliğine
Karar ver
Sipariş Süreci
Müşteri Durumunu Kontrol Et
Ürün Kullanılabilirliğine
Bak
Müşteri Kredisini Doğrula
Ödemeyi Yap
Hesap Yönetimi
Ulaştırma Maliyetini Hesapla
Ödemeyi Yap
Krediyi Kontrol Et
Pazarlama Satış CRM FinansVeri
AmbarıÜçünüOrtak
SOA’ dan Sonra
Veri Katmanı
Composite Applications
Servis Planlama Sipariş Yönetimi Hesap Yönetimi
Pazarlama Satış CRM FinansVeri
AmbarıÜçünüOrtak
Composite Uygulama
Composite İş Süreci
Reusable Business ServicesMüşteri Durumunu
Kontrol EtKrediyi Kontrol Et
Müşteri Kredisini Doğrula
Reusable Service
Reusable ServiceFatura Oluştur Envanter Oluştur Reusable Service
• 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, sistemlerinsistemlerinde ve sistemler arası entegrasyonlarda yetersiz kalmaktadır.
Peki Neden SOA?
SOA’ nın 4 Temel Prensibi
Shared schemas and contracts
Autonomous
Policy Based Compatibility
Explicit boundaries
Özellik Nesne Yönelim Servis Yönelim
Metodoloji
Birbirlerine daha sıkı bağlı nesneler ve çoğunlukla kalıtım(Inheritance) temelli geliştirme söz konusudur.
Uygulama geliştirme, birbirlerine zayıf bağlıservislerin bir süreç içerisinde bir arada kompoz edilmelerine dayanaır.
Soyutlama seviyesi ve takımsal işbirliği
Uygulama genellikle ALM içerisindeki tek bir takımın işi olur. Bu takım Domain yapısını bilmek zorundadır.
Geliştirme 3 bağımsız takıma adanır. Application Builder, Service Provider, Service Broker.
...jenlikAynı çalışma ortamı içerisindeki tek bir sistemin ele alınması(Homojenlik).
Farklı sistemlerin/platformların ayrı çalışma ortamları içerisinde olması(Heterojenlik).
OO vs SOA
Özellik Nesne Yönelim Servis Yönelim
Tip/Şema Tiplerin(Types) önemli olması.Şemaların(Schema) ve mesajlaşmanın önemli olması.
Güvenlik Daha az kriter var.Daha çok kriter. Ağ günveliği, mesaj güvenliği, Authentication, Authorization çeşitleri vb...
Maliyet Servis tabanlıya göre daha ucuz. Geliştirme maliyeti daha yüksek.
Dağıtımİstemci/ Sunucu tarzı uygulamalarda dağıtımın senkron olarak yapılması
Sistem yaşamını devam ettirirken dağıtımların(Deployment) bağımsız olarak yapılabilmesi.
Nesnel İletişimBellek üzerindeki nesneleri konuşturmak.
Farklı uygulama alanlarındaki(Application Domain)bileşenleri konuşturmak.
PerformansPerformansı arttırma maliyetinin daha ucuz olması.
Performansı etkileyebilecek daha çok faktör olması(Not : Cloud)
OO vs SOA
• 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)
Gelecek