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

Server Transaction

קורסים למנהלי רשת מסלול מנהלי רשת
עם התמחות בשרתי מיקרוסופט
מסלול סייבר והאקינג - 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
Server Transaction

בשיעור זה מדגימים טרנזקציות בצד השרת (Server Transaction) ב-WCF: מממשים פעולת מחיקה של הזמנה ממסד הנתונים באמצעות LINQ to SQL, עוטפים את הפעולות בטרנזקציה, ומראים כיצד זריקת חריגה לפני סיום הטרנזקציה גורמת לביטול מלא של כל השינויים.

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

1. הפתרון: נפתח פתרון ובו שלושה פרויקטים: מארח קונסולה, ספריית שירות ופרויקט לקוח WinForms, עם הקבצים app.config, Program.cs, NorthwindService.cs ו-TestTransactionForm.cs.
2. חוזה השירות: בקובץ NorthwindService.cs מוגדר הממשק INorthwindService ובו הפעולה DeleteOrder שמקבלת מזהה הזמנה, והמחלקה NorthwindService מממשת אותו עם החתימה public void DeleteOrder(int orderID).
3. בדיקת מסד הנתונים: ב-SQL Server Management Studio מול השרת ASSAF\SQLEXPRESS נפתחת טבלת Orders של מסד הנתונים dbNorthwind במצב עריכת שורות, ורואים הזמנות משנת 1996, ביניהן הזמנה 10248.
4. מיפוי LINQ to SQL: מוסיפים פריט מסוג LINQ to SQL Classes, ובמעצב שנוצר נגררות מתוך Server Explorer הטבלאות Categories, Customers, Orders, Order Details ו-Products.
5. מימוש המחיקה: בתוך בלוק using של הקשר הנתונים נשלפות שורות פרטי ההזמנה בשאילתה var query = from od in dc.Order_Details where od.OrderID == orderID select od;, השורות נמחקות באמצעות dc.Order_Details.DeleteAllOnSubmit(query);, לאחר מכן נשלפת ההזמנה עצמה ונמחקת עם dc.Orders.DeleteOnSubmit(query2.Single());, ולבסוף מבוצע dc.SubmitChanges();.
6. עטיפה בטרנזקציה: כל הפעולות עטופות בבלוק using (TransactionScope ts = new TransactionScope()) // Begins Transaction, ובסופו נקרא ts.Complete(); // Commit Transaction. בסגירת הבלוק מופיעה ההערה // Dispose - If not completed - RollBack Transaction, וזו הנקודה המרכזית בשיעור: אם ה-Complete לא נקרא לפני סיום הבלוק, כל השינויים מתבטלים.
7. הגדרת השירות וההתנהגות: באשף עורך הקונפיגורציה של WCF נבחר סוג השירות מתוך הפרויקט, ודרך דיאלוג הרחבות אלמנטי ההתנהגות מוגדרת התנהגות התומכת בטרנזקציות.
8. מארח הקונסולה: ב-Program.cs השירות מאורח בתהליך הקונסולה באמצעות ServiceHost, המארח מדפיס את כתובות ה-endpoint שנפתחו, ובחלון הפקודה נראית הכתובת http://127.0.0.1:6686/Northwind.
9. חיבור הלקוח והרצה ראשונה: מוסיפים הפניה לשירות והאשף מאתר את INorthwindService עם הפעולה DeleteOrder. בטופס הבדיקה נקראת service.DeleteOrder(10249); וההזמנה נמחקת בהצלחה מול השרת שרץ ברקע.
10. הדגמת כשל ו-Rollback: בין השליחה ל-Complete מוסף throw new Exception("Fail to do something..."); עם הערה בעברית שמסבירה שבגלל החריגה הטרנזקציה תתבצע Rollback. מוגדרת הפעלה מרובת פרויקטים כך שהמארח והלקוח ירוצו יחד, ובקוד הסופי של המטפל btnTestTransaction_Click(object sender, EventArgs e) נוצר הלקוח עם NorthwindServiceClient service = new NorthwindServiceClient();, נקראת service.DeleteOrder(10250); בתוך בלוק try, ובתפיסת החריגה מוצגת הודעה עם MessageBox.Show(ex.Message, "Error:", MessageBoxButtons.OK, MessageBoxIcon.Error);. לאחר מכן נבדק מצב הערוץ והלקוח נסגר.
11. בדיקת התוצאה במסד הנתונים: ב-SQL Server Management Studio נבדקת טבלת Order Details במצב עריכה, ורואים שהנתונים נותרו במקומם, כלומר הטרנזקציה בוצעה Rollback בשלמותה.

בסיום השיעור ראינו כיצד מממשים מחיקה בשירות WCF בתוך טרנזקציה בצד השרת, כיצד הטרנזקציה עוטפת את הפעולות ומבצעת Commit רק לאחר ה-Complete, וכיצד זריקת חריגה גורמת ל-Rollback מלא שמחזיר את הנתונים למצבם הקודם. השיעור הבא עוסק ב-Client Transaction.
סקר שוק נכון לתאריך – 01/09/2011

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

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


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

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


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

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


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

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



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

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

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


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