SlideShare a Scribd company logo
1 of 20
SOA
Gerçekleri
Burak Selim Şenyurt
Kıdemli Yazılım Danışmanı – ING Bank
www.buraksenyurt.com
selim@buraksenyurt.com
Bir Varmış Bir Yokmuş
SOA GERÇEKLERİ Burak Selim Şenyurt – www.buraksenyurt.com
SOA GERÇEKLERİ Burak Selim Şenyurt – www.buraksenyurt.com
HR Modülü
Asp.Net MVC
Üretim
Modülü
C, Assembly
Rapor Modülü
SQL, Oracle,
NoSQL
BMPX
Tibco
Doküman
Yönetim
Sharepoint
AR-GE Modülü
C, Assembly
Dış Ağ
SOA Motor Company
Yazılım
Departmanının
Uğraştığı
Modüller/
Domainler
Yan Sanayi A
System
Alpha
Yan Sanayi B
System
Beta
Mobil
Saha Ekibi
Android, iOS
SOA Bank
İş Modelleri
Süreçleri
Genel Tanım
SOA, servis olarak adlandırılan, gevşek bağlı (Loosely Coupled), iri taneli (Coarse
Grained) ve özerk(Autonoums) yapıdaki bileşenlere dayalı dağıtık sistemlerin
geliştirilmesi için kullanılan mimari bir stildir.
Burak Selim Şenyurt – www.buraksenyurt.com
Zaten SOA' nın
Architecture kelimesi
bunun bir mimari
yaklaşım olmasından
dolayıdır.
SOA GERÇEKLERİ
Coarse-Grained Derken
Objects Components Services
Less Business Value More Business Value
Burak Selim Şenyurt – www.buraksenyurt.comSOA GERÇEKLERİ
Fine-Grained Coarse-Grained
Coarse-Grained Derken
Service OmegaService Alpha
object
component
interface
Coarse-Grained Derken
İş Süreci
Uzmanları
IT
Uzmanları
Coarse-Grained Services
Fine-Grained Services
Existing-Computer Assets
Applications
Business Processes
Interfaces / Contracts
Service
Servisler SOA’nın en temel ve önemli üyesidir.
Bir servis çoğunlukla ayrık bir iş fonksiyonelliği sunar.
Policies
(İlkeler)
Bir servisin tüketicileri tarafından kullanılabilmesi için kısıtlar ve
terimler tanımlar. Security, Auditing, SLAs vb Policy içerisinde yer alan
dinamik özelliklerdir.
EndPoints
Bir URI(Uniform Resource Identifier) dir. Servisin bulunduğu adrestir.
Endpoint’ ler sözleşmeleri sunar.
Contracts
(Sözleşmeler)
Servis tarafından desteklenen mesajların tümü, bir sözleşme ile
sunulur.
Messages
(Mesajlar)
SOA içindeki iletişim birimidir. REST(Representational State Transfer),
SOAP(Simple Object Access Protocol), JMS(Java Messaging Service) vb
türleri vardır.
Service
Consumer
(Tüketici)
Servisler ile mesajlaşma yoluyla iletişime geçen bileşenlerdir.
Başka bir uygulama veya servis olabilir.
Temel
Bileşenler
Burak Selim Şenyurt – www.buraksenyurt.comSOA GERÇEKLERİ
Service
Policies
(İlkeler)
Üzerine geliştirilir
EndPoints
Sunar
Sunar Contracts
(Sözleşmeler)
Tanımlar Messages
(Mesajlar)
Bağlı kalır
Service
Consumer
(Tüketici)
Bağlanır
Bileşenler Arası İlişkiler
Burak Selim Şenyurt – www.buraksenyurt.comSOA GERÇEKLERİ
SOA Neyi Çözer?
SOA dağıtık yazılım sistemlerinin kalitesini arttırma noktasında pek çok mimari
kritere sahiptir.
◦ Yeniden kullanılabilirlik(Reusability),
◦ Uyumluluk (Adaptability)
◦ Bakım Yeteneği (Maintainability)
◦ Bağımlılıkları Azaltma (Loose Coupling)
◦ Façade vb…
◦ Özerklik
◦ Heterojenlik
SOA özellikle Point-To-Point entegrasyon yapan sistemlerdeki bağımlılıkları
ortadan kaldıracak çözümleri içerir.
Burak Selim Şenyurt – www.buraksenyurt.comSOA GERÇEKLERİ
ETL
Extract,
Transform,
Load.
DB’ler arası
Entegrasyondur.
Farklı araçları da
vardır.
Online
Uygulamalar
arası TCP veya
HTTP bazlı yapılır.
File-Based
Veri, uygulamalar
arası dosya sistemi
üzerinden taşınır.
Doğrudan DB
Uygulamalardan
DB’ ye doğrudan
erişim söz konusudur.
Point to Point
Entegrasyonlar
İyi tasarlanmış bir SOA, Point-to-Point yaklaşımlar yerine çeşitli tipte
tüketicilerce kullanılabilecek, daha genel çerçevede düşünülmüş
arayüzler(Interfaces) sunar.
Point to Point Demişken…
Burak Selim Şenyurt – www.buraksenyurt.comSOA GERÇEKLERİ
Kampanyalar
Krediler
Ürünler Müşteriler
ABC
XYZ
IT'nin değişen iş süreçlerine kolay
bir şekilde adapte olamayışı ve
bunun sonucu olarak işin çevik
anlamda ilerleyemeyişidir.
SOA, IT ile iş birimi arasındaki
boy farkını eşitlemek için bir
yol sunar.
Temel Sorun
Burak Selim Şenyurt – www.buraksenyurt.comSOA GERÇEKLERİ
İş Faydası SOA Bunu Nasıl Sağlar?
İş birimi için operasyon maliyetleri düşüktür. Servisler özerk tasarlanır. (Autonomy özelliği)
Service Level Aggrements uyumluluğunu
sağlamak ve entegrasyon kolaydır.
Endüstriyel olarak standartlaşmış
ilkeleri(Policies) önerir.
İş süreçlerindeki değişikliklere kolayca adapte
olunur ve pazara yeni iş fonksiyonelliklerini
hızla sunabilme imkanı vardır.
Çünkü bileşenlerin(Components) bakımı ve
değişimi kolaydır.
Yeni sistemlere az eforla bağlanmak
mümkündür. İş ortağı firmalarla entegrasyon
daha kolaydır.
Çünkü Endüstri standartlarına uyan servis
arayüzleri(Contracts) söz konusudur.
İş Birimi Açısından SOA’nın Faydası
Burak Selim Şenyurt – www.buraksenyurt.comSOA GERÇEKLERİ
Mimar
Paydaşlar
3ncü Şahıslar
Hissedarlar
Teknik
Topluluklar
(Communities)
Kısıtlar
Kalite
Kriterleri
Teknoloji
Kullanır
Mimari Çıktı
Üretir
Patterns/
Anti Patterns
Prensipler
Mimarın Yükü
Burak Selim Şenyurt – www.buraksenyurt.comSOA GERÇEKLERİ
Service
Montior
Service
Watchdog
Service
Instance
Service
Host
Active
Service
Identity
Provider
Secured
InfrastructureService
Firewall
Edge
Component
Virtual
Endpoint
Aggregated
Reporting
Service
Bus
Client/Server/
Service
Composite
Frontend
Saga Reservation
Workflowdize
Orchestration
Transactional
Service
Parallel
Pipeline
Gridable
Service
Decoupled
Invocation
Request/
Reply
Request/
Reaction
Secured
Message
Inversion
Of
Communications
Foundation
Structural Patterns
Performance
Scalability
Availability Patterns
Security,
Manageability
Patterns
Message Exchange
Patterns
Service Consumers
Patterns
Service Integration
Patterns
monitors
exposed at
partof
Supports
orchestrates
implements
SOA Desenleri
SOA GERÇEKTEN NEDİR? Burak Selim Şenyurt – www.buraksenyurt.com
Service Host
LifecycleConfiguration
Wiring Administration
Environment
Endpoint
Contract
Service
Soru : Her bir servis için bileşenleri(Components) kolayca bağlayabilmenin,
dinleyicileri(Listener) basitçe devreye alabilmenin, sıradan işlermiş gibi
konfigurasyon ayarları yapabilmenin bir yolu var mıdır?
Çözüm : Konfigurasyon değerlerini kolayca ayarlayabilecek, bileşen bağlama
veya servis kurulumu gibi işleri icra edebilecek, konteynır(Container) rolünü
üstlenen genel bir Service Host bileşeni veya framework yazmak.
Service Host Pattern
Tanım: Service Host, servislerin konfigure edilebilmesi ve dış ortamlara
bağlanabilmesi işlerini üstlenen bir konteynırdır(Container).
Kalite Nitelikleri :
• Yeniden Kullanılabilirlik
(Reusability)
• Taşınabilirlik(Portability)
Örnek Teknolojiler:
• Microsoft AppFabric,
• Fuse ESB,
• Spring,
• PicoContainer
Desen
Kartları
Burak Selim Şenyurt – www.buraksenyurt.comSOA GERÇEKLERİ
Kaynaklar
Burak Selim Şenyurt – www.buraksenyurt.comSOA GERÇEKLERİ
Burak Selim Şenyurt
Kıdemli Yazılım Danışmanı – ING Bank
www.buraksenyurt.com
selim@buraksenyurt.com

