SOA לעומת שירותי אינטרנט
שירותי אינטרנט משמשים לבניית יישומים שיכולים לשלוח/לקבל הודעות באמצעות SOAP דרך HTTP. שירות אינטרנט הוא חבילה מפורסמת של פונקציונליות המוצעת דרך האינטרנט. SOA היא קבוצה של מושגים ארכיטקטוניים המשמשים לפיתוח ואינטגרציה של שירותים. ניתן להשתמש בשירותי אינטרנט כדי ליישם SOA. אבל זו רק שיטה אחת למימוש יישומים מבוססי SOA.
מהם שירותי אינטרנט?
שירות אינטרנט הוא שיטת תקשורת דרך הרשת. לפי W3C, שירות אינטרנט הוא מערכת ייעודית לתמיכה בעסקאות מכונה למכונה דרך רשת.זהו API של אינטרנט המתואר ב-WSDL (שפת תיאור של שירות אינטרנט), ושירותי אינטרנט הם בדרך כלל עצמאיים ומתארים את עצמם. ניתן לגלות שירותי אינטרנט באמצעות פרוטוקול UDDI (תיאור אוניברסלי, גילוי ואינטגרציה). על ידי החלפת הודעות SOAP (Simple Object Access Protocol) בדרך כלל באמצעות HTTP (עם XML), מערכות אחרות יכולות לקיים אינטראקציה עם שירותי אינטרנט.
שירותי אינטרנט משמשים במספר דרכים כגון RPC (שיחות פרוצדורות מרחוק), SOA (ארכיטקטורה מוכוונת שירות) ו-REST (העברת מדינה ייצוגית). קיימות שתי מתודולוגיות עיצוב אוטומטיות לפיתוח שירותי אינטרנט. הגישה מלמטה למעלה עוסקת תחילה ביצירת המחלקות ולאחר מכן בשימוש בכלים ליצירת WSDL כדי להרכיב את המחלקות הללו כשירותי אינטרנט. הגישה מלמעלה למטה עוסקת בהגדרת מפרטי WSDL ולאחר מכן שימוש בכלים להפקת קוד ליצירת המחלקות המתאימות. לשירותי אינטרנט יש שני שימושים עיקריים. הם יכולים לשמש כרכיבי יישומים הניתנים לשימוש חוזר ו/או לחיבור יישומי אינטרנט הפועלים על פלטפורמות שונות.
מה זה SOA?
SOA (ארכיטקטורה מוכוונת שירות) היא קבוצה של מושגים ארכיטקטוניים המשמשים לפיתוח ואינטגרציה של שירותים. SOA עוסקת במחשוב מבוזר, שבו צרכנים צורכים קבוצה של שירותים הדדיים. צרכנים מרובים יכולים לצרוך שירות אחד ולהיפך. לכן, SOA משמש לעתים קרובות לשילוב יישומים מרובים המשתמשים בפלטפורמות שונות. כדי ש-SOA יפעל כהלכה, השירותים צריכים להיות מחוברים באופן רופף למערכות הפעלה ולטכנולוגיות של יישומים בסיסיים. מפתחי SOA יוצרים שירותים תוך שימוש ביחידות פונקציונליות, והופכים אותם לזמינים דרך האינטרנט. ניתן להשתמש בשירותי אינטרנט ליישום ארכיטקטורת SOA. במקרה זה, שירותי אינטרנט הופכים ליחידות הפונקציונליות של SOA הנגישות דרך האינטרנט. כל אחד יכול להשתמש בשירותי אינטרנט מבלי להיות מודאגים לגבי הפלטפורמות או שפות התכנות המשמשות לפיתוחם. SOA בנוי ישירות על העיקרון של אוריינטציה שירות, המדבר על שירותים עם ממשק פשוט שניתן לגשת אליהם באופן עצמאי על ידי משתמשים מבלי לדאוג לגבי יישום הפלטפורמה בפועל של השירות.
מה ההבדל בין SOA לשירותי אינטרנט?
יש כמה הבדלים עיקריים בין שירותי אינטרנט ל-SOA. שירותי אינטרנט מגדירים טכנולוגיית אינטרנט שניתן להשתמש בה לבניית יישומים שיכולים לשלוח/לקבל הודעות באמצעות SOPA דרך HTTP. עם זאת, SOA הוא מודל ארכיטקטוני להטמעת יישומים מבוססי שירותים בשילוב רופף. ניתן להשתמש בשירותי אינטרנט כדי ליישם יישומי SOA. למרות שגישת שירות האינטרנט ל-SOA הפכה לפופולרית מאוד, זוהי רק שיטה אחת ליישום SOA. ניתן ליישם SOA באמצעות כל טכנולוגיה מבוססת שירות אחרת (למשל CORBA ו-REST).