وب سرویس چیست و چه تفاوتی با وب سرور دارد؟
در این مقاله به بررسی هرکدام از عنوان های وب سرور و وب سرویس می پردازیم و مقایسه این دو را با یک مثال برای شما به طور کامل بیان می کنیم. همچنین انواع وب سرور ها را معرفی کرده و پرتکل های استاندارد وب سرویس را نیز برای شما بیان می کنیم.
وب سرور
وب سرور معمولاً نوعی برنامه نرم افزاری است که برای رسیدگی به کلیه درخواست های وب شما طراحی شده است. سرور ایجاد می شود تا فقط مطالب استاتیک مانند صفحات HTML، فایل های ویدیویی، تصاویر و موارد دیگر را در قالب درخواست های دریافتی بپذیرد. پس از دریافت درخواست، وب سرور به سایر درخواست های داده های اختیاری به درخواست های مربوط به پروتکل HTTP پاسخ می دهد. وب سرور در خدمت کلیه محتویات شبکه جهانی وب است و آنها را در دسترس کاربران نهایی خود قرار می دهد.
در واقع وب سرور نرم افزاری می باشد که روی یک ماشین فیزیکی یا مجازی اجرا شده و برای پردازش صفحات وب سایت طراحی شده است و خروجی اطلاعات را در قالب صفحات وب بر می گرداند. چند نمونه از وب سرور ها، apache و IIS و nginx و tomcat می باشند.
آپاچی، محبوب ترین، گسترده ترین و پرکاربردترین وب سرور متن باز است که توسط بنیاد نرم افزار Apache ساخته و بطور کامل پشتیبانی می شود.
انواع وب سرور
- پروکسی سرورها
- میل سرورها
- DHCP سرورها
- DNS سرورها
- اپلیکیشن سرورها
- سرورهای ارتباطی زمان واقعی یا Servers of communication in real time
- فایل سرورها
- پرینت سرورها
- سرورهای دیتابیس یا پایگاه دادهها
- و غیره …
مزایا
- مدیریت کامل سرور.
- مقیاس پذیری فوری و بلادرنگ در صورت تقاضا
- انتخابی بودن سخت افزار، ماشین و سیستم عامل
- دارای قیمت های ارزان و رقابتی است
- دسترسی کامل به پهنای باند اختصاص داده شده به سرور
- کنترل کاملی بر روی پردازشهایی که بر روی ماشین اجرا میشوند، دارد.
- ip اختصاصی یا ثابت در اختیار شما قرار میدهد.
وب سرویس
یک web service مجموعه ای از پروتکل ها و استانداردهای باز است که به طور گسترده برای تبادل داده ها بین سیستم ها یا برنامه ها استفاده می شود.
برنامه های نرم افزاری با استفاده از زبان های مختلف برنامه نویسی نوشته شده و بر روی سیستم عامل های مختلف اجرا می شوند. وب سرویس این امکان را به شما می دهد تا از خدمات وب برای تبادل داده از طریق شبکه های کامپیوتری استفاده کنید.
به عبارت دیگر web service یک برنامه کاربردی می باشد و توسط یک وب سرور اجرا می شود و مسئولیت آن بازگرداندن داده های ساخت یافته به برنامه فراخوانی می باشد و یک صفحه وب را باز نمی گردانند و فقط اطلاعات خام را در حالت ساختار هایی همچون json یا xml باز می گرداند. چند نمونه از وب سرویس ها: SOAP,WSDL ,Restful.
انواع پرتکل های استاندارد مورد استفاده در وب سرویس
- (XML (eXtensible Markup Languag : تکنولوژی xml در سال 1996 توسط کنسرسیوم w3c ایجاد و استاندارد شد. فایل های xml حاوی اطلاعات و دیتا در قالب متن و فاقد شکل و ظاهر می باشند و تنها برای انتقال و مبادله داده ها بین web service ها و برنامه ها به کار می روند. اگر xml برای برنامه ای قابل شناسایی باشد، این برنامه بدون آنکه نیاز به برنامه و سیستم عامل خاصی داشته باشد، می تواند به اطلاعات داخل فایل xml دسترسی پیدا کند.
- (SOAP (Simple Object Access Protocol: این مورد یکی دیگر از استاندارد های وب سرویس است که SOAP نام دارد. این پرتکل باعث ایجاد ارتباط بین نرم افزارها (برنامه های کاربردی) و وب سرویس می باشد این ارتباط اغلب از طریق پروتکل امن Https صورت می گیرد. هنگامی که یک برنامه اقدام به ارتباط با یک وب سرویس می کند پیغام های SOAP عامل ایجاد ارتباط و انتقال اطلاعات بین آن دو می باشد، یک پیغام SOAP که حاوی درخواست فراخوانی و اجرای یک تابع است به Web Service ارسال شده و پیغام ارسال شده توسط وب سرویس بررسی می شود و سپس به اجرای درخواست می پردازد و نهایتا نتیجه را در قالب یک پیغام SOAP به برنامه اصلی ارسل می کند.
- (WSDL (Web Service Description Language: یکی از استاندارد های مهم در وب سرویس ها، WSDL می باشد و همچنین هر وب سرویس دارای یک فایل WSDL می باشد. این فایل به توصیف web service می پردازد و نحوه استفاده از وب سرویس را توضیح می دهد و به صورت یک فایل متنی با فرمت Xml است که به برنامه ها می گوید که web service مورد نظر چه ورودی هایی دریافت و چه خروجی هایی را به برنامه برمی گرداند.
- و غیره …
در اینجا برخی از ویژگی های اساسی web service آورده شده است:
- اتصال آزادانه.
- قابلیت های همزمان و غیر همزمان.
- امکان پشتیبانی از تماس های از راه دور.
- تبادل اسناد را پشتیبانی می کند.
تفاوت وب سرویس و وب سرور
در واقع می توان گفت که وب سرور یک نرم افزار بین سرور و صفحات وب می باشد که به کاربر این اجازه را می دهد تا بتواند صفحات، دیتابیس، تنظیمات، امنیت و غیره را در مورد اطلاعات خود مدیریت کند؛ در حالی که وب سرویس یک برنامه کاربردی است که توسط خود وب سرور اجرا می شود و وظیفه اش برقراری ارتباط و ارسال اطلاعات به سایر وب سرویس ها یا برنامه هایی است که درخواست اطلاعات دارند.