تحقیق مقاله چالش های برنامه های توزیع شده

تعداد صفحات: 18 فرمت فایل: word کد فایل: 14916
سال: مشخص نشده مقطع: مشخص نشده دسته بندی: مهندسی کامپیوتر
قیمت قدیم:۸,۵۰۰ تومان
قیمت: ۶,۰۰۰ تومان
دانلود مقاله
  • خلاصه
  • فهرست و منابع
  • خلاصه تحقیق مقاله چالش های برنامه های توزیع شده

     

      همزمان با رشد وب ، عمومیت یافتن استفاده از کامپیوترهای شخصی و پیشرفت های مهم در زمینه دستیابی به شبکه های با سرعت بالا ، پردازش های توزیع شده بشدت مورد توجه قرار گرفته است . در این نوع پردازش ها ، همواره می بایست بر دو اصل مهم تاکید و راهکارهای مناسب را دنبال کرد. اولین مسئله توجه به معماری مبتنی بر Component ( عنصر) برای تولید نرم افزار و دومین مسئله نحوه تبین ارتباط بین عناصر ذیربط و تشکیل دهنده یک نرم افزا ر در محیط هائی با پردازش های توزیع شده است . همانگونه که قبلا" اشاره گردید، برنامه های مبتنی بر وب که خود نمونه ای از پردازش های توزیع شده می باشند از مدل N-Tier پیروی می کنند. کلید طلائی طراحی این نوع نرم افزارها ، توانائی نوشتن عناصر ( اجزاء) بگونه ای است که از یکطرف امکان بکارگیری آنها  بسادگی در لایه ها و حتی  چندین برنامه فراهم شده و از طرف دیگر امکان ارتباط این عناصر با یکدیگر صرفنظر از زبان برنامه نویسی استفاده شده و سایر موارد ذیربط ،  فراهم گردد. ما می بایست جعبه های سیاهی را طراحی کنیم که صرفنظر از ماهیت درون هر یک ، قادر به استفاده از توان آنها در بخش یا بخش های از یک و یا چندین نرم افزار باشیم . 
    سیر تکامل پردازش های توزیع شده
    از گذشته تا کنون دو مدل اساسی  در پردازش های توزیع شده مورد توجه قرار گرفته است . RPC(Remote Procedure Call) و Client Server  . ارتباطا ت مبتنی بر RPC ، نسبت به Client Server دارای قدمت بیشتری بوده و بعنوان شاه کلید برنامه های توزیع شده در محیط یونیکس مطرح بوده است . یونیکیس یکی از اولین سیستم های عامل در زمینه استفاده کامل از امکانات ارتباطی پروتکل TCP/IP است . پروتکل فوق بهمراه استانداردهای مربوطه آن بعنوان ستون فقرات شبکه های مبتنی بر یونیکس مطرح بوده است . مثلا؛ استاندارد DNS(Domain Name System) جهت همترازی آدرس یک کامپیوتر و نام آن ، FTP(File Transfer Protocol)، امکانی جهت تبادل فایل ها و پروتکل TelNet ، ارائه دهنده تسهیلات لازم  جهت دستابی به ترمینال ها . اگر امروز ما در دنیائی زندگی می کنیم که پروتکل TCP/IP  محور اساسی گفتمان در  شبکه های کامپیوتری   است ، بیش از بیست سال قبل یونیکیس چنین وضعیتی را دارا بوده  است . برنامه نویسان تحت یونیکیس بخوبی از توانائی های آن برای نوشتن برنامه های توزیع شده استفاده کرده اند. برنامه نویسان فوق از ارتباطات مبتنی بر Socket جهت نیل به اهداف خود استفاده می کردند. بر اساس رویکرد فوق ، اگر برنامه ای قصد ارتباط با برنامه دیگری را داشت ، بر اساس آدرس TCP/IP و یک شماره پورت ، یک لینک با آن برنامه ایجاد می کرد.این رویکرد تا مدت ها بعنوان یک راه حل مناسب جهت طراحی و اجرای برنامه های توزیع شده حضوری موفق  در عرصه برنامه های توزیع شده داشت .پس از مدت زمانی رویکرد فوق با دو چالش جدی مواجه گردید : 1 – برنامه نویسان مجبور بودند که نام و یا آدرس سرویس دهنده و شماره پورت مورد نیاز جهت برقراری ارتباط را در Source  برنامه ها مستقیما" مشخص نمایند . 2 – برنامه نویسان گوناگون می توانستند از پورت های یکسان برای برنامه های متفاوت استفاده نمایند .بدیهی است در چنین حالتی Conflict ( تعارض ) بین شماره پورت ها امری اجتناب ناپذیر بود. بمنظور برخورد با دو چالش فوق ، کمیته یونیکیس مفهوم ارتباطات مبتنی بر RPC را مطرح کرد. بر اساس رویکرد فوق برنامه ای با نام Portmapper بر روی هر سرویس دهنده اجرا و بین برنامه های اجرائی بر روی سیستم ها ی متفاوت ، حکمیت خواهد کرد. بر این اساس هر برنامه بجای تلاش جهت ایجاد یک ارتباط با یک پورت خاص بر روی یک سیستم ، درخواست خود را برای Portmapper ارسال و وی مسئول ایجاد اطلاعات لازم جهت برقراری ارتباط خواهد بود. راه حل فوق با اینکه مسئله ارتباطات بین پردازه های توزیع شده را بگونه ای حل کرده بود ، ولی در رابطه با فورمت داده های مبادله شده بین برنامه ها سکوت اختیار کرده بود.در این راستا تکنولوژی دیگری با نام XDR(eXternal Data Representation)، روشی را جهت تشریح داده های یک برنامه برای برنامه دیگر تعریف نمود. می توان گفت که XDR پیش کسوت XML است . RPC یک روش نسبتا" ساده ، انعطاف پذیر برای پردازش های توزیع شده را ارائه کرد. شاید این سوال مطرح شود که چرا تکنولوژی فوق نتوانست تسلط و چیرگی خود را بر روی پردازش های مبتنی بر Client/Server ادامه و مستمر نماید؟

     

    مدل ارتباطی RPC تسلط مقتدر  خود را در دنیای یونیکس بخوبی ادامه داد  ولی با پیدایش و نیاز به ارتباطات مبتنی بر Client Server ( PC-to-server ) با یک مانع جدی مواجه گردید. مشکل اساسی پروتکل هائی بوند که در اغلب سیستم های Client Server  استفاده می گردید.پروتکل TCP/IP استاندارد تمامی تولیدکنندگان نبود و هر تولیدکننده پروتکل های اختصاصی خود را داشت مثلا؛ شرکت ناول از IPX و شرکت ماکروسافت از NetBEUI استفاده می کردند.چون پروتکل TCP/IP بعنوان استاندارد در دنیای سرویس دهندگان مبتنی بر PC ، هنوز مطرح نشده بود و ارتباطات مبتنی بر RPC گزینه ای مناسب در این زمینه نبودند، چراکه ستون فقرات تکنولوژی فوق بر پروتکل TCP/IP استوار بود. بنابراین در مقطعی با رشد شدید روش های ارتباطی نظیر ODBC  برای دستیابی به بانک های اطلاعاتی ، صف بندی پیامها برای تبادل همزمان ، IPC و … مواجه شدیم . پس از اینکه پروتکل TCP/IP به میدان Client Server قدم گذاشت ، مجددا" ارتباطات مبتنی بر RPC مورد توجه قرار گرفت . در این راستا تکنولوژیهای ارتباطی متفاوتی نظیر : OLE ، Com ، Dcom ، Corba ، J2EE ،‌Java Enterprise ، Tuxedo و… مطرح گردیدنند. تمامی تکنولوژیهای فوق بدنبال ارائه تسهیلات ، انعطاف پذیری و اعتماد سازی بیشتر در برنامه های توزیع شده بودند.  مطلب فوق شاید مهمترین دلیل رویکرد شرکت های عظیم نرم افزاری جهت  ارائه یک ساختار استاندارد برای تولید این عناصر باشد.
    دو مدل استاندارد عمده تاکنون ، در این زمینه مطرح و ارائه شده است .(DCOM(Distributed Component Object Model و CORBA Common Object Request Broker Architecture ، مدل های استاندارد شده در این زمینه می باشند.

    تعاریف و اصطلاحات

    Interface . مجموعه ای از متدها که مسئولیت ارائه عملیات وارائه  قابلیت ها را برعهده خواهند داشت .

    Object class or class . نام مورد نظر  برای پیاده سازی یک و یا چندین اینترفیس

    Object (or object instance . نمونه ئی از برخی کلاس ها

    Object server . پردازه ای که مسئولیت ایجاد و میزبانی نمونه هائی از برخی کلاس ها را برعهده دارد.

    Client . پردازه ای است که  متدی ازیک شی را فرا می خواند

     

    مقایسه DCOM و CORBA
    دو استاندارد فوق از مدل سرویس گیرنده / سرویس دهنده برای ارتباطات خود استفاده می نمایند. در این راستا سرویس گیرنده بمنظور اخذ یک سرویس ، متدی را  توسط یک شی راه دور که بعنوان یک سرویس دهنده در مدل سرویس گیرنده / سرویس دهنده رفتار می نماید ، فرا می خواند.سرویس ارائه شده توسط سرویس دهنده بصورت یک شی کپسوله می گردد. اینترفیس مربوط به شی توسط یک زبان تعریف اینترفیس (IDL) مشخص خواهد شد. اینترفیس های تعریف شده در یک فایل IDL بعنوان یک پیمان ارتباطی بین سرویس دهنده و سرویس گیرنده  ایفای وظیفه می نماید.سرویس گیرندگان با فراخوانی متدهای تشریح شده در IDL با سرویس دهنده ارتباط برقرار می نمایند.در این راستا مدل و نحوه پیاده سازی شی از دیدگاه سرویس گیرنده مخفی نگاه داشته می گردد. برخی از مفاهیم برنامه نویسی شی گراء نظیر : Encapsulation,Polymorphism,Single inheritance در سطح IDL ارائه شده است . تکنولوژی CORBA در سطح IDL از ویژگی Multiple inheritance حمایت می کند.
  • فهرست و منابع تحقیق مقاله چالش های برنامه های توزیع شده

    فهرست:

    ندارد
     

    منبع:

    ندارد

تحقیق در مورد تحقیق مقاله چالش های برنامه های توزیع شده , مقاله در مورد تحقیق مقاله چالش های برنامه های توزیع شده , تحقیق دانشجویی در مورد تحقیق مقاله چالش های برنامه های توزیع شده , مقاله دانشجویی در مورد تحقیق مقاله چالش های برنامه های توزیع شده , تحقیق درباره تحقیق مقاله چالش های برنامه های توزیع شده , مقاله درباره تحقیق مقاله چالش های برنامه های توزیع شده , تحقیقات دانش آموزی در مورد تحقیق مقاله چالش های برنامه های توزیع شده , مقالات دانش آموزی در مورد تحقیق مقاله چالش های برنامه های توزیع شده ، موضوع انشا در مورد تحقیق مقاله چالش های برنامه های توزیع شده
ثبت سفارش
عنوان محصول
قیمت