# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > WCF , Web Services , .Net Remoting >  کاربرد wcf چیست؟

## sima2010

سلام
میشه توضیح بدید ،wcf چه نوع تکنولوژی می باشد و اصولا موارد استفادش در چه پروژه هایی هست؟

----------


## hjran abdpor

با سلام.
اساتید توضیح مفصل دادن در این مورد مثلا :
شالوده ارتباطی ویندوز (Windows Communication Foundation) یا به اختصار WCF، فریم ورک برنامه نویسی است که برای برقراری ارتباط بین برنامه های مختلف طراحی شده است. WCF یک از چهار رابط برنامه نویسی جدید ارائه شده در فریم ورک .NET 3.0 که در دسامبر 2006 معرفی شد است. از آنجایی فریم ورک .NET یک فریم ورک مستقل از زبان است و WCF یکی از هسته های جدید این فریم ورک است، WCF می تواند به زبان های مختلف مورد استفاده قرار بگیرد.
با به میان آمدن وب سرویس ها، که شامل پروتکل هایی برای تبادل اطلاعات بین دو برنامه کاربردی هستند، تغییرات چشمگیری در سطح پیاده سازی نرم افزار ها ایجاد شد. برای مثال توابعی که وب سرویس ها هم اکنون فراهم می کند از امنیت، هماهنگی بین تراکنش ها و یک تبادل قابل اعتماد برخودار هستند. با این حساب اگر تغییراتی در وب سرویس ها ایجاد شود، این تغییرات به تمام ابزارها و تکنولوژی هایی که برنامه نویسان از آنها استفاده می کنند نیز منتقل می شود. شالوده ارتباطی ویندوز (WCF) برای فراهم کردن یک محیط مدیریت شده برای محاسبات توزیع شده، قابلیت جابجایی وسیع و پشتیبانی مستقیم از سیستم های سرویس گرا طراحی شده است.


WCF، کار برقراری ارتباط بین برنامه های کاربردی مختلف را در یک سیستم شی گرا، به سهولت انجام می دهد. WCF با ارائه ی یک معماری چند لایه، مدل های مختلفی از طراحی سیستم های توزیع شده را ارائه می دهد. به شکل پایه ای، معماری WCF تبادل پیام غیر همزمان و مستقل از نوع داده را فراهم می کند. بالاتر این پایه، پروتکل هایی قرار دارند که امنیت، قابلیت اعتماد، تراکنش های تبادل داده و گستره ی وسیعی از پروتکل های تبادل داده و حتی رمز نگاری قرار دارند. 


مدل برنامه نویس برپایه نوع(typed programming model) (یا همان مدل سرویس) برای طراحی برنامه های توزیع شده طراحی شده اند تا به این طریق طراحان ترکیبی از وب سرویس های ASP.NET، فریم ورک .NET Remoting و سرویس های Enterprise را در اختیار داشته باشند. این مدل سرویسی امکان نگاشت بین بین مفاهیم وب سرویس و کدهای فریم ورک .NET را فراهم می آورد. این مدل به صورت کاملا انعطاف پذیر و قابل توسعه، پیام های سرویس ها را به صورت زبان هایی مثل C#‎ و VB پیاده سازی می کند. در این مدل تدابیری اندیشیده شده است تا داده ها به شکلی منتقل شوند که اتصال و یکپارچگی آنها در حین انتقال از بین نرود. این مدل همچنین با تکنولوژی های فعلی سیستم های توزیع شده تعبیه شده در فریم ورک .NET ، مانند MSMQ، COM+، وب سرویس های ASP.NET، WSE و غیره سازگاری کامل دارد. 

شما فرض کنید یه شرکت دارید که 25 سیستم داره حالا شما یک برنامه نوشتید که باید اون را بین 25 سیستم نصب کنید بهترین کار و ایده استفاده از همین تکنولوزی است .

----------

