Middleware

Middleware در یک سیستم محاسباتی توزیع شده به عنوان لایه نرم‌افزاری تعریف می‌شود که بین سیستم عامل و برنامه‌ها قرار می‌گیرد و اجرای چند فرایند را بر روی یک یا چند ماشین در شبکه امکان پذیر می‌سازد.

Middleware برای انتقال برنامه‌های mainframe به برنامه‌های کلاینت / سرور ضروری است. این تکنولوژی در سال‌های 1990 تکامل یافت. تکنولوژی‌های Middleware با رشد برنامه‌های مبتنی بر شبکه اهمیت پیدا کردند. از سوی دیگر تعداد سیستم‌هایی که از مجموعه‌ای از دیوایس‌ها تشکیل شده بودند افزایش یافت. هر دیوایس عملکردی را انجام می‌داد که در شبکه با سایر دیوایس‌ها نظیر تلفن‌های هوشمند، کامپیوترهای شخصی، PDA تعامل داشت.

عملکردهای Middleware

در هر یک از حالات فوق، برنامه‌ها از نرم‌افزار میانجی و پروتکل‌های ارتباطی برای انجام عملکردهای زیر استفاده می‌کنند:

  • پنهان‌سازی توزیع: توجه به این واقعیت که برنامه معمولا از بخش‌های به هم پیوسته‌ای تشکیل شده است که در مکان‌های توزیع شده اجرا می‌شود.

    پنهان سازی ناهمگنی اجزای سخت‌افزاری، سیستم‌ عامل‌ها و پروتکل‌های ارتباطی مختلف

    تهیه رابط استاندارد، یکپارچه و سطح بالا برای توسعه‌گران برنامه‌ها، به گونه‌ای که برنامه‌ها به سادگی قابل تهیه و استفاده مجدد باشند.
  • تهیه مجموعه سرویس‌هایی برای انجام عملکردهای مختلف همه منظوره.

این لایه‌های نرم‌افزاری میانجی، Middleware نامیده می‌شوند.

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

برخی‍ از انواع Middleware

Middleware بازتابی: اینگونه Middleware از تکنیک‌های بازتابی برای رسیدن به انعطاف‌پذیری و انطباق با پلاتفرم‌ها استفاده می‌کند.

Middleware رویدادگرا: این Middleware مفاهیم، طراحی، پیاده‌سازی و سرویس‌هایی را در بر می‌گیرد که از سیستم‌های رویدادگرا پشتیبانی می‌کنند.

Middleware شی‌گرا: Middleware شی‌گرا پارادایم برنامه‌نویسی شی‌گرا را برای سیستم‌های توزیع شده بسط می‌دهد.

Middleware پیام گرا: این Middleware در لایه‌های پایین مدل شبکه OSI به کار گرفته می‌شود. Middleware‌های مختلف از مدل‌های بربرنامه‌نویسی متفاوت پشتیبانی می‌نمایند. Middleware شی‌گرا متداول‌ترین Middleware است که در آن برنامه‌ها به صورت آبجکت‌هایی ساخته می‌شوند. CORBA و COM از جمله این Middleware هستند. Middleware رویدادگرا برای ساخت برنامه‌های توزیع شده غیرمتمرکز مناسب است. کنترل فرایند، شبکه‌های خبری اینترنتی از زمره اینگونه Middleware‌ها هستند.

Middleware پیام‌گرا برای برنامه‌هایی که در آنها پیام‌ها به صورت دائمی ذخیره می‌شوند، مناسب است. برنامه‌های پیام‌رسانی و گردش کار نمونه‌هایی از اینگونه Middleware هستند.

طراحی Middleware

Middleware به عنوان واسط بین بخش‌های مختلف برنامه یا بین برنامه‌ها عمل می‌کند. لذا قواعد به کار رفته در معماری نقش اساسی در طراحی Middleware دارند. در اینجا منظور از معماری، معماری کلی سازمان‌ها و الگوهای ارتباطی در زمینه برنامه‌ها و خود Middleware است. هر سیستم Middleware به لایه ارتباطی بستگی دارد. این لایه امکان عمل بینابینی بخش‌های مختلف را فراهم می‌آورد.

چالش‌های فراروی Middleware

هزینه‌ها: هزینه بکارگیری تکنولوژی Middleware در توسعه سیستم‌ها کاملا به سیستم عامل‌ها و پلاتفرم‌های مورد نیاز بستگی دارد. پیاده‌سازی Middleware منحصر به فروشنده آن است. لذا به پشتیبانی و نگهداری از جانب فروشنده وابسته است. این وابستگی تاثیر منفی بر انعطاف‌پذیری و قابلیت نگهداری سیستم دارد.

پیچیدگی برنامه‌ها: هر چه برنامه‌ها ارتباط درونی بیشتری با هم داشته باشند. تعداد آبجکت‌ها با کاربران و دیوایس‌ها افزایش می‌یابد. این امر مدیریت آبجکت‌ها و پیچیدگی اداره نمودن سیستم را دشوار می‌سازد.

مدیریت برنامه‌ها: مدیریت برنامه‌های بزرگ، ناهمگون و توزیع شده با مشکلات متعددی از قبیل مسائل امنیتی، نظارتی، وابستگی به چندین زیر سیستم، تعریف و پیاده سازی خط مشی‌های مدیریت منابع روبرو خواهد بود.

  
نویسنده : ali gooliof ; ساعت ۱۱:٥٠ ‎ق.ظ روز ۱۳۸٧/٢/٤
تگ ها :