More Related Content

Similar to SOA Gerçekleri

İş Zekası Çözümleri
İş Zekası Çözümleriİş Zekası Çözümleri
İş Zekası ÇözümleriDetaysoft
 
SAP Forum 2010 Ankara - NetWeaver Teknoloji Platformu
SAP Forum 2010 Ankara - NetWeaver Teknoloji PlatformuSAP Forum 2010 Ankara - NetWeaver Teknoloji Platformu
SAP Forum 2010 Ankara - NetWeaver Teknoloji PlatformuFIT Consulting
 
SAP Forum 2009: BI - BI Mobile
SAP Forum 2009: BI - BI MobileSAP Forum 2009: BI - BI Mobile
SAP Forum 2009: BI - BI MobileFIT Consulting
 
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech DeneyimleriGartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimlerihalilaksu
 
Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...
Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...
Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...sbs2008
 
Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...
Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...
Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...Mustafa
 
Windows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve Kurulumu
Windows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve KurulumuWindows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve Kurulumu
Windows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve KurulumuMustafa
 
Windows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve Kurul...
Windows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve Kurul...Windows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve Kurul...
Windows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve Kurul...sbs2008
 
Bulut Bilişim (Overview)
Bulut Bilişim (Overview)Bulut Bilişim (Overview)
Bulut Bilişim (Overview)Burak Okumuş
 
