יישום רשת – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
מ "קוד" כאן היה במשמעות "תוכנית" |
מ ←מבנה יישומים: הגהה |
||
שורה 27:
באמצעות טכנולוגיות כמו [[Java]], [[JavaScript]], [[DHTML]], [[אדובי פלאש|Flash]], [[Silverlight]] וטכנולוגיות אחרות, ניתן לקבל שירותים כגון ציור על גבי המסך, השמעת צלילים, גישה ל[[מקלדת מחשב|מקלדת]] ול[[עכבר (מחשב)|עכבר]], תמיכה בפעולות "[[גרור ושחרר]]", ועוד. מפתחי web משתמשים לעתים קרובות בפונקציונליות של סקריפטים לצד הלקוח, במטרה ליצור חוויה [[אינטראקטיביות|אינטראקטיבית]] שאינה דורשת טעינה מחדש של הדף. בשנים האחרונות פותחו טכנולוגיות חדשות לצורך תיאום בין הסקריפטים בצד הלקוח לבין טכנולוגיות [[צד-שרת|צד־שרת]] כמו [[PHP]]. טכניקה לפיתוח web בשם [[Ajax (תכנות)|Ajax]], אשר משתמשת בשילוב של כמה טכנולוגיות שונות, היא דוגמה לטכנולוגיה אשר משמשת ליצירת חוויית משתמש אינטראקטיבית יותר.
== מבנה
בדרך כלל יישומי רשת מחולקים
הדפדפן נמצא בשכבה הראשונה והוא משמש להצגת התוכן למשתמש. בשכבה האמצעית (נקראת גם שכבת ה[[לוגיקה עסקית|לוגיקה העסקית]] או "שכבת היישום") נמצא [[שרת HTTP]] שעובד בתיאום עם מנוע ליצירת [[דף אינטרנט דינמי|דפי אינטרנט דינמיים]]. לרוב, יצירת הדפים מתבצעת על ידי אחת מהטכנולוגיות הבאות: [[Active Server Pages|ASP]], [[ASP.NET]], [[Common Gateway Interface|CGI]], [[ColdFusion]], [[JSP]], [[PHP]], [[Perl]], [[Python]], [[Ruby on Rails]]. בשכבה השלישית נמצא [[בסיס נתונים]] המשמש לקבלה ואחסון של נתונים. סדר הפעולות הכללי הוא: הדפדפן שולח בקשות לשרת שמהווה את שכבת הלוגיקה העסקית, והוא משרת אותן באמצעות תשאול ועדכון של בסיס הנתונים, ולבסוף יוצר ושולח את התוכן חזרה להצגה בדפדפן.
עבור יישומים מורכבים יותר, מודל שלוש השכבות עלול לא להספיק, ובמקרה כזה עדיף יהיה להשתמש בגישה של [[ארכיטקטורה רב-שכבתית (תוכנה)|ארכיטקטורה רב־שכבתית]] (n-שכבות). היתרון העיקרי בגישה כזאת הוא האפשרות לחלוקה עדינה יותר של ה[[לוגיקה עסקית|לוגיקה העסקית]], אשר נמצאת בשכבת היישום. עוד יתרון יכול להתקבל על ידי הוספת שכבת [[שילוב מערכות|אינטגרציה]] אשר מפרידה בין שכבת הנתונים ליתר השכבות, על ידי יצירה של ממשק נוח לצורך הגישה לנתונים. לדוגמה, הגישה לנתוני משתמשים תהיה באמצעות קריאה לפונקציה "()list_users", במקום לבצע שאילתת [[SQL]] ישירות כנגד טבלת המשתמשים בבסיס הנתונים. דבר זה יאפשר להחליף את בסיס הנתונים, מבלי הצורך לעשות שינויים כלשהם באף אחת מהשכבות האחרות.▼
▲עבור יישומים מורכבים יותר, מודל שלוש השכבות
יש המעדיפים פיתוח של יישומי רשת בארכיטקטורה של שתי שכבות: לקוח ושרת. ביישומים מסוימים הלקוח "חכם" ועושה את כל העבודה ורק מתשאל את השרת ה"טיפש". ביישומים אחרים הלקוח הוא "טיפש" ומסתמך על שרת "חכם". הלקוח יטפל בשכבת ההצגה, השרת יחזיק את בסיס הנתונים (שכבת האחסון) ו[[לוגיקה עסקית|הלוגיקה העסקית]] תהיה על גבי אחד מהם או על שניהם. בעוד שזה מגביר את ה[[סילומיות]] של היישומים ויוצר הפרדה בין ההצגה לבסיס הנתונים, זה עדיין לא מאפשר התמחות של השכבות, ולכן מודל זה לא יתאים עבור מרבית היישומים.▼
▲יש המעדיפים פיתוח
== מודל עסקי ==
|