Movatterモバイル変換


[0]ホーム

URL:


לדלג לתוכן
ויקיפדיההאנציקלופדיה החופשית
חיפוש

Windows Communication Foundation

מתוך ויקיפדיה, האנציקלופדיה החופשית
(הופנה מהדףWCF)
תת מערכות בדוט נט 3

Windows Communication Foundation ובקיצור (WCF) הוא מודל מערכת וממשקיAPI ב-NET Framework. ליצירת תקשורת בין יישומים ובניית יישומים מבוזרים, מוכווני שירותים. WCF שהחל דרכו תחת שם הקוד אינדיגו, הושק ב-2006 ויועד לשילוב במערכת ההפעלה שנקראה בשם הקוד Longhorn ונודעה לאחר מכן בשמהויסטה. המודל הושק כחלק מפלטפורמתדוט נט 3 החל מחבילת הפיתוחויז'ואל סטודיו 2008. WCF פישט מאוד את הליך התקשורת במחשוב מבוזר, בכך שהליך התקשורת המורכב הפך להיות דומה לתהליך תכנותי רגיל באמצעות פונקציות, אפשר גמישות גדולה במעבר מפרוטוקול תקשורת אחד למשנהו, והוריד את העלויות של אינטגרציה בין תוכנות.

הארכיטקטורה

[עריכת קוד מקור |עריכה]

WCF הוא כלי המשמש לעיתים קרובות כדי לממש ולפרוס ארכיטקטורה מוכוונת שירותים (SOA). הוא תוכנן באמצעות עקרונות ארכיטקטורת מוכוונת שירותים (Service) לתמיכה במחשוב מבוזר, שבו שירותים מונגשים מרחוק לצרכנים. לקוחות יכולים לצרוך שירותים מרובים; ניתן לצרוך שירות אחד על ידי מספר רב של לקוחות. ניתן לבצע צימוד רופף בין שירותים. לשירותים לרוב יש ממשקWSDL (Web Services Description Language) שבאמצעותו כל לקוח WCF יכול לצרוך שירות ללא תלות של הפלטפורמה שהשירות מתארח בו. WCF מממש הרבה תקני שירותיאינטרנט מתקדמיםכמו WS-Addressing, WS-ReliableMessaging ו-WS-Security. עם שחרורו של דוט נט 3.5 בנובמבר 2007, פרסמהמיקרוסופט מקודד שהוסיף תמיכה בסרליזציה שלJSON ל-WCF. דבר המאפשר להיענות לבקשות מדפיAJAX. בדוט נט 4 הוספוRSS - שירותי סינדיקציה, WS-Discovery, ניתוב ותמיכה טובה יותר ב-REST services. בגרסה 4.5 נוספו תכונות כמו פעילות א-סינכרונית, פישוטקובצי קונפיגורציה, ופרוטוקולי תקשורת נוספים כמוUDP.

עקרונות ה-WCF

[עריכת קוד מקור |עריכה]

את עיקרו של הWCF ניתן לזכור באמצעות המנמוניקה "ABC" באנגלית: Address / Binding / Contract.

כתובת (Address) היא למעשה נקודת הקצה, שבו מאזין ה-Host לאחר ש"עלה לאוויר", וניתן למצוא בו את החוזה. לקוח WCF מתחבר לשירות WCF באמצעות נקודות קצה (Endpoints). כל שירות חושף את החוזה (Contract) שלו באמצעות נקודת קצה אחת או יותר. כתובת נקודת קצה (שהיאURL שבו ניתן לגשת לנקודת הקצה) תכונות כריכה (Binding) המציינות כיצד הנתונים יועברו.

כריכה (Binding) מציין אתפרוטוקולי התקשורת המשמשים לגישה לשירות, את מנגנוני האבטחה, הצורה שבה הנתונים יעברו (בינארי/טקסט) וכדומה. WCF כולל כריכות מוגדרות מראש לפרוטוקולי תקשורת הנפוצים ביותר, כגון SOAP מעל HTTP, SOAP מעל TCP, ו-SOAP מעל מסר תורים, וכן אינטראקציה בין נקודות קצה WCF והלקוח נעשית באמצעות מעטפת SOAP. מעטפות SOAP הן בצורתXML פשוט, מה שהופך WCF ללא תלויה בפלטפורמה. כאשר לקוח רוצה לגשת לשירות דרך נקודת קצה, הוא לא רק צריך לדעת את החוזה, אבל יש לו לדבוק בכריכה שצוינה על ידי נקודת הסיום. לפיכך, גם הלקוח והשרת חייבים להיות תואמים בנקודות הקצה.

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

