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

תוכן שנמחק תוכן שנוסף
תיקון קישור לפירושונים
שורה 4:
Directory service הוא למעשה [[מסד נתונים]] ש[[רשומה]] בו יכולה להתייחס ל[[אובייקט (מדעי המחשב)|אובייקט]]ים כלשהו כגון אדם, מקום, שירות, או מחשב. כדי לסייע בארגון המידע, רוב שירותי הספרייה אוגרים את המידע בצורת [[עץ (תורת הגרפים)|עץ]] היררכי.
 
בתחום [[הנדסת תוכנה|הנדסת התוכנה]], ספריהספרייה (Directory) מאד דומה בהגדרתה ל[[מילון]] (Dictionary) היא מאפשרת חיפוש שם (Name) ומידע אודות אותו שם. כמו שלמילה במילון יכולות להיות כמה הגדרות מילוניות, ב-Directory, ניתן לשייך נתונים שונים ורבים לאותה מילה.
 
בנוסף, כמו שמילה יכולה להיות חלק מ[[משפט (בלשנות)|משפט]] ולהשפיע על משמעות המשפט, שם ב-Directory יכול להכיל סוגי מידע שונים ואם נשתמש בתיאור הבסיסי הזה כדי להסביר מה היא Directory, נוכל לומר ש"שירות ספריהספרייה" (Directory Service) היא בעצם [[תוכנה]] אשר מאכסנת, מארגנת ומאפשרת גישה למידע אשר אגור בתוך ספריהספרייה (Directory).
 
ספריות יכולות להיות מאד קטנות ולהכיל רק כמות קטנה מאד של [[נתונים]] והגדרות נתונים, או גדולות מאד ולהכיל כמות אין סופית של צמתי נתונים (Data Node) והגדרות נתונים (Data Type). לדוגמה, במאגר של [[מספר טלפון|מספרי טלפון]], צמתי הנתונים יהיו שמות האנשים בעוד שסוג הנתונים יהיה מספרי הטלפון. דוגמה נוספת הינההיא מערכת ה-[[DNS]], בה צמתי הנתונים הינםהם שמות [[דומיין]] (Domain) או [[כתובת אינטרנטURL|כתובות אינטרנט]].
 
בספריהבספרייה אשר תשמש את מערכת ההפעלה של המחשב שלכם, צמתי הנתונים ייצגו משאבים אשר מנוהלים על ידי מערכת ההפעלה, כולל שמות משתמשים, שמות מחשבים, מדפסות ומשאבים משותפים אחרים. מאז המצאת האינטרנט, נעשה שימוש בסוגי ספריות שונות אולם אנחנו נתבסס על אלו אשר התבססו על פרוטוקול ה-X.500.
 
שירות הספרייה הפשוט ביותר נקרא שירות שמות (Naming Service) ומטרתו היא למפות שמות של משאבי רשת לכתובות הרשת שלהם. בשימוש בסוג זה של ספריהספרייה, המשתמש לא צריך לזכור את כתובת הרשת המלאה של כל משאב ומשאב ויכול להשתמש בשם קצר כדי לאתר את המשאב.
 
אנו מתייחסים לכל משאב ברשת כאובייקט (Object) בספריהבספרייה. מידע אודות אותו משאב ספציפי נשמר בצורה של מאפיינים (Attributes) של אותו אובייקט. ניתן להגביל את הגישה למידע של אובייקטים על ידי מתן הרשאות (Permissions) לאותו אובייקט.
 
ספריות מתוחכמות יותר עוצבו כדי שיכילו נתונים נוספים מעבר לאובייקטים כדוגמת שירותים (Services), התקנים (Devices), הגדרת תפקיד (Entitlements), הגדרות (Preferences), תוכן (Content) ועוד. את השימוש בספריות מעין אלו ניתן למצוא במערכות אשר מטפלות בתחום ניהול הזהויות (Identity Management).
שורה 20:
שירות ספריות מגדיר את ה-namespace של הרשת, Namespace הוא מעין מכל וירטואלי אשר מחזיק אובייקט/ים ושומר מידע אודות יחסי הגומלין ביניהם.
 
