SOA לעומת ESB
SOA הוא קבוצה של מושגים אדריכליים המשמשים לפיתוח ואינטגרציה של שירותים. שירות הוא חבילה מפורסמת של פונקציונליות המוצעת דרך האינטרנט. ESB היא תוכנת תשתית המספקת מבנה ארכיטקטורת תוכנה למתן שירותים בסיסיים לארכיטקטורות מורכבות. אפשר להשתמש ב-ESB כפלטפורמה שעליה מימוש SOA.
מה זה SOA?
SOA (ארכיטקטורה מוכוונת שירות) היא קבוצה של מושגים ארכיטקטוניים המשמשים לפיתוח ואינטגרציה של שירותים. SOA עוסקת במחשוב מבוזר שבו צרכנים צורכים סט של שירותים הדדיים.צרכנים מרובים יכולים לצרוך שירות אחד ולהיפך. לכן, SOA משמש לעתים קרובות לשילוב יישומים מרובים המשתמשים בפלטפורמות שונות. כדי ש-SOA יפעל כהלכה, השירותים צריכים להיות מחוברים באופן רופף למערכות הפעלה ולטכנולוגיות של יישומים בסיסיים. מפתחי SOA יוצרים שירותים תוך שימוש ביחידות פונקציונליות, והופכים אותם לזמינים דרך האינטרנט. ניתן להשתמש בשירותי אינטרנט ליישום ארכיטקטורת SOA. במקרה זה, שירותי אינטרנט הופכים ליחידות הפונקציונליות של SOA הנגישות דרך האינטרנט. כל אחד יכול להשתמש בשירותי אינטרנט מבלי להיות מודאגים לגבי הפלטפורמות או שפות התכנות המשמשות לפיתוחם. SOA בנויה ישירות על העיקרון של שירות אוריינטציה, המדבר על שירותים עם ממשק פשוט שניתן לגשת אליהם באופן עצמאי על ידי משתמשים, מבלי לדאוג לגבי יישום הפלטפורמה בפועל של השירות.
מה זה ESB?
ESB (Enterprise Service Bus) היא תוכנת תשתית המספקת מבנה ארכיטקטורת תוכנה למתן שירותים בסיסיים לארכיטקטורות מורכבות.אבל יש ויכוחים רבים אם לקרוא ל-ESB סגנון אדריכלי או מוצר תוכנה או אפילו קבוצת מוצרים. היא מספקת את השירותים באמצעות מנוע מונע ותקנים להעברת הודעות (שהוא למעשה אפיק השירות). על גבי מנוע ההודעות הזה, מסופקת שכבת הפשטה כדי לאפשר לאדריכלים לנצל את המתקנים שמציע האוטובוס, מבלי לכתוב שום קוד ממשי. ESB מיושם בדרך כלל באמצעות תשתיות תווך מבוססות תקנים.
השימוש במונח "אוטובוס" ב-ESB נובע מהעובדה ש-ESB אכן מספק פונקציה דומה מאוד לאפיק המחשב הפיזי, אך ברמת הפשטה הרבה יותר גבוהה. אחד היתרונות העיקריים של ESB הוא היכולת לצמצם את מספר נקודות הקשר; ובכך, מה שהופך את ההסתגלות לשינויים להרבה יותר קלה. ניתן להשתמש ב-ESB כפלטפורמה שעליה מימוש SOA. ניתן להביא את המושגים של טרנספורמציה/ניתוב (קשור לזרימה) ל-SOA על ידי ESB. יתר על כן, על ידי הוכחת ההפשטה עבור נקודות קצה (ב-SOA), ESB מקדם צימוד רופף בין שירותים.
מה ההבדל בין SOA ל-ESB?
יש כמה הבדלים עיקריים בין SOA ל-ESB. SOA הוא מודל ארכיטקטוני להטמעת יישומים מבוססי שירותים בשילוב רופף. ESB היא תוכנת תשתית שעוזרת למפתחים לפתח שירותים ולתקשר בין שירותים באמצעות ממשקי API מתאימים. ניתן להשתמש ב-ESB כפלטפורמה שעליה מימוש SOA. ESB הוא רק המדיום שדרכו זורמים השירותים. ESB מספקת מתקנים להרכבה ופריסה של שירותים, אשר בתורם מיישמים את ה-SOA.