Sql Server2008 Yenilikleri
Sql Server2008 YenilikleriSql Server2008 Yenilikleri
Sql Server2008 YenilikleriÇözümPARK
 
Business Connectivity Services - Sharepoint 2010
Business Connectivity Services - Sharepoint 2010Business Connectivity Services - Sharepoint 2010
Business Connectivity Services - Sharepoint 2010Evren Ayan
 
Oracle Policy Automation ile Karar Ve Kural Otomasyonu
Oracle Policy Automation ile Karar Ve Kural OtomasyonuOracle Policy Automation ile Karar Ve Kural Otomasyonu
Oracle Policy Automation ile Karar Ve Kural OtomasyonuGökhan Engin
 
Neden Solid Works
Neden Solid WorksNeden Solid Works
Neden Solid Worksguest445a09
 

Similar to SOA Gerçekleri (20)

İş Zekası Çözümleri
İş Zekası Çözümleriİş Zekası Çözümleri
İş Zekası Çözümleri
 
SAP Forum 2010 Ankara - NetWeaver Teknoloji Platformu
SAP Forum 2010 Ankara - NetWeaver Teknoloji PlatformuSAP Forum 2010 Ankara - NetWeaver Teknoloji Platformu
SAP Forum 2010 Ankara - NetWeaver Teknoloji Platformu
 
