שירות הנוטיפיקציות בענן – Windows Azure Notification Hub

8 בספטמבר 2013

אין תגובות

WinAzure_rgb_Cyan_Mלפני מספר שבועות הוכרזה גרסת GA של Windows Azure Notification Hub, שהיה זמין למפתחים בגרסת preview כמספר חודשים. הכרזה על גרסת general availability היא סיבה מצוינת ע"מ לכתוב פוסט בנושא.

מפתחי אפליקציות windows 8 שביננו מכירים את שרות Windows Notification Service המאפשר לאפליקציה לקבל מרכיב ה-backend של המערכת notifications בצורה יעילה וחסכונית באמצעות מנגנון דחיפה שקיים במערכת ההפעלה ה-Windows Push Notification (ראו פוסט קודם בנושא). גם לאנדרואיד ו-iPhone ישנה תמיכה ברמת הפלטפורמה ושירות בענן המאפשרים דחיפה של notifications (Apple Push Notification service , Google Cloud Messaging). יכולת זו מאפשרת לאפליקציה לספק למשתמש מידע בזמן אמת שמגיע אליו גם כאשר הוא אינו מריץ את האפליקציה (always connected experience זוכרים?!).

 

אם כך למה צריך את ה-notification hub?

Windows Azure Notification Hub הינו חלק מ-Windows Azure Service Bus. תפקידו לספק API יחיד לשליחת notifications מה-backend של המערכת לכל הקליינטים שלה, בלי קשר לסוג הקליינט: windows 8, windows phone, iOS, Android. באמצעות ה-notification hub, מפתח האפליקציה אינו צריך להכיר את ה-API הספציפי של כל notification service של כל פלטפורמה ויכול להתרכז במימוש הלוגיקה העסקית של האפליקציה שלו. ה-notification hub משמש בעצם כרכיב המגשר בין מפתח האפליקציה לבין ה-notification service ואחראי על ההכרות "האינטימית" עם הפרוטוקול וה-API של כל אחד משירותי ה-notification השונים ועם מבנה ה-notification שלהם.

clip_image002

מעבר לתמיכה ב-multi-platform באמצעות API יחיד, ה-Windows Azure Notification Hub נבנה כתשתית מתוחכמת המספקת למפתח עוד מספר יתרונות:

  • תמיכה בכמויות גדולות של קליינטים: בעוד שרכיבי ה-backend של המערכת אחראים על ביצוע הלוגיקה האפליקטיבית, ועל פניה ל-notification hub לצורך הפצת ה-notification, ה-hub עצמו אחראי על ביצוע כל העבודה הכרוכה בעבודה המקבילית של הפצת ה-notification לתאורטית מיליוני הקליינטים שצריכים לקבל את ה-notification בזמן הקצר ביותר.
  • ניהול של ה-channels וה-device tokens של המכשירים שמריצים את האפליקציה: ה-notification hub מנהל עבור האפליקציה את רשימת ה-channel URIs וה-device tokens, ופוטר את המערכת מהצורך בטיפול במידע זה (שמירה ועדכון שלו).
  • תמיכה ב-pub/sub: באמצעות מנגנון של תגיות (tags) רכיבי הקליינט יכולים להתמנות ל-notifications שמסומנים ב-tag מסוים (אחד או יותר). רכיבי השרת שפונים ל-hub מסמנים את ה-notification בתגית, וה-hub מטפל בשליחת ה-notification לקליינטים הרלוונטיים בלבד.
  • REST API: ל-notification hub API מבוסס REST המאפשר גישה מכל טכנולוגיית פיתוח מודרנית. הן מאפליקציית הקליינט והן מרכיבי ה-backend של המערכת. רכיבי ה-backend של המערכת יכולים להתארח ב-Azure או בכל מקום אחר (ובתנאי שיש לו גישה ל- Windows Azure Notification Hub).
  • שימוש בתבניות (templates): שימוש בתבניות מאפשר למפתח להגדיר את מבנה ה-notification בצד הקליינט כתבנית, ולצד השרת לשלוח כ-payload רק את המידע הדרוש לתבנית ללא האספקטים הוויזואליים שלה. כאשר notification מגיע לקליינט, המידע נשתל במקום המתאים בתבנית ורק אז מוצג למשתמש. בצורה כזו, צד השרת לא מודע לסוגי הקליינטים השונים וליכולת שלהם להציג סוגים שונים של notifications, ואחראי רק על שליחת המידע הרלוונטי.

 

אז איך עובדים עם ה-notification hub?

בקשורים הבאים ניתן למצוא הסבר מפורט (step by step) לעבודה עם Windows Azure Notification Hub בפלטפורמות השונות:

 

אם אין לכם עדיין חשבון Windows Azure- זה הזמן לקבל free trial !

בקרו ב- Windows Azure Developer Center  ולמדו כיצד לפתח אפליקציות לסביבת הענן.

שאלות נוספות – כנסו לפורום הענן שלנו למפתחים בעברית!

 

MayaShenhav_222FD2B1[1]הפוסט נכתב ע"י מאיה שנהב, יועצת בכירה בקבוצת היועצים של מיקרוסופט
(MCS ) העוסקת בייעוץ בתחומי ארכיטקטורה, פיתוח, Azure ו- ALM.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *