وب سرویس
درخواست اطلاعات یک کاربر از وب سرور
در حالتی که کاربر یک صفحه وب را از طریق مرورگر درخواست می کند، درخواست کاربر از پروتکل طریقHTTP که یک پروتکل انتقال است در قالب یک URL به وب سرور(مانند IIS) ارسال می گردد. سرور از طریق پروتکل HTTPدر قالب HTML پاسخ درخواست کاربر را ارسال می کند، که توسط مرورگر تفسیر شده و نمایش داده می شود.
درخواست اطلاعات یک اپلیکیشن از اپلیکیشن دیگر
حالا اگر درخواست اپلیکیشن در قالب یک URL توسط پروتکل HTTP به سرور ارسال گردد(HTTP+=SOAP)، سرور پاسخ را در قالب XML و یا JSON بر می گرداند.
طراحی مبتنی بر مولفه(component)؟
در این مدل طراحی کدهای پر استفاده در قالب compnent طراحی شده(متنند تقویم شمسی و یا محاسبه مالیات) و در Repository قرار داده می شود تا در پروژه های دیگر از آن استفاده کرد.
معماری سرویس گرا
معماری (SOA(Service-Oriented architecture الگویی برای طراحی ایجاد می کند که شامل تعدادی اصول مشخص است.
مدل معماری SOA می گوید هر مولفه از سیستم باید یک سرویس باشد و سیستم از چندین سرویس با اتصال سست(Lose Couple) تشکیل شده باشد. سرویس ها به هم اتصال دارند ولی به گونه ی نیست که مجبور بشیم از همه سرویس ها استفاده کنیم.همه این سرویس ها یک اینترفیس دارند که از طریق آن لست که ارتباط برقرار می کند. ارتباط از طریق ارسال پیام است.
برای تحقق SOA از وب سرویس استفاده می شود. وب سرویس مانند IIS توسط وب سرور میزبانی می شود. یک وب سرویس ( WEB SERVICE ) برنامه کاربردی تحت وب است.
معماری مبتنی بر سرویس:
انواع وب سرویس
1- WCF Service: SOAP
2- WCF Data Service: REST
سرویس ها از طریق URL و درخواست های معمولی HTTP در دسترس قرار می گیرند.
برای استفاده از وب سرویس ها دو راه پیش رو دارید
1- استفاده از WCF و 2- استفاده از Web API
(WCF(Windows Communication Foundation
ابزار توسعهی نرمافزار برای توسعه و استقرار سرویسها بر روی ویندوز است.
چالش خیلی بزرگ در اپلیکیشن های تحت ویندوز سازمانی، امنیت می باشد.
می توان از وب سرویس ها استفاده کنیم یعنی توابعی که در اپلیکیشن هست را در وب سرویس تعریف کنیم و یک لایه امنیتی اضافه کنیم چون هر درخواست که میاد سمت پایگاه داده بره از وب سرویس گذر می کرد و فقط سرور وب سرویس است که به سرور پایگاه ها دسترسی داشت(نقطه ضعف:خود وب سرویس امنیت آنچنانی ندارد).
یک فایل SVC شامل قطعه کوچکی از کد است که یک سرویس پایه ارتباطات ویندوز (WCF) را تعریف می کند. در هنگام مراجعه ، فایل سرویس را در پاسخ به داده های دریافتی ، خاص می کند. این سرویس با استفاده از وب سرویس مایکروسافت (IIS) اجرا می شود.