رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تکنولوژی های com dcom com+ comserver
#1
COM مخفف Component Object Model و تکنولوژی مایکروسافت برای پیاده سازی توزیع شده برنامه های کاربردی یا قطعات تشکیل دهندهء آنهاست . COM با RPC قدیمی محیطهای یونیکس سازگار است و از پروتکل غنی شده ای که پایهء آن مبتنی بر RPC است استفاده میکند .

DCOM مخفف Distribured Component Object Model و راهکار مایکروسافت برای پیاده سازی توزیع شده برنامه های کاربردی با بستر شبکه ای است که تقلیدی ضعیف از CORBA بوده و قابلیتهای چندانی نداشت . DCOM منسوخ شده است .

+COM که بر پایهء MTS کار میکند راهکار جدید مایکروسافت برای تولید برنامه های توزیع شده در محیطهای ویندوزی است که علاوه بر تحمل خطای بالا و قابلیت مدیریت خوشه ( Cluster manegment ) امکانات خوبی در اختیار برنامه نویس قرار میدهد . امروزه از کام پلاس بیشتر برای پیاده سازی لایه دوم نرم افزاری های گسترده سه لایه استفاده میشود .

COM Server عنصری است که یک یا چند COM را نگهداری میکند و وظیفه اش میزبانی برنامه های کاربردی ست که تمایل دارند از این اشیاء استفاده نمایند . بطور ملموس و به عنوان مثال inetinfo.exe یا services.exe در ویندوز اکس پی دو کام سرور هستند که فانکشنالیتی های حیاتی ویندوز ( در اولی آی آی اس و سرویسهای مربوطه و در دومی بیش از 15 سرویس اصلی ویندوز ) را عملیاتی میکنند .

منبع
[عکس: <a href=www.Mojsazan.com.gif]" class="mycode_img" />
پاسخ
سپاس شده توسط behnaz
#2
+COM نسخه ارتقاء یافته تکنولوژی COM مایکروسافت هست، و با ویندوز 2000 معرفی شد. برای اینکه بدونید +COM چیه، باید اول بدونید COM چی هست، و سپس ببینید +COM چه چیزی به COM اضافه کرده.

COM تکنولوژی هست برای فراهم کردن رابط برنامه نویسی شی گرا، و مستقل از زبان در سیستم عامل ویندوز تا از این طریق بخش های مختلف برنامه ها، یا خودِ برنامه ها با هم، بتونند ارتباط برقرار کنند، حتی اگر زبان های برنامه نویسی استفاده شده برای هر یک از آنها متفاوت باشه. فرق COM با DLLهای معمولی ویندوز در این هست که هر چند DLLها مستقل از زبان برنامه نویسی هستند، ولی قادر به رد و بدل کردن اشیاء نیستند. در واقع DLLها نمی توانند رابط برنامه نویسی شی گرا ارائه کنند، و فقط قادر به اشتراک گذاشتن توابع هستند. COM در داخل سیستم عامل ویندوز، و نرم افزارهای تولید شده توسط مایکروسافت زیاد استفاده شده؛ مثلا Shell ویندوز که رابط کاربر گرافیکی ویندوز هست برپایه COM بنا گذاشته شده. نرم افزارهایی مثل مجموعه Office و Internet Explorer هم از COM به شکل گسترده ایی استفاده می کنند. مثلا همین که شما می تونید به راحتی از برنامه های Office مثل Word در داخل برنامه های خودتان استفاده کنید، یا از داخل برنامه خودتان به آنها فرمان بدید، بخاطر رابط COMایی هست که این برنامه ها ارائه می کنند.
بطور کلی برنامه هایی که در سیستم عامل ویندوز قصد به اشتراک گزاری یک سری اشیاء یا ارائه رابط برنامه نویسی برای سایر برنامه ها را داشته باشند، معمولا از COM استفاده می کنند. مثلا Yahoo Messenger یک سری رابط COM در سیستم کاربر نصب میکنه. برنامه Yahoo Messenger فقط یک پوسته هست که برای انجام کارهای خودش با این رابط ارتباط برقرار میکنه، یعنی بطور تئوری شما می تونید یک Yahoo Messenger جدید بنویسید که با همین رابط COM ارتباط برقرار میکنه. اموری مثل ارتباط با سرور یاهو توسط این رابط COM انجام میشه، و برنامه شما با آنها درگیر نمیشه. البته گفته شد بطور تئوری چون یاهو مستندات مرتبط با رابط کاربر COM خود را بطور عمومی منتشر نکرده، و شما خودتان باید با سعی و خطا بررسی کنید که هر شی یا هر متد و خصوصیت موجود در آن شی چه کاری انجام میده، و چطور عمل میکنه.