תהליך העיצוב של ספרייה (Directory) מתבסס, בדרך כלל, על סדרה של חוקים אשר קובעים כיצד משאבי רשת יקבלו שם וכיצד יזהו אותם. אחד החוקים הבסיסיים ביותר קובע שכל השמות חייבים להיות ייחודיים וחד משמעיים. בפרוטוקולי ה-X.500 וה-LDAP, השם של האובייקט נקרא Distinguished Name או DN בקיצור. ה-DN משמש להצבעה על אוסף מאפיינים (Attributes) אשר ביחד מרכיבים רשומה אחת (שם) בתוך הספרייה.
 
שירות ספריהספרייה הינוהוא שירות שיתוף מידע תשתיתי אשר משמש לאיתור, ניהול וארגון של אובייקטים של משאבי רשת כגון תיקיות, קבצים, מדפסות, משתמשים, קבוצות, התקנים, מספרי טלפון ועוד. השירות מהווה חלק חשוב ביותר במערכת ההפעלה של הרשת (Network Operation System – NOS). במקרים קיצוניים יותר, שירות הספרייה משמש במאגר המידע העיקרי של Service Delivery Platform (או SDP בקיצור). לדוגמה, חיפוש אחר "מחשבים" תוך שימוש בשירותי ספריהספרייה יכול לספר מידע אודות המחשבים עצמם וכיצד ניתן לגשת אליהם. ל-"שכפול נתונים" (Replication) ו"הפצת נתונים" (Distribution) יש משמעות מיוחדת בתהליך התכנון והניהול של שירותי הספרייה. המושג "שכפול נתונים" מתאר מצב בו ה-Namespace של ספריהספרייה אחת מועתק (Copy) לשרת ספריהספרייה אחר כדי לעמוד בתסריטים בהם אחד השרתים מפסיק לעבוד או כדי לשפר ביצועיים. תהליך העתקת ה-Namespace מנוהל על ידי אותה סמכות (Authority). "הפצת נתונים" (Distribution) הינוהוא תהליך בו שרתי ספריהספרייה רבים, המחזיקים Namespaces שונים מאוחדים יחדיו לספריהלספרייה אחת כאשר כל Namespace אחראי על סמכויות שונות.
 
== השוואה בין שירותי ספריהספרייה למסדי נתונים יחסיים ==
ישנם כמה מאפיינים אשר מבדילים בין שירותי ספריהספרייה רגילים למסדי נתונים יחסיים. כמובן שישיש יוצאים מן הכלל, אבלאך באופן כללי ניתן למצוא את ההבדלים הבאים:
 
