1. VERİ TAŞIMA PROTOKOLLERİ (Transport
Protocols)
Asmx servisleri sunucu olarak Internet
Information Services (IIS) ile iletişim için HTTP Protokolünü kullanır. Bir
ASMX servisine .asmx uzantılı bir dosyanın URL’si ile erişilir. Örneğin:http://www.geziniyorum.net/TarihiYerler.asmx
WCF Servisleri de HTTP Protokolünü
kullanır. Fakat ASMX Servislerinden farklı olarak diğer veri taşıma
protokollerini kullanılma seçeneği sunar. WCF tarafından şu protokoller
desteklenmektedir:
·
Hypertext Transfer Protocol
(HTTP)
·
Transmission Control Protocol
(TCP)
·
Message Queuing (MSMQ)
·
Named pipes
WCF servisleri ile birlikte
birçok farklı sunucu da kullanılabilir. Örneğin HTTP Protokolü ile IIS
kullanılabilir. Windows servisleri ve bağımsız uygulamalar diğer protokoller
için sunucu olarak kullanılabilir.
IIS’ten
sunulan bir WCF servise ulaşmak ASMX servisine ulaşmaya benzer. Sadece dosya uzantısı (svc) farklıdır. Bununa
birlikte bir WCF Servisi “asmx” uzantılı olacak şekilde yapılandırılabilir. Diğer
veri taşıma protokollerini kullanan servislere ilgili protokolün metotları
kullanılarak erişilir.
Bir ASMX
servisi WCF Servisine dönüştürülürken seçilecek protokol servisi kullanacak
istemci uygulamalarına göre belirlenir. Eğer ASMX istemci uygulamalarını
desteklemeniz gerekiyorsa HTTP Protokolünü ve “BasicHttpBinding” kullanmanız gerekir.
2. GÜVENLİK (Security)
Genellikle
ASMX Servislerinde kimliklendirme ve yetkilendirme IIS ve ASP.NET güvenlik
ayarları ve taşıma katmanı güvenliği ile yapılır. Ayrıca mesaj katmanı güveliği
gibi ek güvenlik yeteneklerini sağlamak için Web Service Extensions (WSE) kullanılabilir.
WCF ASMX
güvenlik bileşenlerini kullanabilir. Bunlara ek olarak WCF istikrarlı güvenlik
programlama modeline imkân sağlayan kendi iç güvenlik sistemine sahiptir.
Güvenlik bir ASMX servisi WCF’e dönüştürmenin önemli sebeplerinden biridir.
3.
SOAP
EKLENTİLERİ (SOAP Extensions)
Geliştiriciler
SOAP mesajlarını direkt olarak etkilemek için ASP.NET’in SOAP Eklentileri
özelliğini kullanabilirler. SOAP Eklentileri ile SOAP mesajlarının arasına
girerek kendi kodumuzu mesajların arasına ekleyebiliriz. Böylece SOAP
kabiliyetlerini daha da geliştirmiş oluruz. Örneğin güvenlik, yönlendirme gibi
özellikler SOAP Eklentileri ile gerçekleştirilebilir. Bu özelliğin olumsuz
tarafı ise SOAP mesajının diğer İşletim Sistemleri ile birlikte çalışmasında
sıkıntılar çıkarmasıdır.
WCF SOAP
Eklentilerini desteklemez fakat SOAP mesajları üzerinde işlem yapmak için başka
ek bileşenleri vardır. Mesela Behaviour özelliği kullanılabilir.
4.
HATA
YÖNETİMİ (Exception Handling)
ASMX
Servislerinde beklenmedik hatalar her zaman SOAP hatası olarak istemci
uygulamalara döndürülür. Bir ASMX Servisi ayrıca, istemciye döndürülen SOAP
hatası üzerinde daha fazla kontrol imkânı sağlayan “SoapException” sınıfı da döndürebilir.
Yinwe de
beklenmedik bir hata oluştuğunda WCF’in varsayılan yapılandırması SOAP hata
mesajları içinde önemli bilgi döndürmeyerek hassas verileri korur.
ASMX
Servislerindeki “SoapException” sınıfına
benzer olarak “FaultException<T>”
tipini kullanarak özel hatalar da fırlatılabilir. “<T>” Hata bilgilerini içeren döndürülecek verinin tipidir.
5.
DURUM
YÜNETİMİ (State Management)
6.
MESAJ
YAPISI (Message Structure and Serialization)
ASMX VE WCF (SVC) SERVİSLERİNİN FARKLARI
Hiç yorum yok:
Yorum Gönder