Upload
burak-selim-senyurt
View
8.669
Download
4
Embed Size (px)
Citation preview
SOA Gerçekleri
Burak Selim ŞenyurtKıdemli Yazılım Danışmanı – ING Bank
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 ASystem Alpha
Yan Sanayi BSystem Beta
Mobil Saha EkibiAndroid, iOS
SOA Bank
İş ModelleriSüreçleri
Genel TanımSOA, 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 sistemleringeliştirilmesi için kullanılan mimari bir stildir.
Burak Selim Şenyurt – www.buraksenyurt.com
Zaten SOA' nınArchitecture kelimesi
bunun bir mimariyaklaşı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üreciUzmanları
ITUzmanları
Coarse-Grained Services
Fine-Grained Services
Existing-Computer Assets
Applications
Business Processes
Interfaces / Contracts
ServiceServisler 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 veterimler tanımlar. Security, Auditing, SLAs vb Policy içerisinde yer alandinamik özelliklerdir.
EndPointsBir 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) vbtü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 mimarikritere 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ı davardır.
Online
Uygulamalararası TCP veyaHTTP bazlı yapılır.
File-Based
Veri, uygulamalararası dosya sistemiüzerinden taşınır.
Doğrudan DB
UygulamalardanDB’ ye doğrudanerişim söz konusudur.
Point to PointEntegrasyonlar
İyi tasarlanmış bir SOA, Point-to-Point yaklaşımlar yerine çeşitli tiptetü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İ
KampanyalarKrediler
Ürünler Müşteriler
ABC
XYZ
IT'nin değişen iş süreçlerine kolaybir şekilde adapte olamayışı ve bunun sonucu olarak işin çevikanlamda ilerleyemeyişidir.
SOA, IT ile iş birimi arasındakiboy farkını eşitlemek için biryol 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ğunusağ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şlar3ncü ŞahıslarHissedarlar
TeknikTopluluklar
(Communities)
KısıtlarKalite
Kriterleri
TeknolojiKullanı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
ActiveService
IdentityProvider
SecuredInfrastructureService
FirewallEdge
Component
VirtualEndpoint
AggregatedReporting
ServiceBus
Client/Server/Service
CompositeFrontend
Saga Reservation
Workflowdize
Orchestration
TransactionalService
ParallelPipeline
GridableService
DecoupledInvocation
Request/Reply
Request/Reaction
SecuredMessage
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
part o
f
Supports
orchestrates
implements
SOA Desenleri
SOA GERÇEKTEN NEDİR? Burak Selim Şenyurt – www.buraksenyurt.com
Service Host
LifecycleConfiguration
Wiring Administration
Environment
End
po
int
Co
ntract
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 ŞenyurtKıdemli Yazılım Danışmanı – ING Bank