רבים וטובים כבר כתבו ואמרו בערך כל מה שאפשר על SOA. ובכל זאת, במסגרת DRים שבצעתי בארגון שמתי לב שראשי הפרויקטים, ראשי הצוותים והמפתחים בטוחים שSOA זו קללה. לכן, העברתי היום הרצאה למקבלי החלטות על SOA מכיוון מעט שונה..
המחשבה מאחורי ההרצאה כדלקמן: איך מעבירים לאנשים ש"סולדים" מארכיטקטים ארגוניים כמוני הרצאה על נושא מתודולוגי כמו SOA, בלי שהם יחזרו לחדר וימחקו את סיכום הדיון/המצגת/הדפים בהם הם ציירו אותי. הגישה הייתה לי ברורה.
הפחד מהרצאות על מתודולוגיות ונושאים ארכיטקטונים
הבנתי מה מפחיד את מקבלי ההחלטות בארגון. להרצאות על מתודולוגיות פיתוח וארכיטקטורה יש בד"כ מטרה ברורה.
המרצה בד"כ מגיע בגישה של "אני תותח. אני שפיץ עולם בכל מה שקשור למה שאני מציג כרגע. אני יודע להגיד מושגים מגניבים שאתם לא מבינים, ואני אדע לענות על השאלות הכי מסובכות שלכם. יותר מזה, אני יכול לחזות את השאלות שלכם ואת התשובות שאתם מצפים לקבל. אני לא בטוח בכלל למה אני מבזבז את הזמן שלי עליכם אבל.. בסוף.. גם אתם תוכלו לחפש בגוגל בלייב חלק מהמושגים שהזכרתי כאן".
מאידך, האנשים שבאים להרצאה כזו (ולא בחרו להיות שם) באים מראש בגישה שלילית. הם באים בתקווה שלפחות מזמן הפורום הזמין כיבוד, ושהם יוכלו להעביר את הפסקת הקפה שלהם בשעה הקרובה תוך שהם מקשיבים לאיזה ילד עם איזה טייטל מגוחך. הם מוכנים לזה שהמציג יתקיף אותם בכל אותם מושגים בהם הם לא מבינים ואולי לא רוצים להבין, ובטוחים שאם יהיו מספיק בשקט - הוא לא ישתמש בהם בתור דוגמא בהרצאה אותה הוא מעביר.
האמת על SOA
הדרך לליבם של האנשים התחילה קודם כל בשבירת המיתוס. הוכחתי להם שאני לא הולך להציג להם משהו חדש. אני לא הולך להציג מוצר חדש. אני לא הולך להמציא גלגל חדש. אספתי רשימה קצרה של מערכות ארגוניות שמדברות בינהן. לקחתי דוגמאות למערכות כאלו שעברו תהליך רענון בשנים האחרונות. הצבעתי על הנקודות הכאובות, שהיו ידועות לכל מי שיש שם. והכי חשוב - אמרתי את משפט המפתח של כל ההרצאה:
כולנו מיישמים SOA כבר 20 שנה
בלי להיות מודעים לזה אפילו, עוד טרם עידן הWSDL והUDDI, ארגונים יישמו SOA. ברגע שנוצרו שירותים ברשת שמהווים קלט לשירותים אחרים שיש להם פלט משל עצמם - נוצר SOA. אז נכון.. זה לא SOA יפה כמו שאנחנו אוהבים לאהוב. זה SOA שמבוסס על Tight Coupling של אפליקציות שיוצרות חיבור TCP ותלויות זו בזו. זה SOA של קבצים בינאריים שנשמרים בתיקיה מסויימת. זה SOA של Adaptors שמתרגמים הודעות מפורמט אחד לפורמט אחר בגלל שעם השנים עברנו מFlat Files לXMLים, ומXMLים לDB וכו'.
אבל השורה התחתונה - לכולנו בארגונים יש מערכות שמדברות בינהן. כולנו מימשנו בלי להרגיש נדבכים כאלו ואחרים של SOA.
מהרגע שהבהרתי את זה ליושבים בחדר, זכיתי בתשומת לבם עד סוף ההרצאה. פתאום.. דיברתי בגובה העיניים. לא הצגתי משהו שהם לא עשו. לא הצגתי משהו שהם לא מבינים. לא התנשאתי והצגתי משהו שאני, הילד עם ה7 שנים נסיון ב.NET וה20 שנה נסיון בBasic יודע והם, מי שניקבו כרטיסים כשאני נהנתי מטעמי גרבר חצופים, לא יודעים.
ובכל זאת.. מה זה SOA?
ובכל זאת.. לא כינסתי פורום מכובד כזה רק בשביל להגיד "תדעו שמה שאתם עושים.. זה SOA". המטרה של ההרצאה שלי הייתה אחת - דעו שמה שעשיתם הוא SOA, ועכשיו.. בואו תראו איך העולם התמודד עם הבעיה הזאת.
כאן הצגתי את מתודולוגית הLoosly Coupling והDeCoupling. כאן דיברתי על WSDL. כאן הסברתי על מוצרים כמו BizTalk, iBolt, WebSphere. כאן הסברתי להם מה החשיבות בתכנון מוקדם יותר. או בכלל.. איך אפשר לתכנן קודם. כאן הראתי להם דוגמאות מהיום יום איך תכנון נכון של מערכות שכל אחד ואחד מהם הכיר, היה יכול לחסוך שנות פיתוח 15 שנה אח"כ, כשבצעו שדרוג שלהן מVMS לWindows.
צורת ההעברה
את החשיבות בשימוש בתקינה בינלאומית (בWSDL) לצורך ייצוג התהליכים הסברתי כמגדל בבל. לקחתי דוגמאות לאפליקציות שונות בארגון שמדברות בינהן. הקבלתי את מערכות הLegacy הארגוניות לשפות. אחת מדברת יידיש, השניה ספרדית. באמצע.. בניתי או"ם שמדבר אנגלית. לאו"ם יש תרגומן ליידיש ותרגומן לספרדית. וכך.. האחת יכולה לדבר עם השניה. מערכת חדשה כמובן תדבר מראש אנגלית. כולם הבינו את החשיבות. הצגה כנמשל שכל אחד בקהל הבין עזרה להסביר את החלק המסובך ביותר. למה צריכים שכבה עסקית שמתווכת בין התהליכים.
ולמה אני כותב את הפוסט הזה דווקא 9.5 שעות לפני שנפתח הכנס?
אני לא רוצה להכליל - ולכן אדבר רק על עצמי, כארכיטקט ארגוני (Enterprise Architect). יש לי הנטיה לסבך דברים. אני אוהב להשתמש בכל המושגים הטכניים "הכי מגניבים" שיש כשאני מסביר דברים. אני חושב שזו בעיה שהרבה מאיתנו סובלים ממנה. איך לפשט את הנושאים המורכבים, ולהציג אותם לבני אדם. כאלו שלא מדברים באפסים ואחדים. היא רלוונטים לא רק לLevel 100. היא רלוונטית לכל חומר שאנחנו רוצים להעביר.
עדיין לא קיבלתי משובים מכל הנוכחים בהרצאה היום.. אבל אלו שקיבלתי היו מעולים. מעולם לא קיבלתי כזה פידבק. בפעם הראשונה, ניסיתי להעביר הרצאה מתוך העם ולא כחוצן. אני ממליץ לכל המרצים מחר בכנס ובכלל.. מי שמעבירים הרצאות בארגונים - לחשוב על ההרצאות לפני.. לנסות להשתמש במוטיבים פשוטים, בנמשלים.. לנסות להציג את הצורך האמיתי.. והכי חשוב - לא לתקוף את הקהל בגישה מתנשאת שגורסת שאתם הולכים ללמד אותם משהו חדש שהם לא ידעו קודם לכן.