WCF در مقابل وب سرویس
خدمات وب و Windows Communication Foundations (WCF) دو روشی هستند که برنامه ها از طریق یک شبکه ارتباط برقرار می کنند.
بیشتر درباره خدمات وب
سرویسهای وب اجزایی از برنامهها هستند که میتوان با استفاده از پروتکلهای باز مانند SOAP (پروتکل دسترسی به اشیاء ساده)، که یک زبان مبتنی بر XML است که توسط W3C توسعه یافته است، برای رمزگذاری و انتقال دادهها به آنها دسترسی پیدا کرد. SOAP از XML برای توصیف داده ها و HTTP برای انتقال داده استفاده می کند. مزایای اصلی ارائه شده توسط این پروتکل های باز، قابلیت همکاری سرویس ها با وجود تفاوت در پلت فرم ها و زبان های برنامه نویسی مورد استفاده است.سرویسهای وب از (WSDL) Web Services Descriptions Language) برای توصیف سرویسها و UDDI (شرح جهانی، کشف و یکپارچهسازی) برای فهرست کردن خدمات موجود استفاده میکنند. سرویسهای وب برای کار کردن نیازی به مرورگر وب یا HTML ندارند و ممکن است دارای رابط کاربری گرافیکی تعریف شده توسط برنامه باشند یا نباشند. خدمات وب را می توان با ASP. NET پیاده سازی کرد.
بیشتر درباره Windows Communication Foundation (WCF)
Windows Communication Foundation برای جایگزینی پلتفرم های خدمات وب قبلی معرفی شد و از معماری سرویس گرا در ساخت برنامه ها استفاده می کند. قابلیت همکاری و الگوهای پیام چندگانه، ابرداده خدمات، قراردادهای داده و رمزگذاری های حمل و نقل متعدد از ویژگی های WCF هستند. پیامهای بادوام، AJAX و REST، و ویژگیهای تراکنشهای امن، تطبیقپذیری بیشتری را نسبت به سرویسهای وب قبلی به پلتفرم اضافه میکنند.
تفاوت بین خدمات وب و WCF چیست؟
• خدمات وب را می توان در IIS (سرویس اطلاعات اینترنتی) یا خارج از IIS میزبانی کرد، در حالی که WCF را می توان در IIS، WAS (سرویس فعال سازی ویندوز) میزبانی کرد.سرویسهای WCF معمولاً میتوانند در IIS 5.1 یا 6.0 میزبانی شوند، سرویس فعالسازی فرآیند ویندوز (WAS) که به عنوان بخشی از IIS نسخه 7.0 ارائه میشود، و در هر برنامه NET. برای میزبانی وب سرویس در IIS نسخه 5.1 یا 6.0، ضروری است که سرویس های وب از HTTP به عنوان پروتکل انتقال ارتباطات استفاده کنند.
• در پلت فرم خدمات وب، ویژگی وب سرویس به بالای کلاس اضافه می شود، در حالی که در WCF، ویژگی قرارداد خدمات وجود خواهد داشت. به طور مشابه، ویژگی Web Method در بالای روش وب سرویس اضافه می شود، در حالی که، در WCF، Service Operation Contract در روش بالا اضافه می شود.
• سرویس های وب از رمزگذاری های XML 1.0، MTOM (مکانیسم بهینه سازی انتقال پیام) و DIME استفاده می کنند در حالی که WCF از کدگذاری های XML 1.0، MTOM و باینری استفاده می کند. هر دو پلتفرم از روشهای رمزگذاری سفارشی پشتیبانی میکنند.
• پلت فرم وب سرویس از سریال سازی XML پشتیبانی می کند در حالی که در WCF، پلت فرم سرویس از سریال سازی زمان اجرا پشتیبانی می کند.
• خدمات WCF را می توان از طریق کلاس رفتار سرویس چند رشته ای کرد، در حالی که سرویس های وب نمی توانند چند رشته ای باشند.
• خدمات WCF از انواع مختلف اتصالات مانند BasicHttpBinding، WSHttpBinding، WSDualHttpBinding پشتیبانی می کند در حالی که سرویس های وب فقط از SOAP یا XML برای این منظور استفاده می کنند.
• سرویس های وب در یک مجموعه کتابخانه کلاس کامپایل می شوند. فایلی به نام «فایل سرویس» ارائه شده است که پسوند.asmx دارد و حاوی دستور WebService@ است که کلاسی را که حاوی کد سرویس و مجموعهای که در آن در WCF قرار دارد، شناسایی میکند.