התנהגויות

[עריכת קוד מקור |עריכה]

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

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

תכונות עיקריות

[עריכת קוד מקור |עריכה]

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

אפליקציות באוריינטציית שירות

[עריכת קוד מקור |עריכה]

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

יכולת פעולה הדדית

[עריכת קוד מקור |עריכה]

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

דפוסי מסר מרובים

[עריכת קוד מקור |עריכה]

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

מטהדטה של השירות

[עריכת קוד מקור |עריכה]

WCF תומך בפרסום מטה נתונים באמצעות פורמטים המפורטים בתקנים כגוןWSDL, סכימת XML ו-WS-Policy. מטה נתונים יכול לשמש כדי לחולל באופן אוטומטי ולהגדיר גישה ללקוחות לשירותי WCF. ניתן לפרסם מידע עלHTTP ו-HTTPS או באמצעותתקן Web Service Metadata Exchange.

נתוני החוזים

[עריכת קוד מקור |עריכה]

מאחר ש-WCF נבנה באמצעות NET Framework., הוא כולל שיטות קידוד ידידותיות כדי לספק חוזים שרוצים לאכוף. אחד מהסוגים האוניברסליים של חוזים הוא נתוני חוזה (data contract). בעיקרו של הדבר, הדרך הקלה ביותר לטיפול בנתונים, היא על ידי יצירת מחלקות או מבנים שמייצגות ישות נתונים. WCF כולל מערכת מקיפה לעבודה עם נתונים בצורה קלה זו. והשירות מחולל אוטומטית את מטה הנתונים, המאפשר ללקוחות לעמוד בסוגי הנתונים שעוצבו. משמעות הדבר כי ניתן להשתמש בפונקציות בתקשורת בצורת שימוש דומה לרכיבי COM למשל, וניתן להעביר נתונים מפורמטים לפי מבנים ומחלקות, ולא כמחרוזת ארוכה או מערך בתים שניתן להתקשות בפירוק הפורמט שלה.

אבטחה

[עריכת קוד מקור |עריכה]

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

משלוחים וקידוד מרובים

[עריכת קוד מקור |עריכה]

ניתן לשלוח הודעות בכל אחד מכמה פרוטוקולי תעבורה וקידודים מובנים. הפרוטוקול והקידוד הנפוץ ביותר הוא משלוח הודעותSOAP טקסט מוצפנת באמצעות פרוטוקול Hypertext Transfer (HTTP) לשימוש ב-World Wide Web. לחלופין, WCF מאפשר לך לשלוח הודעות באמצעותTCP (ברשת מקומית),Named Pipes (במחשב בודד),MSMQ, ואףUDP ועוד. ניתן לקודד את המסרים הללו כטקסט או באמצעות פורמט בינארי אופטימלי. ניתן לשלוח נתונים בינאריים ביעילות באמצעות תקןMTOM. ניתן ליצור תעבורה מותאמת אישית או קידוד מיוחד. קיימת גמישות רבה בהחלפת פרוטוקולי התקשורת שלא באמצעות קידוד קשיח, אלא קובצי קונפיגורציה בלבד (הכתובים בXML), כך שניתן ליצור כמה סטים של פרוטוקולים ולהחליף ביניהם באופן קל, לפי התנאים הדרושים לתקשורת.

הודעות עמידות

[עריכת קוד מקור |עריכה]

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

קישורים חיצוניים

[עריכת קוד מקור |עריכה]
אוחזר מתוך "https://he.wikipedia.org/w/index.php?title=Windows_Communication_Foundation&oldid=38665692"
קטגוריות:

[8]ページ先頭

©2009-2025 Movatter.jp