ارزیابی خوب بودن سرویسهای مبتنی بر وب برای مجازی سازی

By   سپتامبر 10, 2014

ارزیابی خوب بودن سرویسهای مبتنی بر وب برای مجازی سازی

مقدمه

سرویس های وب ، نقطه عطفی در معماری برنامه های توزیع شده بر روی اینترنت می باشند . بدون شک ، یکی از مهمترین تحولات در زمینه برنامه های توزیع شده ، مطرح شدن سرویس های وب است که تاثیرات فراوانی را در رابطه با وضعیت نرم افرار خصوصا ” بر روی اینترنت بدنبال خواهد داشت . ما شاهد نقطه عطفی در ظهور نسل جدیدی از برنامه های کامپیوترهای با قابلیت استفاده بر روی بستر وب ، خواهیم بود که گفتمان برنامه ها در عرصه جهانی را محقق خواهد کرد ( تحقق آرزوئی بزرگ برای صنعت نرم افزار).

برنامه های توزیع شده و ارائه دهندگان سرویس

با توجه به ضرورت و تعجیل در طراحی یک الگوی جدید برای برنامه های توزیع شده و عدم وجود استانداردهای صنعتی لازم در این خصوص ،  شرکت های عظیم نرم افزاری هر یک با توجه به دیدگاه های خود ،  اقدام به عرضه راهکارهائی در این زمینه نمودند.شرکت های فوق،  در رابطه با اینکه  می بایست  برنامه های توزیع شده بصورت عناصر توزیع شده ،  تولید گردند ،  اتحاد نظر داشتند . بدین ترتیب  عناصر متفاوت و توزیع شده در یک برنامه، بعنوان ارائه دهندگان سرویس به یک برنامه منطقی ایفای وظیفه می نمایند. با توزیع قابلیت ها و پتانسیل ها ،  امکانات اساسی ( بلاک های اولیه )  بمنظور ایجاد برنامه های بزرگ ،  بسادگی فراهم می گردد . رویکرد فوق ،  مسائل و تبعات خاص خود  را بدنبال داشت که در ادامه به بررسی برخی از آنان  خواهیم پرداخت .

برنامه های توزیع شده  و وب

با اینکه اینترنت بیش از بیست سال است بوجود آمده است ولی صرفا” در اواسط دهه 1990 به این موضوع توجه گردید ،  که اینترنت زیر ساخت مناسب و مهمی برای ایجاد برنامه های توزیع شده است . پروتکل های ساده مبتنی بر متن در ابتدا بمنظور مبادله سرویس های درخواستی و ارسال اطلاعات بر روی اینترنت پیاده سازی گردید . گسترش و پذیرش چنین پروتکل هائی، باعث شد که اینترنت بعنوان یک محیط موفق برای برنامه های توزیع شده، مطرح گردد. بدین ترتیب در مقابل سروکار داشتن با تکنولوژی های رقابتی و اغلب انحصاری، وجود استانداردهای وب ،  دلیلی موجه برای توجه جدی به وب بعنوان بستری مناسب برای طراحی و پیاده سازی برنامه های توزیع شده، گردید.

مسائل مربوط به برنامه های توزیع شده سنتی

پیاده سازی برنامه های توزیع شده مستلزم استفاده از تکنیک ها و مدل های جدید است . راهکارهای انتخابی و استفاده شده ،  خود باعث بروز مسائل جدید نیز خواهند شد. در این بخش به بررسی مسائل مرتبط با طراحی برنامه های توزیع شده  پرداخته و  دو معماری خاص در این زمینه را بررسی خواهیم کرد :   

  • معماری RPC)Remote Procedure Call-based)
  • معماری مبتنی بر پیام (Message-based)

معماری مبتنی بر RPC

معماری مبتنی بر RPC ،  اولین گزینه موجود بمنظور ارائه یک راه حل مناسب در ارتباط با  برنامه های توزیع شده است .

    RPC)Remote Procedure Call) ،  یک نوع فراخوانی به تابع و یا  روتپنی است که برروی یک سیستم از راه دور مستقر است .RPC ، مشابه فراخوانی یک روتین و یا یک تابع معمولی است که کدهای مربوط به فراخوانی تابع ، توسط کاربر بکار گرفته می شود . RPC ، دارای مشخصات زیر است :

مشخص بودن  محل سرویس : برنامه نویس ، ضرورتی به آگاهی از محل فیزیکی ارائه دهنده سرویس نخواهد داشت .
یک مدل آشنا برای برنامه نویسان : اغلب برنامه نویسان نسبت به استفاده از اشکال خاصی از فراخوانی توابع، آشنا بوده و بدفعات در برنامه های خود اقدام به این کار نموده اند . زیر ساخت RPC ، یک Stub ایجاد که نمایانگر کد روتین از راه دور بوده و باعث فراخوانی تابع از راه دور بهمراه پارامترهای مربوطه از طریق شبکه و ارسال اطلاعات ذیربط برای سرویس دهنده RPC ، خواهد شد.بر روی سرویس دهنده RPC ، اطلاعات ارسالی (Stub) از حالت فشرده خارج ، و اطلاعات مربوطه ( آرگومان ها ) برای پردازش در اختیتار تابع صدازده شده ، قرار خواهند گرفت . نتایج مربوطه پس از فراخوانی تابع مربوطه و انجام عملیات ، برای صدا کننده تابع ، ارسال می گردد.

معماری مبتنی بر پیام

یکی دیگر از معماری های موجود  برای ایجاد برنامه های توزیع شده ، معماری مبتنی بر پیام است . رویکرد فوق،  به برنامه ها امکان ارتباط با  سرویس های  داخلی را بکمک  تکنولوژی صف بندی پیام ها ، خواهد داد . تکنولوژی صف بندی ، مسیریابی یک پیام را دنبال و ثبت می نماید . تکنولوژی فوق ، سطح مناسبی از اطمینان بمنظور تشخیص سریع اشکال و در صورت صلاحدید اصلاحات لازم بدون دخالت کاربر  را فراهم می نماید.   معماری مبتنی بر پیام، عموما” در کنار پروتکل های صف بندی  پیام ها نظیر MSMQ) Microsoft Message Queuing) ایجاد می گردد.

پیام های غیر همزمان

مهمترین ویژگی  معماری مبتنی بر پیام ،  قابلیت غیر همزمانی آنان و ارسال پیام در مقابل فراخوانی تابع است . مزایای هر یک از موارد فوق بشرح زیر است :
امکان مسیر یابی پیام ها بر اساس لود و اولویت وجود خواهد داشت .
امکان استفاده بهینه از زمان برای سرویس گیرندگان در مواردیکه در انتظار در اختیار گرفتن زمان مربوطه برای انجام عملیات می باشند،  فراهم می گردد.

 ویژگی های فوق ،  خود می توانند باعث بروز مسائل دیگری گردند.

افزایش حجم عملیات پردازش

با توجه به اینکه سیستم های مبتنی بر پیام ،  پیام ها را ارسال می نمایند ،  یکی از اولین عملیات که برنامه نویس مسئولیت آن را می بایست برعهده گیرد ،  افزودن امکانات لازم در خصوص  بسته بندی و بازنمودن محتویات پیام ها خواهد بود. پس از بازنمودن محتویات پیام ،  برنامه مربوطه می بایست معتبر بودن محتویات را نیز بررسی نماید. بموزات افزایش پیچیدگی و ضرورت وجود انعطاف لازم در پیام ها ، حجم عملیات پردازش ،  افزایش خواهد یافت.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *