تبلیغات
رویای کودکی
قالب میهن بلاگ قالب میهن بلاگ download  قالب بلاگفا قالب وبلاگ قالب پرشین بلاگ اخلاق اسلامی قالب بلاگ اسکای

رویای کودکی
نظر یادتون نره !!!!!!!!
نظر سنجی
سلام خوش اومدی میشه بگی پسری یا دختر وبلاگ خوبه یا بد ؟






ابر برچسب ها


تهیه و تنظیم : حمیدرضاپاكپور حاجی ها
نیم سال اول 85-84
DCOM
چیست ؟
Distributed COM
از توسعه Component Object Model(COM) ایجاد شده است که برای پشتیبانی از ارتباطات بین اشیا (Object) بر روی کامپیوتر های مختلف به کار می رود . چه بر روی LAN و یا WAN و حتی اینترنت . با استفاده از این امکان کاربرد ها می تواند از نظر مکانی توزیع شده باشند ولی در این حال به صورت یکپارچه به نظر رسند . DCOM یک تحول یکپارچه از COM است که در توانست تکنولوژی component را هدایت کند. شما می توانید از کاربر هایی که بر پایه COM نوشته شدهاست به صورت سرمایه گذاری پر فایده در سطح جهانی استفاده کنید و همه ابزارها و component ها را برای محاسبات توزیع شده (Distributed Computing) استاندارد بکار برد . چرا از DCOM استفاده می کنیم اگر شما یک طراح نرم افزار هستید و یا یک تحلیل گر سیستم هستید و یا یک توسعه دهنده مجدد کاربرد ها در سطح محدود و یا در سطح اینترنت هستید DCOM می تواند کمکتان کند . در جزوه ای که پیش روی شماست یک دید سطح بالایی از کاربرد DCOM که برای حلی مسائل سختی که در کاربرد های توزیع شده به وجود می آید اشاره می کنیم . برای چه کاربردهای توزیع شده نیاز داریم ؟ - برای افزایش تحمل پذیری خطا (Fault-tolerance) در سخت افزار - برای نصب آنها در محیط های گروهی که به خوبی یک سیستم یکپارچه بزرگ عمل کند . - برای مقاومت بیشتر در برابر خطاهای شبکه - برای مطابقت دادن کلاینت های مختلف با توانایی های مختلف و محیطهای متفاوت - برای توزیع بار بر روی شبکه در حالت کلی یک دید سطح بالایی برای حل مشکلات مطرح شده در کابردهای توزیع شده با استفاده از DCOM ارائه می شود . مسائل اصلی مطرح شده در کاربرد های توزیع شده عبارتند از : - Location independence - Connection management - Scalability - Performance - Bandwidth and latency - Security - Load balancing -Fault tolerance - Ease of deployment - Protocol neutrality - Platform neutrality کجا می توانیم DCOM را پیدا کنیم ؟ DCOM در سیستم عامل Microsoft Windows NT version 4.0 وجود دارد و همچنین در سیستم عامل Microsoft Windows 95 هم در سال 1996 قابل دسترس بود . در اواخر سال 1997 نیز در سیستم عامل Macintosh و UNIX نیز قابل درسترس بود . چرا کاربرد های توزیع شده نوشته می شود ؟ برنامه های کاربردی توزیع شده در خودش خلاصه نمی شود و یک نوع جدیدی از طراحی Application های را ارائه می کند . بعضی از کاربرد ها ذاتا توزیع شده است . مانند بازی های چند نفره ، Chat و Teleconferencing ولی بعضی از کاربردهای دیگر نیز توزیع شده است اما به نظر می آید که دو جزع بر روی ماشین های مختلف اجرا می شود . این کار برد ها برای توزیع شده گی طراحی نشده است که در گسترش پذیری محدود شده است . که می توان کاربرد های Client/Server را نام برد . بیشتر کاربرد های سودمند Desktop ضروری است که طوری کنترل شود که کاربر ها بتوانند با هم همکاری و ارتباط داشته باشند . اندیشه این کاربردها و کاربردهای توزیع شده در چنین اجزایی اجرا می شود که بهتر است شبکه و منابع کامپیوتر مورد استفاده قرار گیرد . کاربرد هایی که با تفکر توزیع شده گی طراحی شده است می تواند با Client های مختلفی که دارای توانایی های مختلفی برای اجرای component ها در طرف Client دارد سازگار شود که ممکن است در مواقع لازم در طرف Server نیز اجرا خواهد شد . طراحی کاربردهای توزیع شده به مدیریت سیستم قابلیت انعطاف در گسترش پذیری را می دهد و همچنین کاربرد های توزیع شده در برابر سیستم های یکپارچه بزرگ قابلیت گسترش پذیری دارند . در همه کاربرد های پیچیده که دارای یک مدل واحد هستند . فقط یک راه برای افزایش تراکنش های اجرا شده (throughput) وجود دارد که آن هم استفاده از سخت افزار سریع است . اما امروزه سرورها و سیستم عامل ها خه خوبی قابل گسترش است که اغلب راحت است که ماشین هم شکل دیگری خریداری شود که به سرور متصل است که این دو برابر سرعت ماشین را بالا می برد . با طراحی یک سیستم توزیع شده یک Server می تواند همه component ها را اجرا می کنند . وقتی که بار افزایش می یابد بعضی از component ها به ماشین های کم هزینه ا ضافی گسترش می یابد . معماری DCOM DCOM توسعه یافته COM (Component Object Model) است . com می گوید که component و client ها چگونه با هم تقابل داشته باشند .این تقابل یعنی اینکه componentو client بتواند بدون نیاز به هیچ سیستم میانی به هم وصل شوند . client بتواند متدهای component را فراخوانی بکند بدون هیچگونه سربار اضافی . در این صورت component و client هر دو در یک فرایند قرار دارد در سیستم عاملهای امروزی فرایند ها از همدیگر محافظت می شوند . یک client که نیاز به برقراری ارتباط با component در یک فرایند دیگری قرار دارد داشته باشد نمی تواند به طور مستقیم آن را فراخوانی بکند . اما می تواند بعضی از تسهیلاتی که برای ارتباط بین فرایند ها در سیستم عاملها ارائه شده استفاده کند . com این ارتباط را با روشی کاملا نامرئی (transparent) ارائه می کند که می تواند فراخوانی را از client به سوی component فرایند دیگر ره گیری کند . وقتی که client و component بر روی ماشین های مختلف ساکن باشد DCOM به راحتی ارتباط بین فرایند های محلی (Local Interprocess Communication) را با پروتکل های شبکه جایگزین می کند . هیج کدام از client ها و component ها نمی دانند که سیمی که آنها را به یکدیگر وصل کرده کوتاه است یا بزرگ . در این صورت component و client بر روی فرایند های مختلف در یک ماشین قرار دارد Com زمان اجرا سرویس شی گرای را برای clientها و componentها و کاربر RPC و ارئه کننده امنیت بسته های شبکه را ضمانت می کند . در این صورت component و client بر روی ماشین های مختلفی قرار دارد Componentها و استفاده دوباره کاربرد های توزیع شده نمی توانند در خلا ایجاد شوند . وجود زیر ساخت سخت افزاری و نرم افزاری و کامپوننت ها در حالت کلی ابزارهایی را نیاز دارد تا تکمیل شود و با تلاش زیاد زمان پیشرفت و هزینه کاهش می یابد . COM کامپوننت های com و ابزار های آن را نامرئی می کند . یک فروشگاه از قفسه های غیر فعال کامپوننت ممکن می سازد که زمان پیشرفت به وسیله ترکیب راه حل های استاندارد در کاربرد های معمول کاهش می یابد . اغلب توسعه دهندگان با com آشنا هستند و به راحتی می توانند این دانش را برای کاربردهای توزیع شده بر پایه dcom به کار برند . هر کامپوننت برای قسمتی از کاربردهای توزیع شده که در آینده قابل استفاده مجدد باشد ایجاد می شود . سازماندهی توسعه فرایند ها حول الگوهای کامپوننت ها به شما اجازه می دهد به صورت پیوسته سطح تابعی بودن (functionality) را در کاربرد های جدید و کاهش زمان ایجاد را با مطالعه بر روی کارهای گذشته بالا ببرند . طراحی برای com و dcom اطمینان می دهد که کامپوننت های شما در حال و آینده مفید خواهد بود . - استقلال محلی (Local Independence) وقتی که شما یک کاربرد توزیع شده را در روی شبکه واقعی اجرا می کنید در چنین پیکربندی محدودیت های طراحی آشکار می شود . - کامپوننت هایی که با همدیگر تقابل دارند به همدیگر بستگی دارند - بعضی از کامپوننت ها فقط می توانند بر روی ماشین های خاصی یا در محلهای خاصی اجرا شود - کامپوننت های شبیه فقط قابلیت انعطاف در گسترش پذیری را افزایش می دهد اما آنها ترافیک شبکه را فزایش می دهد - کامپوننت های بزرگ ترافیک شبکه را کاهش می دهد اما قابلیت انعطاف را در گسترش پذیری کاهش می دهد با dcom محدودیت های طراحی موقعیت های بحرانی می تواند حل شود زیرا جزئیات گسترش ، یک کد منبع مخصوص نیاز ندارد . Dcom کاملا از موقعیت کامپوننت ها پنهان است بنابراین آنها در فرایند های یکسانی در کلاینت و یا ماشینها در همه جای دنیا اجرا می شود . در همه موارد روش اتصال کلاینت به کامپوننت و فارخوانی متد های آن به یک شکل است . Dcom صرفا نیاز به تغییر کد منبع ندارد . در واقع برنامه ها برای کامپایل شدن دوباره نیاز ندارد یک پیکربندی دوباره اتصال کامپوننت ها به یکدیگر عوض می کند . استقلال محلی dcom به طور زیادی کار کامپوننت های کاربردی توزیع شده را برای بهینه کردن کارایی سراسری ساده می کند . فرض کنید برای مثال کامپوننت های معین باید بر روی ماشین ها یا محلهای مخصوص قرار گیرد اگر کاربردها کامپوننت های کوچک متعدد داشته باشد شما می توانید بار گذاری شبکه را به وسیله گسترش آنها بر روی بخشهای LAN یکسان کاهش دهید . بر روی ماشین های یکسان یا حتی بر روی فرایند های یکسان . اگر کاربرد ها از تعداد کمی از کامپوننت های بزرگ تشکیل شده باشد بار گذاری شبکه کمتر از این مسئله است . شما می توانید آن را بر روی ماشین سریع قرار دهید کامپوننت تشخیص اعتبار (Validation component) می گوید که چگونه می تواند بر روی ماشین کلاینت گسترش یابد . استقلال محلی با استفاده از استقلال محلی dcom کاربرد ها می توانند کامپوننت های مرتبط را در ماشین های مختلف را که نسبت به همدیگر بسته هستند چه در یک ماشین و یا در فرایند ها مشابه با هم ترکیب کند . هر موقع اگر تعداد زیادی از کامپننت های کوچک به صورت یک طرح منطقی بزرگ اجرا می شود و در این صورت می توانند به صورت موثر بین هر کدام تقابل و ارتباط برقرار کرد . کامپوننت ها می توانند با این حس روی ماشین ها اجرا شوند که رابط کاربر و اعتبار بر روی کلاینت ها باز یا بسته باشد . - بی طرفی زبان (Language Neutrality) یک پی آمد معمول در طول طراحی و اجرای کاربرد های توزیع شده انتخاب زبان یا ابزار ها برای گرفتن کامپوننت است . انتخاب زبان یک مبادله (trade-off) بین هزینه های توسعه و چگونگی دسترسی و کارایی است . توسعه dcom و com کاملا مستقل از زبان است . واقعا هر زبانی می توند برای ایجاد کامپونند های com به کار رود و کامپوننت ها هم می توانند هر زبانی و هر ابزاری را استفاده کند . - مدیریت اتصال (Connection Management) اتصالات شبکه ذاتا بسیار شکننده تر از اتصالات داخل ماشین است . کامپوننت های یک کاربرد توزیع شده نیاز دارند که بدانند وقتی که کلاینت غیر فعال است در این مورد شبکه یا سخت افزار دچار مشکل شده است یا نه . Dcom اتصالات را برای اینکه یک کامپوننت به یک کلاینت اختصاص داده شود مدیریت می کند . همچنین کامپوننت ها می توانند با نگهداری شماره های منابع بین کلاینت ها به اشتراک گذاشته شود . وقتی که یک کلاینت می خواهد با یک کامپوننت ارتباط برقرار کند dcom شماره منبع کامپوننت را افزاریش می دهد . وقتی که کلاینت اتصال را قطع کرد dcom آن را یک واحد کاهش می دهد . وقتی که شمارنده به صفر رسید کامپوننت آزاد می شود . Dcom یک روش موثر برای پروتکل های صدا کردن (pinging protocol) به کار می برد. (در بخش مدیریت اتصال اشتراکی توضیح داده خواهد شد) ماشین کلاینت یک پیغام دوره ای را ارسال می کند . Dcom ملاحضه می کند که اتصال قطع شده است . اگر از زمان صدا کردن دوره ای آن گذشته باشد بدون اینکه کامپوننت بیغام ping را دریافت کند . اگر اتصال شکسته باشد dcom شمارنده منابع را کاهش می دهد . وقتی که شمارنده به صفر رسید کامپوننت ها را رها می کند . به این نقطه توجه کنید که هر گاه کلاینت اتصال را قطع کند و یا یک نقصی در شبکه به وجود آید و یا کلاینت از کار بیفتد اصطلاحا Crash کند به صورت دستی شمارنده منابع تغییر داده می شود . کابرد های می توانند جمع کننده زباله توزیع شده را برای آزاد کردن منابع به کار برند . در موارد بسیاری جریان اطلاعات بین کامپوننت و کلاینت ها یک سویه نیست ، کامپوننت نیاز دارد عملیاتی را در طرف کلاینت انجام دهد . مثل اینکه بداند که چقدر طول می کشد تا فرایند تمام شود و یا بروز کردن داده هایی که کاربر می بیند ( اخبار یا موجودی حساب)و یا پیغام بعدی در یک محیط همکاری مثل Teleconferencing و یا بازی های چند نفره چیست . پروتکل های مختلف روشهای مختلفی را برای انجام این نوع ارتباط متقابل دارد . با استفاده از dcom یک کامپوننت می تواند provider و یا consumer باشد در چنین ماشینهایی ارتباطات برای هر دو نوع دسترسی بهتر است از نوع peer-to-peer باشد که بهتر از ارتباط client/server است . Dcom یک ماشین جمع آوری کننده زباله قوی ارائه می کند که کاملا از دید کاربردها مخفی است . Dcom ذاتا یک پروتکل شبکه متقارن و یک مدل برنامه نویسی است و فقط ارائه کننده یک ارتباط client/server یک سویه نیست . اما همچنین یک سرویس دهنده قوی در ارتباط متقابلی بین کلاینت و سرور و سایر جفت ها (peer) برقرار می کند


.: Weblog Themes By Iran Skin :.

درباره وبلاگ

سلام من لیلا متولد 1368 فارغ التحصیل کارشناسی رشته ی کامپیوتر

گرایش نرم افزار هستم.

امیدوارم مطالب وبلاگ مورد توجه شما عزیزان قرار بگیرد
موضوعات
آمار سایت
  بازدیدهای امروز : نفر
  بازدیدهای دیروز : نفر
  كل بازدیدها : نفر
  بازدید این ماه : نفر
  بازدید ماه قبل : نفر
  تعداد نویسندگان : عدد
  كل مطالب : عدد
  آخرین بروز رسانی :
Google

در این وبلاگ
در كل اینترنت
کد جست و جوی گوگل گوگل کد سرچ

انواع کد های جدید جاوا تغییر شکل موس