Remote Procedure Call – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Secured128 (שיחה | תרומות)
Matanyabot (שיחה | תרומות)
מ בוט: שינויים קוסמטיים
שורה 5:
באמצעות RPC ניתן לממש תקשורת [[שרת לקוח]], כך שהלקוח מפעיל על השרת את הפונקציה הרצויה תוך העברת הפרמטרים הנדרשים וממתין ממנו לקבלת התשובה, שבמרבית הפעמים עד לקבלתה הלקוח לא יכול להמשיך בפעולתו.
 
הבדל משמעותי בין הרצת הפונקציה מקומית לבין הרצתה באופן מרוחק הוא היכולת להבין את תוצאת פעולתה במידה של תקלה ברשת. אם הפונקציה נכשלה בהרצתה מרחוק, המחשב המקומי לא יכול לדעת האם היא בוצעה או לא. אם הפונקציה [[אידמפוטנט|אידמפוטנטית]]ית (כלומר שהרצתה יותר מפעם אחת לא משנה דבר במערכת) אזי הבעיה פתורה שכן ניתן להריצה שוב ושוב עד להצלחה ודאית. אולם אם הפונקציה אינה כזו, יש להתייחס למשמעות הכישלון בהרצתה ולהגיב בהתאם, במיוחד אם מדובר במערכות עדינות.
 
== היסטוריה ומקורות ==
{{להשלים|סיבה=התייחסות ל-.NET ולמימושים מאוחרים יותר}}
 
שורה 18:
באותה התקופה הציגו גם חברת [[זירוקס פארק]] את [[ILU]], ו-[[Object Management Group]] את [[CORBA]] - מימושים נוספים ל-RPC המאפשרים [[ירושה (מדעי המחשב)|ירושה]].
 
== שימושים נוספים וסטנדרטיזציה ==
הפרוטוקלים [[DCOM]] של [[חלונות]], פרוטוקול [[RMI]] של [[JAVA]] ופרוטוקול [[SOAP]] ב[[אינטרנט]]-[[WWW]] הם דוגמאות לשימושים כאלו. כדי לאפשר לשרת אחד לשרת לקוחות המשתמשים בפרוטוקולים שונים, הוצעו מספר מערכות סטנדרטיות היודעות לבצע זאת, רובן משתמש ב[[קובץ]] [[IDL]] (קיצור של interface description language) כדי לאפשר למערכות השונות לפנות ל-RPC בפורמט הנכון. קובץ ה-IDL משולב בקוד של הלקוח והשרת באמצעות כלים מיוחדים המבצעים זאת, הנפוץ מביניהם הוא RPCGEN.