Menu
עברית Русский
מכללת פרקטיקיו
- מתחילים ללמוד חינם -
קורסי תכנות / סייבר / ניהול רשת

אירוח service על שרת IIS

קורסים למנהלי רשת מסלול מנהלי רשת
עם התמחות בשרתי מיקרוסופט
מסלול סייבר והאקינג - Hacking מסלול תקשורת ואבטחת מידע
Cisco CCNA & FortiGate & Checkpoint
מומחה ווירטואליזציה
VMware & Hyper-V
מסלול לינוקס ו-DevOps מומחה ענן של אמזון - AWS מומחה ענן של מיקרוסופט - Azure מומחה ענן של גוגל - GCP מומחה שרתי SCCM - System Center
של מיקרוסופט לארגונים גדולים
קורסי תכנות מסלול Full Stack דוט-נט
יסודות התכנות
מסלול Full Stack דוט-נט
צד שרת - Backend
מסלול Full Stack דוט-נט
צד לקוח - Frontend
מסלול Full Stack Node.JS קורסי תכנות נוספים
Java / Python / PHP
מפתח אפליקציות - אנדרואיד - אייפון מפתח משחקי מחשב - Unity מפתח תוכנות לוונדוס - WinForms מסלול DBA - דטה אנליסט
התמחות במסדי נתונים – SQL
בדיקות תוכנה - QA בדיקות תוכנה - QA - אוטומציה בדיקות תוכנה - QA - בדיקות ידניות בדיקות תוכנה - QA - קורסים נוספים המלצות תלמידים על PracticU
אירוח service על שרת IIS

בשיעור זה לומדים לארח את שירות ה-WCF על שרת IIS: מוסיפים לפתרון אתר WCF Service שמארח את השירות, מממשים את החוזה בעזרת ספריית CalculatorLibrary, בודקים את השירות בדפדפן ומעדכנים את יישום ה-WinForms, ולבסוף יוצרים פרויקט התקנה מסוג Web Setup שמתקין את האתר על ה-IIS המקומי.

שלבי העבודה המוצגים בשיעור:

1. פתיחת הפתרון: נפתח הפתרון IIS Host מתיקיית 02 - Hosting the Service, ובו שלושה פרויקטים מהשיעורים הקודמים: CalculatorLibrary, CalculatorWinService ו-WinFormConsumer, בתצורת Release.
2. הוספת אתר WCF: בדיאלוג Add New Web Site נבחר תבנית WCF Service עם התיאור A Web site for creating WCF services, ובדיאלוג Choose Location נבחרה אפשרות File System כך שהאתר נוצר בתוך תיקיית הפתרון. האתר שנוצר הכיל תיקיית App_Code, קובץ Service.svc וקובץ Web.config.
3. שינוי שם וניקוי התבנית: הקובץ App_Code\Service.cs שונה ל-CalculatorService.cs, המחלקה שונתה ל-CalculatorService, וקוד התבנית המוגדר כברירת מחדל (GetData ו-GetDataUsingDataContract עם CompositeType) רוקן כך שנותר public class CalculatorService { }.
4. הוספת הפניה לספרייה: נוספה הפניה לפרויקט CalculatorLibrary, ותחת האתר נוצרה תיקיית Bin שהכילה את CalculatorLibrary.dll ואת CalculatorLibrary.pdb.
5. מימוש השירות: ב-CalculatorService.cs נכתב using CalculatorLibrary ו-public class CalculatorService : ICalculator עם השדה private Calculator _calc = new Calculator(), וכל חמש הפעולות Add, Sub, Mul, Div ו-Avg מומשו בהאצלה לאובייקט _calc, למשל return _calc.Add(num1, num2).
6. בדיקה בדפדפן על שרת הפיתוח: ב-IE נפתח הכתובת http://localhost:4186/CalcService/CalculatorService.svc והוצג העמוד CalculatorService Service עם ההודעה You have created a service., ובו גם דוגמת שימוש ב-svcutil.exe עם הכתובת המלאה ועם ?wsdl בסופה, וכן דוגמת קוד ליצירת CalculatorClient.
7. עדכון יישום ה-WinForms: בפרויקט WinFormConsumer הוסרה ההפניה הישנה CalculatorDemo מתוך Service References באמצעות Delete, ולאחר מכן ההפניה נוספה מחדש, ושורת המצב הציגה Add service reference complete.
8. בדיקת הלקוח: היישום הורץ בהצלחה עם ההודעה Build succeeded, ובחלון המחשבון הוזנו First number = 12.34 ו-Second = 45.67 ולחיצה על Add החזירה תוצאה תקינה, כלומר הלקוח עובד מול המארח החדש.
9. יצירת פרויקט התקנה: בדיאלוג Add New Project מתוך Setup and Deployment > Visual Studio Installer נבחר סוג Web Setup Project, ונוצר פרויקט בשם Calculator Setup. בעורך File System נוספו ל-Web Application Folder פלטי הבנייה של CalculatorLibrary באמצעות Add Project Output Group עם בחירת Primary output, ובמאפייני התיקייה הוגדר VirtualDirectory = CalculatorService.
10. בנייה והרצת המתקין: בוצע Rebuild All שהסתיים בהצלחה, ובתיקיית Release של פרויקט ההתקנה נוצרו setup.exe וקובץ Calculator Setup.msi. הרצת המתקין הציגה את אשף ההתקנה עם הכיתוב Installing Calculator Setup.
11. בדיקה על ה-IIS ועדכון הלקוח: ב-IE נפתחה הכתובת http://127.0.0.1/CalculatorService/CalculatorService.svc והוצג אותו עמוד שירות, הפעם מתוך ה-IIS המקומי על פורט 80, עם דוגמת svcutil על אותה כתובת. בקובץ app.config של WinFormConsumer עודכנה כתובת ה-endpoint של הלקוח לכתובת השירות החדשה עם basicHttpBinding והחוזה CalculatorDemo.ICalculator.