SAP Forum 2009: BI - BI Mobile
SAP Forum 2009: BI - BI MobileSAP Forum 2009: BI - BI Mobile
SAP Forum 2009: BI - BI Mobile
 
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech DeneyimleriGartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
 
E osb
E osbE osb
E osb
 
Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...
Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...
Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...
 
Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...
Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...
Windows Small Business Server 2011 Essentials Yenilikleri,Sistem Gereksinimle...
 
VISIO.pptx
VISIO.pptxVISIO.pptx
VISIO.pptx
 
Beycon Projeler
Beycon ProjelerBeycon Projeler
Beycon Projeler
 
Windows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve Kurulumu
Windows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve KurulumuWindows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve Kurulumu
Windows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve Kurulumu
 
Windows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve Kurul...
Windows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve Kurul...Windows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve Kurul...
Windows Small Business Server 2011 Yenilikleri,Sistem Gereksinimleri ve Kurul...
 
Bulut Bilişim (Overview)
Bulut Bilişim (Overview)Bulut Bilişim (Overview)
Bulut Bilişim (Overview)
 
Cronom şirket
Cronom şirket Cronom şirket
Cronom şirket
 
Sql Server2008 Yenilikleri
Sql Server2008 YenilikleriSql Server2008 Yenilikleri
Sql Server2008 Yenilikleri
 
Business Connectivity Services - Sharepoint 2010
Business Connectivity Services - Sharepoint 2010Business Connectivity Services - Sharepoint 2010
Business Connectivity Services - Sharepoint 2010
 
Workcube Magazin 2009
Workcube Magazin 2009Workcube Magazin 2009
Workcube Magazin 2009
 
Stratejik BT
Stratejik BTStratejik BT
Stratejik BT
 
Oracle Policy Automation ile Karar Ve Kural Otomasyonu
Oracle Policy Automation ile Karar Ve Kural OtomasyonuOracle Policy Automation ile Karar Ve Kural Otomasyonu
Oracle Policy Automation ile Karar Ve Kural Otomasyonu
 
Neden Solid Works
Neden Solid WorksNeden Solid Works
Neden Solid Works
 
SBS 2011 ile Tanisin
SBS 2011 ile TanisinSBS 2011 ile Tanisin
SBS 2011 ile Tanisin
 

More from Burak Selim Şenyurt

Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)
Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)
Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)Burak Selim Şenyurt
 
Beş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern Macerası
Beş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern MacerasıBeş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern Macerası
Beş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern MacerasıBurak Selim Şenyurt
 
Monolitik Yapılarda Teknik Borçlardan Kurtulmak
Monolitik Yapılarda Teknik Borçlardan KurtulmakMonolitik Yapılarda Teknik Borçlardan Kurtulmak
Monolitik Yapılarda Teknik Borçlardan KurtulmakBurak Selim Şenyurt
 
Bugün Yarınların için Ne Yapacaksın?
Bugün Yarınların için Ne Yapacaksın?Bugün Yarınların için Ne Yapacaksın?
Bugün Yarınların için Ne Yapacaksın?Burak Selim Şenyurt
 
Yazılımda Sağlam Adımlar Atmak
Yazılımda Sağlam Adımlar AtmakYazılımda Sağlam Adımlar Atmak
Yazılımda Sağlam Adımlar AtmakBurak Selim Şenyurt
 
Bir .Net Geliştiricisinin Ruby ile İmtihanı
Bir .Net Geliştiricisinin Ruby ile İmtihanıBir .Net Geliştiricisinin Ruby ile İmtihanı
Bir .Net Geliştiricisinin Ruby ile İmtihanıBurak Selim Şenyurt
 
Finans Sektöründe Verimli Yazılımcı Olabilmek
Finans Sektöründe Verimli Yazılımcı OlabilmekFinans Sektöründe Verimli Yazılımcı Olabilmek
Finans Sektöründe Verimli Yazılımcı OlabilmekBurak Selim Şenyurt
 

More from Burak Selim Şenyurt (20)

Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)
Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)
Monolitik Uygulamalarda Teknik Borçlanma ile Mücadele (Teori)
 
