خدمت وب
یک وب سرویس (به انگلیسی: Web service) یا خدمت وب، از نگاه فناوری اطلاعات و بر اساس استانداردهای تعریف شده، سرویس یا خدمتی است که از طریق وب (اینترنت) توسط یک دستگاه الکترونیکی (سرور یا خادم) به دستگاه الکترونیکی دیگر (سرویس گیرنده یا Client)، ارائه میشود. در وب سرویس، از فناوریهای وبی مانند HTTP - که به صورت پایه برای ارتباط انسان با سرور(Human-to-machine) طراحی شدهاست – برای ارتباط بین نرمافزار سرویس دهنده و نرمافزار سرویس گیرنده استفاده میشود. وب سرویس از HTTP بیشتر برای انتقال اطلاعات و داده ها استفاده مینماید، این اطلاعات به صورت فایل و اغلب با دو استاندارد متداول XML و JSON رد و بدل میشوند.
در عمل و در بیشتر موارد وب سرویس به صورت رابط وب بین نرمافزارهای مختف مانند نرمافزارهای موبایل یا وب سایتهای مختلف با پایگاه دادهها (Data Base) استفاده میشود. همچنین وب سرویس این امکان را فراهم مینمایند تا اطلاعات و دادههای مختلف ازمنابع مختلف، در یک صفحه نمایش داده شوند. به عنوان مثال؛ با استفاده از وب سرویسهای سازمان بورس و سازمانهای هواشناسی اطلاعات مربوط به بورس و پیشبینی وضع هوا در کنار هم نمایش داده میشود.
سازمان W3C واژهٔ وب سرویس را به صورت زیر ترجمه نموده است: «یک نرمافزار سیستمی که برای در خواست و پاسخ (فعل و انفعال) بین عناصر غیرانسانی (machine-to-machine) با قابلیت درک متقابل (interoperable) طراحی شده است».
میزبانی صفحات وب
میزبانی یا وب هاستینگ همان چیزی است که وقتی می خواهید وب سایتتان روی شبکه بینالمللی (اینترنت) برای همه قابل دیدن باشد به آن نیاز دارید. به زبان ساده، وب سایت شما باید روی یک سرویس دهنده میزبان قرار گیرد. کامپیوتر شخصی شما هم میتواند به صورت یک سرویس دهنده میزبان تنظیم و راه اندازی شود اما اگر قصدتان جذب ترافیک یا «بازدیدکننده» زیاد برای سایتتان است، این کار زیاد عاقلانه به نظر نمیرسد برای اینکه وب سایت شما در اینترنت در دسترس باشد لازم است کامپیوتر شما همیشه روشن و به اینترنت متصل باشد؛ به محض خاموش شدن کامپیوتر دیگر کسی سایت شما را نمیبیند. از طرف دیگر اگر با نرمافزارهای راه اندازی سرور آشنا نباشید، این کار میتواند برای شما پیچیده باشد در نتیجه اصلاح اشکالات و خرابیهای احتمالی سرورتان وقت و انرژی زیادی میخواهد .
مزایای مربوط به خدمات وب
بزرگترین مزیت روش نو از ناحیهٔ حضور اکسامال در اکثر ساختارهای مربوط به خدمات وب میآید. نیاز به XML به خاطر غلبه بر عدم مقیاسپذیری (scalability) شیوههای پیشین در مهندسی و ساخت اینترنت است. از آنجا که XML متن گراست (به انگلیسی: text-based)، شمهای از نرمی و انعطافپذیری شگفتآوری که در زبان انسان موجود است با سختی و شکنندگی روشهای ماشینی ترکیب شده و ما را به ساخت سامانههای بسیار گسترشپذیر توانا میگرداند.
استانداردهای خدمات وب
پروتکل دسترسی ساده به شیء (SOAP)
بر اساس پروتکل دستیابی ساده به شیء است که تمامی خدمات وب به گردش در میآید. منظور از پروتکل، مجموعه شرح قواعد و فرمتهای مربوط به ارسال پیامهای مخابراتی از یک ماشین به ماشین دیگر است. SOAP پروتکل سادهای ست که به منظور سازگاری (compatibility) با سکوهای (platforms) مختلف و نیز سیستمهای عامل (operating systems) گوناگون نوشته شدهاست. هدف اساسی این پروتکل را باید امکانپذیری مخابرات ماشین به ماشین در محیطهای محاسباتی نامتجانس (heterogeneous) ذکر کرد.
زبان توصیف خدمات وب (WSDL)
هر چه بیشتر پروتکلهای مخابراتی و فرمت پیامها بر روی وب به سمت استاندارد شدن پیش میرود، امکان و اهمیت توصیف مخابرات و امور تبادل یافته، به شیوههای ساختاریافته (structured) نیز فزونی مییابد. زبان توصیف خدمات وب، درست به منظور برآورده نمودن همین نیاز ابداع گردیده است، و این مهم را با تعریف یک گرامر اکسامال انجام میدهد. این گرامر به خصوص، خدمات موجود در شبکه را به صورت مجموعههایی از نقاط پایانی مخابراتی بیان مینماید که قادرند به تبادل پیامهای مخابراتی بپردازند.
شرح، کشف، و یکپارچهسازی جهانی (UDDI)
به وسیله فناوری شرح، کشف، و یکپارچهسازی فراگیر (Universal Description، Discovery، and Integration) میتوان به انتشار و نیز جستجوی خدمات وب اقدام کرد. این فناوری، خدمات وب را سامان داده، و پس از شرح آنها، اطلاعات بدست آمده را در یک جایگاه مرکزی قرار میدهد.
دراینجا بیشتر تأکیدمان برتعامل با منابعی است که حالت پذیر (State-full) هستند به جای استفاده از پیغامها یا عملیاتها.
انواع سبکهای استفاده از وب سرویسها
روش فراخوانی از راه دور - RPC
وب سرویسهای این نوع، توابع توزیع شدهای را اجرا میکنند که فراخوانی شان بسیار برای تولیدگرها آشناست، بهطور معمول سادهترین واحد این مدل فراخوانی یک عملیاتی است که یک wsdl در پی دارد روشهای دیگری که با کارکرد مشابه به عنوان شیء RPC میتوان نام برد، Object Management Group's (OMG) و Common Object Request Broker Architecture (CORBA) و Microsoft's Distributed Component Object Model (DCOM) یا سان مایکروسیستم جاوا ست که همان (RMI)نامیده میشود.
معماری سرویس گرا - Service-oriented architecture
وب سرویسها را برای پیادهسازی معماری با رویکرد به مفاهیم معماری سرویس گرا (SOA) میتوان اجرا کرد که مبتنی است بر سادهترین واحدهای ارتباطی که همان پیغامها میباشند در تقابل با اعمال (operation)، به همین دلیل است که غالباً با نام سرویسهای پیغام گرا نامیده میشوند. این دست از وب سرویسها توسط اکثر تولیدکنندگان نرمافزار عمده در دنیا پشتیبانی میگردد، بر خلاف RPC در این مدل امکان اتصالات سست (loose coupling) محقق تر است به دلیل اینکه تأکید بر روی CONTRACT ی است که WSDL تولید کرده به جای اینکه بروی جزئیات زمینه اجرا باشد.
نمایانگر حالت انتقال - (Representational state transfer (REST)
این مدل تلاشی است در جهت توصیف یا ساخت معماریهایی که از http یا پروتکلهای مشابهای استفاده میکنند که هدفشان محدود کردن واسطه(interface) هاست به استفاده از اعمال شناخته شده و استاندارد (مثل GET، POST، PUT، DELETE بروی HTTP) دراینجا بیشتر تاکیدمان برتعامل با منابعی است که حالت پذیر(State-full) هستند به جای استفاده از پیغامها یا عملیاتها. یک معماری مبتنی بر REST که REST-full نامیده میشود میتواند برای تعریف یک پیغام سوپ از WSDL بروی HTTP استفاده کند یا میتواند یک کلاس انتزاعی باشد که صرفاً بروی سوپ بنا شده باشد، یا میتواند تماماً بدون هیچ استفادهای از سوپ ساخته شود. WSDL ۲ نه تنها اتصال به همه متدهای ورژن یک را امکانپذیر میکند بلکه تمامی متدهای اتصال به http را پشتیبانی میکند، بنابراین به نظر میرسد که برای وب سرورهایی از نوع REST این اجرا بهترین باشد، هر جند که پشتیبانی از این مشخصات فنی معماری، درون کیتهای برنامهنویسی روز دنیا هنوز ضعیف میباشد. این برنامهها معمولاً به سمت تولید ابزارهایی برای WSDL ۱ تمایل دارند.
انواع وب سرویس ها از لحاظ کاربرد و پیشرفت تدریجی آن ها در ایران
با سوق یافتن و ورود به عصر فناوری های نوین، رابط های کاربری یا همان API ها نقش ویژهای در سامانههای مختلف چه در بخش خصوصی و چه در بحش دولتی فراهم ساخته است . به طور مثال پیش از ورود فناوریهای پرداخت همراه و صورتحساب های الکترونیکی، نیاز بود تا شما برای کلیه پرداخت های خود به شرکتها و نهاد صادر کننده صورتحساب یا قبض مراجعه کنید؛ امّا با ورود رابط کاربری و وب سرویسهای پرداخت قبض این مهم در اپلیکیشن های پرداخت موبایلی به راحتی به صورت کاملاً غیر حضوری قابل انجام است . امّا متاسفانه تا آنجا که باید اتفاق می افتاد ، برخی شرکت ها معمولا برای بحث هایی مانند حریم خصوصی مشترکین خود و قوانین عدم افشای اطلاعات ، امکان ارائه وب سرویس ها و برون سپاری آن ها وجود نداشتند . به طور مثال در بحث هایی مانند احراز هویت ، متاسفانه بسیاری از کسب و کار ها و شرکت های خصوصی ، هلدینگ ها و .... مجبور به دریافت کپی کارت ملی اشخاص هستند . البته امتا ، سامانه ای که توسط مرکز توسعه تجارت های الکترونیکی توسعه و برون سپاری شد ، ولی به دلایلی مورد استقبال کسب و کارها قرار نگرفت و بسیاری از پلتفرم های بزرگ آگهی که طبق مصوبه دادستانی، ملزم به احراز هویت کاربران خود از طریق سامانه امتا میشدند، امکان استفاده از سامانه را با توجّه به برخی مشکلات ، نداشتند. لذا مسئولین شیپور و دیوار اذعان داشتند که دلیل این مورد ، احراز هویت سطح بندی شده است و اعتراض به خروج کاربر از پلتفرم و موارد این چنینی شدند. با پیشرفت داده های باز ، سامانه های مختلفی به وجود آمدند از جمله بازار های API ، که دسترسی توسعه دهندگان را به این وب سرویس ها ایجاد کردند. یکی از این سامانه ها apieco است که مشابه طرح های خارجی خود ، پنلی برای ارائه دهنده و دریافت کننده وب سرویس به وجود آمده است تا بتوانند به راحتی وب سرویس های خود را به اشتراک بگذارند و سرویس گیرندگان نیز آن ها را بنا بر رایگان بودن یا تعرفه داشتن آن ها ، با یک کلید API key به آن دسترسی داشته باشند . امید است تا شرکت ها و سازمان های خصوصی نیز با در نظر گرفتن حریم خصوصی این مهم را برآورده کنند تا شرکت های خصوصی در یک بازار کاربردی از جمله Apieco، پادیوم ، سامانه PGSB دولت بتوانند از آن ها بهرهمند شوند.
شبکه PGSB موسوم به Public Government Service Bus چند سالی است که توسط سازمان فناوری اطلاعات ایران در راستای تحقق دولت الکترونیک و تسهیل ارائه وب سرویس های دولتی به کسب وکار ها تحت پلتفرم سروا را به وجود آورده است که کلیه کاربران میتوانند با مکاتبه با این سازمان دسترسی به شبکه مذکور، سرویس های خود را دریافت کنند ولی مهمترین مشکل این سامانه این است که کسب و کار باید به صورت جداگانه خود با مقام مسئول ارگان مورد نظر وارد مکاتبه شود و یک کلید اختصاصی از آنها دریافت کنند. لذا دریافت مجوز برای بسیاری از سرویسهای این سامانه، فرایند اخذ و دریافت این وب سرویس را برای کسب وکارها کمی دشوار ساخته است که امید است با همت سازمانها و ارگان های دولتی با کوشش سازمان فناوری اطلاعات ایران ، فرایند دریافت خدمت را نیز تسهیل کنند.
در راستای تحقق بانکداری الکترونیک نیز شرکت هایی از جمله شرکت تجارت الکترونیک پاسارگاد موسوم به پککو ، شرکت تجارت الکترونیک پارسیان (تاپ) ، شرکت تجارت الکترونیک آسان پرداخت، شرکت تجارت الکترونیک ارتباط فردا (متعلق به بانک آینده )، هلدینگ فناپ چند سالی است ارائه خدماتی تحت عنوان بانکداری باز را در حیطه وظایف خود قرار دارند بدین شکل که وب سرویس های انتقال وجه، استعلام کارت، استعلام شبا، آخرین گردش حساب و .... را در قالب وب سرویس پس از انعقاد قراردادی به کسب و کارهای حوزه پرداخت الکترونیک ارائه میکنند . به طور مثال فینوتک، کاسپین، بوم و فرابوم مدتی است در این حوزه فعالیت می کنند و تاکنون موفق به ایجاد نوآوری های زیادی شدند.
جستارهای وابسته
منابع
- .NET Web Services، Architectures and Implementation، by Keith Ballinger، Pearson Education، Inc. ، ۲۰۰۳