براى درك اهميت وب سرويسها بهتر است ابتدا نگاهى اجمالى به تاريخچه پروتكلهاى درخواست متدهاى راه دور ( RMI ) داشته باشيم . هر كدام از روشهاى RMI كه قبل از وب سرويسها بوجود آمدند حل يكسرى از مشكلات را بر عهده گرفتند اما همانگونه كه خواهيم ديد وب سرويسها نه تنها تمام محدوديتها و مرزهاى سكوهاى مختلف نرم افزارى را پشت سرگذاشته اند بلكه پاسخى جامع به تمام مشكلات هستند .

در طول تاريخ محاسبات تمام عمليات شبكه اى توسط سيستمهاى عامل انجام گرديده اند ، سيستم عامل Unix اولين فراهم آورنده امكانات شبكه اى بود . محاسبات شخصى آهسته تر پيش ميرفتند ، نرم افزارهاى مايكروسافت و اپل تا اواسط ١٩٩٠ از پروتكلهاى شبكه اى پشتيبانى نمى كردند . گرچه شركتهاى Novell و Banyan در اين زمينه پيشتازتر بودند اما آنها نيز تنها در سطح سيستم عامل از امكانات شبكه اى پشتيبانى مى كردند . در اصل مفهوم شبكه در دنياى كامپيوتر جهت پياده سازى ارتباطات راه دور تا هنگام گسترش شبكه جهانى وب خيلى مطرح نگرديد .

در اوائل ، سيستم عاملهاى شبكه اى امكاناتى را فراهم مى آوردند كه چندين كاربر بتوانند از يك برنامه كاربردى ( و داده هاى داخلى آن برنامه ) بصورت اشتراكى و همزمان استفاده نمايند كه البته در اين سيستم هاى تك سطحى امكان گسترش سيستمها وجود نداشت ولى با بوجود آمدن و گسترش شبكه هاى كامپيوترى مجال توسعه و گسترش سيستمها نيز بوجود آمد و با توجه به اين نياز مفهوم واسط درخواست اشياء (ORBs) مطرح گرديد كه از آن جمله ميتوان به MTS مايكروسافت و CORBA اشاره نمود . اين واسطهاى درخواست اشياء لايه واسط كاربرى را از لايه منطق تجارى مجزا نمودند .

از طرفى ديگر پروتكل HTTP در سال ١٩٩٠ بوجود آمد ، گرچه قبل از آن چندين پروتكل ديگر نظير Gopher نيز بوجود آمده بودند اما چيزى كه HTTP را از ديگران متمايز نمود قابليت توسعه پذيرى در مقابل زبانهاى محيط وب از جمله HTML و نيز قابليت انعطاف فوق العاده در لايه انتقال پروتكل TCP/IP بود .

بنابراين با استفاده از HTTP قابليت انتقال بسيارى از قالبهاى داده اى بصورت گسترش يافته و بدون شرط خاصى امكان پذير گرديدند . در طول ١٠ سال بعد پروتكلهاى سطح پائين توسط سيستمهاى عامل شبكه اى پشتيبانى گرديدند و در اينترنت با استفاده از پروتكلهاى SMTP و FTP امكان انتقال فايلها بر روى سرويسهاى توزيع يافته امكانپذير گرديد .

بعد از آن با بوجود آمدن مفهوم فراخوانى روالهاى راه دور (RPC) امكان گسترش برنامه هاى كاربردى فراهم گرديد البته اين مفهوم كاملا" به سكوهاى نرم افزارى وابستگى داشت ، براى مثال فراخوانى روالهاى راه دور (RPC) در سيستم عامل Unix با CORBA و در سيستمهاى مايكروسافتى با DCOM پياده سازى گرديدند .

با گسترش شبكه هاى گسترده جهانى (WAN) پياده سازى كاربردها براى سيستمهاى تجارى بزرگ نيز شروع به گسترش نمودند . بعنوان يك نياز براى اين گسترش برنامه نويسان شروع به حل مسائلى از قبيل ميزان پذيرى قابليت اطمينان و سازگارى با مدلهاى برنامه نويسى سنتى نمودند .

محيطهاى پياده سازى چند سطحى شروع به جدا سازى داده ها ، پردازشها و لايه واسط كاربرى برنامه هاى كاربردى بر روى چند ماشين متصل به شبكه نمودند و با اين عمل برنامه هاى كاربردى بسيار ميزان پذيرتر و قابل اطميتان تر در مقابل گسترش و افزونگى اطلاعات گرديدند .

براى سالها شركتهاى مايكروسافت و سان در رابطه با مسئله RPC با هم به رقابت مى پرداختند . CORBA در مقابل DCOM ( البته CORBA توسط گروه مديريت اشياء بوجود آمد و توسعه يافت ) و اين مسئله همچنان ادامه داشت تا اينكه شركت سان RMI را براى Java ارائه نمود و با ايجاد اين پروتكل ديگر سه پروتكل اشياء توزيع يافته وجود داشت .

مشكل اساسى پروتكلهاى RMI / CORBA / DCOM پيچيدگى پياده سازى آنها مى باشد . در هر يك از اين پروتكلها ، انتقال اطلاعات بر اساس استاندارهاى خاص توليد كنندگان آنها بوده كه اين امر سازگارى ارتباطات را نقض ميكند . براى مثال اگر يك شركت از DCOM استفاده كند نخواهد توانست با شركتى كه از CORBA استفاده ميكند ، ارتباط برقرار نمايد.

از جمله مشكلات اساسى اين سه روش ميتوان به موارد زير اشاره نمود :

١- قالب انتقال اطلاعات در هر يك از اين سه روش با يكديگر متفاوت و وابسته به سيستم عامل بوده و تنها شامل اطلاعات مورد نياز سيستم عامل خاص خودشان ميباشند كه اين امر باعث ميشود كه آنها نتوانند اطلاعاتشان را با يكديگر به اشتراك بگذارند.

٢- روشها و نحوه انتقال اطلاعات در اين سه روش متفاوت و خاص خودشان ميباشد . مثلا" براى انتقال اطلاعات
در DCOM از فناورى ADO/RDS استفاده ميشود در صورتيكه در RMI از JDBC و در عمل آنها هيچوقت با هم نميتوانند بخوبى كار نمايند.

٣- مسئله يافتن سرويسهاى آماده در اين سه روش حتى بر روى يك شبكه كوچك نيز مشكل ساز است .

در ادامه به توضيح اينكه وب سرويس چيست ؟ و چگونه بر اين مشكلات فائق ميآيد ؟ ميپردازيم

نویسنده: مهندس خشايار نيك نفس : k_niknafs@tartansys.net