Beş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern Macerası
Beş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern MacerasıBeş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern Macerası
Beş Dakikalik Yolu Bir Saatte Gitmek - Bir AntiPattern Macerası
 
Monolitik Yapılarda Teknik Borçlardan Kurtulmak
Monolitik Yapılarda Teknik Borçlardan KurtulmakMonolitik Yapılarda Teknik Borçlardan Kurtulmak
Monolitik Yapılarda Teknik Borçlardan Kurtulmak
 
Bugün Yarınların için Ne Yapacaksın?
Bugün Yarınların için Ne Yapacaksın?Bugün Yarınların için Ne Yapacaksın?
Bugün Yarınların için Ne Yapacaksın?
 
Kaosu Körüklemek
Kaosu KörüklemekKaosu Körüklemek
Kaosu Körüklemek
 
Yazılımda Sağlam Adımlar Atmak
Yazılımda Sağlam Adımlar AtmakYazılımda Sağlam Adımlar Atmak
Yazılımda Sağlam Adımlar Atmak
 
Bir .Net Geliştiricisinin Ruby ile İmtihanı
Bir .Net Geliştiricisinin Ruby ile İmtihanıBir .Net Geliştiricisinin Ruby ile İmtihanı
Bir .Net Geliştiricisinin Ruby ile İmtihanı
 
Finans Sektöründe Verimli Yazılımcı Olabilmek
Finans Sektöründe Verimli Yazılımcı OlabilmekFinans Sektöründe Verimli Yazılımcı Olabilmek
Finans Sektöründe Verimli Yazılımcı Olabilmek
 
Enterprise Applications
Enterprise ApplicationsEnterprise Applications
Enterprise Applications
 
NoSQL - Yazılımcı Bakışıyla
NoSQL - Yazılımcı BakışıylaNoSQL - Yazılımcı Bakışıyla
NoSQL - Yazılımcı Bakışıyla
 
Gizli Tehlike : AntiPatterns
Gizli Tehlike : AntiPatternsGizli Tehlike : AntiPatterns
Gizli Tehlike : AntiPatterns
 
Anti-Patterns
Anti-PatternsAnti-Patterns
Anti-Patterns
 
C# Akademi 2005
C# Akademi 2005C# Akademi 2005
C# Akademi 2005
 
Netron Techweek 2007 WCF
Netron Techweek 2007 WCFNetron Techweek 2007 WCF
Netron Techweek 2007 WCF
 
Yazilim Zirvesi 2008
Yazilim Zirvesi 2008Yazilim Zirvesi 2008
Yazilim Zirvesi 2008
 
Ready to Rock
Ready to RockReady to Rock
Ready to Rock
 
C# 4.0 new features - innova
C# 4.0   new features - innovaC# 4.0   new features - innova
C# 4.0 new features - innova
 
Trakya Üniversitesi Workshop
Trakya Üniversitesi WorkshopTrakya Üniversitesi Workshop
Trakya Üniversitesi Workshop
 
Kariyerini Çiz
Kariyerini ÇizKariyerini Çiz
Kariyerini Çiz
 
Geleceğin Programıcısı
Geleceğin ProgramıcısıGeleceğin Programıcısı
Geleceğin Programıcısı
 

SOA Gerçekleri

