ההבדל בין REST ו- SOAP ההבדל בין

Anonim

מבוא

מאמר זה דן בשני פרוטוקולי גישה לשירות אינטרנט, SOAP ("Simple Object Access Protocol") ו- REST ("העברת מדינה ייצוגית").

שירותי אינטרנט

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

- <->

הדוגמה הראשונית הבאה מראה שימוש בסיסי בשירותי אינטרנט לפני הבנת אופן העברת הנתונים אל שירות האינטרנט וממנו, באמצעות SOAP או REST.

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

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

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

אופן הטיפול בנתונים בשירותי אינטרנט נקבע על ידי יישום SOAP או REST.

SOA ו- BPMN

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

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

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

Simple Object Access Protocol (SOAP)

SOAP היא שיטה להעברת נתונים דרך האינטרנט.

במקור פותחה על ידי מיקרוסופט בשל הופעת האינטרנט, SOAP החליף את הישן DCOM ו CORBA טכנולוגיות, וזה כבר בסביבה הרבה יותר מאשר REST.

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

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

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

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

לכן, שפת התכנות המשמשת היא גורם מכריע באיזו מידה קשה יהיה ליישם SOAP.

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

SOAP אינו מחויב להשתמש ב- HTTP (HyperText Transfer Protocol) באופן בלעדי; זה יכול לשמש מעל SMTP, פרוטוקולי תחבורה אחרים.

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

REST

REST הוא בן הדוד החדש והיותר מלוטש של SOAP, ומהר להפוך לבחירה עבור רוב יישומי האינטרנט והנייד.

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

שלא כמו SOAP, REST אינו משתמש ב XML באופן בלעדי; טקסט רגיל , CSV ו RSS ניתן להשתמש, כמו גם JSON עבור שיחות AJAX; כל עוד הן המקור והן מטרות יכול להבין את הפורמטים בשימוש.

REST הוא מורכב פחות ונחשב לעקומת למידה קטנה יותר בהשוואה ל- SOAP. ברוב שפות התכנות המודרניות יש ספריות ומסגרות כדי להקל על שירותי REST (RESTful), כגון C #, Python, Java ו- Perl.

REST הוא מהיר יותר בשל עיבוד מינימלי להיות יעיל יותר באמצעות פורמטים שונים של הודעות.

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