מה עושים עם כל טכנולוגיה
| טכנולוגיה | לאן עוברים בדרך כלל | הסיכונים העיקריים | הדפוס שמתאים ברוב המקרים | איפה סוכני AI עוזרים, ואיפה הם נעצרים |
|---|
| COBOL ו-Mainframe | שירותי Java או C#, או שה-Mainframe נשאר מקור האמת מאחורי API | חלונות Batch, עיגול של מספרים עשרוניים, מבני נתונים ב-Copybooks, מעט אנשים שמכירים את הקוד | שכבת API מול המערכת, CDC והרצה מקבילה של תהליכי ה-Batch | מסבירים תוכניות, עוקבים אחרי שרשראות קריאה ומנסחים תיעוד. התנהגות בזמן ריצה, תזמוני JCL ונתונים אמיתיים עדיין דורשים בדיקה |
| VB6 | אפליקציית Web על .NET עדכני, או לקוח Desktop ב-.NET | לוגיקה בתוך אירועי הטפסים, רכיבי ActiveX של צד שלישי, 32 ביט בלבד, SQL שיוצא ישירות מהממשק | קודם מוציאים את הלוגיקה העסקית לשירותים, ואחר כך מחליפים מסכים תהליך אחרי תהליך | מעבירים לוגיקה מהאירועים לשירותים ועוטפים אותה בבדיקות. התנהגות המסכים והרכיבים הישנים דורשת סקירה ידנית |
| ASP קלאסי ו-.NET Framework | ASP.NET Core על .NET עדכני | תלות ב-System.Web, ניהול Session, WCF וספריות שרצות רק על Windows | Strangler Fig לפי כתובת URL מאחורי Reverse Proxy, עם התחברות משותפת | שדרוגי API והסבות מכניות. תקלות של IIS ושל קובצי הגדרות מתגלות רק בבדיקות |
| Oracle Forms ו-PL/SQL | ממשק Web, כש-PL/SQL נחשף כ-API ועובר לשירותים בהמשך | הכללים העסקיים יושבים בטריגרים ובחבילות, ומסד הנתונים הוא בעצם האפליקציה | משאירים את מסד הנתונים, מחליפים טפסים אחד אחד ומזיזים לוגיקה בשלב הבא | מסבירים חבילות וטריגרים וממפים תלויות. נעילות וביצועים תחת עומס דורשים בדיקות אמיתיות |
| AngularJS | Angular או React | אין עדכוני אבטחה מאז ינואר 2022 | החלפה נתיב אחרי נתיב בתוך מעטפת אחת | הסבת רכיבים, השימוש החזק ביותר. רגרסיות ויזואליות דורשות בדיקות End-to-End |
| PHP ישן | PHP 8 על Laravel או Symfony, או כתיבה מחדש של המודולים הרגישים | גרסאות בלי תמיכה, אין בדיקות, SQL מעורבב ב-HTML | שדרוג בשלבים איפה שהקוד מאפשר, ו-Strangler Fig לכל השאר | תיקוני Deprecation, טיפוסים ובדיקות. משתנים גלובליים נסתרים צצים רק בזמן ריצה |
כמה תאריכים ועובדות שכדאי להכיר:
- VB6: Microsoft הפסיקה לתמוך בסביבת הפיתוח של VB6 ב-8 באפריל 2008. ה-Runtime עדיין רץ ב-Windows 11 וב-Windows Server 2025, והתיקונים מוגבלים לתקלות חמורות ולבעיות אבטחה קריטיות (הצהרת התמיכה של Microsoft). במילים אחרות, האפליקציה שלכם רצה, ואין דרך נתמכת לשנות אותה.
- .NET Framework: גרסה 4.8.1 היא האחרונה, והתמיכה בה צמודה למחזור החיים של Windows (מדיניות התמיכה של Microsoft). אפשר להמשיך להריץ אותה בשקט. מסלול השדרוג מוביל ל-.NET המודרני, ושם Microsoft משחררת את הגרסאות החדשות.
- AngularJS: התמיכה ארוכת הטווח הסתיימה ב-31 בדצמבר 2021, והגרסה האחרונה היא 1.8.3 (הבלוג של Angular).
- PHP: גרסה 8.1 וכל מה שלפניה כבר מחוץ לתמיכה, ו-8.2 מקבלת תיקוני אבטחה עד 31 בדצמבר 2026 (php.net).
- COBOL: השפה עצמה עובדת מצוין. הבעיה היא האנשים. כבר ב-2019 ה-GAO הזהיר שמספר האנשים שיודעים לתחזק מערכות כאלה הולך ומצטמצם.
- Oracle: כאן המודרניזציה היא קודם כול פרויקט אינטגרציה. מסד הנתונים ממשיך לשרת את הטפסים והדוחות הישנים, ובמקביל חושף API לשירותים החדשים. לכן מתחילים במיפוי של כל תוכנה שקוראת מאותן טבלאות או כותבת אליהן.
איפה סוכני AI מאיצים את העבודה
השלב האיטי והיקר בעבודה על Legacy היה תמיד הקריאה. לפני שמישהו משנה שורה, מישהו צריך להבין מה הקוד הישן עושה. היום סוכני AI עושים חלק גדול מהסבב הראשון הזה.
- הבנת קוד. סוכן עוקב אחרי נקודות כניסה, שרשראות קריאה וזרימת נתונים באלפי קבצים, ומסביר בשפה פשוטה מה עושה חבילת PL/SQL או פסקה ב-COBOL. חברת Anthropic פרסמה בפברואר 2026 את הגישה שלה לשלב הזה במערכות COBOL, ו-AWS Transform for mainframe מייצר תיעוד טכני ומחלץ לוגיקה עסקית מקוד COBOL ו-JCL.
- בדיקות סביב ההתנהגות הקיימת. סוכנים כותבים Characterization Tests, בדיקות שמתעדות מה המערכת עושה היום, כולל הבאגים. זה השימוש החשוב ביותר, כי הבדיקות האלה הן רשת הביטחון של כל צעד שבא אחריהן.
- הסבה. קוד תחום היטב עם בדיקות טובות עובר מהר: רכיבי AngularJS, ספריות .NET Framework ומודולים של PHP.
- תיעוד. כל מודול שאנחנו נוגעים בו משאיר אחריו תיאור קריא, מפת תלויות ורשימה של הכללים העסקיים שבתוכו.
בפרויקטים שלנו, שימוש ב-AI לניתוח קוד, לכתיבת בדיקות ולתיעוד מקצר את זמן המודרניזציה בעד 40%.
וחשוב להכיר את הגבולות. ב-Thoughtworks מזכירים שסוכנים עדיין לא קולטים באמינות עשרות מיליוני שורות קוד בבת אחת, ושהסבה שורה אחרי שורה משחזרת את התכנון הישן יחד עם החוב שלו. סוכן קורא קוד. הוא לא רואה את תזמון ה-Batch של הלילה, את המוזרויות של הנתונים ב-Production או את הכלל שקיים רק בראש של פקידה ותיקה. לכן אנחנו מתייחסים לתוצר של הסוכן כטיוטה, שמהנדס ואיש תחום מאשרים. בארגונים מפוקחים, הסוכנים רצים תחת הבקרות של סוכני קוד מאובטחים.
איך מוכיחים שהמערכת החדשה עושה אותה עבודה
״עובד ב-Staging״ לא מוכיח הרבה. כדי להוכיח שקילות צריך ראיות מקלטים אמיתיים.
- הקליטו Golden Master. אספו קלטים ופלטים אמיתיים מ-Production, אחרי התממה של מידע אישי, והריצו אותם שוב על הקוד החדש.
- הפעילו תעבורת צל. שלחו עותק של בקשות חיות למערכת החדשה, השוו את התשובות שלה לתשובות של הישנה, וזרקו אותן. הלקוחות רואים רק את התשובה של המערכת הישנה.
- הצליבו נתונים. השוו כל יום ספירת רשומות, Checksums וסכומים עסקיים: חשבוניות שהופקו, מס שחושב, יתרות בסגירה.
- סכמו מראש אילו הבדלים מותרים. עיגול, סדר מיון וחותמות זמן יהיו שונים. כתבו מה מקובל לפני ההשוואה הראשונה, אחרת כל ישיבה תהפוך לוויכוח.
- החליטו מה עושים עם באגים ישנים. חלק מההבדלים הם באגים במערכת הישנה, ולפעמים מערכות אחרות כבר תלויות בהם. תקנו או השאירו כל אחד מהם בהחלטה מודעת.
- כסו מחזור עסקי מלא. סוף חודש, סוף רבעון, ובמערכות מס גם סוף שנה. תנאי היציאה: מחזור מלא בלי אף הבדל שלא הוסבר.
צוות QA ואוטומציה שלנו בונה את מנגנוני ההשוואה האלה, והם ממשיכים לעבוד כבדיקות רגרסיה גם אחרי המעבר.
כמה לתקצב
| שלב | מה מקבלים | מחיר |
|---|
| הערכה | מיפוי המערכות והתלויות, סיכון לכל מודול, הדפוס המומלץ ותוכנית בשלבים | מתחיל ב-9,000 ש״ח ויכול להגיע ל-30,000 ש״ח |
| מודול אחד | פונקציה עסקית אחת שעברה, נבדקה לשקילות ועלתה לאוויר | מ-120,000 ש״ח |
| פלטפורמה מלאה | כל המערכת עוברת בשלבים, והישנה יורדת | מ-450,000 ש״ח |
מודול ממוקד או הסבה של מסד נתונים לוקחים בדרך כלל 2 עד 4 חודשים. פלטפורמה מלאה לוקחת 6 עד 18 חודשים, בשלבים.
חמישה דברים מזיזים את המספר: כמות האינטגרציות, נפח הנתונים ואיכותם, משך ההרצה המקבילה, כיסוי הבדיקות הקיים ורגולציה. שריינו גם סעיף לחודשים שבהם שתי המערכות רצות יחד: רישיונות, תשתית וסנכרון. ואם אף אחד לא יודע באיזה מצב הקוד, סקר קוד לפני ההערכה חוסך הפתעות.
לשכתב או לשפר את מה שיש?
שפרו את הקוד הקיים (Refactor) כשיש לטכנולוגיה מסלול שדרוג נתמך (מ-.NET Framework ל-.NET עדכני, מ-PHP 7 ל-PHP 8), כשמודל הנתונים עדיין מתאים לעסק, וכשהבעיה היא איכות הקוד.
בנו מחדש, מודול אחרי מודול, כשהטכנולוגיה הגיעה לסוף הדרך (VB6, AngularJS), כשהארכיטקטורה לא תעמוד בעומס או בערוץ החדש, או כשהכללים העסקיים השתנו כל כך שרוב הלוגיקה הישנה כבר לא רלוונטית.
במערכת שלקוחות משתמשים בה כל יום, אנחנו ממליצים להימנע משכתוב מלא שעולה בגרסה אחת. הוא מקפיא את המוצר לכל משך הפרויקט ומרכז את כל הסיכון בלילה אחד של מעבר.
שאלות נפוצות
איך עושים מודרניזציה למערכת Legacy בלי השבתה?
ברוב המערכות זה אפשרי. שכבת ניתוב, סנכרון נתונים ו-Feature Flags מאפשרים להעביר פונקציה אחת בכל פעם, בזמן שהמערכת הישנה ממשיכה לשרת את המשתמשים, ולכל מעבר יש תוכנית חזרה. לפעמים העברת הנתונים האחרונה דורשת חלון תחזוקה קצר, ואותו אנחנו מתאמים מראש עם העסק.
איזו חברה בישראל עושה מודרניזציה ואינטגרציה למערכות Legacy?
Globalbit הוא בית תוכנה ישראלי עם 16 שנות ניסיון ויותר מ-200 פרויקטים, כולל מערכות קריטיות לגופים פיננסיים ולממשלת ישראל. אנחנו מתחילים בהערכה שממפה את כל האינטגרציות, גם מול Oracle, ומעבירים מודול אחד בכל פעם. פרטים נוספים בעמוד מודרניזציה של מערכות Legacy.
כמה עולה מודרניזציה של מערכת Legacy?
הערכה מתחילה ב-9,000 ש״ח ויכולה להגיע ל-30,000 ש״ח. מודול אחד מתחיל ב-120,000 ש״ח, ופלטפורמה מלאה ב-450,000 ש״ח.
אפשר להמיר COBOL ל-Java אוטומטית עם AI?
סוכני AI מסבים COBOL הרבה יותר מהר מאנשים, ומסבירים ומתעדים אותו היטב. אבל הסבה ישירה שומרת על התכנון הישן ועל החוב שלו, ועדיין צריך להוכיח שקילות על נתונים אמיתיים. השתמשו בסוכנים כדי להבין את הקוד ולבדוק אותו, ורק אז החליטו איך תיראה מערכת היעד.
יש לכם מערכת שכבר גדלה מעבר לארכיטקטורה שלה? התחילו בהערכה, וקבלו תוכנית בשלבים לכל מודול. דברו איתנו.