SOA Gerçekleri

  • View
    8.664

  • Download
    4

  • Category

    Software

Preview:

Citation preview

SOA Gerçekleri

Burak Selim ŞenyurtKıdemli Yazılım Danışmanı – ING Bank

www.buraksenyurt.comselim@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 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

www.buraksenyurt.comselim@buraksenyurt.com