Borna66
02-11-2011, 12:36 AM
RMI چيست؟
RMI مخفف عبارت Romote Methode invocation به معني «فراخواني متد از راه دور »است.
همان طور كه از نام اين اصطلاح مشخص مي شود،RMI مكانيسمي در اختيار برنامه نويسان جاوا قرار مي دهد كه مي توانند از طريق آن متد اشياي گوناگون را بر روي يك ماشين مجازي (JVM ) راه دور اجرا كنند. مكانيسم هاي فراخواني راه دور متفاوتي در دنياي نرم افزار ايجاد شده اند،اما RMI برخلاف بسياري از آنها محدود به انواع داده اي اوليه يا ساختار هايي متشكل از داده هاي ساده نيست و به كمك آن مي توان اشياي نرم افزاري را به تمامي همانند يك پارامتر عبور داد يا باز گرداند.
اين ويژگي از RMI يك مكانيسم منحصر به فرد مي سازد. چنين خاصيتي به اين معني است كه يك برنامه نويس جاوا مي تواند به كمك RMI ، كدهاي جديدي را در شبكه انتقال دهد و در ماشين هاي مجازي راه دور به صورت ديناميك آن ها را اجرا نمايد. بدين ترتيب برنامه نويسان جاوا در زمان برنامه نويسي سيستم هاي گسترده،آزادي عمل زيادي به دست خواهند آورد.در يك محيط گسترده، كلاينت هاي RMI مي توانند به نسخه هاي جديد سرويس هاي جاوا دسترسي داشته باشند و نيازي به توزيع كردن برنامه به كلاينت ها نخواهد بود. اين ويژگي همانطور كه در محيط هاي شبكه محلي اجرا مي شود،در محيط وب نيز قابل اجرا است.
در مكانسم RMI ،از ويژگي رجيستري هم پشيتباني مي شود. كلانيت هاي RMI با مراجعه به رجستري هم پشتيباني مي شود. كلاينت هايي كه از سرويس مشخصي استفاده مي كنند،مي توانند با مراجعه به رجيستري RMI ،به آخرين نسخه سرويس دسترسي يابند. در صورت نياز به كلاس جديد،مي توان آن را از طريق وب سرور بارگذاري كرد.
RMI داراي ويژگي هاي ديگري علاوه بر آنچه در بالا به آن اشاره شد،نيز هست . پردازش راه دور و تقسيم بار پردازنده ها نمونه هايي از قابليت هاي ساده RMI تلقي مي شوند. RMI به جهت قابليت انعطاف و سازگاري زياد،از طرف برنامه نويسان به سرعت به عنوان يك ابزار مهم براي توسعه سيستم هاي گسترده،پذيرفته شد. اما زماني كه برنامه هايي به زبان هاي مانند c\c++ يا زبان هاي ديگري(غير جاوا)بخواهند با RMI ارتباط بيابند،مشكلاتي ايجاد خواهد شد.
در واقع RMI تكنولوژي ويژه جاوا با نرم افزارهايي كه به زبان هايي غير جاوا توسعه يافته اند استفاده كرد. به همين دليل ،استفاده از RMI به همان سرعتي رواج يافت،رو به كاهش گذاشت.در واقع چنين استدلال مي شد كه در دنياي امروز روز به روز بر مواردي كه نياز به ارتباط دادن نرم افزارهايي كه با تكنولوژي هايي متفاوت توسعه يافته اند،بيشتر مي شود كه در صورت استفاده از RMI ،امكان توسعه آتي نرم افزار محدود خواهد بود.
RMI مخفف عبارت Romote Methode invocation به معني «فراخواني متد از راه دور »است.
همان طور كه از نام اين اصطلاح مشخص مي شود،RMI مكانيسمي در اختيار برنامه نويسان جاوا قرار مي دهد كه مي توانند از طريق آن متد اشياي گوناگون را بر روي يك ماشين مجازي (JVM ) راه دور اجرا كنند. مكانيسم هاي فراخواني راه دور متفاوتي در دنياي نرم افزار ايجاد شده اند،اما RMI برخلاف بسياري از آنها محدود به انواع داده اي اوليه يا ساختار هايي متشكل از داده هاي ساده نيست و به كمك آن مي توان اشياي نرم افزاري را به تمامي همانند يك پارامتر عبور داد يا باز گرداند.
اين ويژگي از RMI يك مكانيسم منحصر به فرد مي سازد. چنين خاصيتي به اين معني است كه يك برنامه نويس جاوا مي تواند به كمك RMI ، كدهاي جديدي را در شبكه انتقال دهد و در ماشين هاي مجازي راه دور به صورت ديناميك آن ها را اجرا نمايد. بدين ترتيب برنامه نويسان جاوا در زمان برنامه نويسي سيستم هاي گسترده،آزادي عمل زيادي به دست خواهند آورد.در يك محيط گسترده، كلاينت هاي RMI مي توانند به نسخه هاي جديد سرويس هاي جاوا دسترسي داشته باشند و نيازي به توزيع كردن برنامه به كلاينت ها نخواهد بود. اين ويژگي همانطور كه در محيط هاي شبكه محلي اجرا مي شود،در محيط وب نيز قابل اجرا است.
در مكانسم RMI ،از ويژگي رجيستري هم پشيتباني مي شود. كلانيت هاي RMI با مراجعه به رجستري هم پشتيباني مي شود. كلاينت هايي كه از سرويس مشخصي استفاده مي كنند،مي توانند با مراجعه به رجيستري RMI ،به آخرين نسخه سرويس دسترسي يابند. در صورت نياز به كلاس جديد،مي توان آن را از طريق وب سرور بارگذاري كرد.
RMI داراي ويژگي هاي ديگري علاوه بر آنچه در بالا به آن اشاره شد،نيز هست . پردازش راه دور و تقسيم بار پردازنده ها نمونه هايي از قابليت هاي ساده RMI تلقي مي شوند. RMI به جهت قابليت انعطاف و سازگاري زياد،از طرف برنامه نويسان به سرعت به عنوان يك ابزار مهم براي توسعه سيستم هاي گسترده،پذيرفته شد. اما زماني كه برنامه هايي به زبان هاي مانند c\c++ يا زبان هاي ديگري(غير جاوا)بخواهند با RMI ارتباط بيابند،مشكلاتي ايجاد خواهد شد.
در واقع RMI تكنولوژي ويژه جاوا با نرم افزارهايي كه به زبان هايي غير جاوا توسعه يافته اند استفاده كرد. به همين دليل ،استفاده از RMI به همان سرعتي رواج يافت،رو به كاهش گذاشت.در واقع چنين استدلال مي شد كه در دنياي امروز روز به روز بر مواردي كه نياز به ارتباط دادن نرم افزارهايي كه با تكنولوژي هايي متفاوت توسعه يافته اند،بيشتر مي شود كه در صورت استفاده از RMI ،امكان توسعه آتي نرم افزار محدود خواهد بود.