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

דף ראשי | מפת האתר | רשימת מושגים | מקורות נוספים | אודות
לקוח רזה ולקוח שמן - המשך CORBA

ארכיטקטורות עצמים מבוזרים

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

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

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



תכנת-ביניים כזו מכונה "סוכן גישה לעצמים", ונרחיב עליה בהמשך. בינתיים נמנה את יתרונותיו של מודל העצמים המבוזרים:

  • המודל מאפשר לארכיטקט לדחות החלטות כיצד והיכן יסופקו שירותים.עצמים מספקי שירותים רשאים להימצא בכל צומת ברשת, דבר שהופך את דילמת הלקוח השמן/רזה ללא רלוונטית, היות ואין צורך להחליט מראש היכן תמומש הלוגיקה במערכת.
  • זוהי ארכיטקטורה פתוחה מאוד, המאפשרת הוספה של שרותים ומשאבים נוספים בעת הצורך. כפי שנראה בהמשך, פותחו מספר תוכנות ביניים המאפשרות לעצמים שמומשו בשפות תכנות שונות לתקשר וספק שירותים זה לזה.
  • המערכת גמישה וניתנת להרחבה. ניתן ליצור עותקים נוספים של עצם מספק-שירותים על מנת להתמודד עם עומס רגעי. עצמים חדשים יכולים להתוסף למערכת מבלי ליצור הפרעה כלשהי אצל אלה הקיימים.
  • ניתן לשנות באופן דינמי את תצורת המערכת, על ידי הגירת עצמים לרוחב הרשת לפי הצורך. יכולת זו חשובה על מנת להתמודד עם דרישות משירותים שונים. עצם מספק שירות עשוי להגר אל אותה מכונה בה נמצא עצם אחר שעושה בו שימוש תדיר על מנת לשפר את ביצועי המערכת ולחסוך בתקורת התעבורה ברשת, למשל.
  • לקוח רזה ולקוח שמן - המשך לתחילת הדף CORBA
    ©איתן 2003. כל הזכויות שמורות למערכת המידע איתן