האתר הישראלי להנדסת תכנה

דף ראשי | מפת האתר | רשימת מושגים | מקורות נוספים | אודות
ארכיטקטורות עצמים מבוזרים CORBA - המשך

CORBA

כפי שציינו, יש צורך בתכנת ביניים המטפלת בתקשורת בין העצמים במערכת, שיתכן ומומשו בשפות תכנות שונות, רצים על מכונות מסוגים שונים ועשויים שלא להכיר זה את שמו של זה. סוכן הגישה לעצמים הוא ה"דבק" המאפשר לעצמים לתקשר למראית עין ללא מאמץ.

ישנם כיום מספר סטנדרטים-בפועל לתכנת ביניים התומכת בחישוב מבוזר עצמים:

  • CORBA - Common Object Request Broker Architecture : זהו אוסף סטנדרטים לתכנת ביניים שהוגדר על ידי קונסורציום OMG – Object Management Group. בקונסורציום חברות מספר חברות בעלות מעמד מרכזי בתעשייה כגון Sun, Hewlett-Packard ו – IBM. התקן מגדיר גישה כללית ובלתי תלויה בחומרה עבור חישוב מבוזר עצמים. קיימים כיום מספר מימושים מסחריים לתקנים והם נתמכים בפלטפורמות רבות (UNIX, Windows ועוד).
  • DCOM - Distributed Component Object Model : זהו תקן שפותח ומומש על ידי Microsoft ומשולב ב – Windows. המודל שלו פחות כללי מ – CORBA והוא מותאם פחות לעבודה מול מערכות הפעלה וארכיטקטורות אחרות.
  • RMI - Remote Method Invocation : זהו התקן של שפת Java לחישוב מבוזר עצמים. היות והשפה כולה אדישה למערכת ההפעלה והארכיטקטורה בה היא פועלת, RMI נהנית אוטומטית מתכונה זו. חסרונו של תקן זה הוא כפיפותו לחוקים הנוקשים של Java, שאינם בהכרח מתאימים לתקנים אחרים.
  • אנו נתמקד בתקן CORBA מכיון שהוא הכללי ביותר. התפיסה של חישוב מבוזר עצמים על פי OMG מוצגת בתמונה להלן:



    כפי שניתן לראות בתמונה, התפיסה הזו מחלקת מערכת כזו למספר מרכיבים:
  • עצמים המהווים את המימוש עבור היישום הנדרש מהמערכת.
  • עצמים תקניים המוגדרים על ידי OMG לתחומים ספציפיים הנמצאים בשימוש רב (כספים, בריאות, מסחר אלקטרוני ותחומים נוספים).
  • שרותי CORBA בסיסיים המספקים שרותי חישוב מבוזר בסיסיים כמו מדריכים, ניהול אבטחה וכו'.
  • תשתיות CORBA אופקיות כגון תשתיות לממשקי משתמש, ניהול מערכת וכד'. המונח "אופקי" בהקשר זה בא לציין את שמישותן הרבה של תשתיות אלה כמעט בכל תחום אפשרי של יישום.
  • תקן CORBA מכסה את כל הצדדים של התפיסה שהצגנו זה עתה. ישנם ארבעה מרכיבים עיקריים בתקן:
  • מודל עבור העצמים ביישום, שבו עצם CORBA הוא מעטפת למצב בצירוף ממשק מוגדר היטב ולא תלוי-שפה, המתואר בקובץ בשפתIDL .
  • סוכן גישה לעצמים המנהל את הבקשות לשירותים הניתנים על ידי עצמים. הסוכן מאתר את העצם המספק את השירות המבוקש, מכין אותו לקראת הבקשה, שולח את הבקשה לשירות ומחזיר את התוצאה למגיש הבקשה.
  • אוסף של עצמים המספקים שרותים כלליים הנמצאים בשימוש תדיר ברוב סוגי היישומים, כמו מדריכים, מנהלי תנועות ושרותי התמדה.
  • אוסף עצמים משותפים הבנויים על גבי השרותים המשותפים שהזכרנו קודם. העצמים האלה יכולים להיות רכיבים כלליים אופקיים בשימוש נרחב או רכיבים אנכיים מיוחדים לתחומם. נרחיב בנושא הרכיבים הללו בהמשך.
  • ארכיטקטורות עצמים מבוזרים לתחילת הדף CORBA - המשך
    ©איתן 2003. כל הזכויות שמורות למערכת המידע איתן