Веб-сервіси та WCF
І Web Services, і WCF - це веб-технології, розроблені Microsoft. Веб-сервіси були представлені в більш ранніх версіях .NET, тоді як WCF був доданий до .NET-фреймворку в більш пізніх версіях. Веб-сервіси використовуються для побудови програм, які можуть надсилати / приймати повідомлення за допомогою SOAP через HTTP. WCF призначений для побудови розподілених додатків для обміну повідомленнями за допомогою SOAP через будь-який транспортний протокол.
Веб-сервіси
Веб-сервіс (іноді відомий як технологія ASMX в .NET) - це метод зв'язку по мережі. За даними W3C, веб-сервіс - це система, призначена для підтримки транзакцій машина-машина через мережу. Це веб-API, описаний у WSDL (Мова опису веб-служби), а веб-сервіси, як правило, є автономними та самоописуються. Веб-сервіси можна виявити за допомогою протоколу UDDI (Universal Description, Discovery and Integration). Обмінюючись повідомленнями SOAP (Simple Object Access Protocol), як правило, через HTTP (з XML), інші системи можуть взаємодіяти з веб-службами. Веб-сервіси використовуються різними способами, такими як RPC (віддалені виклики процедур), SOA (архітектура, орієнтована на обслуговування) та REST (передача представницької держави). Існують дві автоматизовані методології проектування для розробки веб-сервісів. Підхід знизу вгору стосується спочатку створення класів, а потім використання інструментів генерації WSDL для складання цих класів як веб-служб. Підхід зверху вниз стосується визначення специфікацій WSDL, а потім використання інструментів генерації коду для створення відповідних класів. Веб-сервіси мають два основних напрямки. Вони можуть використовуватися як багаторазові компоненти додатків та / або для підключення веб-додатків, що працюють на різних платформах.
WCF
WCF (Windows Communication Foundation) - це .NET API (прикладний програмуючий інтерфейс), який забезпечує єдину модель програмування для розробки підключених та сервісно орієнтованих додатків. Більш конкретно, він використовується для розробки та розгортання розподілених програм із SOA. SOA займається розподіленими обчисленнями, в яких споживачі споживають послуги. Кілька споживачів можуть споживати одну послугу і навпаки. WCF підтримує передові стандарти веб-сервісу, такі як WS-адресація, WS-надійне обмін повідомленнями, WS-безпека та синдикація RSS (доступно після .NET 4.0). Клієнт WCF використовує Кінцеву точку для підключення до послуги WCF. Кожна служба може мати декілька кінцевих точок, що піддають її контракту. Термін ABC використовується для позначення Адреса / Прив'язка / Контракт послуги WCF. Комунікація між клієнтами та службами здійснюється через конверти SOAP.
Яка різниця між веб-сервісами та WCF?
Існують деякі ключові відмінності між веб-сервісами та послугами WCF. Веб-сервіси використовуються для створення програм, які можуть надсилати / приймати повідомлення за допомогою SOPA через HTTP. Однак WCF призначений для побудови розподілених додатків для обміну повідомленнями за допомогою SOAP та будь-якого транспортного протоколу, наприклад HTTP, TCP, названих каналів та черги повідомлень Microsoft (MSMQ) тощо. Крім того, WCF можна розширити для роботи з будь-яким іншим транспортним протоколом. Хоча веб-сервіси дуже прості та легкі у застосуванні, WCF в архітектурі є більш надійним, ніж веб-сервіс. Веб-сервіси можуть розміщуватися лише в IIS, а безпека обмежена. Але WCF може розміщуватися в IIS, серверах з самостійним хостом з консольними програмами або службами Win NT або будь-яким іншим сервером. Крім того, на відміну від веб-сервісів, WCF підтримує бінарні .NET - .NET-комунікації, розподілені транзакції, специфікації WS- *, повідомлення в черзі та спокійні комунікації.