خدمات وب در مقابل WCF
هر دو خدمات وب و WCF فناوری های وب هستند که توسط مایکروسافت توسعه یافته اند. وب سرویس ها در نسخه های قبلی دات نت معرفی شدند، در حالی که WCF در نسخه های بعدی به فریمورک دات نت اضافه شد. وب سرویس ها برای ساخت برنامه هایی استفاده می شوند که می توانند پیام ها را با استفاده از SOAP از طریق HTTP ارسال/دریافت کنند. WCF برای ساخت برنامه های کاربردی توزیع شده برای تبادل پیام با استفاده از SOAP بر روی هر پروتکل انتقال است.
خدمات وب
یک وب سرویس (گاهی اوقات به عنوان فناوری ASMX در دات نت شناخته می شود) روشی برای ارتباط از طریق شبکه است. طبق W3C، وب سرویس سیستمی است که برای پشتیبانی از تراکنشهای ماشین به ماشین در یک شبکه اختصاص داده شده است.این یک وب API است که در WSDL (زبان توصیف وب سرویس) توضیح داده شده است و خدمات وب معمولاً مستقل و خود توصیف هستند. خدمات وب را می توان با استفاده از پروتکل UDDI (شرح جهانی، کشف و ادغام) کشف کرد. با تبادل پیامهای SOAP (پروتکل دسترسی به شیء ساده) معمولاً از طریق HTTP (با XML)، سایر سیستمها میتوانند با سرویسهای وب تعامل داشته باشند. سرویسهای وب به روشهای مختلفی مانند RPC (تماسهای رویه از راه دور)، SOA (معماری سرویسگرا) و REST (انتقال وضعیت نمایندگی) استفاده میشوند. دو روش طراحی خودکار برای توسعه خدمات وب وجود دارد. رویکرد پایین به بالا ابتدا با ایجاد کلاس ها و سپس استفاده از ابزارهای تولید WSDL برای ترکیب این کلاس ها به عنوان خدمات وب سروکار دارد. رویکرد بالا به پایین با تعریف مشخصات WSDL و سپس استفاده از ابزارهای تولید کد برای تولید کلاس های مربوطه سروکار دارد. وب سرویس ها دو کاربرد عمده دارند. آنها می توانند به عنوان اجزای برنامه قابل استفاده مجدد و/یا برای اتصال برنامه های کاربردی وب در حال اجرا بر روی پلت فرم های مختلف استفاده شوند.
WCF
WCF (بنیاد ارتباطات ویندوز) یک API دات نت (رابط برنامه نویسی برنامه) است که یک مدل برنامه نویسی یکپارچه برای توسعه برنامه های کاربردی متصل و سرویس گرا ارائه می دهد. به طور خاص، برای توسعه و استقرار برنامه های کاربردی توزیع شده با SOA استفاده می شود. SOA با محاسبات توزیع شده سروکار دارد که در آن مصرف کنندگان خدمات را مصرف می کنند. چندین مصرف کننده می توانند یک سرویس را مصرف کنند و بالعکس. WCF از استانداردهای خدمات وب پیشرفته مانند WS-Addressing، WS-ReliableMessaging، WS-Security و RSS (در دسترس پس از. NET 4.0) پشتیبانی می کند. یک سرویس گیرنده WCF از یک نقطه پایان برای اتصال به یک سرویس WCF استفاده می کند. هر سرویس ممکن است چندین نقطه پایانی داشته باشد که قرارداد آن را افشا می کند. اصطلاح ABC برای اشاره به آدرس / اتصال / قرارداد خدمات WCF استفاده می شود. ارتباط بین مشتریان و خدمات از طریق پاکت های SOAP انجام می شود.
تفاوت بین خدمات وب و WCF چیست؟
تفاوت های کلیدی بین سرویس های وب و سرویس های WCF وجود دارد.وب سرویس ها برای ساخت برنامه هایی استفاده می شوند که می توانند پیام ها را با استفاده از SOPA از طریق HTTP ارسال یا دریافت کنند. با این حال، WCF برای ساخت برنامه های کاربردی توزیع شده برای تبادل پیام با استفاده از SOAP و هر پروتکل انتقال مانند HTTP، TCP، لوله های نامگذاری شده، و صف پیام مایکروسافت (MSMQ) و غیره است. علاوه بر این، WCF را می توان برای کار با هر پروتکل انتقال دیگری گسترش داد. اگرچه خدمات وب بسیار ساده و آسان برای پیاده سازی هستند، WCF از نظر معماری قوی تر از وب سرویس است. سرویس های وب فقط می توانند در IIS میزبانی شوند و امنیت محدود است. اما WCF را می توان در IIS، سرورهای خود میزبان با برنامه های کنسول یا سرویس های Win NT یا هر سرور دیگری میزبانی کرد. علاوه بر این، برخلاف سرویسهای وب، WCF از ارتباطات باینری. NET –. NET، تراکنشهای توزیعشده، مشخصات WS-، پیامرسانی در صف و ارتباطات آرامشبخش پشتیبانی میکند.