ממשקים ועיבודים ביישום צד השרת של הייפר

מערכת התוכנה SYE Hyper RAP מורכבת ממספר יישומים, הפועלים יחדיו בשיתוף פעולה הדוק ומחליפים מידע בזמן אמת.
התקנת הייפר כוללת יישום צד שרת (בשם Hyper_Automation.exe) שבלעדיו תהליכים קריטיים בתוכנה לא יתבצעו (תעבורת דוא"ל, מסרונים, סליקת כ. אשראי ועוד).
ברשימת המשתמשים של הייפר שמו תמיד יהיה ERP_Automaton ואליו מופנים אירועים רבים בזמן אמת.
להלן סכמת מבנה ההתקנה של הייפר: SYE Hyper RAP applications schema
* לצורך נוחיות ההדרכה וקיומם של תכנים היסטוריים, יישום צד השרת עלול להיקרא גם "Hyper Automation" או "Hyper Server Side".

רשימת תחומי האחריות של יישום השרת

  • תעבורת דואר אלקטרוני: בין המודולים של הייפר לבין שרתי הדואר, לרבות שירותים נפוצים כגון GMAIL ו- office365.
    המודול מתייק אוטומטית את ההודעות בכל תיקי הלקוחות והספקים והפרויקטים שאנשי הקשר שלהם נכללים ברשימת הנמענים של ההודעה.
  • תעבורת מסרונים (SMS): החוצה וגם פנימה (באמצעות אנדרואיד) בין המודולים של הייפר לבין חברות הסלולאר וספקי API בעולם.
    המודול מתייק אוטומטית את ההודעות בכל תיקי הלקוחות והספקים והפרויקטים שאנשי הקשר שלהם נכללים ברשימת הנמענים של ההודעה (לפי 3 שדות הטלפון המובנים בכל רשומה).
  • הפקת מסמכי מקור: חשבוניות (גם זיכוי), קבלות, החזרים, הפקדה / משיכה של כסף. לרבות החתמה דיגיטלית של ה-PDF ושליחה בדוא"ל לנמענים.
  • שליחת תצהירים: שהופקו במודולים השונים של הייפר (שוב עם החתמה של ה-PDF על גבי השרת).
  • עיבוד מידע אוטומטי: הדרוש למודולים השונים של הייפר, לרבות איתור בעיות (שולח התראות למנהלי המערכת) ואופטימיזציה למסד הנתונים.
  • סליקת כרטיסי אשראי: בהתאם לחוקים בכל מדינה ולתקנות PCI DSS, סליקת כרטיסי האשראי מתבצעת בין שרת מאובטח של הייפר לבין שרתי ספקי הסליקה.
    ניתן לחבר ריבוי ספקים לאותו מסד נתונים והייפר תבצע אגרגציה ביניהם.
  • תעבורת שירות מפות גוגל: בכדי לאפשר הידוק אבטחת רשת מקומית הפניה לשירות Google Maps מתבצעת דרך יישום השרת של הייפר.
  • בדיקת איות: בכדי לאפשר עבודה בריבוי מערכות הפעלה ולחסוך בהתקנת המילונים בכל התקני המשתמשים, שירות בדיקת האיות מתבצע דרך יישום השרת של הייפר.
    * ניתן להתקין עותק אחד בלבד של המילונים על שרת המפעיל ריבוי מסדי נתונים של הייפר.

מידע טכני למטמיע המערכת

נזכיר שוב שמדובר ביישום Hyper_Automation.exe המותקן על מכונה בחוות השרתים וברוחב פס מלא למסד הנתונים.
היישום עולה מול השרת מבלי "לתפוס משתמש" (הכוונה ללא חיוב כספי מבחינת המנוי).
שם המשתמש: 'Server Automation' (המון הודעות נשלחות ליישום).
קבוצת הרשאה: 'Web API' (כמו אתר האינטרנט של הייפר, לא אמור להיות בשימוש באוטומציה).
שפת היישום כברירת מחדל כאשר לא הוגדר אחרת ברשומה: לפי השדה 'Default Translation Language' מהטבלה hyp_Server Side Automations Settings.
איזור הזמן של יישומי השרת כאשר לא הוגדר אחרת ברשומה: לפי הסניף המוגדר בשדה 'Default Agency' מהטבלה hyp_Server Side Automations Settings.

היישום מגיב לפקודות (דרך הודעות טקסט, בערוץ ציבורי):
'Terminate' סגירת היישום
'Self Restart' אתחול היישום
'Sync_Tables_From_SYE_Supervisor' דרישה לסנכרן את טבלאות היסוד של sye משרת ההפצה אל מסד הנתונים אליו היישום מחובר.
הפעולה זהה ללחיצה על סנכרן טבלאות הגדרה משרת SYE מתוך ישום הלקוח של הייפר. למידע נוסף אודות הסנכרון לחץ כאן.
פקודות כאלו ניתן לשלוח דרך יישום הלקוח של הייפר ודרך כלי הניהול הריכוזי של SYE.

תהליכים המטופלים בטור לעומת כאלו הפועלים במקביל

כחלק מהנדסת המערכת, היינו צריכים לטפל בהתנגשויות של תהליכים (שלא יכולים לרוץ בו זמנית) וגם לחשוב על עומסים וחווית משתמש.
שהרי כל שרת הייפר מפעיל ארגונים רבים באזורי זמן שונים, מה שהופך את מלאכת התזמון לקשה יותר...
בסופו של דבר הוחלט שעיבודים בזמן אמת יפעלו במקביל (לדוגמה: סליקות אשראי, תעבורת דוא"ל, מסרונים, מסמכי מקור ועוד).
ואילו כל פעולות האופטימיזציה, טיפול בתקלות ועיבודי מידע (לדוגמה: יצירת פקודות יומן אוטומטיות, סנכרון שערי מט"ח, סנכרון טבלאות מסים) יפעלו בטור כלומר בזו אחר זו החל משעה קבועה בכל לילה.
ברירת המחדל של הייפר היינה 01:00 בשעון המקומי (לפי הסניף שהוגדר כברירת מחדל לאוטומציה, ניתן לשנות את התזמון כפי שיוסבר בהמשך).
* על מנהל המערכת לוודא שאין התנגשות בין שעת הפעלת העיבוד היומי לבין מודולים אחרים, תוכנת הגיבוי וכו'...
* לאורך המדריך, בכל פעם שנשתמש בהגדרה "עיבוד יומי (טורי)" הכוונה תהיה לעיבוד היומי שתואר כאן בשעת ההפעלה שנקבעה לו.

סדר פעולות בעליה לאוויר

עבור מנהל המערכת, חשוב לדעת כיצד יישום מודולרי עולה לאוויר ומתי הוא נכנס ל-"מצב שיוט" (ניהול שירותים במקביל).
להלן סדר הפעולות:

  1. Login למסד הנתונים. בחינה האם קיים שדרוג גרסה (אם כן, מאתחל את עצמו).
  2. טעינה ראשונית של הגדרות ממסד הנתונים.
    אם מדובר בהתקנה חדשה, המינימום הוא להגדיר את 3 עמודי ההגדרות הראשונים בהייפר ואת עמוד "תהליכים בצד השרת" - לפני הפעלת היישום.
  3. על פי קובץ ה- INI המקומי, אם מוגדר השדה 'Sync from SYE server - Run Once' אזי יתבצע סנכרון טבלאות הגדרה משרת SYE.
  4. טעינת איזורי זמן, קובץ תרגום ואתחול מערכת השפות על פי מטבע ניהול ספרים והשדה 'Default Translation Language'.
  5. ניהול תהליכי המרת נתונים מורכבים: על פי התוכן של הטבלה SYE_Application DB Upgrade יתכן והיישום יבצע קוד להמרת נתונים.
    ההמרות הרגילות של הייפר מתבצעות על ידי השרת עצמו (מנוע מסד נתונים - SYE Server), אבל יתכנו מקרים קיצוניים שדרוש בהם לכתוב קוד מיוחד.
    למשל כאשר הייפר הועברה מקבצי XML לייצוג עצים - בחזרה למבנה טבלאי (בכדי לבצע אנליזה מהירה יותר או חיפושים).
    לסיכום, זהו שלב די נדיר.
  6. יצירת מודולים בזיכרון (RAM) וטעינת הגדרות מלאה. כעת המנועים של צד השרת (roots) מוכנים לפעולה.
    חוקי השדות (Fields Customization) שהוגדרו על ידי מנהל המערכת מיושמים גם הם בשלב זה.
  7. זמני עיבוד עתידיים מחושבים על פי השדות:
    'CRM & ERP: Custom Hour of Daily process (UTC)',
    'TP Module: Custom Hour of Daily process (UTC)',
    'Download Currency Rates At',

    בשלב זה יכתבו בקובץ ה- log.txt המקומי, הודעות עם המועדים של המחזור הבא מכל שדה. (לדוגמא ההודעה 'App started. Next maintenance process').
  8. הפעלת השירותים של צד השרת: מפות, מילונים, סליקה, מסרונים וכ'ו... הכל בהתאם להגדרות של הייפר ולשירותי צד שלישי הרלוונטים.

זהו, כרגע היישם נכנס למצב שיוט. כל שירות הנדרש ללקוח הייפר, יגיב להודעות הנשלחות אליו ברשת המסרונים הפנימית.
תהליכים מתוזמנים יופעלו במועדם. כפי שתואר לעיל השירותים פועלים במקביל והתהליכים המתוזמנים רצים בטור.