* המידע בתוך ספריהספרייה נקרא יותר פעמים מאשר שכותבים אותו, דבר אשר הופך סוגיות כגון טרנזקציות (Transactions) ואחזור נתונים (Rollback) לפחות חשובות.
* ניתן לשכפל את המידע אם הפעולה עוזרת לשיפור הביצועים.
* בגללמאחר שעיצוב מודל הנתונים בצורה היררכית יכול להיות מסובך ועלות העיבוד שלו יקרה, שירותי ספריהספרייה מסוימים יחפשו אובייקטים תוך שימוש במאפיינים (Attributes) שלהם ואז יציגו את הנתונים לפי דרישה.
* שירותי ספריות רגילים לא תומכים ביחסי רבים-לרבים (Many-to-Many) ולכן הם משתמשים ב-{{משמאל לימין| Distinguished Names (DN)}} או מזהים אחרים. הדבר דומה לשימוש ב-Foreign Key במסדי נתונים יחסיים.
* במקום, ההיררכיות שתוארו בפרוטוקול ה-X.500 נחשבו לבעיות ביחס לעיצוב הנתונים במאגרי נתונים יחסיים. אולם, מודלים של מבנה נתונים מסוג אובייקטים במאגרי מידע, מבוססי Java מודרניים המשתמשים בתכנון מונחה עצמים (Object Oriented) ו-XML מוכיחים שהספריות מתפתחות בשונ לתכנון המקורי שלהן.
שורה 38:
** השימוש במאפיינים ו-objectClasses מוסדר על ידי שימוש במספרים חד-חד ערכיים המסופקים על ידי ארגון ה-IANA. לכן, חברות המפתחות אפליקציות המבוססות על מודל הספרייה, ישאפו להשתמש במאפיינים שכבר הוגדרו כבר כדי לחסוך עלויות.
** מאפיינים מקושרים ל-Namespaces. כלומר כל objectClass יורש את המאפיינים של ה-objectClass מעליו (ולבסוף את המאפיינים של ה-objectClass הרמה העליונה ביותר דבר אשר מוסיף מאפיינים נוספים.
** שירותי ספריהספרייה רבים נמצאים בשימוש בתכנון אבטחת המידע בארגונים גדולים ולכם יש להם זיקה רבה למאפיינים חשובים כגון שליטה בגישה למידע (Access Control).
 
== השונה בין שירותי ספריהספרייה למסדי נתונים יחסיים ==
 
מבחינה ארכיטקטורית, ההבדל העיקרי בין שני סוגי מאגרי המידע האלו הוא שאפליקציה אשר מתבססת על מאגר מידע יחסי מתוכננת להשתמש במודל מידע מסוים יחידני (יחסי), בעוד שספריהשספרייה מחזיקה "מזהים" מיוחדים עבור אובייקטים אפליקציות שונות יכולות להשתמש בהם באופן שונה.
השימוש בשירות ספריהספרייה (Directory Services) יתבצע בארגונים המכילים משאבי רשת רבים שצריך לנהל אותם וזאת במטרה לחסוך עלויות וליעל את העבודה. בין הדוגמאות למשאבי רשת מסוג זה ניתן למצוא חשבונות משתמש, פנקסי כתובות, רשימות כוח אדם, הגדרות, תפקידים, מוצרים ושירותים, התקנים, פרופילים, מדיניות, מספרי טלפון וכדומה.
 
מסיבות מובנות, תהליך עיצוב הספריות ומאגרי המידע היחסיים שונים מאד האחד מהשני. מודלים של תכנון נתונים במאגרי מידע יחסיים נוטים יותר להיות בנויים עבור דרישות החברה ותהליכי העבודה שלה כגון הצגה מותאמת אישית של נתונים, גישה מהירה, והאפשרות לגשת לנתונים בכל מקום ברשת. לעומת זאת, התפקיד של מודל בניית הנתונים הוא לאפשר שימוש תוך הסבר מינימאלי וכאן נכנס ההבדל המהותי בקנה המידה.
ניתן למצוא אינדיקציה טובה בתהליך העיצוב של מאגרי מידע יחסיים בכמות המאגרים העצומה אשר בשימוש בשוק למטרות שונות. לעומת זאת, חברות שרוצות לנהל זהויות בתוך הארגון שלהם ולחשוף שירותים שונים ללקוחות יעדיפו את מבנה הספריות.
 
== דוגמאות שונות לשימוש בשירותי ספריהספרייה ==
 
שירותי הספרייה היוו חלק מיוזמת ה-Open Systems Interconnection (או OSI). בשנות ה-80 של המאה שעבר, ארגון ה-ITU וארגון ה-ISO הציגו את פרוטוקול ה-X.500 אשר היווה את הבסיס לכל שירותי הספרייה הקיימים כיום. המטרה הראשונה של הפרוטוקול הייתה שימוש בהעברת הודעות אלקטרוניות בתוך הרשת הארגונים וחיפוש משאבי רשת תוך שימוש בשמות. פרוטוקול ה-LDAP מבוסס על הגדרות מבנה הספרייה ב-X.500 אולם משתמש בהגדרות פרוטוקול ה-TCP/IP וקידוד מחרוזות תווים המגודרים בפרוטוקול ה-DAP מה שמקשר אותו יותר לעולם האינטרנט. לאורך השנים ניתן למצוא יישומים שונים של שירותי הספרייה מחברות שונות בהם ניתן למצוא מערכות מפורסמות כגון ה- DNS, Active Directory, Novell's eDirectory, Sun NIS ועוד.
 
 
== ראו גם ==