wcf 4.0 - introduction - microsoft

13
WCF Öğreniyorum Ders 0 - Temeller urak Selim ŞENYURT VP(Connected System Developer) NETA Speaker www.buraksenyurt.com [email protected] ttp://twitter.com/bsenyurt ttp://friendfeed.com/burakselimsenyurt ttp://www.formspring.me/BurakSenyurt

Upload: mfatihornek

Post on 12-Aug-2015

223 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Wcf 4.0 - introduction - microsoft

WCF ÖğreniyorumDers 0 - Temeller

Burak Selim ŞENYURTMVP(Connected System Developer)INETA Speaker

[email protected]://twitter.com/bsenyurthttp://friendfeed.com/burakselimsenyurthttp://www.formspring.me/BurakSenyurt

Page 2: Wcf 4.0 - introduction - microsoft

Gündem

SOA(Service Oriented Architecture) NedirSOA’ nın 4 AtlısıBir Servisin AnatomisiSOA Arkasındaki TeknolojilerWCF ÖncesiWCF Çalışma ZamanıWCF’ in ABC’si

Page 3: Wcf 4.0 - introduction - microsoft

SOA Nedir

İş dünyasında çok sık değişmeyen unsurlar vardır.

Benzin istasyonlarında litre veya galon birimlerinden satış yapılır.

Restoranlar müşterilerine satışlarını her zaman bir menü sunarak yaparlar.

Çok sık değişmeyen bu kuralları ele alan

fonksiyonellikler Core Business Functions olarak

adlandırılır.

Page 4: Wcf 4.0 - introduction - microsoft

SOA Nedir

İş dünyasında çok sık değişen unsurlar da vardır.

Fiyatlar

Vergi oranları

Kataloglar

Yeni ürünlerYeni pazarlama kampanyalarıYeni iş alanlarıYeni müşteri

alanlarıVe dahası

Yaşamını sürdürebilmesi için İş(Business) çok hızlı ve çabuk bir şekilde değişime ayak uydurulabilmelidir.

Bu değişim Core Business Functions’ a olumsuz etkide bulunmamalıdır.

Page 5: Wcf 4.0 - introduction - microsoft

SOA Nedir

Prensip Çok sık değişen yazılımlar, sıklıkla değişmeyenlerden

ayrıştırılmış olmalıdır. Bireysel yazılımların veya sistemlerin uyguladığı bu prensip The Common Closure Principle olarak bilinir.

Buna göre SOA(Service Oriented Architecture) Enterprise seviyedeki bilgi sistemlerine uygulanan

Common Closure Principle olarak düşünülebilir. Core Business Functions’ ları, çok sık değişmeyen

bağımsız servisler içerisine alan bir pratiktir. Değişebilen elementler ile değişmeyen elementlerin

birbirlerinden ayrı tutulmasından(Seperation) fazlası ya da azı değildir.

Page 6: Wcf 4.0 - introduction - microsoft

SOA’ nın 4 AtlısıExplicit

Boundaries (Belirgin Sınırlar)

• Bir Process veya bellek alanında çalışan servisler, istemcilerden tamamen ayrıştırılmıştır.

• Sınırlar, istemcilerin ulaşabileceği adres(Address) ve sözleşmeler (Contract) ile tanımlanır.

• Sözleşme veya adres olmadan bir servisin içerdiği iş mantığını çalıştırmak mümkün değildir.

Autonomous (Özerk)

• Bir servis diğer bir servisin davranışlarına(Behaviors) bağımlı değildir.

• Bir servis diğer bir servisden bağımsız olarak dağıtılabilir, kurulabilir, çalıştırılabilir.

• Loosely Coupled

Class yerine Schema ve Contract Paylaşımı

• Servisler istemciler için Black-Box’ tır.

• Servis içerisindeki iş mantıklarının tutulduğu sınıflar, istemciler ile paylaşılmazlar.

Policy Based Compatibility(İl

ke Temelli Uyumluluk)

• Mesajların işlenmesi için gerekli koşulların(Conditions) tanımlanmasıdır.

• Mesajlaşma formatı, güvenlik(Security) gereksinimleri vb...

Page 7: Wcf 4.0 - introduction - microsoft

Bir Servisin Anatomisi

Host Application

Service

Channel

Message

Message

Protocol(HTTP, TCP, MSMQ...)

Policy

Schema

Contract

Page 8: Wcf 4.0 - introduction - microsoft

SOA Arkasındaki Teknolojiler

SOAP(Simple Object Access Protocol) Verinin kablo üzerinde nasıl değiş tokuş edileceğini XML bazlı

yapısı ile standardize eder. XML bazlı olması nedeniyle platform bağımsızdır. SOAP zarfları(Envelope), başlık(Header) ve gövde(Body)

kısımlarından oluşur. WS-* Protocols

Mesajların değiş tokuşunda seçilen protokole göre security, transaction ve reliable session gibi hususların, SOAP Header’ ları tarafından nasıl uygulanması gerektiğini tanımlar.

WSDL(Web Service Description Language) Sözleşmelerin XML formatındaki tanımlamasıdır. Fonksiyon, parametre adları, parametre ve dönüş tipleri gibi

bilgileri içerir. Söz konusu bilgileri XML bazlı sunarak platform bağımsızlığı

da sağlar.

Page 9: Wcf 4.0 - introduction - microsoft

WCFWindows

Communication

Foundation

WCF Öncesi

Xml Web Services

WSE SOAP XML Based HTTP

Activation

.Net Remoting

TCP Based Intranet Only .Net

Framework

COM+

Distributed Transactions

Unmanaged Codes

MSMQ

Doğal Asenrkon Çalışma Desteği

Kuyruk tabanlı işleme modeli

Page 10: Wcf 4.0 - introduction - microsoft

Channel Stack

Message

Protocol

Encoder

WCF Çalışma Zamanı

ClientCode/

Objects

Proxy

Channel Stack

Message

Protocol

Encoder

ServiceCode/

Objects

Dispatcher

Transport Stream

Page 11: Wcf 4.0 - introduction - microsoft

WCF’in ABC’si

Address Binding

Contract

Page 12: Wcf 4.0 - introduction - microsoft

WCF’in ABC’si - EndPoint

Client(İstemci)

Servis(Service)

Mesajlar(Messages)

EndPointEndPoint

EndPoint

Address Binding Contract

Nerede? Nasıl? Ne?

C B A

A B C

A B C

Page 13: Wcf 4.0 - introduction - microsoft

Hosting Seçenekleri

WCF Servisleri için Hosting Seçenekleri

IIS Hosting

Self Hosting(WAS)

WinClients

Console App.

Win Servis

Windows Server

AppFabric!!!