xhtml ssi מפת האתר דף ראשי

«
«
«
«
«
«

«
ראשי  » אפאצ'י  » פרסום מונחה-עצמים

מאמר 6 :פרסום מונחה-עצמים באינטרנט / ג'פרי וין

6.1 הקדמה

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

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

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

 

6.2 סביבת פרונטייר ( Frontier)

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

האמנם?

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

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

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

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

האם לא עדיף להיות מסוגל לבצע שינויים (מניפולציות) לאתר שלך בזמן אמיתי?

 

6.3 עיצוב בזמן אמת: מערכות מבוססות שרת

SGML מוכיח כי אנשים כבר חושבים זמן רב על פרסום אלקטרוני.
כיצד ניתן לנצל עוצמתה של מערכת זו? ישנם מספר דרכים.
כבר הראנו לכם כיצד בנינו את האתר של Webmonkey באמצעות המודול של XSSI אשר בא יחד עם תוכנת השרת אפאצ'י . בחרנו בדרך זו הודות למהירותה (XSSI יכולה לבנות ולהגיש עמודים במהירות רבה יותר ממערכות רבות יותר) וכן הודות לפשטותה. לא היינו צריכים להסתמך על מסד נתונים - התוכן שלנו נותר במקטעי HTML פשוטים בצורת קבצי טקסט, החיים על השרת.

סה"כ יש גם פתרונות מדף, רובם מציעים פתרונות גדולים לפרוייקטים גדולים, למשל Vignette Story Server מאפשר לך להוציא לאור תכנים דינמיים, מבוססים על תבניות, יחד עם כלי ניהול רבי עוצמה לניהול תכנים וזרימת העבודה. פתרונות דומים מצויים במערכות כגון Dynabase של Inso או Rightsite של Documentum.

והנה החלק הנחמד - להבדיל ממערכות פרסום כמו Frontier (או אפילו פתרונות מבוססי Pert) אשר דוחפים את התוכן שלך דרך תבניות בשלב הפרודוקציה, כלי ניהול התוכן הללו מרכיבים את הכל בזמן אמת.
כלומר, תוכל ליצור את האתר בזמן חי, ולשנות תבניות אשר משוחזרות באופן מיידי על מסכי המשתמשים. האופי הדינמי של האתרים אינו מסתיים בתהליך הכתיבה: אתרים אשר נכתבים כך יכולים להשתנות, על פי פעולות המשתמשים.
יש לכך השלכות גדולות למסחר, למרחבי דיון אינטראקטיביים ואפילו לדבר פשוט כמו קישורים מסוג "ראה גם" (See also ) בצד העמוד.

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