PracticU

הסבר על Web Service

בלי כתוביותעם כתוביות
PracticU › קורס NodeJS › הסבר על Web Service
מילון מושגים:
Node.js - סביבת ריצה שמאפשרת להריץ קוד JavaScript מחוץ לדפדפן, בעיקר בצד השרת.
HTML - שפת הסימון שבה בונים את מבנה ותוכן דפי האינטרנט, באמצעות תגיות שמגדירות כותרות, פסקאות, קישורים ועוד.
לקוח - תוכנה או מחשב שפונים לשרת ומבקשים ממנו שירות או מידע, למשל דפדפן שמבקש דף אינטרנט.
XML - שפת סימון לייצוג נתונים מובְנים בעזרת תגיות, המשמשת להחלפת מידע בין מערכות ולקובצי הגדרות.
Java - שפת תכנות עילית ומונחית עצמים, הרצה על מכונה וירטואלית (JVM) ומשמשת לפיתוח מגוון יישומים.
REST - סגנון לבניית ממשקי API מעל HTTP, המבוסס על משאבים ועל שיטות סטנדרטיות כמו GET ו-POST.
JSON - פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.
זיכרון - רכיב מהיר ונדיף שבו המחשב שומר נתונים ותוכניות בזמן ריצתם. תוכנו נמחק עם כיבוי המחשב.

הסבר על Web Service
אחד השימושים הנפוצים ביותר של Node.js הוא להנגיש מידע ללקוחות, ולא להציג דפי HTML. השיעור מסביר מה זה Web Service ומהן הארכיטקטורות הנפוצות שלו.
מה זה Web Service
1. שירות שמחזיר מידע: שרת מנגיש דאטה ללקוחות, והלקוח הוא זה שבונה ממנו את הדף. השירות יכול גם לבצע חישובים או לספק כלי עזר, אבל רוב עבודתו היא הנגשת מידע שנשלף מבסיס הנתונים.
2. ארכיטקטורות שונות: XML Web Services שמשתמשים ב-SOAP, Remote Procedure Calls שמשמשות בעיקר ב-Java, WCF של מיקרוסופט, ו-REST, שהיא הפופולרית כיום.
3. דוגמת תחנת מטאורולוגיה: התחנה מחזיקה נתונים שמתעדכנים בכל שעה. במקום לבנות אתר משלה, היא מנגישה את הנתונים כ-Web Service, וכך אתרי חדשות ואפליקציות יכולים להציג אותם.
4. דאטה טהור: השירות מחזיר מידע בלבד, כמו JSON או XML, ולא דף. הלקוח, אתר או אפליקציה, מחליט איך להציג אותו.
5. מודל עסקי: מי שגולש לשירות יכול לשלם לפי גלישה, יום או חודש. השירות לא צריך לדעת מי הלקוח, כל עוד הוא משלם.
שימו לב
- JSON נפוץ יותר מ-XML, כי הוא קומפקטי יותר בזיכרון ומתאים לשימוש היום.
הארכיטקטורה הפופולרית ביותר מבין אלה, REST, היא הבסיס לבניית שירותים ב-Node.js.
השיעור הבא בקורס: הסבר על ארכיטקטורה REST

פרקי ההרצאה: הסבר על Web Service

  1. 00:00

    הנגשת מידע ללקוחות עם Node.js

  2. 01:14

    הייעוד של Node.js בצד השרת

  3. 01:52

    מה זה Web Service

  4. 03:07

    סוגי Web Service: SOAP ו-WCF

  5. 04:01

    REST API ו-RESTful Service

  6. 04:40

    דוגמה: תחנת מזג אוויר וחשיפת הדאטה

  7. 07:33

    בניית Web Service לתחנת מזג האוויר

תמלול ההרצאה: הסבר על Web Service