בסיום השיעור אורח שירות ה-WCF בתוך אתר WCF Service, השירות נבדק בדפדפן וביישום הלקוח, ונוצר מתקין Web Setup שהתקין את האתר על ה-IIS המקומי, כאשר הלקוח עודכן לפנות אל הכתובת החדשה.
סקר שוק נכון לתאריך – 01/09/2011

הסבר קצר על שיטת הלימוד אונליין

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


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

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


מה לעשות אם לא מבינים משהו בסרט?

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


האם יש לכם כיתות לימוד רגילות?

להשכיר כיתה + לשלם משכורת למרצה = 17 אלף ש"ח עלות הקורס לתלמיד.
אצלנו בסרטונים מקבלים אותו חומר לימוד
ואפילו יותר, כי אין מגבלה של זמן למרצה (כמו שיש בכיתה),
בנוסף מקבלים בדיוק אותה תעודה בינלאומית,
כי מבחן הוא מבחן אחיד לכולם המתבצע במרכז בחינות מורשה
והכי חשוב שמקבלים את אותם המרצים, שמלמדים בכיתה רגילה,
רק שצילמנו אותם בסרטונים
והמחיר בסרטונים רק 350 ש"ח ולא 17 אלף כמו בכיתה רגילה.



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

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

בסיום קורס ניתן לקבל תעודות הבאות:
1. תעודה של המכללה - מותנה בהגשת פרוייקט גמר בסוף הקורס
2. תעודת הסמכה בינלאומית של מיקרוסופט העולמית - מותנה במעבר מוצלח של מבחן הסמכה חיצוני של מיקרוסופט (מבחן זה מתבצע כל שבוע במרכז בחינות מורשה בתל-אביב)


מידע כללי:
1. חומר הלימוד מורכב ממאגר עצום ומסודר מאוד של סרטים מקצועיים, הניתנים לצפיה מהבית. מאגר זה כולל הרצאות מוקלטות בעברית בצורה מסודרת ע"י המרצים הטובים ביותר. רשימת הסרטים המלאה נמצאת בתפריט בצד ימין.
2. כל סטודנט במכללה מקבל שם וסיסמה לצורך גישה לשרת הקבצים שלנו.
השרת מכיל את כל התוכנות הדרושות ללימוד וכן חומר עזר
3. הקורסים מועברים בהתאם לסילבוסים של החברות המובילות: Microsoft, Cisco

קורס WCF

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

פתיחת פורטים בשרת ושינוי הייעוד שלהם

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

במה הכשרת WCF תורמת לארגון בו אני עובד?

·         אתרי האינטרנט שעל שרת הארגון יעבדו טוב יותר, מהר יותר ובצורה מאובטחת יותר.

·         כל החלק הפנימי של השרת (האינטרה נט) יעבוד יותר יעיל.

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

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

היתרון של WCF על WCF.NET

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

קורס WCF

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

מה זה WFC?

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

תכני לימוד ראשוניים

בדיוק לשם כך רצוי מאד להירשם אל קורס WCF שנועד להעניק לתלמידים הסבר פשוט לגבי אופן השימוש ב- WCF. בשלב הראשון יתמקד הקורס במשמעות של Service, במשמעות של Contract ובהבדלים שבין ServiceContract לבין OperationContract, דרכים להתחלת הכתיבה של Service, משמעות של DataContract ומשמעות של DataMember. על מנת לכתוב שירות בשרת שלקוחות יוכלו להפעיל אותו ולפנות אליו ישנו צורך לכתוב אחד כזה. ה- Service הוא מחלקה שמממשת מתודות שמראש הוחלט שהשירות הזה נועד לממש.

מה זה Contract?

לא מעט מחלקות נכתבות שיש להן פונקציות מסוימות. לא כל מחלקה כזו היא Service שכל אדם יכול לגשת ולהפעיל אותו. על מנת שמחלקה תוכר כשירות עליה לממש Contract. במסגרת קורס WCF לומדים הסטודנטים כי Contract הוא למעשה מילה אחרת ל- Interface שאותו צריך להגדיר על מנת שניתן יהיה להפעיל מתודות מרחוק. לא כל Interface מוכר כ- Contract שמייצר שירותים החוצה. על מנת להגדיר WCF יש להוסיף מעל ה- Interface את ה- Attribute של ה- ServiceContract לדוגמא.