محاسبات نرم و مهندسی نرم افزار

Soft computing & Soft engineering

محاسبات نرم و مهندسی نرم افزار

محاسبات نرم (هوش مصنوعی) و ربوتیک
مهندسی نرم افزار
توسعه اپلیکیشن های دسکتاپ و وب
اطلاع رسانی جهت دانشجویان

آخرین نظرات
  • ۱۶ شهریور ۹۵، ۰۹:۰۲ - احسان
    tnx
نویسندگان
پیوندهای روزانه

وب سرویس

پنجشنبه, ۲۹ آذر ۱۳۸۶، ۰۹:۲۳ ب.ظ
براى درک اهمیت وب سرویسها بهتر است ابتدا نگاهى اجمالى به تاریخچه پروتکلهاى درخواست متدهاى راه دور ( 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

منبع : http://uml.blogfa.com

۸۶/۰۹/۲۹
نویسنده: وحید عقیقی

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی