מעדכנים שירותים ל-Pro Runtime, מבלי להסתבך
שירותי Web GIS שפורסמו מ-ArcGIS Pro רצים על "מנוע", המכונה Runtime, שונה מזה של שירותים שפורסמו מ-ArcMap. שירותים מבוססי ArcMap runtime לא ייתמכו בגרסאות ArcGIS 2022 והלאה.
במאמר זה, המיועד בעיקר לאדמיניסטרטורים של הפורטל הארגוני, אסביר בקצרה על ArcGIS service runtimes, אציג דרכים שונות לעדכון ה-runtime של שירותי GIS, ואת האפשרות לבטל את התמיכה ב-ArcMap runtime בהתקנת שרת קיימת.
1. ArcGIS Service Runtime
שירותי web GIS בשרת ה-ArcGIS – למשל שירות מפה, feature, geoprocessing או geocode – רצים על "מנוע" המכונה ArcGIS service runtime. שירותים שפורסמו מ-ArcGIS Pro מבוססים על runtime שונה משירותים שפורסמו מ-ArcMap. בגרסאות שרת 10.4-10.9.1, שני ה-runtimes כלולים ונתמכים וניתן להריץ שירותים משני הסוגים, ולהמשיך ולפרסם שירותים מ-ArcMap. הגרסה הנוכחית, 10.9.1, היא הגרסה האחרונה שתכלול ותתמוך בשניהם.
*הערה – קיים סט שלAPIs ליצירת אפליקציות בשם ArcGIS runtime API – מדובר במוצר אחר שאינו נושא המאמר.
דוגמאות כיצד רואים מה ה-service runtime בגרסאות ArcGIS Server שונות
גרסאות ArcGIS 2022 שיצאו בהמשך השנה והלאה כבר לא יתמכו בפרסום שירותים מ-ArcMap, או בהרצה של שירותים שפורסמו מ-ArcMap לפני שדרוג השרת. כלומר, אם יש לכם שרת בגרסה ישנה יותר (נניח 10.8.1) שאליו פרסמתם שירותים מ-ArcMap, תהיו חייבים לבצע פעולה כלשהי על השירותים האלו לפני שדרוג השרת לגרסת ArcGIS 2022 או חדשה יותר. הפעולה יכולה להיות עדכון ה-runtime, פרסום השירות מחדש, מחיקת השירות (אם הוא כבר לא רלוונטי) – אבל משהו יצטרך לקרות כדי שתוכלו להמשיך להשתמש בשירות הזה גם אחרי שדרוג השרת.
כדי להקל על התהליך, גרסאות 10.9, 10.9.1 (שיצאו בשנה הקודמת) כוללות מה ש-ESRI מכנים "migration tooling" – כלים ועזרים לעדכון שירותים מבוססי ArcMap runtime ל-Pro runtime, מבלי לפרסם אותם מחדש. הכלים האלו יכולים לשמש גם לתכנון של הפעולות שיש לבצע לקראת שדרוג, ולבדיקות מוכנות למעבר לגרסה הבאה.
2. איך לעדכן שירותים
א. כלי עדכון ואבחון אוטומטי
הכלי הראשון שעומד לרשותנו הוא command line utility בשם UpdateArcMapServices שנכלל עם התקנת השרת בגרסאות 10.9, 10.9.1. לכלי זה שני מצבי הרצה: analysis לאבחון השירותים, ו-execution לעדכון ה-runtime של השירותים ל-Pro runtime.
בהרצה במצב analysis, שהוא גם ברירת המחדל, הכלי מייצר דו"ח עם פירוט השירותים שניתן לעדכן באמצעותו והשירותים שדורשים איזושהי פעולה לפני שיוכלו לעבור עדכון – כולל קוד והסבר על הבעיה באותם שירותים.
הדו"ח לא מציג שירותים מבוססי Pro runtime, שלא צריך לעדכן, ולא שירותים שלא ניתן לעדכן באמצעותו – כלומר שירותים שדורשים פרסום מחדש, שאליהם נגיע בהמשך. סוגי השירותים שניתן לעדכן באמצעות כלי זה הם:
- Map services (with or without KML enabled)
- Feature services (map services with feature access enabled)
- WMS services (map services with WMS enabled)
- WCS services (map services with WCS enabled)
- WFS services (map services with WFS enabled)
- Network Analysis services (map services with Network Analysis enabled)
- Image services
- Geodata services
את השניים האחרונים אפשר לעדכן רק באמצעות כלי זה, ולא באופן ידני (שנראה בהמשך).
בהרצה במצב execution, הכלי מעדכן את ה-runtime של כל השירותים שנמצאו מוכנים לעדכון, ומייצר דו"ח דומה הכולל גם את תוצאות העדכון.
שימו לב – שירותים מבוססי Pro runtime יכולים לרוץ על shared או dedicated instances, כלומר, להשתמש במשאבים ייעודיים לשירות או במשאבים מתוך מאגר שמשותף לכמה שירותים. בעדכון השירותים ל-Pro runtime באמצעות כלי זה, סוג ה-instance שמוקצה לשירותים הוא לפי מה שמוגדר בשרת כברירת המחדל. אם למשל ברירת המחדל היא shared instances, לאחר הרצת הכלי כל השירותים שיעודכנו ירוצו על משאבים משותפים. אפשר לשנות את הגדרת ברירת המחדל של השרת או לערוך שירותים ספציפיים לאחר העדכון.
ב. עדכון ידני
שיטה נוספת לעדכון ה-service runtime היא דרך ממשק ה-server manager בגרסאות 10.9, 10.9.1. כשלוחצים על שירות מבוסס ArcMap runtime רואים הודעת אזהרה בראש העמוד שמזכירה שהשירות צריך לעבור עדכון. תחת הכותרת service runtime יש אפשרות לעריכת ה-runtime: בלחיצה על סימן העיפרון אפשר לבחור ב-Pro runtime ואחרי שמירה ואתחול השירות הוא ירוץ על Pro runtime. השירותים הנתמכים הם אלו שהופיעו ברשימה קודם מלבד השניים האחרונים.
ניתן להחזיר את השירות שעודכן ל-ArcMap runtime באותה דרך, אך זה אפשרי באופן ידני בלבד. כמו כן, לא ניתן לערוך runtime של שירות שבמקור פורסם מ-Pro, אבל אין ממש סיבה לעשות את זה. הודעת האזהרה מופיעה בכל השירותים מבוססי ArcMap runtime, גם אם אלו שירותים שלא ניתן לעדכן דרך ה-server manager או הכלי. ההודעה שם כדי להזכיר שהשירות כמו שהוא כרגע לא יעבוד בגרסאות עתידיות.
יש שירותים שלא צריך לפרסם מחדש אבל מצריכים פעולה נוספת לפני שאפשר לעדכן את ה-runtime שלהם. אלו שירותים עם הרחבות SOE, SOI ושירותים עם יכולת schematics שיוצאת מתמיכה. כשמנסים לעדכן את ה-runtime שלהם דרך ה-server manager, מקבלים הודעת אזהרה נוספת עם הפעולות הדרושות. לאחר ביצוען ושמירה, אפשר לעדכן את השירות לפרו runtime מאותו מקום.
החל מגרסת ArcGIS 2022 לא תהיה תמיכה ב-ArcObjects SOE/SOI, אלא רק בכאלו שפותחו באמצעות ArcGIS Enterprise SDK. אם יש לכם עוד הרחבות ArcObjects, צריך להתכונן ולהתאים אותן לפני שמשתדרגים לגרסה הבאה.
ג. שירותים שלא ניתן לעדכן
את סוגי השירותים הבאים אין ברירה אלא לפרסם מחדש מ-Pro:
- Geoprocessing
- Geocode
- ArcGIS Workflow Manager (Classic) services
- Raster catalogs
- Time-enabled layers created by the Tracking Analyst extension
- Data stored in IBM Informix or IBM Db2 for z/OS
3. ביטול ArcMap runtime בהתקנה קיימת
בגרסת 10.9.1 בלבד ניתן לשנות את התקנת השרת ולהסיר את התמיכה ב-ArcMap runtime. פעולה זו מסירה גם את התקנת Python 2.x של השרת. הסרת ArcMap runtime עוזרת לדמות את מצב השרת בגרסאות ArcGIS 2022 והלאה, כך שאפשר להבין אילו שירותים יעבדו ואילו לא. זה שימושי בעיקר לשלב בדיקות, לאחר עדכון ופרסום מחדש של כל מה שצריך. זו פעולה הפיכה ואם יש עוד שינויים דרושים לאחריה, אפשר להוסיף מחדש את רכיב התמיכה ב-ArcMap runtime ולתקן מה שצריך.
4. סיכום
- גרסת Enterprise או שרת 10.9.1 היא האחרונה שתומכת בשירותים מבוססי ArcMap runtime. הגרסאות שיצאו החל מהשנה יתמכו רק בשירותים מבוססי Pro runtime.
- יש להיערך מראש לשינוי הזה, לבדוק מה מצב השירותים בארגון שלכם, לעדכן מה שאפשר בכלים הייעודיים ולפרסם מחדש מה שצריך.
- בגרסאות 10.9, 10.9.1 יש כלים שעוזרים בתהליך הזה, לכן אם זו אפשרות עבורכם, מומלץ בחום לעבור דרך אחת הגרסאות האלה.
- אחרי עדכון השירותים הקיימים, יש לעבור לפרסם מ-ArcGIS Pro כדי להימנע מעבודה כפולה. באופן כללי, מומלץ לעבור לעבוד ב-Pro ככל הניתן.
- כרגיל, אם אנחנו כאן כדי לסייע ולייעץ 🙂
מידע נוסף:
- הקלטת סמינר בנושא – כולל הדגמות
- בלוג: Migrating services to the ArcGIS Pro-based runtime in 10.9.x
- תיעוד: Migrating services to the ArcGIS Pro service runtime
- מסמך טכני: Manually migrating services runtime
- בלוג: Migrating ArcObjects SOEs and SOIs to ArcGIS Enterprise SDK
- בלוג: ArcMap Runtime Support: To disable or not to disable?