لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه: 19
فهرست و توضیحات:
چالش های برنامه های توزیع شده
سیر تکامل پردازش های توزیع شده
تعاریف و اصطلاحات
مقایسه DCOM و CORBA
سرویس های وب
رویکرد جدید در برنامه های توزیع شده
کالبد شکافی سرویس های وب
چالش های برنامه های توزیع شده
همزمان با رشد وب ، عمومیت یافتن استفاده از کامپیوترهای شخصی و پیشرفت های مهم در زمینه دستیابی به شبکه های با سرعت بالا ، پردازش های توزیع شده بشدت مورد توجه قرار گرفته است . در این نوع پردازش ها ، همواره می بایست بر دو اصل مهم تاکید و راهکارهای مناسب را دنبال کرد. اولین مسئله توجه به معماری مبتنی بر 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 ، مدل های استاندارد شده در این زمینه می باشند.
این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید
دانلود تحقیق کامل درمورد چالش های برنامه های توزیع شده