وب سرویس
در طول تاریخ محاسبات تمام عملیات شبکه اى توسط سیستمهاى عامل انجام گردیده اند ، سیستم عامل 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
منبع : http://uml.blogfa.com