تکنولوژی های مهمی برپایه COM شکل گرفتند، مثلا OLE و ActiveX که در زبان های برنامه نویسی مختلف استفاده میشه، برپایه COM هستند؛ به عنوان نمونه، کلاس TWebBrowser دلفی در واقع رابط ActiveX مربوط به Internet Explorer را در اختیار برنامه نویسان دلفی قرار میده. ADO که از آن برای اتصال به بانک های اطلاعاتی مختلف استفاده می شود، هم برپایه COM و ActiveX هست.

DCOM یا Distributed COM این امکان را فراهم میکنه که بشه از اشیاء COM ارائه شده در سیستم های ویندوزی مختلف در داخل یک شبکه، مثل اشیاء COMایی که در داخل کامپیوتر خودمان قرار دارند، استفاده کنیم. مثلا در یک برنامه چند لایه که هر لایه نرم افزار بر روی یک یا چند سیستم وجود دارند، میشه از طریق DCOM بین این لایه ها ارتباط برقرار کرد.

+COM قابلیت هایی را به COM اضافه کرد؛ مثل افزایش امکانات امنیتی، و افزایش قابلیت های کار با بانک های اطلاعاتی و Transactionها.

بعدها مایکروسافت تکنولوژی دات نت را ارائه کرد که یکی از اهداف آن جایگزینی COM بود.

هنوز هم از COM بطور گسترده در تکنولوژی های مایکروسافتی و نرم افزارهای مبتی بر این تکنولوژی ها استفاده میشه.

از معایب DCOM این هست که یک استاندارد اختصاصی محسوب میشه، نه یک استاندارد باز، و فقط هم در سکوهای ویندوز پشتیبانی میشه، در نتیجه اگر بخشی از نرم افزار بر روی سیستمی غیر ویندوزی مستقر باشه، یا قرار باشه یک سیستم غیر ویندوزی با اتصال به یک سیستم ویندوزی به تبادل اطلاعات با نرم افزار ما بپردازه، نمیشه از DCOM برای این منظور استفاده کرد. یکی دیگه از مشکلات این تکنولوژی پیچیدگی زیاد آن هست، هم در یادگیری، هم پیچیدگی در نصب و راه اندازی آن بر روی سیستم های مقصد. بطور کلی؛ COM در ویندوز نقش مهمی داره، ولی لزوما تکنولوژی دلچسب و محبوبی نیست.

منبع
[عکس: <a href=www.Mojsazan.com.gif]" class="mycode_img" />
پاسخ
سپاس شده توسط
#3
COM مخفف کلمات Component Object Model هست و نام یه تکنولوژی هستش که اجازه به اشتراک گذاشتن کدهای باینری رو میده. به این معنی که شما میتونید یه Component به زبان C++‎ بنویسید، و از اون در Visual Basic، زبانهای Scripting، محیط Dotnet و ... استفاده کنید بدون اینکه نیاز باشه اونو مجدد Compile کنید یا تغییری در اون ایجاد کنید. خیلی از افراد این تکنولوژی رو معادل CORBA در Java و رقبای مایکروسافت برای تولید نرم افزارهای DNA میدونستن.

Component ها میتونن بصورتهای مختلف عرضه بشن، مثلا exe، dll، ocx و مثلا ax. میتونن NT-Service باشن. میتونن Local-Server، Inproc و یا Remote باشن. (به این آخری میگن DCOM). میشه اونها رو از ابتدا توی C نوشت، یه بکمک MFC اونها رو پیاده سازی و اجرا کرد. اما اکثریت ترجیح میدن با استفاده از STL و بکمک ATL اونها رو پیاده سازی کنن.

اما COM+، در واقع همونطوری که گفتم، مجموع MTS و COM هستش. MTS همون Microsoft Transaction Server هستش که قبلا بعنوان بخشی از DNA معرفی شده بود. این سرویس اجازه میداد تا بشه کامپوننتهای Transactional پیاده سازی کرد. بعد به برنامه های Loosely Coupled نیاز شد، و اینجا بود که مایکروسافت سرویس MSMQ رو ارائه داد. این سرویس نیز بخشی از DNA بود... بعدها، مایکروسافت با ادغام این سرویسها و تکنولوژیها، COM+ رو بوجود آورد. COM+ همون COM هستش، با این تفاوت که Declarative Security رو پشتیبانی میکنه، Transaction ها رو هم به همچنین. یعنی دیگه برای enlist شدن تو یه transaction، درد سرهای MTS رو ندارید و خیلی راحتتر میتونید یه Transactional Component بنویسید.

برای یه آشنایی ابتدایی، به این لینک رجوع کنید. در هر حال، خوندن کتاب David S.Plat رو به همه کسانی که دوست دارن از پایه با این تکنولوژی آشنا بشن، توصیه میکنم.

منبع
[عکس: <a href=www.Mojsazan.com.gif]" class="mycode_img" />
پاسخ
سپاس شده توسط


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان