גרסת web service ב asp.net mvc

zag78

New member
גרסת web service ב asp.net mvc

שלום רב!

אני אמור לכתוב פרוייקט asp.net mvc, ולשלב בו web sevice.

לפי איך שהבנתי יש מספר גירסאות של web service:
WSDL, SOAP, UDDI, RDF
באיזה גירסה asp.net mvc תומך?
 
סלט ירקות זה מאד בריא

אבל אתה חייב לקרוא קצת על הנושא. המונחים שהזכרת אינם גרסאות של ווב סרביס.
התשובה הכי קצרה שאני יכול לתת: תומך בכולם.
כתוב את הסרביס לפי מה שאתה צריך, ותרשה לי להוסיף לך עוד ירק לסלט: web api . ממש בריא, וגם טעים.
קרא על הנושא. wcf וסרביסים בכלל זה נושא רחב מאד ואין מנוס מללמוד אותו אם הפרויקט דורש. אי אפשר לכסות את זה בפורום.
&nbsp
 

marvin2

New member
שאלת המשך..

למה שמישהוא ירצה להיכנס למיטה של WCF/SOAP וכו' אחרי שיש משהוא כזה טעים כמו WEB API ?
 
שאלה נכונה,

ואני לא בטוח שאני יודע את התשובה. כעובדה, יותר ויותר פרויקטים עוברים ל webapi במקום WCF .
אבל כידוע, WCF הוא מוצר מאד רחב, ויכול לעשות דברים רבים ש webapi לא יכול, כי פשוט לא תוכנן אליהם.
לדוגמה, לעבוד על פרוטוקולים אחרים שאינם http , כדוגמת tcp . הם מהירים הרבה יותר, ואם אתה לא צריך לחצות את האינטרנט בדרכך לשרת, (כל מיני דברים תוך ארגוניים למשל), הם יתנו ביצועים טובים בהרבה).
ישנם הבדלים נוספים, שחשובים בסביבות אחרות. פרוטוקול soap לא סתם מסובך, הוא כולל הרבה פיצ'רים ש webapi לא, כמו שמירת סשן. שוב, יש מקומות שמשתמשים בזה וזה חשוב, יש מקומות שלא.
לכן, לסיכום: הכל תלוי בצרכים. wcf לגמרי לא מת, אבל webapi בהחלט cool .
&nbsp
 

כלליים

New member
הנה שאלה מעשית

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

פירוט מורחב:
אנחנו מנויים על שירות officeCore, שהוא שירות ניהול עובדים ניידים, ושליחת משימות לעובדים. כאשר עובד סוגר משימה, הם שולחים עדכון לכתוב url. המידע נשלח כבקשת POST, שמכיל מסמך HTML. השירות שלי צריך לעשות אי-אילו פעולות [שמירה לDB ולוג כלשהוא] ולהחזיר לשולח "_OK_".

שינסתי מותני ולמדתי wcf בסיסי. ועתה מתברר לי שאולי יש פתרון פשוט יותר.
מה הייתם ממליצים לי? מה אתם הייתם בוחרים?
 

כלליים

New member
ירד מהפרק

קראתי על webapi, ובמקרה שלי הוא לא מתאים, בגלל שאני אמור להריץ על שרת ישן ואילו webapi דורש .net 4.5, או לפחות .net 4 לגירסאות ישנות.

אבל תקן אותי אם אני טועה בהגדרה:
webapi, כל לפחות לפי האתר הרשמי, מיועד לבנית אתרים ואפליקציות, כמו mvc. ההבדל בין webapi לmvc רגיל, הוא בממשק שבין הקונטרולר לבין הview. במקום שהview יקבל אובייקט דוטנטי, המודל מקבל json.
במקרה שלי, אין בכלל view, וכל האפליקציה היא מתודה אחת שמחזירה סטרינג, ולכן אין הבדל בין webapi לmvc או וובפורמז. ולכן, נראה לי שהכי פשוט והגיוני זה להשתמש בwcf.
 
על העניין הראשון, אין לי מה להגיד

אם השרת ישן, אז אין מה לעשות.
&nbsp
לגבי הטענה השניה, היא לגמרי לא נכונה. web api הוא שירות, ומי שרוצה/צריך/מורשה, יכול להשתמש בו.
אני למשל משתמש בו כבסיס לאפליקציית מובייל ששולחת נתונים על אנשים שמשתתפים בארועים וכנסים. אין שום קשר לאתר כלשהו. וממילא אין שום view בסיפור.
אם מתאים לך wcf - לך על זה. היתרון היחיד שאני רואה ב web api הוא הפשטות והקלות. ואלה היסודות של הדת שאני חושב לייסד יום אחד.
 

MoAtlow

New member
אני הרצתי WEBAPI על IIS6

כאילוץ, ועל שרת לא שלי. אבל עשיתי זאת
 

Miki Watts

New member
WCF הוא, לפחות מהניסיון שלי, יותר קל לתפעול

בין אם זה בהעברת הנתונים או בהשתלבות לתוך תהליך העברת הנתונים. web api זה יותר לדברים ברמה יותר low level ויש לו קפריזות לפעמים שניתן לפתור אבל יותר קשה מאשר WCF (לדוגמה, אם אחד הצדדים לא מוגדר נכון, אתה פשוט לא תקבל את הנתונים בצד השני ואין לך trace כמו ב WCF שיגיד לך מה נכשל או לא מוגדר תקין)
 

zag78

New member
הפרויקט שקיבלתי זה בעצם ריאיון קבלה

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

מעשי -
יצירת מערכת לפי אפיון
כתיבה ב ASP.NET או MVC
שימוש ב WEB SERVICE
שימוש ב STORED PROCEDURES
פניה דרך AJAX

האם בWEB SERVICE הם מתכוונים לWCF?
 
נשמע לי קצת מקיף מדי למבחן קבלה

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

zag78

New member
למה בכלל צריך web service?

סליחה על הבורות. מה לא מספיק בשליחת request וקבלת response כפי שעושים למשל בAJAX?
 
לשאלה שלך יש בדיוק 3 תשובות:

1. לא צריך.

2. גם לשירות-רשת שולחים בקשה ומקבלים תגובה. רק שאין צורך לשלוח את התשובה בפורמט HTML כיוון שבהכללה הלקוח אינו דפדפן (או ליתר דיוק - התגובה אינה מיועדת, כשלעצמה, להצגה לעין אנושית).

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

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

zag78

New member
אכן חסר לי ידע.

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