הטקסט המלא של הדקות הראשונות בהרצאה «הסבר על Web Service» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    אחד הדברים הכי שימושיים עם מערכת Node.js זה להנגיש מידע ללקוחות. ואנחנו מדברים כרגע על משהו שנקרא Web Service. אבל קודם כל בואו נבין רגע למה Node.js משמשת בעיקר לצורך הנגשת מידע.

  2. 00:21

    מה שאנחנו למדנו עד עכשיו ב-Node.js זה בעצם כל מיני מונחים בסיסיים במערכת הזאת, כמו מה זה מודול ומה זה פאקג' ומה זה גלובל, וזה רק בשביל שנוכל כמובן להשתמש ב-Node.js. ואז עברנו לתכנות אסינכרונית, כי ב-Node.js זה משהו שהוא סופר חשוב ונפוץ והכרחי, ואז ראינו את מערכת הקבצים והתיקיות, שאנחנו כמובן גם נעבוד איתה, טיפה Object Oriented,

  3. 00:50

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

  4. 01:08

    אנחנו הנגשנו דפים וזה לא הייעוד הנפוץ של Node.js. הייעוד הנפוץ של Node.js זה לא להנגיש דף HTML. אפשר לעשות את זה אבל זה לא הייעוד כי יש מערכות יותר טובות מ-Node.js בשביל לבצע את זה.

  5. 01:25

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

  6. 01:44

    אלו מערכות כמו React, כמו אנגולר וכמו מערכות נוספות שמאפשרות לבנות את המערכת בצד הלקוח, נקרא Single Page Application או SPA ואז Node.js משמשת בצד של השרת אך ורק בשביל להנגיש מידע ללקוח בשביל שהוא יבנה את הדף.

  7. 02:04

    כל הקונספט הזה נקרא Web Service. אז בואו קודם כל נבין מה זה Web Service ולאיזה Web Service אנחנו הולכים לבנות או איזה Web Service אנחנו הולכים לבנות ב-Node.js. אז מה זה Web Service?

  8. 02:18

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

  9. 02:42

    זה להנגיש מידע ללקוחות. ה-Database עצמו נמצא בצד של השרת, ווב סרוויס שולף מידע מהדאטה בייס ומחזיר ללקוח, יש לנו ריקווסט מהלקוח, ה-Node.js ניגשת לדאטה בייס, שולפת מידע ומחזירה ללקוח את המידע והלקוח עושה איתו מה שהוא רוצה, לדוגמה בונה איתו דף HTML ומציג את הדף.

  10. 03:03

    יש כל מיני טכניקות בעולם לבנות את הקונספט הזה של ווב סרוויס, כל מיני ארכיטקטורות שונות וטכנולוגיות שונות, לדוגמה יש משהו שנקרא XML Web Services, כאן המידע בין הקליינט לסרוור עובר כפורמט XML מסוים.

  11. 03:23

    הפורמט הזה נקרא Simple Object Access Protocol, אולי שמעתם את השם הזה, או SOAP במילים אחרות, וזו טכנולוגיה קצת ישנה להעברת מידע, זה נקרא XML Web Service.

  12. 03:35

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

  13. 03:48

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

  14. 04:10

    פופולרית, נקראת REST APIs, RESTful Service שאותה אנחנו הולכים ללמוד. זה בעצם אחת הטכנולוגיות הפופולריות ביותר והשימוש הנפוץ ביותר ש-Node.js משתמשת בו בשביל להוות איזשהו שרת שמנגיש מידע וכמובן יש עוד הרבה.

  15. 04:33

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

  16. 04:50

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

  17. 05:19

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

  18. 05:30

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

  19. 05:48

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

  20. 06:09

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

  21. 06:33

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

  22. 06:50

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

  23. 07:12

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

  24. 07:22

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

  25. 07:38

    אז בואו נראה איך אותה תחנת מטאורולוגיה נכון מבחינתה לבצע את זה. מה שהתחנת מטאורולוגיה רוצה לעשות זה קודם כל לבנות Web Service, ויכול להיות בכל מערכת C-Sharp, Java, WCF, RESTful Service כלשהו, או Node.js כמובן, ש-Node.js יכולה להוות RESTful Service או להכיל RESTful Service,

  26. 08:03

    ולחשוף רק ורק את הדאטה הטהור שיש לה,

לקורס המלא: קורס NodeJS אונליין בעברית

ההרצאה הקודמת: Express Middleware

ההרצאה הבאה: הסבר על ארכיטקטורה REST

הרצאות קשורות מקורסים אחרים

  • מה זה Web Service
  • Classic Web Service
  • הסבר על מה זה Web API
  • הסבר על Flutter Web - Config

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React