Wcf چیست ! و نحوه کاربرد کجاست ؟

مدل برنامه نویسی آن با عنوان Service Model به گونه ای طراحی شده است که تجربه آشنایی را در اختیار برنامه نویسان با تجربه در ASP.net و Web Service، .Net Remoting و سایر زمینه های مرتبط قرار دهد.Service Model یک ارتباط ساده بین مفاهیم WebService و مفاهیم موجود در .Net Framework CLR برقرار می کند؛ که شامل نگاشتی توسعه پذیر و انعطاف پذیر بین پیغام ها و پیاده سازی سرویس ها در زبانهای مبتنی بر .net است. این تکنولوژی شامل امکانات Serialization ی است که امکان حفظ استقلال سیستم ها و versioning را مهیا ساخته و امکان ارتباط و یکپارچه سازی با تکنولوژی های موجود سیستم های توزیع شده در .net، از قبیل MSMQ,COM+,ASP.NET WEB SERVICES, Web Services Enhancements (WSE) و چند قابلیت دیگر را فراهم می کند.
سیستمی که این تکنولوژی را اختیار کرده باشد قادر خواهد بود پارامتر های امنیتی و یا مرتبط با بازدهی خود را بسته به محل استقرار فیزیکی استفاده کنندگان از وب سرویس تنظیم نماید. این تکنولوژی این امکان را پیش رو قرار می دهد که به عنوان مثال، تقاضاهایی که منجر به ایجاد تراکنش می شوند تنها از داخل سازمان صورت پذیرند و یا کاربران خارج سازمانی یا کاربرانی که از پلتفرم های متفاوت از سرویس ها استفاده می کنند با فرم متفاوتی از اعمال ضوابط امنیتی روبرو شوند. WCF این امکانات را بدون سربار پیچیدگی مدیریت، در اختیار می گذارد.
از مهم ترین مزیت های WCF اجماع مزایای کلیه روشهای پیاده سازی سیستم های توزیع شده در یک غالب واحد و منعطف است. قبل از ارائه WCF، بسته به شرایط موجود بین کلاینت و سرور، معمولاً استفاده از یکی از روش های توسعه توزیع شده مناسب تر بوده و انتخاب می شده است. به عنوان مثال در صورتی که استفاده کننده از سرویس، روی پلتفرم .net پیاده سازی شده باشد و همچنین در داخل سازمان قرار داشته باشد، استفاده از .net Remoting بهترین راه حل موجود بوده است، حال اگر همین سرویس می بایست قابلیت دسترسی از خارج از سازمان یا از سایر پلتفرم ها (مانند J۲EE) را می داشت، استفاده از WebService به عنوان راه حل دیگری مطرح می شد، یا در حالتی دیگر سرویس می بایست به هر دو صورت در اختیار قرار می گرفت که پیچیدگی فراوان و نگهداری پرهزینه ای را در بر داشت.
WCF
با پشتیبانی از تمامی تکنولوژی های موجود، و در عین حال استقلال از تمامی پروتکل های ارتباطی، امکانات زیر را در اختیار توسعه دهندگان سیستم های توزیع شده می گذارد:
·
به دلیل اینکه WCF امکان ارتباط از طریق Webservice را دارا می باشد، ارتباط دوطرفه با سایر پلتفرم ها از قبیل application server های اصلی J۲EE امکانپذیر خواهد بود.
· WCF
می تواند به گونه ای تنظیم یا گسترش داده شود که با سایر وب سرویس ها توسط پیغام هایی که مبتنی بر SOAP نیستند ارتباط برقرار کند، همانند ساختار های ساده XML مثل RSS .
·
برای رسیدن به بهترین سطح بازدهی در مواقعی که هر دو طرف ارتباط(سرویس دهنده و سرویس گیرنده) از WCF استفاده می کنند، encoding ارتباطی در این حالت یک نسخه بهینه سازی شده باینری از XML Information Set است. پیغام ها هنوز از ساختار داده SOAP تبعیت می کنند در حالی که encoding آنها از فرم باینری داده استفاده می کند تا از فرم تگ دار XML ۱,۰. با استفاده از این امکان می توان با پیاده سازی یک سرویس، هم قابلیت ارتباط با سایر پلتفرم ها را داشت و هم در ارتباط با پلتفرم های مشابه (مبتنی بر WCF) ، از بازدهی بسیار نزدیک به .NET Remoting بهره مند شد.
·
مدیریت طول عمر objectها، تعریف تراکنش های توزیع شده و سایر جنبه های Enterprise Services در داخل WCF گنجانده شده اند (قبلاً می بایست از Microsoft Enterprise Services در داخل سرویس دهنده استفاده می شد.)
·
به دلیل پشتیبانی WCF از تعداد کثیری از استاندارد های WS-*، امنیت، قابلیت اطمینان و تراکنش با هر پلتفرم دیگری که از این استاندارد ها تبعیت می کند می تواند وجود داشته باشد.
نتیجه این تجمع قابلیت ها، قدرت بیشتر و کاهش شدید پیچیدگی می باشد.
ارتباط دوطرفه با سایر پلتفرم های Webservice
برنامه ای که برپایه WCF ایجاد شده باشد با تمامی اقلام زیر می تواند ارتباط داشته باشد:

·
نرم افزار های مبتنی بر WCF که در حال اجرا بر روی processهای مجزا بر روی همان سیستم مبتنی بر ویندوز هستند.
·
نرم افزارهای مبتنی بر WCF که بر روی یک سیستم مجزای مبتنی بر ویندوز قرار دارند.
·
نرم افزار هایی که بر روی سایر تکنولوژی ها تشکیل شده اند. مانند J۲EE که از وب سرویس های استاندارد پشتیبانی می کند. این نرم افزارها می توانند بر روی ماشین هایی با سیستم عامل ویندوز، و یا سایر سیستم عامل ها باشند.

 

دیدگاه‌تان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *