برنامه نویسی WCF: برنامه های کاربردی ویندوز مبتنی بر سرویس ایجاد کنید

افشای: پشتیبانی شما به حفظ سایت کمک می کند! ما برای برخی از خدماتی که در این صفحه توصیه می کنیم هزینه ارجاع دریافت می کنیم.


بنیاد ارتباطات ویندوز (WCF) یک محیط زمان اجرا و مجموعه ای از API ها در چهارچوب .NET است که در ایجاد برنامه های کاربردی متصل به سرویس مورد استفاده قرار می گیرد. WCF مدل برنامه نویسی یکپارچه مایکروسافت برای ساخت برنامه های کاربردی سرویس گرا است.

تاریخچه مختصر

افزایش محبوبیت ارتباطات و برنامه های سرویس گرا در طول دهه گذشته ، تأثیر عمیقی بر توسعه نرم افزار داشته است. برنامه های کاربردی متکی به خدمات مختلف برای تعامل تبدیل به یک نرمال شده اند. در بستر توسعه ویندوز مایکروسافت ، این تغییرات توسط بستر ارتباطی ویندوز (WCF) امکان پذیر شد.

WCF برای اولین بار به عنوان بخشی از .NET Framework 3.0 در سال 2006 معرفی شد ، و در نسخه های NET Framework 3.5 و 4.0 به روز شد. آخرین نسخه WCF به عنوان بخشی از .NET Framework نسخه 4.5 در دسترس است.

بنیاد ارتباطات ویندوز در بسیاری از نرم افزارها بر اساس چارچوب .NET استفاده می شود.

ویژگی های WCF

WCF ابزاری است برای توسعه دهندگان که می توانند برنامه های سرویس گرا را ایجاد کنند و با تکیه بر خدمات وب جهت ارسال و دریافت داده ها استفاده شوند. سرویس های وب به جای اینکه کدگذاری شده مخصوص هر برنامه باشد ، از مزیت کلی بودن جفت شدن کاملاً مزیت برخوردار هستند. به عبارت دیگر ، هر برنامه ایجاد شده بر روی هر سیستم عامل می تواند به هر سرویس متصل شود.

WCF استانداردهای مدرن صنعت را برای قابلیت همکاری سرویس های وب مانند HTTP ، SOAP ، XML ، آدرس دهی WS ، آدرس دهی به خدمات وب W3C و موارد دیگر پیاده سازی می کند. پیام ها (یا باید بگوییم داده) می توانند در چندین الگوی مختلف رد و بدل شوند.

متداول ترین الگوی ارتباطی پاسخگویی درخواست است ، اما WCF از الگوهای دیگر مانند پیام های یک طرفه یا الگوی تبادل مضاعف نیز پشتیبانی می کند. پیام ها برای محافظت از داده ها رمزگذاری می شوند و احراز هویت کاربر نیز قابل اجرا است. امنیت با استفاده از راه حل های استاندارد صنعت مانند SSL یا WS-SecureConversation پیاده سازی می شود. پیام ها را می توان با استفاده از پروتکل ها و رمزگذاری های مختلف ، معمولاً به عنوان پیام های SOAP رمزگذاری شده از طریق HTTP ، انتقال داد. WCF همچنین از ارسال پیام از طریق TCP ، MSMQ یا لوله های نامگذاری شده ، رمزگذاری شده به عنوان متن یا با استفاده از یک باینری بهینه شده با استفاده از استاندارد MTOM پشتیبانی می کند. پروتکل ها و رمزگذاری های حمل و نقل سفارشی نیز می توانند ایجاد شوند.

WCF از تبادل پیام معتبر با استفاده از جلسات اجرا شده بر روی WS-ReliableMessaging و پیام های صف بندی شده با استفاده از MSMQ پشتیبانی می کند. پشتیبانی از پیام رسانی با دوام نیز در WCF ساخته شده است و از هدر رفتن داده های ناشی از مشکلات ارتباطی جلوگیری می کند.

پشتیبانی گسترده از معاملات در WCF با استفاده از یکی از سه مدل معامله وجود دارد: WS-AtomicTransactions ، API های از نام نام System.Transaction ، یا هماهنگ کننده معاملات توزیع مایکروسافت.

WCF یک بستر بسیار انعطاف پذیر است که امکان توسعه و ادغام آسان با سایر فناوری های مایکروسافت را فراهم می کند ، به عنوان مثال بنیاد گردش کار ویندوز (WF) ، Microsoft BizTalk و Silverlight.

با استفاده از WCF

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

ایجاد سرویس WCF و مشتری در Visual Studio IDE به شش مرحله نیاز دارد:

  1. تعریف قرارداد خدمات WCF عملیات پشتیبانی شده توسط یک سرویس را مشخص می کند. قراردادها با تعریف یک رابط C ++ ، C # یا Visual Basic ایجاد می شوند و هر روش در رابط باید با یک سرویس خاص سرویس مطابقت داشته باشد. هر رابط باید دارای ServiceContractAttribute باشد که بر روی آن اعمال شده است و هر عملیاتی باید دارای OperationContractAttribute باشد ، در غیر این صورت در معرض دید قرار نمی گیرند..
  2. اجرای قرارداد خدمات با ایجاد کلاس انجام می شود که رابط کاربری تعریف شده برای سرویس را پیاده سازی کند.
  3. میزبانی و اجرای سرویس WCF شامل موارد زیر است: ایجاد نمونه URI برای آدرس اصلی سرویس ، میزبانی سرویس ، اضافه کردن نقطه پایانی که خدمات را در معرض دید شما قرار دهد ، امکان تبادل ابرداده و باز کردن میزبان سرویس.
  4. ایجاد یک مشتری شامل ایجاد یک پروکسی به سرویس و یک فایل پیکربندی با استفاده از ابزار خدمات ابزار متادیتا خدمات مدل خط سرویس.
  5. پیکربندی مشتری شامل مشخص کردن نقطه پایانی است که مشتری برای دسترسی به سرویس از آن استفاده می کند. یک نقطه پایانی دارای یک آدرس ، الزام آور و یک قرارداد است و هر یک از این موارد باید در فرآیند پیکربندی مشتری مشخص شود.
  6. استفاده از مشتری در واقع سرویس را از پروکسی تولید شده فراخوانی می کند و پس از اتمام تماس با مشتری ، مشتری را می بندد.

