OData – הדרך הנוחה והקלה לדבר עם שרת ה- TFS שלכם

10 בפברואר 2013

אין תגובות

vs20120_logo

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

מה זה OData?

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

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

השאילתה הבאה למשל מחזירה את רשימת הסרטים שיצאו אחרי 1980:

http://odata.netflix.com/Catalog/Titles?$filter=ReleaseYear gt 1980

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

 

היתרונות של OData

אוקי אז OData זה דבר טוב ונוח, אבל אנו יודעים כבר ששרת ה- TFS מכיל שכבת Web Services עשירה שמולה ניתן לעבוד. אז מדוע שנרצה להשתמש בממשק אחר כמו OData?

אמרנו כבר ש- OData הוא פרוטוקול Web המאפשר לתשאל ולעדכן מידע ממערכות באמצעות התבססות על פרוטוקולי Web מוכרים כגון HTTP.  זה אומר שאנחנו יכולים לכתוב Client Applications ללא תלות במערכת ההפעלה מכיוון שמצופה מה – Client לתקשר בפרוטוקול HTTP/S, ולקבל תגובה מהמערכת באותה צורה.

המשמעות של זה היא שאנו לא צריכים להיות כבולים ל – API של המערכות אליהן אנו מתממשקים –  במקרה שלנו שרת Team Foundation Server.

החסרונות ב-  Web Services API

ישנם שני חסרונות עיקריים בלתקשר עם שרת ה- TFS באמצעות ה- Web Services API שהוא מציע.

  1. שימוש ישיר ב – Web Services של המערכת אינו נתמך ע"י מיקרוסופט. עדיף להשתמש בשכבת ה – API הרגילה.
  2. מיקרוסופט מצהירה שכמעט תמיד ישתנו החתימות של פונקציות ה – Web Services בעדכוני גרסה. כתוצאה מכך נצטרך לתקן את כל אפליקציות הקליינט שהסתמכו על שיטה זו.

 

התקנת ממשק OData לתקשורת מול TFS

התקנת שכבת ה – OData יכולה להיות על כל שרת שיש לו תקשורת HTTP/S עם שרת ה – TFS (אפשר להתקין גם על שרת ה-TFS עצמו).

להוראות התקנה והגדרה הקליקו כאן.

 

השימוש בממשק ה- OData

לאחר ההתקנה כל שנותר לעשות הן פעולות פשוטות של Request ו-Response, ניתן לקבל הסבר מפורט לפקודות ולאופן השימוש בדף הבית של ה – OData:

image

ועכשיו כמה דוגמאות פשוטות:

נדרש מה – Client Application לבצע פעולת GET\POST ע"מ שנוכל לעבוד מול OData. בדוגמאות נשתמש בדפדפן (ללא שום הגדרות מיוחדות) שיבצע עבורנו את פעולת ה – GET. את הפלט של פעולת ה – GET נקבל בצורת XML, וכל שנשאר ל – Client Application הוא לנתח את ה – XML ולהציגו בצורה ידידותית.

לדוגמה, כך נקבל את רשימת הפרויקטים משכבת ה – OData:

https://{ODataServerAddress}/Projects 

 

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

https://{ODataServerAddress}/Projects(‘Staging’) 

אפשר להציג גם את כל הפרויקטים מלבד פרויקט ה”Staging” :

https://{ODataServerAddress}/Projects?$filter=Name%20ne%20’Staging’ 

ה – ne בכתובת משמש כאופרטור Not Equal.

 

ניתן גם לעדכן מידע, אולם אז נצטרך לשנות את ה – Web Method שלנו מ – GET ל – POST. באמצעות ה – POST נוכל ליצור ולעדכן Work Items ואף להפעיל Build מרחוק.

image

מיקרוסופט מספקת גם את קוד המקור של פרויקט ה – OData כך שאם משהו חסר תמיד ניתן להוסיף…

 

סיכום

שכבת ה – OData מספקת שכבה אמינה ובלתי תלויה במערכות הפעלה. ניתן ליצור אפליקציות קליינט לכל פלטפורמה אשר תומכת בתקשורת Web בסיסית.

 

 

הכנסו עכשיו לפורום העברי שלנו בנושא Visual Studio & ALM והתייעצו עם מיטב מומחי הקהילה.

 

 

Eyal[3]Original_1024[4]הפוסט נכתב  על ידי איל פרץ, ממקימי חברת דלג'ן, חברה המתמחה במתן שירותי ייעוץ ופיתוח בתחום ה-ALM. בעבר איל היה יועץ ALM בכיר והוביל צוותי ALM בחברות מובילות. כנסו לבלוג החברה לקרוא עוד כתבות מעניינות בנושא.

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

כתיבת תגובה

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