מודל העבודה החדש מול IIS7 – הקדמה

26 בAugust 2007

תגיות:
אין תגובות

Windows Server 2008 אוטוטו כאן. רגע לפני שהוא מגיע, זה הזמן הלכיר את החידושים שהוא מביא איתו. מה הוא מחדש לנו, ואיך זה עוזר לנו, כמפתחים.

הדבר הטריוויאלי ביותר להתחיל איתו, הוא ה IIS, או בשמו המלא – Internet Information Services 7.0.
IIS7, היא הגרסא הראשונה זה שנים רבות, שמראה לנו חידוש מהותי באופן העבודה מול הIIS, ועוזרת לנו כמפתחים.
כדי להסביר מה חדש, צריך לדעת מה היה עד כה.image

תכירו. מצד שמאל יש את מודל עיבוד הנתונים של IIS6. המודל הה הוא דוגמא מצויינת לקופסא סגורה. המקום היחיד שאנחנו יכולים להתממשק בו אל המודל הזה, ולהגיד לו לחרוג קצת מהדרך שבה הוא תוכנת עלבוד, זה באמצעות כתיבת ISAPI Filter – תענוג מפוקפק, שפעמים רבות אפילו עדיף להימנע ממנו ע”י ביצוע מעקפים כאלה ואחרים.

ASP, ASP.NET,PHP – כל מה שקשור לצורה שבה הIIS מעבד קריאות ומגיב להם מבוצע באמצעות ISAPI Filters.

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

Modules ו- Handlers

שני מושגים שנשארו ושודרגו, הם Modules ו- Handlers. למעשה, החידוש הוא שכיום ניתן לכתוב Modules ו Handlers ב Managed Code, ב .net בצורה נוחה, ולא תוך הסתבכות נוספת עם ISAPI.

באופן פשוט מאד, Modules אחראים על טיפול בכל הבקשות, פונקציונאליות שמסופקת לכל הבקשות – מודולים של אוטנטיקציה, קשינג וכדומה. Handlers מטפלים רק בבקשות לסיומת מסויימת (עבור טיפול בסיומת ASPX – בצע כך ועבור הסיומת JPG בצע כך…). כיום, ניתן לכתוב את שני אלה בתור Managed Code.

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

כל התפקודים של IIS6 חולקו לכ-40 מודולים בIIS7. כאשר מכל אחד מהם ניתן לרשת, לדרוס ולשנות.

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

בואו נתחיל לכתוב קוד!

בפרק הבא, שיתפרסם בע”ה מחר, נתחיל לכתוב קוד. אולם, לפני זה, כמה מילים על הפיתוח.

גרסאות Windows Vista השונות מכילות חלקים שונים של הIIS. את הפיתוח מומלץ לעשות מול שרת Server 2008 או מול Windows Vista Ultimate. לנוחותכם, הנה עיקרי ההבדלים בין הגרסאות השונות של הIIS 7 במערכות ההפעלה השונות:

המודול Vista Home Premium Vista Ultimate Server 2008
ASP.NET + + +
ASP + + +
CGI + + +
ISAPI Extension/Filter + + +
Server Side Include + + +
BasicAuthentication + + +
Windows/DigestAuthentication + +
Metabase + +
WMI + +
FTP + +

 

זאת השוואה חלקית בלבד.

אז מה נכתוב פע הבאה? נתחיל מלהכיר את Microsoft.Web.Administration, נמשיך בכתיבת handlers, בהגדרה שלהם בIIS וביצירת GUI לניהול שלהם, מתוך הIIS.

הוסף תגובה
facebook linkedin twitter email

Leave a Reply

Your email address will not be published. Required fields are marked *