Web Service - רוצה לראות בעיניים...

Lian Ram

New member
מה זה web services?

מישהו יכול להסביר לי בצורה הפשוטה ביותר מה זה web services? ברמת הפרקטיקה – מי עשוי להשתמש בזה ולצורך מה, וברמה של ביצוע – מה זה בדיוק?
 

Lian Ram

New member
Web Service - רוצה לראות בעיניים...

טוב, שלב ראשון עבר בהצלחה – הבנתי מה זה web service ולמה הוא טוב עכשיו הייתי שמחה לראות אחד כזה בעיניים... מישהו יכול לכוון אותי ל URL של web service שפתוח לכולם רק לצורכי הדגמה? שמביא נתונים מפוברקים או שמאפשר שימוש בפונקציות פשוטות? האם יש ממשק אחיד לכל web service או שכל משתמש/ חברה מתאימה לעצמה interface ייחודי? תודה
 
למה הדגמה? יש אמיתיים

יש אלפי שירותי חינם פתוחים לשימוש. אחד מהם למשל הוא זה של אמזון. http://www.amazon.com/gp/browse.html?node=3435361 חפש גם ב uddi.org
 

yairov

New member
תגובה

אם עד לפני כמה שנים, היו כותבים מערכות בארכיטקטורה המבוססת רכיבים, הרי שבעידן ה-XML ניתן יהיה לכתוב מערכות מבוססות שירותים. הבעייתיות שהיתה בארכיטקטורת רכיבים היתה: א. חוסר אפשרות לשתף מידע ולוגיקה עם מערכות ופלטפורמות שונות. ב. חוסר אפשרות להעביר מידע דרך Firewall. ג. חוסר אפשרות להעביר מידע לגורמים צד שלישי. Web Services באו לפשט את העניינים. Web Services זו בעצם טכנולוגיה המאפשרת העברת מידע בין מחשבים מרוחקים באמצעות פרוטוקולים נפוצים הקיימים באינטרנט, כמו: HTTP ו-TCP ובאמצעות שפת XML ו-XSD הנתמכות על-ידי רוב השפות והפלטפורמות. הסטנדרט שבשימוש WS נקרא SOAP, או במילים אחרות Simple Object Access Protocol. הפרוטוקול מאפשר להעביר מידע בין מחשבים מרוחקים באמצעות שפת XML שהיא שפה אבסטרקטית. כל אובייקט הניתן להמרה ל-XML יכול לעבור בין אותם מחשבים וכשאמרו Simple Objects התכוונו לאובייקטים המורכבים מ-Simple Types כמו int, string וכו'... או מערכים של אובייקטים כאלה. באמצעות שפת XSD ניתן לאפיין את האובייקטים והמתודות של שירות מסויים. אפיון כזה נקרא WSDL או במילים אחרות Web Service Description Language. כאשר נעשה Reference לאיזשהו ,WSDL נוכל בעזרת כלים מיוחדים ליצור אצלנו אובייקטים ומתודות (proxy) זהים לאלה שנמצאים אצל נותן השירות. נניח שיש לנו את הקוד הבא:
public class SomeType { private string messageName; private string messageContent; public string MessageName { get { return messageName; } set { messageName = value; } } public string MessageContent { get { return messageContent; } set { messageContent = value; } } public SomeType() { } }​
ניתן לאפיין את המחלקה בעזרת XSD בצורה הבאה:
<xs:schema> <xs:el ement name="SomeType"> <xs:complexType> <xs:sequence> <xs:element name="MessageName" type="xs:string" /> <xs:element name="MessageContent" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs :schema>​
שורות אלו מתארות בעצם אובייקט שנקרא SomeType המכיל 2 מאפיינים: האחד MessageName מסוג string והשני MessageContent מסוג string. באותה שיטה ניתן לקחת אובייקט SomeType ולהפוך אותו ל-XML, לדוגמא:
<SomeType> <MessageName>value</MessageName> <MessageContent>value</MessageContent> </SomeType>​
בשיטה זו, ניתן להעביר מידע בין מערכות מרוחקות המידע ברשת זורם תמיד בצורה של XML. ולשאלתך השניה, אין ממשק אחיד ל-WS. מה שאחיד הוא שכולם מומרים בסופו של דבר ל-XML. כל אחד יכול לאפיין לעצמו את המתודות והאובייקטים שיהיו חשופים כלפי העולם החיצון.
 

Lian Ram

New member
יריב, דוד - תודה

ההסבר היה מקיף וברור, וההכוונה לאמזון - קלאסית.
 

24sharon

New member
בשמחה רבה,

ודאי שאפשר להשתמש. ו.. כן אני כתבתי. דרך אגב כמו שכבר כתבתי אם יש חג, הוא מציין גם את זה. וניתן לראות את הדוגמא בדף הזה: http://www.geula.biz/works/gethdate/default.aspx
 
למעלה