Editor's Notes

  1. Destekleyici Makale : http://www.buraksenyurt.com/post/SOA-Nedir.aspx
  2. Burada servis dünyasına olan gereksinimleri vurgulayan kısa bir hikaye anlatılır.
  3. Burada servis dünyasına olan gereksinimleri vurgulayan kısa bir hikaye anlatılır.
  4. Her bir servis(Service) sözleşmeler(Contracts) yoluyla iş süreçleri ve bunlara bağlı davranışlar sunar ki bu sözleşmeler keşfedilebilir EndPoint' ler üzerinden taşınabilecek mesajları(Messages) tanımlarlar. Bir servisin davranışı(Behavior), endüstriyel anlamda standartlaşmış çeşitli ilkeler(Policies) ile uyumlu olmak zorundadır. Servisleri tüketen taraflar(Service Consumers) ise, sözleşmeler ve mesajlar yoluyla tanımlanmış iş fonksiyonelliklerine(Business Functions) ulaşmaktadır.
  5. Yeniden Kullanılabilirlik : Servislerin birden fazla kullanıcı veya uygulamaya ulaşmasını sağlamada önemli rol oynar. Bir iş fonksiyonelliğini servisleştirerek n sayıda uygulamanın/istemcinin kullanımına açabiliriz. Loose Coupling : Servislerin diğer sistemlere şema ve sözleşmeler aracılığı ile bağlanabilme özgürlüğü. Özerklik : Her servisin kendi işinden sorumlu olması ve sadece o işi yapması. Façade : Karmaşık yapıların servisler aracılığı ile daha basit arayüzler üzerinden sunulabilmesi. Heterojenlik : Farklı teknolojilere sahip sistemlerin kolayca bağlanabilmesi.
  6. Öncelike SOA' nın dağıtık yazılım sistemlerinin kalitesini arttırma noktasında pek çok mimari kritere sahip olduğunu söylememiz gerekir. Yeniden kullanılabilirlik(Reusability), Uyumluluk(Adaptability) ve Bakım Yeteneği(Maintainability) bunlardan bir kaçıdır. Ancak en önemlisi SOA' nın özellikle Point-To-Pointentegrasyon yapan sistemlerdeki bağımlılıkları ortadan kaldıracak çözümleri içermesidir. Pek çok büyük sistem zamanla iş birimden gelen istekler doğrultusunda büyür ve genişler. Bir süre sonra bu sistemler arasında veri paylaşımı yapılması gerekebilir. Bu, çok doğal olarak iş sahibi birimlerin ihtiyaçlarından doğar. Dolayısıyla sistemler arası veri paylaşımı üzerine çeşitli entegrasyonlar gerekir. EğerPoint-to-Point gibi yaklaşımlar benimsenirse, sistemler arası entegrasyon giderek karmaşıklaşır. Tekrar edilen fonksiyonellikler/modüller çoğalır. Bakım ve dağıtım gibi operasyonlar giderek zorlaşır. Sistemin yeni nesil gelişimi de olumsuz yönde etkilenir. Stovepipe olarak adlandırılan bu sistemlerde olayın çıkış noktası aslında az çok bellidir. Her departman kendi sistemini inşa ederken, bu sistemleri kullananların bazı ihtiyaçlarının diğer sistemlerde olabileceğini önceden kestirmez/düşünmez. Çözüm için Point-to-Point entegrasyonlar yapılmaya başlanır. Bu yaklaşıma iten pek çok sebep vardır. Planlama yetersizliği, doğru bir süreç sisteminin seçilmemiş olması vb... Stovepipe System : Tek bir authentication fonksiyonelliğinin kurumun tüm sistemlerinde ortak kullanımı yerine, birbirleri ile iletişimde olma ihtimali bulunan bu sistemlerin kendi authentication fonksiyonelliklerine sahip olması olarak örneklenebilir. Stovepipe sistemler aynı zamanda bir anti-pattern olarak değerlendirilir. Buna göre SOA' nın makarna haline gelmiş Stovepipe tadındaki sistemlerdekinin aksine daha disipline edilmiş bir iletişim mekanizması sunduğunu ifade edebiliriz. SOA, endüstriyel anlamda standartlaştırılmış sözleşmeleri temel aldığından, sistemleri platform bağımsız ele alabilir/düşünebilir. Yani farklı platformlar, uygulamalar ve servisler için daha saydam bir iletişim mümkündür. Güvenlik(Security) ve bakım(Maintaining) gibi bazı farklı bakış açıları, SOA için konfigure edilebilir kavramlardır. Bu esneklik ilke tabanlı(Policy Based) olmaktan kaynaklanır ve bakım ile adapte edilebilirliği en üst seviyede kolaylaştırır. Bunun doğal sonucu olarak bir takım sorumlulukların geliştirme takımlarından sistem operasyon gibi IT taraflarına alınması da mümkün hale gelmektedir. Bu, organizasyonel anlamda sorumlulukların dağıtımı olarak düşünülebilir.
  7. Aslında tüm bu yazılanları bir kenara bırakırsak temel sorun şudur : IT'nin değişen iş süreçlerine kolay bir şekilde adapte olamayışı ve bunun sonucu olarak işin çevik anlamda ilerleyemeyişidir. SOA, IT ile iş birimi arasındaki boy farkını eşitlemek için bir yol sunar. Aynen aşağıdaki şekilde görüldüğü gibi...
  8. Mimar teknolojiyi kullanır. Ancak teknik toplulukların veya standart koyucuların belirlediği bir takım prensip ve desenleri de baz alır. Bu noktada bir takım anti-pattern' lerin oluşumu da söz konusudur. Diğer yandan organizasyonel açıdan bakıldığında işin içerisine dahil olan paydaşlar da vardır. Bu paydaşlar pek tabi çeşitli kalite kriterlerini işin içerisine dahil eder ve bazı kıstasları(Constraints) belirlerler. Mimar tüm bu girdileri harmanlayarak mimariyi üretmeye çalışır.
  9. SOA' ya dayalı bir sistemi veya sistemler bütününü inşa etmek kolay değildir. Problemlerden birisi degüvenlik(Security), ölçeklenebilirlik(Scalability), performans(Performance),kullanılabilirlik(Availability) gibi kalite unsurlarını adreslemenin zor olmasıdır. Bunlara ek olarak SOA'nın tasarlanması ve inşa edilmesi de ayrı bir derttir. Örneğin uygulama arayüzleri(User Interfaces) servislere nasıl bağlanacaktır? Mimari içindeki iş verileri nasıl gizlenecek veya dış ortamdan soyutlanacaktır? Peki bu söz konusu iş verileri nasıl merkezileşecektir? Bunlar gibi pek çok sorunun cevaplanması zordur. İşte SOA desenleri de tam bu noktada devereye girmekte ve ilgili soruların cevaplanmasında kullanılmaktadır. Desenler(Patterns) problemi ortaya koyar ve bir çözüm yolu(Solution) önerir. Aynı zamanda bu çözüm yolları uygulanırken dikkat edilmesi gereken noktaları da belirler. Bu şekli aslında bir akıl haritası olarak da ifade edebiliriz. Arnon Rotem' in SOA Patterns isimli kitabında buna benzer bir çizime yer verilmektedir. Ben desenlerin kolay ayırt edilebilmesi adına ayrıldıkları altı kategori için renklendirdim. Bu şekle bakarak aslında SOA' nın desenleri arasındaki ilişkileri de görmemiz mümkündür. Örneğin Service Host deseni, Service örneklerini host eden bir çözüm sunarken doğal olarak Service Instance deseni ile ilişkilidir. Eğer servisler arası mesajlaşmaların nasıl olması gerektiğine dair bilgi lazımsa kahverengi renkteki Message Exchange kutucuklarına bakılması yeterlidir. Bu kutucuklara bakarak diğer ana kategoriler ile olan ilişkileri görmek de kolaylaşır. Çizimdeki tüm ilişkilere bakıldığında SOA' nın Big Picture olarak tabir edebileceğimiz görüntüsünü elde edebildiğimizi özetleyebiliriz.
  10. SOA içerisinde oldukça fazla sayıda desen var. Bunların hepsini okumak bir yana, idrak edebilmek ve hayata geçirebilmek de çok kolay değil. Bu yüzden size tavsiyem, ilgili desenleri öğrenirken özet kartlar(post-it kıvamında) kullanmanız. Örneğin aşağıda SOA' nın en temel desenlerinden birisi olan Service Host Pattern' e ait bir takım bilgiler yer alıyor. Herşey SOA dünyasına gönderilen bir soru ile başlıyor. Daha sonra bu sorunun cevabı yazılıyor. Cevabı takiben kısa bir tanım, ilgili desenin genel bileşenlerini gösteren küçük bir çizim, teknolojik eşlenikleri(yani örneğin hangi ürünlerde görebiliriz sorusunun cevabı) ve kalite kriterleri yer almakta.