WCF چسیت ؟ Windows Communication Foundation

چهارشنبه 28 اسفند 1392

WCF یا Windows Communication Foundation چیست؟ <br/> Windows Communication Foundation یا (WCF)، یک قالب کاری بر ای ساختن برنامه های سرویس گرا است.

WCF چسیت ؟ Windows Communication Foundation

 در صورت تمایل میتوانید به صورت رایگان آموزش WCF به همراه پروژه عملی را در سایت تاپ لرن مشاهده کنید .

WCF یا Windows Communication Foundation چیست؟ Windows Communication Foundation یا (WCF)، یک قالب کاری بر ای ساختن برنامه های سرویس گرا است

با استفاده از WCF می توانید داده ها را به صورت پیام هایی از یک درگاه سرویس به درگاهی دیگر ارسال کند
یک درگاه سرویس (service endpoint) می تواند بخشی از سرویس همیشه در دسترسی باشد که توسط IIS، میزبانی می شود، یا می تواند سرویسی باشد که توسط یک برنامه میزبانی می شود
یک درگاه می تواند client یک سرویس باشد که داده ها را از درگاه سرویس request می کند
پیام ها می توانند به سادگی یک کاراکتر واحد یا یک کلمه باشند که به صورت XML ارسال شده است
یا به پیچیدگی یک رشته از داده های binary
چند سناریوی نمونه شامل موارد زیر می شود: یک سرویس امن برای مبادلات تجاری سرویسی که داده های کنونی را برای دیگران مهیا می کند، از قبیل گزارش ترافیک یا دیگر سرویس های مانیتورینگ
یک سرویس چت که به دو نفر اجازه می دهد با هم در ارتباط باشند یا داده ها را به هم رد و بدل کنند
یک برنامه dashboard که داده های یک یا چندین برنامه را جمع آوری می کند و در یک presentation منطقی نمایش می دهد
Expose کردن یک workflow پیاده سازی شده با استفاده از Windows Workflow Foundation به صورت یک سرویس WCF
یک برنامه Silverlight برای جمع آوری آخرین فیدهای داده ها
در حالی که ایجاد چنین برنامه هایی قبل از وجود WCF ممکن بود، WCF توسعه درگاه ها را از قبل آسانتر می کند
به طور خلاصه، WCF جهت ارائه روشی قابل مدیریت برای ایجاد سرویس های وب و clientهای سرویس وب، طراحی شده است
ویژگی های WCF WCF شامل مجموعه ویژگی های زیر است
گرایش به سرویس یکی از نتایج استفاده از استانداردهای WS این است که WCF شما را قادر به ایجاد برنامه های سرویس گرا می کند
معماری های سرویس گرا (SOA) ،به معنای وابستگی به وب سرویس ها جهت ارسال و دریافت داده ها است
این سرویس ها مزیت loosely-coupled بودن بجای hard-coded بودن از برنامه ای به برنامه دیگر هستند
یک رابطه loosely-coupled بدین معناست که هر client ایجاد شده در هر plaftorm می تواند تا وقتی که contractهای لازم برآورده می شوند، به هر سرویسی وصل شود
Interoperability WCF، استانداردهای صنعتی مدرن را برای interoperability سرویس های وب پیاده می کند
الگوهای پیام چندگانه پیام ها با استفاده یکی از چندین الگو مبادله می شوند
یکی از رایج ترین الگوها، الگوی request/reply است، که یک درگاه داده ها را از یک درگاه دیگر request می کند، و آن درگاه پاسخ می دهد
الگوهای دیگری نیز وجود دارند، مانند یک پیام یک طرفه (one-way) که در آن یک درگاه واحد پیامی را بدون درخواست پاسخ ارسال می کند
الگویی پیچیده تر، الگوی تبادل دوگانه است که دو درگاه یک connection یرقرار می کنند و داده ها را ردوبدل می کنند، مانند یک برنامه پیام نگاری سریع
Service Metadata WCF، با استفاده از فرمت های معین شده در استانداردهای صنعتی از قبیل WSDL، XML Schema و WS-Policy، انتشار service metadata را ساپورت می کند
می توان از این metadata، بر ای پیکربندی و generate کردن اتوماتیک client بمنظور دسترسی به سرویس های metadata استفاده کرد
می توان metadata را با استفاده از استاندارد Web Service Metadata Exchange در HTTP یا HTTPS منتشر کرد
Data Contracts از آنجاییکه WCF با استفاده از
NET Framework ساخته شده است، متدهای code-friendly برای تامین contractهایی که می خواهید اجرا کنید را نیز در بر می گیرد
یکی از انواع جهانی contractها، data contract است
در واقع، هنگامی که سرویس تان را با استفاده از Visual C# یا Visual Basic کد نویسی می کنید، اسانترین راه یرای مدیریت داده ها، ایجاد کلاس هایی است که موجودیت داده ها را با propertyهایی که به موجودیت داده ها تعلق دارند، نمایش می دهند
WCF شامل یک سیستم جامع برای کارکردن با داده ها به روشی آسانتر است
بعد از اینکه کلاس هایی را که داده ها را نمایش می دهند، وارد کردید، سرویس شما به طور اتوماتیک metadata را generate می کند
امنیت می توان پیام ها را برای محافظت از حریم خصوصی رمزگذاری کرد و می توان کاربران را ملزم کرد قبل از مجاز شدن به دریافت پیا ها، خودشان را authenticate کنند
امنیت را می توان با استفاده از استانداردهای شناخته شده از قبیل SSL یا WS-SecureConversation پیاده سازی کرد
Transportها و Encodingهای چندگانه پیام ها را می توان با هریک از چندین پروتکل و رمزگذاری transport داخلی ارسال کرد
رایج ترین پروتکل و رمزگذاری، ارسال پیام های SOAP متنی رمزگذاری شده با استفاده از HTTP برای استفاده در WWW است
متناوباً، WCF به شما اجازه ارسال پیام ها در TCP، یا MSMQ را می دهد
این پیام ها را می توان به صورت متن یا با استفاده از یک فرمت binary بهینه شده، رمزگذاری کرد
داده ها binary را می توان با استفاده از استاندارد MTOM به طور موثری ارسال کرد
اگر هیچ یک از transportها یا encodingهای موجود، نیاز شما را برآورده نکنند، می توانید transport یا encodingهای دلخواه خودتان را ایجاد کنید
پیام های قابل اعتماد و به صف شده (queued) WCF با استفاده از sessionهای پیاده شده روی WS-Reliable Messaging، پیام های قابل اعتماد را ساپورت می کند
پیام های مدت دار (Durable) پیام مدت دار، پیامی است که در صورت وقوع اختلال در ارتباط، هرگز از دست نمی رود
پیام ها در الگوی پیام مدت دار، همیشه در database ذخیره می شوند
اگر اختلالی روی دهد، database به شما اجازه می دهد هنگامی که connection به حالت اول بازمی گردد، به تبادل پیام ادامه دهید
همچنین می توانید با استفاده ازWorkflow Foundation ، یک پیام مدت دار ایجاد کنید
تراکنش ها WCF، تراکنش ها را هم با استفاده از یکی از این سه مدل تراکنش ساپورت می کند: AtomicTtransactions، APIها در فضای نامی System
Transactions، و Microsoft Distributed Transaction Coordinator
Ajax و ساپورت Rest REST، نمونه ای از تکنولوژی وب 2 در حال تکامل است
می توان WCF را برای پردازش داده های XML ساده پیکربندی کرد
همچنین می توان WCF را برای ساپورت از فرمتهای خاص XML از قبیل ATOM، که یک استاندارد محبوب RSS است، و حتی فرمت های غیر XML از قبیل JavaScript Object Notation، گسترش داد
توسعه پذیری (Extensibility) معماری WCF دارای چندین نکته توسعه پذیری است
اگر نیاز به قابلیت اضافی باشد، نکاتی وجود دارند که به شما اجازه سفارشی کردن رفتار یک سرویس را می دهند
ادغام WCF با دیگر تکنولوژی های مایکروسافت WCF یک platform قابل انعطاف است
به علت وجود این انعطاف پذیری، WCF در چندین محصول دیگر مایکروسافت نیز قابل استفاده است
اولین تکنولوژی که با WCF شریک شد، Windows Workflow Foundation یا (WF) بود
Workflow، توسعه برنامه را از طریق کپسوله کردن مراحل در workflow به صورت "activities"، ساده می کند
در نسخه اول Windows Workflow Foundation، برنامه نویس مجبور بود یک هاست برای workflow ایجاد کند
نسخه بعدی Windows Workflow Foundation با WCF ادغام شد
این کار به هر workflow اجازه می داد براحتی در سرویس WCF ذخیره شود؛ می توان این کار را با انتخاب اتوماتیک WF/WCF بعنوان یک project type در Visual Studio 2010 انجام داد
همچنین Microsoft BizTalk Server R2 از WCF به عنوان یک تکنولوژی برای برقراری ارتباط استفاده می کند
BizTalk جهت دریافت و انتقال داده ها از یک فرمت استاندارد به فرمتی دیگر طراحی شده است
پیام ها باید به box مرکزی پیام ها یعنی جاییکه می توان با استفاد ه از یک مپینگ دقیق یا یکی از ویژگی های BizTalk، از قبیل موتور workflow، پیام ها را منتقل کرد
BizTalk الان از آداپتور WCF Line of Business یا (LOB) جهت تحویل پیام ها به box پیام استفاده می کند
Microsoft Silverlight، یک platform برای ایجاد برنامه های وب پیشرفته و interoperable است که به برنامه نویسان اجازه می دهد وب سایتهای حساس به رسانه (media-intensive) ایجاد کنند
نسخه دوم Silverlight، WCF را به عنوان یک تکنولوژی برقراری ارتباط جهت متصل کردن برنامه های Silverlight به درگاه های WCF، ترکیب کرده است
Microsoft
NET Services، یک برنامه محاسبه گر است که از WCF برای ساختن برنامه های تحت وب استفاده می کند
می توان از NET Services برای ایجاد سرویس های WCF استفاده کرد
ویژگی های میزبانی سرور برنامه Windows Server AppFabric بطور ویژه ای برای نصب و مدیریت برنامه هایی که از WCF جهت برقراری ارتباط استفاده می کند، ساخته شده است
این ویژگی ها شامل ابزارهایی پیشرفته و پیکربندی آپشن هایی است که بطور ویژه برای برنامه های تحت WCF طراحی شده اند

ایمان مدائنی

نویسنده 1299 مقاله در برنامه نویسان
  • WCF
  • 5k بازدید
  • 9 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید