מסדי נתונים / בחירת מסד הנתונים האידיאלי / פילוסופית ה Embedded Web-Programming


פילוסופית ה Embedded Web-Programming


תכנות האינטרנט התחיל עם ה CGI (Common Gateway Interface):
הרי לכם מעבר מהיר על העקרונות הבסיסיים של CGI:
  1. כאשר משתמש מבצע בקשת CGI מהשרת, משהו בכתובת המבוקשת יפעיל בשרת תהליך הקורא ל CGI. הרמז בכתובת יכול להיות אחת מן האפשרויות הבאות:
    הכתובת שהמשתמש ביקש נמצאת בתיקיית /cgi-bin/, לדוגמא:
    http://www.somewhere.com/cgi- bin/arandomcgiprogram
    השרת מותאם לזהות באופן אוטומטי קבצים בעלי סיומות מסוימות כקובצי CGI. לדוגמא הסיומת px:
    http://www.erehwon.org/gosearch.py
    סיומת הקובץ מזוהה כקובצי מקור של CGI, לדוגמא:
    http://www.xyz.net/dosomething.cgi
  2. השרת מוסר את המידע לתוכנית אחרת, המוגדרת בשורת הכתובת. התוכנית מפעילה את התהליך כ"תהליך בן" ומעבירה לו את כל המידע הדרוש כדי להיחשב "תוכנית אינטרנט". היא כוללת בו משתני סביבה כלליים והקלט סטנדרטי (STDIN).
  3. התוכנית תרוץ ותפיק מידע, המידע נשלח לפלט הסטנדרטי (STDOUT). בדרך כלל התוכנית תיצור כותרת HTTP מינימלית ותאכסן בה מידע, כחלק מהפלט.
  4. השרת יקלוט את הפלט המופק מה STDOUT וידאג להעבירו למשתמש דרך האינטרנט. הדפדפן יתרגם את המידע שנשלח לפי כותרת ה-HTTP. ברוב המקרים הפלט שיתקבל בדפדפן המשתמש יהיה קובץ HTNL, אבל חשוב לזכור ש-CGI יכולה ליצור אוסף ביטים שיוצר תמונות מסוג JPEG וסרטי אודיו בדיוק באותה מידה.

כך נראית תוכנית בסיסית בשפת C :


#include <stdio.h> int main () { print("Hello, world!\n"); }


נוכל להפוך אותה בקלות לתוכנית CGI, ע"י הוספה של כותרת HTTP .

#include <stdio.h> int main () { print("Content-type: text/plain\n\n"); print("Hello, world!\n"); }


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

יצירת התהליכים שרצים הנה עבודה קשה שגוזלת זמן רב וזיכרון רב עוד יותר. בעיית המהירות הגדולה שנוצרת מהווה מקור לתלונות רבות ע"י מתכנתי אתרים מהירים.
שרתי אינטרנט מכילים מידע רב יותר מאשר משתני סביבה וSTDIN בלבד .CGI לא מאפרת למתכנת גישה חופשית לאותו מידע.
כל עולם התוכנה משתנה בימינו, הוא מתאים את עצמו לטכנולוגית האינטרנט החדישה. אם כל מה שאנחנו רוצים לעשות זה ליצור תוכניות שישתלבו בHTML, למה הקוד נראה כמו שפת מכונה ולא כמו HTML ?

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

כמה מהדוגמאות היותר מפורסמות לשפות תכנות שכאלו הן:


asp - Active Server Pages - שפה הניתנת לשימוש בשרתי IIS של מיקרוסופט. קובץ ASP יכול להישען על כמה מנועי תוכנה, כגון VBScript, ג'אוה סקריפט ופרל סקריפט.
Allaire Cold Fusion - סביבת עבודה אינטרנטית ונוחה לשימוש עיסקי. בעוד שבתחילת דרכה פעלה רק על מחשבי NT, בזמן האחרון הותאמה גם לשרתי יוניקס.
Meta Html - "תוכנת חינם" המיועדת למשתמשי יוניקס. תומכת בODBC ובmSQL. התוכנה מספקת גם תמיכה לשרתי נטסקייפ ואפאצ'י.

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

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



עמוד הבא: ePerl-כשפרל פוגשת את HTML >>




מבט כללי
שעור 1
הטכנולוגיה הלא נכונה
לבעיה הלא נכונה

דמיין את כל האנשים
(נכנסים לאתר שלך)

מה האופציות שלי?
למה באינטרנט?
אבל איך?
משהו ללעוס בדרך
שעור 2
הכרות עם שדה
המשחקים

Windows NT לעומת
Linux

התקנת לינוקס והתוכניות
הנלוות

ציפיות
שעור 3
מבוא
MySQL ושאר עניני
שרת/מסד נתונים

MySQL,SQL,DDL
ו-DML

סיכום
שעור 4
פילוסופית ה-Embedded
Web-Programming >
ePerl-כשפרל פוגשת את
HTML

DBI-ממשק מסד הנתונים
של פרל

הדרך שלפנינו
שעור 5
מתחילים לעבוד
CGI.pm הבלתי נמנע
Escape Sequences
ומסד הנתונים שלך

הטבעת ביטויים יחסיים
במחרוזת
Here-Document

הטבעת תת-רוטינות
מחברים את הכל
מטפלים בטפסים עם
שאילתות SQL

מעבדים את תוצאות
הטופס עם-CGI.pm