با استفاده از الگوی کتابخانه سرویس WCF یا الگوی برنامه کاربرد سرویس WCF در ویژوال استودیو می توانید مراحل ذکر شده در بالا را بطور چشمگیری ساده کنید ، زیرا بیشتر کارهای توصیف شده به صورت خودکار انجام می شود..

باید یاد بگیرم و از WCF استفاده کنم?

در بیشتر موارد ، وظیفه خاصی در دست است: چگونه می توان آن را برطرف کرد ، و کارآمدترین و اثبات کننده آینده چیست؟ شاید یک مثال ساده بهترین پاسخ برای این سوال باشد.

شما در حال ایجاد یک مجموعه نرم افزار فروش برای مشتری با بسیاری از مکان های فروش پراکنده هستید و باید به بانک اطلاعات اصلی SQL فعلی مشتری متصل شوید. دو راه حل احتمالی وجود دارد. اولین راه اندازی WAN و اتصال همه مکان های فروش مشتری با استفاده از روتر یا اتصالات VPN به پایگاه داده اصلی.

راه حل دوم این است که به سادگی پیاده سازی یک راه حل سرویس دهنده سرویس دهنده WCF و دسترسی به پایگاه داده از طریق اینترنت. در بسیاری از سناریوها ، استفاده از WCF می تواند بسیار مفید و اقتصادی باشد.

منابع WCF

اگر در حال توسعه برنامه های مشتری-سرور برای سیستم عامل Microsoft هستید ، باید به منابع زیر در WCF نگاهی بیندازید:

  • صفحه اصلی بنیاد ارتباطات ویندوز Microsoft Developer Network (MSDN) نمای کلی از WCF را ارائه می دهد – از جمله اسناد ، منابع مرجع ، راهنماها و آموزشها.
  • WCF در شبکه ویژوال استودیو Microsoft Developer Network (MSDN) در بخش ویژوال استودیو ابزارهای WCF موجود در ویژوال استودیو را توصیف می کند و چگونگی کار را برای شما فراهم می کند..
  • Microsoft Developer Network (MSDN) WCF Scenearios Deployment Application یک مقاله خوب است که سناریوهای مختلف استفاده WCF و موارد استفاده را نشان می دهد..

کتابهای WCF

ما یک زن و شوهر از کتابهای بسیار مورد احترام درباره WCF را انتخاب کردیم:

  • برنامه نویسی خدمات WCF: طراحی و ساخت سیستم های سرویس گرا قابل حفظ (2015) توسط Juval Lowy و Michael Montgomery: این کتاب بینش بی نظیری را به جای اسناد ارائه می دهد تا به شما در یادگیری مباحث و مهارت های مورد نیاز برای ساخت و سازهای قابل نگهدار ، قابل توسعه و قابل استفاده مجدد بپردازد. برنامه های مبتنی بر WCF.
  • توسعه خدمات چند لایه WCF با Entity Framework (2014) توسط مایک لیو: اگر شما یک برنامه نویس C # ، VB.NET یا C ++ هستید و می خواهید با WCF و Entity Framework شروع به کار کنید ، پس این کتاب برای شما مناسب است. این کتاب به شما تمامی موارد ضروری را برای توسعه خدمات WCF با استفاده از Entity Framework به عنوان پس زمینه آموزش می دهد.

نتیجه

از آنجا که WCF محصولی از مایکروسافت است ، با تکیه بر چهارچوب .NET برای ایجاد راه حل های نرم افزاری سرویس گرا ، قدرت پایداری دارد. این چیز جدیدی نیست ، اما هنوز هم مرتبط است و احتمالاً سالهای آینده خواهد بود.

ما قبلاً چند مورد را بیان کردیم که WCF می تواند از نظر فنی تفاوت بزرگی ایجاد کند. اگرچه این یک فناوری مایکروسافت است ، WCF تا زمانی که جاوا را اجرا کند از قابلیت همکاری با اکثر سیستمهای غیر Windows پشتیبانی می کند.

مطالعه بیشتر و منابع

ما راهنماهای ، آموزش ها و اینفوگرافیک های بیشتری در رابطه با کد نویسی و توسعه داریم:

  • Microsoft Visual Basic / Visual Studio: این آغازگر اصلی ما در ویژوال استودیو با تمرکز بر ویژوال بیسیک است.
  • مقدمه ای برای ADO.NET: سیستم اصلی دات نت برای تعامل با بانکهای اطلاعاتی.
  • منابع C #: به عنوان یکی از محبوب ترین زبانهای پایه NET ، شناختن C # بسیار مفید است.

چه کدی را باید بیاموزید?

گیج شده در مورد چه زبان برنامه نویسی که باید رمزگذاری کنید؟ اینفوگرافیک ما را ببینید ، چه کدی را باید یاد بگیرید؟ این نه تنها در مورد جنبه های مختلف زبان بحث می کند ، بلکه به سؤالات مهمی از جمله ، “چقدر می توانم برنامه نویسی جاوا را برای امرار معاش بسازم؟”

چه کد باید یاد بگیرید؟
چه کدی را باید بیاموزید?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map