PDA

View Full Version : com+ , com



amir_paia
سه شنبه 08 آبان 1386, 11:26 صبح
سلام. کسی می دونه com+ چیه و تفاوت اون با com چیه؟ خیلی ممنون

حامد مصافی
سه شنبه 08 آبان 1386, 17:55 عصر
پروژه com+ در سال 91 در مایکروسافت مطرح شد و هدف اون ارتقای com برای تعامل بهتر با همدیگر و (طوری که مایکروسافت در سال 2004 در کنفرانس توسعه دهندگان حرفه ای مطرح کرد) بوجود آوردن متدی برای آینده ویندوز بود.
در سال 1994 و با گرایش آندرو هلزبرگ (طراح و سازنده ++C و دلفی) از بورلند به تیم مایکروسافت این پروژه دات نت نام گرفت! یعنی چیزی که امروزه با نام دات نت می شناسیم تلفیقی از چند پروژه مایکروسافت (+com و +asp و...) است.

mehdi.mousavi
سه شنبه 08 آبان 1386, 20:17 عصر
سلام. کسی می دونه com+ چیه و تفاوت اون با com چیه؟ خیلی ممنون

سلام.
تلفیق COM و MTS رو بهش میگن COM+. این دو تکنولوژی ربطی به DotNet Framework نداره، اگر چه توسط InterOP ها میشه به اونها از طریق کدهای Managed هم دست پیدا کرد. اگر سوالتون رو یه خرده دقیقتر بپرسید، بهتون پاسخ دقیقتری میدم.

amir_paia
سه شنبه 08 آبان 1386, 23:14 عصر
ببخشیدا ولی دو تا نظر اینجا داده شده که یکی میگه دات نت از com+ ساخته شده و یکی میگه ربطی به دات نت نداره. آخرش کدوم درسته؟

گفتید که سوالمو واضح تر مطرح کنم. واضح تر اینکه من اصلا در مورد com هم چیزی نمی دونم اگه یه لینک در مورد com بدین و بعد تفاوتش رو با com+ ذکر کنید خیلی ممنون میشم

mehdi.mousavi
چهارشنبه 09 آبان 1386, 00:44 صبح
ببخشیدا ولی دو تا نظر اینجا داده شده که یکی میگه دات نت از com+ ساخته شده و یکی میگه ربطی به دات نت نداره. آخرش کدوم درسته؟

گفتید که سوالمو واضح تر مطرح کنم. واضح تر اینکه من اصلا در مورد com هم چیزی نمی دونم اگه یه لینک در مورد com بدین و بعد تفاوتش رو با com+ ذکر کنید خیلی ممنون میشم

سلام.
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 بنویسید.

برای یه آشنایی ابتدایی، به این لینک رجوع کنید (http://www.sei.cmu.edu/str/descriptions/com.html). در هر حال، خوندن کتاب David S.Plat رو به همه کسانی که دوست دارن از پایه با این تکنولوژی آشنا بشن، توصیه میکنم.