bankacılık ve soa

19
Burak Selim ŞENYURT TCM(Software Architect) www.buraksenyurt.com

Upload: burak-selim-senyurt

Post on 22-Jan-2018

979 views

Category:

Technology


0 download

TRANSCRIPT

Burak Selim ŞENYURT

TCM(Software Architect)

www.buraksenyurt.com

• 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?

Konuyu biraz açalım

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

Gerçekte...

Ö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

Kaynaklar

http://www.buraksenyurt.com

[email protected]

This is it