הבה
נתבונן במהירות על הדוגמאות הבסיסיות ביותר
של אפליקציות WEB. נניח כי 1) נשלחת בקשת HTML
ישירה המורה לדפדפן 2) לתקשר עם שרת WEB
בעזרת פרוטוקול HTTP
, ו 3) מבקשת ממנו 4)מסמך HTML
מסויים אשר השרת 5) מחזיר בכדי ש 6) יוצג על ידי
דפדפן ה WEB.
כעת
נתבונן על דוגמא מורכבת יותר . נניח שהמשתמש
מספק פרמטרים לחיפוש דרך 1) טופסHTML
שדפדפן ה WEB
שולח 2) לשרת ה WEB
ומשתמש בתקשורת SSL.
יתכן ו3)שרת ה WEB
יבצע עיבוד לנתונים אלו בעזרת סקריפט CGI
ע"י התקשרות ל 4) קובץ נתונים ומחפש בו בהתאם
לשאילתת המשתמש ואז 5) שולח בחזרה את התוצאות
לצורך 6) תצוגה בחלון דפדפן ה WEB
בצורת טבלה.
תבנית
זו יכולה אפילו להסתבך קצת יותר. לדוגמא , נניח
שיש לנו 1)לקוח ג'אווה אשר 2) שולח בקשה מוצפנת
לעבר שרת Java WEB
אשר 3) מעבד את הבקשה בעזרת Java
Servlet המשתמש
באובייקט COBRA
על מנת לייצר באופן שיטתי 4) נתונים פיננסים
מסחריים לתצורת XML
עם קישור ל גליון מסוגנן XSL
אשר 5) שולח בחזרה ללקוח הג'אווה 6) אשר מנתח את
התוצאות לתוך עץ XML
ומציג זאת בהתאם ל XSL.
כפי
שתראה בתרשים הזרימה של אפליקציות ה WEB
, ניתן להשתמש בטכנולוגיות רבות ומגוונות על
מנת לבצע מספר משימות.
למעשה
, ישנן מאות טכנולוגיות וכלים המשתמשים בהם
לצורך תהליך פשוט. המספר הרב של חלקים אלו
הינו הסיבה לכך שמפתחים רבים מרגישים המומים
שהם מביטים בתהליכי אפליקציות WEB.
אך
יש לציין כי לא משנה כמה טכנולוגיות מעורבות
בפרוייקט – בגדול כולן מקוטלגות לאחת מארבע
קטגוריות ראשיות (תפיסתית).
כל
טכנולגיה תכלל או ב 1) שכבת התצוגה (GUI)
או ב 2) שכבת התקשורת או 3) שכבת התיווך (Middleware)
או ב 4) שכבת הנתונים.
אתה
עוד תיווכח שכאשר אתה נתקל בטכנולוגיה חדשה
ומסוגל לסווג אותה לאחת מארבע הקטגוריות
הראשיות , מייד תבין מהי בעצם עושה , וסביר
להניח שתבין גם כיצד היא עושה זאת. לכל
טכנולוגיה יש תחביר משלה ושגעונות משלה , אך
אם תהייה מצוייד בהבנה רחבה ובספר הפניות
מתאים , כל טכנולוגיה חדשה יכולה להכלל ב"ארגז
הכלים" שלך בתוך כשבוע או שבועיים ולא משנה
כמה היא מורכבת.
יתכן
כי תמונה היא הדבר המתאים ביותר כאן. להלן
הקטלוג של הטכנולוגיות השונות לשכבה המתאימה.
בחלקים הבאים נתמקד בקטגוריות אלו
ובטכנולוגיות המוכלות בהן.
נראה
מסובך טיפה , אה? ובכן זאת בדיוק הסיבה מדוע
מפתחי WEB
עלולים להכנס להלם. אבל כפי שאמרנו מקודם אין
סיבה להבהל – יש ביכולתך לקחת פסל לגו זה
ולפרק אותו לבלוקים ולחקור בלוק בלוק בנפרד.
במקטע
הבא נתחיל עם שכבת התצוגה \ GUI.