وب‌سرویس

Web services architecture
وب سرویس توسط W3C تالیف شده به عنوان مثال: یک نظام نرم‌افزاری که برای پشتیبانی قابلیت فعالیت دستگاه به دستگاه بر روی شبکه طراحی شده. در غالب اوقات وب سرویس‌ها تنها رابط برنامه کاربردی وب است که می‌توانند بر روی یک شبکه مثلا اینترنت قابل دسترسی باشند و بر روی میزبان نظام از راه دور سرویس درخواستی اجر شده باشند.
تعاریف سرویس‌های وب W3C بسیاری از نظام‌های مختلف را در بر می‌گیرند. به غیر از شکل کاربرد مشترک که به سرویس گیرنده‌ها و سرویس دهنده‌ها تعلق دارد که با استفاده از پیام‌های XML که استانداردهای پروتکل دسترسی آسان به اشیاء را رعایت می‌کنند ارتباط برقرار می‌کنند. مشترکا در هر دو، فیلد و اصطلاحات فنی فرضی هستند که همچنین توضیحات عملکرد قابل خواندن توسط دستگاه وجود دارد که در زبان توضیحات سرویس وب (WSDL) نوشته شده‌اند، توسط سرویس دهنده پشتیبانی می‌شود. در دومی احتیاجی به نقطه پایانی SOAP نیست. اما این برای ایجاد خودکار کدهای سمت سرویس گیرنده، در حالت عادی جاوا و Net.، در چارچوب کاری SOAP لازم است. بعضی از سازمان‌های صنعتی مانند WS-I در تعریف سرویس‌های وب به هر دوی SOAP و WSDL، پایبندند.
مشخصات
مشخصات هسته
مشخصاتی که وب سرویس را تعریف می‌کنند قطعا پیمانه‌ای هستند، (مانند یک حکم، سندی که همه آنها را شامل شود وجود ندارد). افزون بر آن یکی یا مجموعه‌ای پایدار از مشخصات وجود ندارد. تعدادی مشخصات هسته‌ای که مکمل یکدیگرند. مانند شرایط و انتخاب فناوری دیکته شده وجود دارد. شامل:
پروتکل دسترسی آسان به اشیاء (SOAP): مبتنی بر XML: (قالب پوششی پیام‌های توسعه پذیر برای قراردادهای اصلی) قراردادهای اصلی HTTP و پروتکل امن انتقال ابرمتن هستند، اگرچه لازم است برای دیگران شامل قرارداد ساده نامه‌رسانی و اکس‌ام‌پی‌پی نوشته شوند.
زبان توضیحات سرویس‌های وب (WSDL): یک قالب XML یی که به رابط‌های سرویس امکان می‌دهد تا همراه با جزئیات ملزوماتشان برای قراردادهای ویژه توصیف شوند. معمولا برای ساخت کد سرویس دهنده و سرویس گیرنده و برای پیکربندی استفاده می‌شوند.
توضیحات عمومی اکتشاف و اجتماع (UDDI): قراردادی برای انتشار و اکتشاف ابرداده درباره سرویس‌های وب که برنامه‌ها را برای یافتن آنها در هر دو زمان طراحی و اجرا قادر می‌سازد.
بیشتر این مشخصات هسته‌ای شامل XML، پروتکل دسترسی آسان به اشیاء و زبان توصیف خدمات وب از W3C می‌آیند. شرح، کشف، و یکپارچه‌سازی فراگیر از OASIS می‌آید.
برای تکمیل فهرست، لیست ویژگی‌های سرویس وب را مشاهده کنید.
نمایه‌ها
برای افزایش قابلیت سرویس‌های وب، WS-I نمایه‌ها را منتشر می‌کند. نمایه مجموعه‌ای از مشخصات هسته‌ای (SOAP,WSDL,…) در یک نسخه ویژه (SOAP 1.1 , UDDI 2 ,..) با بعضی از ملزومات اضافی برای محدود کردن استفاده از مشخصات هسته‌است. همچنین WS-I موارد کاربرد و ابزارهای معیار را برای کمک به نمایه‌های گسترشی سرویس وب منتشر می‌سازد.
مشخصات اضافی WS-*
بعضی از مشخصات، توسعه یافته یا در حال توسعه‌اند تا قابلیت‌های سرویس‌های وب را افزایش دهند. به طور کلی این ویژگی‌ها WS-* نامیده می‌شوند.
در اینجا لیست ناقصی از ویژگی‌های WS-* وجود دارد.
WS-Security: چگونگی استفاده از XML Encryption و XML Signature در پروتکل دسترسی آسان به اشیاء برای تبادل امن پیام‌ها را، شرح می‌دهد. مانند جایگزین یا توسعه دهنده برای استفاده از پروتکل امن انتقال ابرمتن برای ایمن‌سازی کانال.
WS-Reliability: یک قرارداد استاندارد OASIS برای پیام رسانی امن بین دو سرویس وب.
WS-ReliableMessaging
قراردادی برای پیام رسانی معتبر بین دو سرویس وب، منتشر شده توسط مایکروسافت، BEA و IBM این در حال استاندارد شدن توسط سازمان OASIS است.
WS-Addressing
روشی برای نگهداری آدرس گیرنده (و فرستنده) یک پیام در داخل خود پیامSOAP است.
WS-Transaction روش مدیریت تراکنش‌ها.
برخی از این ویژگی‌های اضافی از W3C می‌آیند. بحث‌های بسیاری درباره مشارکت سازمانها وجود دارد، مانند وب عادی و وب معنایی که گزارش ستیزهایی را برسر اغلب نسخه‌های سرویس وب ایجاد می‌کنند. این بحث در فوریه ۲۰۰۷ در کارگاه وب خدماتی برای تشکیلات بالا گرفت. گروهی از شرکا از جدایی W3C از ادامه فعالیت‌های مربوط به WS-* و تمرکز بر روی هسته وب حمایت کردند.
درمقابل OASIS بسیاری از توسعه دهنده‌های سرویس وب، شامل چارچوب کاری منبع سرویس‌های وب و WSDM را استاندارد کرد.
انتقادات
منتقدان عدم راحتی سرویس‌های وب اغلب شاکی هستند که آن‌ها برای ایجاد کنندگان یا فروشندگان نرم‌افزارهای بزرگ در مقابل مجریان کد باز همچنان پیچیده‌اند.
نگرانی بزرگ برای توسعه دهنده‌های سرویس‌های وب دیگر بسته نرم‌افزاری SOAP WS است که سبب آسان سازی تعریف رابط‌های جدید برای کنترل فعل و انفعالات می‌شود. آنها اغلب به اقتباس از بخش‌های درونی WSDL و سرویس‌های API و کد JAVA, C# یا VB تکیه می‌کنند. این مانند یک خصیصه توسط پشته نویسان SOAP (و تعداد زیادی از کاربران) دیده شده اما می‌تواند تحت تاثیر افزایش شکنندگی نظام‌ها قرار بگیرد. به عبارتی پس از تغییرات اندک بر روی سرویس دهنده، بتواند در WSDL مختلف و یک رابط متفاوت سرویس دهنده نتیجه دهد. رده‌های سمت سرویس گیرنده که می‌توانند از توضیحات سرویس WSDL و XSD ایجاد شوند اغلب شبیه مقید به مقصد نسخه مخصوص SOAP می‌تواند شکسته شوند اگر نقطه پایانی تغییر کند یا پشته SOAP سمت سرویس گیرنده به روز رسانی شود هستند. طراحی خوب مقاصد SOAP (به‌وسیله نوشتن XSD و WSDL) تحت تاثیر این نیست اما هنوز مشکل رابط سفارشی برای هر سرویسی که سرویس گیرنده سفارشی از هر سرویس درخواست می‌کند، وجود دارد.
همچنین نگرانی درباره کارایی بسبب استفاده وب سرویس از XML مانند یک قالب پیام و SOAP و HTTP در پشتیبانی و انتقال وجود دارد.
تلاش‌های مشابه
چندین معبر دیگر از مجموعه‌ای از مشکلات که سرویس‌های وب برای آدرس دهی آنها تلاش می‌کنند، هم درگذشته و هم درحال حاضر درون آن وجود دارد. RMI یکی از نظام‌های میان افزار بود که نگاه وسیعی به گسترش داشت. تلاش‌های زیادی مانند کوربا و DCOM بر روی تاثیر گسترده اشیا صورت گرفت، که پیاده‌سازی سرویس‌های وب گاهی اوقات همچون آنها تلاش کنند.
بیشتر تلاش‌های اصلی اکس‌ام‌ال-ارپی‌سی، پیشرو در SOAP که تنها قادر به انجام RPC بودند و شکل‌های مختلف استفاده از HTTP بدون SOAP را شامل می‌شدند.
همچنین مشاهده کنید
فلسفه طراحی وب
لیست چارچوب‌های کاری سرویس وب
نظام سرویس
معماری سرویس گرا
یکپارچه سازی تشکیلات اطلاعات (EII)
تجارت هوشمند 2.0 (BI 2.0)
نمایه دستگاه برای سرویس وب
سرویس پردازشی وب
پارچوب کاری سرویس اتصال مایکروسافت
اکتشاف سرویس‌های وب
سرویس محافظتی