COM – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
WikitanvirBot (שיחה | תרומות)
Orrling (שיחה | תרומות)
אין תקציר עריכה
שורה 2:
'''COM''' (ב[[אנגלית]] [[ראשי תיבות]] של: '''Component Object Model''' - מודל האובייקטים של הרכיבים) - [[תקן]] טכנולוגי של חברת [[מיקרוסופט]], המיועד ליצירת [[תוכנה]] על בסיס שיתוף פעולה של רכיבים מבוזרים, שבכל אחד מהם ניתן להשתמש ב[[תוכנית מחשב|תוכניות]] רבות באותו זמן. בבסיס הטכנולוגיה רעיונות [[פולימורפיזם (תוכנה)|רב-צורתיות]] ו[[כימוס]] של [[תכנות מונחה עצמים]] (OOP). טכנולוגית COM היא אוניברסלית ולא תלויה ב[[פלטפורמה]], אך השימוש בה רווח בעיקר ב[[מערכת הפעלה|מערכת ההפעלה]] "[[חלונות]]" לגרסאותיה. בגרסאות החדשות של "חלונות" השימוש ב-COM רווח מאוד, ואף פותחו על בסיסה סטנדרטים נוספים, כמו [[ActiveX]], [[DCOM]], [[+COM]], [[OLE automation]].
 
== היסטוריה ==
המודל COM פותח על ידי מיקרוסופט ב-[[1993]] כבסיס להתפתחותה של טכנולוגיית [[OLE]]. טכנולוגיית OLE 1.0 איפשרה יצירת [[מסמכים מורכבים]] (compound documents), לדוגמה ניתן היה להוסיף ל[[Microsoft Word|מיקרוסופט וורד]] טבלאות מתוכנת [[אקסל]]. טכנולוגית COM הייתה אמורה לתת אחידות לתהליך שילוב, הכנסה וקישור של אובייקטים משולבים אלה וכן לשמור על סטנדרט אחד בכל המוספים, המשתמשים באובייקטים משולבים אלה.
 
=== שינוי השם ===
ב-[[1996]] מיקרוסופט החליטה לשנות את השם [[OLE]] ל-ActiveX בכל יישומיו. הדבר לא עלה בידיה לגמרי. טכנולוגית OLE השתמשה ברכיבי בקרה (OLE Controls, או OCX), שהם רכיבים שהיה בהם שימוש חוזר ב[[ממשק משתמש]], המבוססים על טכנולוגיית COM, כשמיקרוסופט שינתה את שמם של OLE controls ל-ActiveX Controls, סיומת .ocx לקבצים מסוג זה נשארה. מיד אחר כך מיקרוסופט התחילה לעודד שימוש ברכיבי ActiveX בגרסה החדשה של ה[[דפדפן]] [[אינטרנט אקספלורר]], והשם OLE נשאר רק לטכנולוגיית מסמכים מורכבים ואובייקטים המשולבים מקומית. OLE - אובייקטים רשתיים שינו את שמם ל-ActiveX.
 
== יסודות פעולת ה-COM ==
ביסוד טכנולוגיית COM עומדים רכיבי COM, או "COM components". למעשה תוכניות שנבנו על ידי COM אינן תוכניות עצמאיות, אלא רכיבי COM המתקשרים אחד לשני בזמן ביצועם. לכל רכיב יש מזהה אישי ([[GUID]]), ובו יכולים להשתמש באותו זמן תוכניות שונות. הרכיב מתקשר עם תוכניות אחרות דרך ממשק COM, שהוא רשימה של מאפיינים ו[[פונקציה (תכנות)|שגרות]] שונות. כל תוכנית COM חייבת לתמוך לפחות בממשק הבסיסי "IUnknown", שמאפשר פעולות בסיסיות לעבודה עם רכיבים.
 
בתוך [[Application Programming Interface|Windows API]] ישנן פונקציות בסיסיות המאפשרות לעבוד עם רכיבי COM. בספריות [[MFC]] ובמיוחד בספריות ATL/WTL ישנן פונקציות גמישות יותר לעבודה עם COM מאשר ב-API. ספריית [[ATL]] של מיקרוסופט היא האמצעי הנוח ביותר ליצירת רכיבי COM ועבודה איתם. למרות זאת לפעולות רבות עם COM עדיין דרושה עבודה ידנית, הדבר נכון במיוחד כשמנסים לשלב רכיבי COM בקובצי [[C++]]‎. מיקרוסופט מנסה לפשט את התהליך בגרסת [[+COM]], ובמיוחד [[net.]]
 
== התפתחות ה-COM ==
ב-[[1996]] יצאה לאור טכנולוגיית DCOM (קיצור של Distributed COM), המבוססת על טכנולוגיית [[DCE/RPC]], ונחשבת כהתפתחות של COM. טכנולוגית DCOM מאפשרת לרכיבי COM לתקשר דרך הרשת. המתחרה העיקרי של טכנולוגיה זו היא סטנדרט [[CORBA]] של קבוצת [[OMG]].
 
== +COM ==
כחלק מ[[חלונות 2000]] יצאה טכנולוגיית +COM, שביסודה תוספת בביטחון ובתפוקה של הטכנולוגיה. טכנולוגיה זו נותנת תמיכה בזרימות ברמה גבוהה יותר, וגישה לקונטקסט, שבה מתבצע הרכיב (לדוגמה, הרכיבים הפועלים על [[ASP]] מקבלים גישה לאובייקטים הפנימיים של העמוד שעליו הם מתבצעים). כמו כן, +COM מאחד רכיבים למוספי +COM, מה שמפשט ניהול הרכיבים ותמיכה בהם.
 
== Net. ו-COM ==
ב-[[2002]], לאחר יצירת פלטפורמת Net. מיקרוסופט התחילה להמליץ על שימוש בפלטפורמה זו ליצירת מוספים תחת חלונות. Net. ו-+COM אמורות להיות טכנולוגיות שמשלימות אחת את השנייה. ב[[חלונות ויסטה]] שיצאה ב-[[2007]] בטכנולוגיית COM במסגרת net. קיימת תמיכה מלאה בטכנולוגיות COM ו-Net.
 
== קישורים חיצוניים ==
* [http://msdn2.microsoft.com/en-us/library/ms680573.aspx הסבר על COM], אתרבאתר מיקרוסופט
 
[[קטגוריה:תכנות מונחה -עצמים]]
 
[[en:Component Object Model]]
אוחזר מתוך "https://he.wikipedia.org/wiki/COM"