המלצות וטיפים לבניית יישומי פורטל GIS ויראליים של ESRI
מאז תחילת פברואר 2020, יתכן ושמתם לב ליישומי אינטנרט רבים כגון דשבורדים ומפות של ESRI אשר נראו בכל עדכוני החדשות, באתרי המדיה ובסוכנויות כמו ארגון הבריאות העולמי בנוגע לנגיף, Covid-19. הסיבה לכך היא ש-ArcGIS Online משמש מקורות מקצועים, ממשלתיים, רפואיים, הציבור הרחב וחברי קהילת ה GIS לשיתוף מידע אודות וירוס הקורונה דרך לוחות מחוונים, אפליקציות ומפות.
יישומים אלה סיפקו מידע חשוב למאות מיליונים – ככל הנראה מיליארדים – אנשים ברחבי העולם.
נוכל לציין לדוגמא את הדשבורד של אוניברסיטת ג'ונס הופקינס, אליו גלשו למעלה מ -1.5 מיליון צפיות בשעה במהלך השבוע של ה- 8 במרץ 2020, תלוי בשעה ביום. לדשבורד זה, אנו בסיסטמטיקס, ייצרנו גרסה מתורגמת לעברית, מותאמת לצפיה במחשב או בסלולר עבור הציבור. גרסה זאת גם הוטמעה בכל המדיות התקשורתיות בארץ.
לקוחות ESRI בישראל בנו יישומי פורטל ויראלים נוספים להתמודדות עם משבר הקורונה כגון:
- מפת תחלואה ארצית (רמזור) ומפת חיסונים ארצית לפי פריסת יישובים של משרד הבריאות
- מפת רמזור החלטות ממשלה ומפת חינוך של פיקוד העורף
- 500 מטר – יישום למדידת מרחק מהבית שהכנו בסיסטמטיקס
- מפת מיקום עסקים פתוחים ברשויות מקומיות
- ועוד …
חלק מהיישומים פורסמו על פלטפורמת הפורטל בענן ArcGIS Online שבנוי על תשתית אמינה וניתנת להרחבה אשר תומכת בכמות תעבורה גדולה באינטרנט, וחלק מהיישומים פורסמו בפורטל הארגוני.
יישומים ויראלים הם לא רק יישומים לקהל מחוץ לארגון, אלא כל יישום שמופץ לכמות אנשים גדולה אשר בזמן קצר ניגשים וצורכים מידע ממנו.
בבלוג זה נתווה שיטות עבודה מומלצות בכדי להבטיח שיישומים ויראלים אשר אתם בונים עבור קהל משתמשים גדול, אכן יעמדו במשימה.
מהו בעצם יישום ויראלי
זוהי הגדרה מאוד סובייקטיבית, אישית ובעיקר מותאמת לארגון עבורו מפתחים את היישום.
יהיו כאלו שיגידו 500 צפיות ביישום בשעה, אחרים 1000 צפיות ואולי בכלל 50 אלף צפיות בשעה?
חשוב לנסות ולהגדיר לעצמכם:
- האם היישום צפוי להיות מופץ לקבוצת אנשים מסויימת (גדולה או קטנה) אשר יצפו בו בזמן מאוד קצר, יצטרכו להיות מחוברים או לעבוד עם היישום באופן קבוע ובעומס רב?
- האם זהו בכלל יישום לתפוצה רחבה בתוך הארגון?
- אולי היישום הוא עבור תפוצה מחוץ לארגון? ויכול להיות שללא כוונה מראש היישום יהפוך לויראלי.
- גם אם לא תוכלו לדעת בוודאות או להעריך את קצב העבודה עם היישום, ביישומים שמועדים להיות ויראלים חשוב לדעת ולהתכונן לקראת PEAK (שיא גלישה ליישום) אשר עלול להגיע…
מה השיקולים שיש לחשוב עליהם בזמן תכנון ובניה של יישום ויראלי-
מסר –
הדבר הראשון לפני בניית יישום ויראלי הוא לחשוב מה ה "סיפור", מה המטרה, מה המסר שאותו אתם רוצים להעביר למי שישתמש ביישום. מומלץ לחשוב על מסר אחד מרכזי ולא לייצר יישום ענק שמתכלל בתוכו מידע רב.
קהל היעד –
הדבר הבא הוא קהל היעד. מי קהל היעד שלכם? אנשים ספורים בתוך הארגון או תפוצה רחבה? לבעלי הרשאות גישה או צפיינים ללא הרשאות? מה הרקע של הקהל שישתמש ביישום? אנשי GIS, מנתחי GIS, אנשים עם רקע ב GIS שמכירים את הכלים? או רק מתחום הידע שבו עוסק היישום? או הציבור הרחב באופן כללי?
חובה לקחת בחשבון את האפשרות שעלול להיות קהל יעד "לא צפוי", לדוגמא מנסיוננו בתקופת הקורונה, דשבורד אינפורמטיבי הופץ בכל העולם באמצעות ערוצי מדיה מקומיים או עולמיים ומלבד חשיפה ענקית היה צורך להוסיף מידע ולהסביר מה רואים, מה מקור הנתונים ומה משמעותם.
חווית משתמש –
שיקול חשוב נוסף הוא מה החוויה שתרצו שתועבר למשתמשים ביישום שלכם.
כיצד יצפו ביישום –
בדסקטופ השולחני? במובייל? יישום מוטמע בתוך דפי מידע HTML אחרים?
כיצד המשתמש אמור לעבוד עם היישום- האם היישום מכיל רק מידע לצפיה? או מידע לעריכה?
מה אתם כאנשי ה GIS שאחראים על היישום רוצים שהמשתמש יפיק או יידע מהיישום בזמן השימוש ולאחר השימוש?
כיצד כדאי שיראה היישום (ויזואליזציה): איזה חלוניות מידע (POPUPS) להכין- פשוטות או מורכבות.
האם יש צורך בניתוח מידע בתוך היישום? להחליף מפות בסיס? לחקור מיקומים? לחקור מידעים? לשלב אפשרות הדפסה? לאפשר הפניות למקורות נוספים ועוד ועוד שיקולים שיש לחשוב עליהם…
KISS –
המלצה חשובה עבור יישומים ויראלים ובכלל, על מנת שיישום יהיה אפקטיבי ויעיל למשתמש כדאי לתכנן ולבנות יישום פשוט, קל, נגיש, מובן ולא מתוחכם, על מנת להצליח ולהעביר את המסר.
לסיכום השיקולים שיש לקחת בחשבון לקראת תכנון ובנייה של יישום ויראלי יכולים להתקבץ תחת שלוש קטגוריות –
פונקציונאליות (2) נראות מותאמת (ויזואליזציה) (3) ביצועים מהירים.
אנו נתחיל עם ההמלצות ליישומים אשר מתארחים בפורטל הענן ArcGIS Online
רשימת "מכולת" / צ'ק ליסט שמומלצת על ידי מומחי ESRI:
- עבור יישום ויראלי לציבור הרחב הפתרון התשתיתי הנכון ביותר הוא להשתמש בענן של ESRI כלומר בArcGIS Online .
- יש להשתמש ב- ArcGIS Online כדי לפרסם שכבות FEATURE או TILE מתארחות, כולל שכבות תצוגה (שכבות (VIEW על מנת לאחסן את השכבות את המפות וכמובן את יישומי האינטרנט.
- יש לשתף את השכבות כפתוחות לכלל הציבור וללא הרשאות גישה, הדבר יאפשר שימוש בבקרת מטמון CDN) : (Content Delivery Network .
- יש לודא שהגדרות של עריכה, סנכרון ועקיבה מושבתות בכל השכבות המתארחות הכלולות ביישום.
- אל תכלול מסננים (פילטר) של תאריך יחסי עם המפה, השכבה ו / או היישום.
- במפות, אל תכלול מסננים המכילים את הפעולות "בסוף" או "לא אחרון".
- ביישומים של Web AppBuilder, אל תכלול את הפעולות "האחרון", "לא האחרון", "היום", "אתמול" ו"מחר "בעת שימוש בווידג'ט פילטר.
- מומלץ להשתמש במסנני תכונות ATTRIBUTE במקום במסננים מרחביים בעת הצגת נתונים המתעדכנים לפי מיקום. לדוגמא, אם ברצונך להציג את מיקומי האוכלוסי שיש לפנות בעת אירוע מזג אויר קיצוני או שריפות, מלחמה וכו' צריך לסנן את הערכים לפי מדינה או שם אזור ולא להשתמש בתיחום המפה.
התיחום של אזור הוא רעיון טוב, אבל לא תמיד נותן מענה אמיתי למיקום שצריך ובעיקר הוא פוגע בביצועים של יישום, דבר שלא נרצה שיקרה ליישום ויראלי.
- סמן את השכבות, המפות והיישומים כמהימנים בהגדרות הפריט בפורטל הענן.
- לשיפור ביצועים מומלץ (1) לייעל שרטוט שכבה (2) להשתמש ב attribute index
חשוב לציין שעבור יישומים ויראלים ברמה אזורית, ארצית או עולמית כדאי להשתמש בפוליגונים פשוטים, כבר בהכנת השכבות בבסיסי הנתונים וב MXD לפני הפרסום לשרת. אלו אולי פוליגונים פחות מדוייקים מבחינת שרטוט לדוגמא של גבול עיר- אבל מבחינת המסר עדיין יובן לאיזה אזור התכוונו והכי חשוב שלא תהיה פגיעה בביצועים.
אם אתה מגדיר מסנן תכונות ליישום עם מערך נתונים גדול (יותר מ -2000 תכונות), אפשר ליצור אינדקס תכונות עם השכבה. אם האינדקס נוצר לפני הפרסום (ב- ArcMap או ArcGIS Pro) השכבה "תירש" את אותן הגדרות בעת פרסומה.
המלצות נוספות ליישומים מסוג לוח מחוונים (דשבורד):
- גישה ליישום, במיוחד אם הוא מוטמע באתרים אחרים, באמצעות URL כללי של פורטל האון ליין arcgis.com
- הגדרת שדה נוסף מסוג טקסט לתאריכים, במידה ויש צורך לבצע סינון והצגה לפי תאריך.
אז בואו נסביר מה זאת בקרת מטמון או באנגלית CDN, כיצד מגדירים בפורטל האון ליין ולמה זה חשוב במיוחד ליישומים ויראלים:
ניתן להגדיר 3 רמות של מטמון או "קש" כאשר אנו עובדים באינטרנט-
- רמת הדפדפן – כלומר המשתמש שגולש. כולנו מכירים את יכולת ניקוי ה"קש" שלעיתים מתבקשת כדי לטעון מחדש יישום.
- CDN – רשת שמחזיקה את המידע הזה מבוזר בענן.
- רמת השרת – או במקרה שלנו המידע של השכבות בתוך רכיב SERVER ו/או בסיס הנתונים.
כאשר יש בקשה מיישום למידע מתבצעת קודם בדיקה האם לדפדפן יש את המידע המעודכן ביותר, אם לא יחפשו אותו בענן ב CDN ואם לא יפנו לשרת אשר לפי הצורך יפנה לבסיס הנתונים.
ניתן להבין שאם עבור כל "פניה" ליישום צריך לחזור אחורה עד לרמת השרת- הדבר עולה בביצועים.
כאשר יש לנו יישומים אשר מראים מידע, נגיד נקודות של מתחמים מסוימים, והמידע הזה מתעדכן פעם ב תקופה מסויימת, בין שניות לשעות וימים, אין סיבה שבכל פעם שנפנה ליישום נבקש לקבל את המידע המעודכן מהשרת.
אנו יכולים באמצעות בקרת המטמון להגדיר ליישום באיזה דחיפות לגשת לכל רמה של שמירת מידע ובכך לשפר את ביצועי היישום שלנו. זוהי יכולת חשובה ביותר ליישומים ויראליים.
מומלץ להגדיר את בקרת המטמון כך שתיישר קו עם תדירות עדכון הנתונים שלך בדף הגדרות השכבה. כברירת מחדל, שכבות ציבוריות מוגדרות ל -30 שניות. אם הנתונים שלך מתעדכנים כל רבע שעה, הגדר את בקרת המטמון ל 15 דקות.
חשוב לציין שיש יכולות של שימוש ב CDN גם למערכת ENTERPRISE ARCGIS שלדוגמא מותקן בענן אמזון, ניצן למצוא קישור למידע זה בלינקים המצורפים.
המלצות ליישומים ויראלים בפורטל הארגוני:
התמקדנו בעיקר בפורטל הענן של ESRI, המומלץ ביותר ליישומים ויראלים לציבור הרחב.
אך יש פעמים רבות שבהם היישום נמצא בשרת הארגוני ועדיין בעל פוטנציאל להיות ויראלי מבחינת כמות המשתמשים שיפנו אליו בתוך הארגון.
חשוב להכיר המלצות חשובות ברמת ממשק רכיב ה-SERVER שיכולים לעזור לנו לייצר יישומים כאלו:
- האדמין של המערכת חייב להבין ולדעת מה יכולות השרתים מבחינת זיכרון , דיסק ו CPU.
- POOLING –
בהתאם להבנת יכולות המערכת המותקנת בארגון ניתן להגדיר עבור SERVICES אשר מיועדים לשרת יישומים ויראלים ערך גבוה יותר של SOC כלומר של אינסטנסים, רכיבים שיספקו את המידע.
ערך ברירת המחדל בעת פרסום שירות הוא פתיחה של מקסימום 2 SOC לשירות. בזמן פרסום שירות, או לאחר הפסום בממשק ניהול השרת ניתן לשנות את הגדרת הערך הזה ולהגדיל לפי הצורך.
- סטטיסטיקות –
שימוש בנתוני סטטיסטיקות בממשק ניהול השרת, יהוו אינדקציה לגבי עומס על שירותים ויכולים לסייע לנו להחליט האם לשנות הגדרות לשירותים אלו.
מומלץ שאנשי ה-GIS שמנהלים (עם הרשאת אדמין) את המערכת יכירו הגדרות אלו וישתמשו בהם בחכמה ובעיקר עבור יישומים ויראלים או עם פוטנציאל להפוך לויראלים.
בדיקות מומלצות ליישומים ויראלים לפני הפצה:
באופן כללי צריך לבדוק –
שיש גישה ליישום עם הרשאות אך בעיקר ללא הרשאות כולל גלישה בחלון אנונימי.
שכל החלקים ביישום פועלים כרגיל וכפי שמצופה ותוך כדי מענה לשיקולים שדנו בהם קודם.
system test –
כלי שפותח בקהילת ESRI –
הכלי מיועד לבדיקות רק ליישומים בפורטל הארגוני ולא בפורטל הענן של ESRI.
באמצעות כלי זה מקליטים את הפקודות שעוברות בהפעלה של יישום מסוים – למשל אם יש דשבורד איטי. טוענים את ההקלטה לכלי ומגדירים הרצה, שתדמה מספר משתמשים בו זמנית שמריצים את הפקודות. למשל, להתחיל עם 100 משתמשים ועד 600 משתמשים, כאשר כל דקה מוסיפים עוד 50 משתמשים.
בסיום ההרצות מתקבל דוח אקסל עם טבלאות וגרפים, שמנתחים את הביצועים, זמני תגובה, עומס על המשאבים ועוד.
נדרש ניתוח מעמיק ומספר נסיונות, כדי להבין מהו צוואר הבקבוק בתהליך.
חלק מהניטור הוא גם בדיקת המשאבים של שרתי בסיסי הנתונים המשתתפים.
כלי המוניטור של ESRI –
הכלי מחובר באופן קבוע לרכיבי המערכת ומנטר אותם.
בכלי מגדירים מדדים של כל רכיבי המערכת (בסיס נתונים, שרת, פורטל, מעבדים, זכרון, רשת ועוד). מפעילים רצוף לאורך זמן. מגדירים בתוכו ספים שבהם ישלחו התראות במידה ויש חריגה מהם. בעזרת הכלי מקבלים מידע רציף על המערכת וכיצד המערכת "מתנהגת" כאשר המצב תקין על מנת לזהות מצב חריג.
צריך לזכור ששיפור ביצועים זה לא קסם, צריך לבדוק כל רכיב בנפרד במערכת: בסיס נתונים, שכבות, שירותים, מפות ויישומים על מנת להבין מה גורם לבעיה.
לסיכום –
הסברנו מה זה יישום ויראלי והראנו דוגמאות מהארץ ומהעולם. סקרנו את השיקולים שיש לקחת בחשבון בזמן תכנון ובניה של יישומים ויראלים. הסברנו והדגמנו מה ההגדרות המומלצות ברמת השכבה המפה והיישום עצמו וסקרנו את אפשרויות הבדיקות שניתן לבצע.
אנו מחכים לשיתופים שלכם ביישומים ויראלים מוצלחים!
לשימושכם מידע נוסף ניתן למצוא בלינקים הבאים:
הגדרות והמלצות ליישומים ויראלים :
הגדרות והמלצות לבניית דשבורד ויראלי:
https://doc.arcgis.com/en/dashboards/reference/build-highly-scalable-dashboards.htm
https://doc.arcgis.com/en/dashboards/create-and-share/dashboard-urls.htm
CDN:
https://doc.arcgis.com/en/arcgis-online/manage-data/manage-hosted-feature-layers.htm#CDN
CDN בענן של אמזון, עבור ARCGIS ENTERPRISE :
סרטונים והרצאות של ESRI בנושא יישטמים ויראלים:
https://www.esri.com/videos/watch?videoid=1lev6JB9M-w
https://www.youtube.com/watch?v=WpAknnK93EA
https://proceedings.esri.com/library/userconf/fed19/papers/fed_93.pdf
כלי בדיקה:
https://www.arcgis.com/home/item.html?id=e8bac3559fd64352b799b6adf5721d81