چکیده
عنوان این پروژه تهیه سایت خبری یک سازمان بر روی وب میباشد.
هدف آن اطلاع رسانی تازه های کامپیوتر و تکنولوژی که هر عضوی توانایی ثبت و مطالعه خبر را دارد میباشد.
در این سایت افراد میتوانند خبرهای مورد نظر خود را مطالعه کنند و اشخاص میتوانند با عضویت در سایت خبرهای مورد نظر خود را گروه بندی نموده و در بانک خبرها ثبت نمایند و افراد بر اساس گروه خبری وارد بخش خبر مورد علاقه خود شده و خبرهای آن گروه را مطالعه نمایند.
تکنولوژی وب در پی برآورده سازی نیازهای گوناگون سیستم های مختلف مبننی بر وب، همچون بانک های اطلاعاتی، می باشد. تکنیک های مختلفی در زمینه رفع این نیازمندیها وجود دارند و بکار گرفته می شوند. این تکنیک ها به دو دسته تکنیک های سمت مشتری و تکنیک های سمت سرویس دهنده تقسیم می شوند.
یکی از تکنیک های سمت سرویس دهنده، ASP می باشد. ASP روش جدیدی جهت ایجاد صفحات پویا با قابلیت دسترسی به اطلاعات می باشد. برای پردازش صفحه ASP از ماشینی به نام WebServer استفاده می شود. این ماشین صفحه ASP را قبل از ارسال، به صفحه HTML معمولی تبدیل می نماید.
در این مستندات ابتدا توضیح مختصری از تکنولوژی های بکارگرفته شده آمده است. در ادامه به معرفی ASP و تشریح کاربرد این تکنیک جهت ایجاد این سایت پرداخته می شود. در پایان رهنمودهایی جهت انتخاب تکنولوژی صحیح ایجاد وب ارائه شده است.
مقدمه
عمومیت اینترنت اهمیت آشنایی با تکنولوژیهای جدید در این زمینه را افزایش داده است. یک برنامه نویس اینترنت در دنیای امروز با انتخاب ها و نکات جدید بسیاری روبرو می باشند که انتخاب تکنولوژی مناسب را مشکل می کند.
ایجاد صفحات وب با ارائه صفحاتی شامل نکات برجسته علمی و تبلیغاتی شروع شد. این صفحات معمولا حاوی اطلاعات کوتاهی به صورت ایستا بودند. تکنیکهای ساده جهت ایجاد این صفحات به کار می رفت. فقط چند سال قبل ساخت صفحات وب به تخصص کمی در مورد کار با زبان ایجاد فرامتن نیازمند بود. این صفحات در ویرایشگر های متنی ساده ایجاد می شد. ولی با پیشرفت اینترنت و همگانی شدن استفاده از آن، زمینه های اطلاعاتی جدیدی مطرح شد و لزوم پوشش حجم وسیعی از اطلاعات بوجود آمد که تکنیک های اولیه جوابگوی این نیازها نبودند.
توسعه اینترنت در چند سال گذشته از صفحات با محتوای ثابت به سمت صفحات با محتوای پویا حرکت کرده است. این پویایی در هر دو جنبه ایجاد و نمایش صفحات وجود دارد. ایجاد کننده های صفحات وب جهت کاستن عملیات ایجاد و تغییر صفحات به دنبال استفاده از تکنیک هائی جهت ایجاد پویایی صفحات می باشد. در این پروژه به ارائه برخی از این تکنیک ها می پردازیم.
فصل اول
تکنولوژی های بکار گرفته شده
استفاده از بانک اطلاعاتی Access
استفاده از سیستم DSN
آشنایی با ساختار زبان VBScript
ارتباط بانک اطلاعاتی و ASP
اجرای صفحات ASP
آشنایی با ASP
استفاده از بانک اطلاعاتی Access
استفاده از بانک های اطلاعاتی
یک روش برای در دسترس قرار دادن اطلاعات استفاده از بانک های اطلاعاتی میباشد. بانک های اطلاعاتی برای ذخیره مقادیر عظیمی از اطلاعات طراحی شده اند. بانک های اطلاعاتی تجارتی زیادی مثل Access، Microsoft SQL، Oracle و Informix در دسترس قرار دارند.
خواندن و تغییر دادن محتویات یک بانک اطلاعاتی از طریق یک صفحه ASP کاری ممکن می باشد. این یکی از کارهای سودمند و جالب Active Server Page می باشد.
پایگاه داده های رابطه ای چیستند؟
مفیدترین ویژگی Active server ها توانایی آنها در ارتباط ساده یک صفحه ASP با یک بانک اطلاعاتی می باشد.
تعداد زیادی برنامه های بانک اطلاعاتی تجارتی محبوب در دسترس می باشند مثل Microsoft Access، که در داخل برنامه Office قرار دارد، Microsoft SQL-server، Oracle، Informix، DB2 و برنامه های دیگر. از آنجایی که ASP از تکنولوژی مایکروسافت استفاده می کند، بانک اطلاعاتی مایکروسافت بیشتر با آن مورد استفاده قرار می گیرند. اگرچه، هیچ دلیلی وجود ندارد که نتوانید از بانک اطلاعاتی غیر مایکروسافتی مثل Oracle با آن استفاده نمایید.
هدف اولیه از یک بانک اطلاعاتی ذخیره اطلاعات می باشد. اگرچه هر سیستم بانک اطلاعاتی ممکن است ریزه کاریهای مختص به خود را داشته باشد، اما همه بانک اطلاعاتی از جداول برای ذخیره اطلاعات استفاده می کنند.
یک جدول، که دارای سطر و ستون به شکل یک ماتریس می باشد، مانند یک انبار برای قرار گرفتن نمونه هایی از objectها استفاده می شود. ستونهای یک جدول خصوصیات object را تشریح می کنند، در حالی که سطر یک نمونه منحصر به فرد از object می باشد. به سطرها در جدول بانک اطلاعاتی اصطلاحا رکورد گفته می شود، و به ستونها نیز اصطلاحا فیلد گفته می شود.
بانک های اطلاعاتی می توانند شامل چندین جدول بانک اطلاعاتی باشند، و معمولا هر جدول بانک اطلاعاتی یک object منفرد را نشان می دهد.
سیستمهای بانک اطلاعاتی تک فایلی ( flat-file )، جدولهای وابسته را با یکدیگر و در داخل جدول بزرگتر ادغام می نمایند.
بانک اطلاعاتی تک فایلی به ندرت امروزه مورد استفاده قرار می گیرند، زیرا داده های غیر ضروری در داخل آنها به صورت تکراری وجود دارد. برای پاک کردن این اطلاعات تکراری، از یک فرآیند به نام نرمال سازی استفاده می کنیم. بانک اطلاعاتی نرمال سازی شده شامل هیچ داده تکراری نمی باشد. بانک اطلاعاتی flat-file حدود سه سال قبل با بانک های اطلاعاتی رابطه ای جایگزین شدند، که عملا استاندارد حال حاضر می باشند. وقتی جداول بانک اطلاعاتی با استفاده از بانک های اطلاعاتی رابطه ای طراحی می شوند، به خاطر داشته باشید که هر object منحصر به فرد را با واسطه یا بی واسطه، در جدول بانک اطلاعاتی مختص به خودش نشان می دهد.
چرا از بانک اطلاعاتی استفاده می شود؟
بانک های اطلاعاتی، مانند فایل های متنی، cookie ها، و شئ های session و Application دارای زمان و مکان مختص به خودشان می باشند. اگر نیاز به ذخیره مقدار زیادی از اطلاعات در یک دوره طولانی از زمان را دارید، بانک های اطلاعاتی یکی از بهترین راه حلها می باشند. یکی از شاخه های اصلی در علم کامپیوتر اختصاص به مطالعه طراحی بانک اطلاعاتی کارآمد می باشد. با داشتن جستجوهای قدرتمند در داخل سیستم های بانک اطلاعاتی، یک بانک اطلاعاتی مؤثرترین و کارآمدترین متد ذخیره اطلاعات می باشد.
با این وجود، بانک اطلاعاتی دارای نقاط ضعفی نیز می باشد. اتصال به یک بانک اطلاعاتی از طریق یک صفحه ASP کار پرخرجی می باشد. خواندن محتویات فایل متنی و یا یک cookie، زمان خیلی کمتری را از اتصال به یک بانک اطلاعاتی و دریافت اطلاعات از جداول بانک اطلاعاتی می گیرد. به همین دلیل، بانک های اطلاعاتی همیشه بهترین راه حل نیستند.
بانک های اطلاعاتی فقط برای انجام یک کار طراحی شده اند: ذخیره داده ها. به همین دلیل بانک های اطلاعاتی برای ذخیره و بازیابی اطلاعات فوق العاده مناسب می باشند. بانک های اطلاعاتی ظرفیت ذخیره مقادیر زیادی از اطلاعات را دارند. برخی از بزرگترین بانک های اطلاعاتی دنیا شامل چندین ترا بایت می باشند ( یک ترابایت برابر 1000 گیگا بایت، یا 1000000 مگا بایت می باشد )!
یکی دیگر از ویژگیهای خوب استفاده از بانک های اطلاعاتی از طریق یک صفحه ASP این است که تعداد زیادی از نرم افزارهای موجود از بانک های اطلاعاتی برای ذخیره کردن اطلاعات استفاده می کنند. با استفاده از بانک های اطلاعاتی از طریق صفحات ASP، می توانید با نرم افزارهای موجود ارتباط برقرار کنید و داده هایش را به صورت online دریافت کنید.
ساخت بانک اطلاعاتی
حال که در مورد مبانی بانک های اطلاعاتی بحث کردیم، وقتش رسیده است که کار کردن با آنها را شروع کنیم! در ادامه چگونگی ایجاد یک بانک اطلاعاتی با استفاده از Microsoft Access 2000 و سپس پرس و جو از این بانک اطلاعاتی از طریق یک صفحه ASP را خواهیم دید.
قبل از آنکه بانک اطلاعاتی خود را بسازید، باید تصمیم بگیرید که چه نوع از اطلاعاتی را می خواهید ذخیره نمایید. تصور کنید که قصد ذخیره کردن یک صفحه وب را دارید که اطلاعات مربوط به دوستانتان و علاقه مندیهایشان را ذخیره می کند. برای این مثال، یک جدول به نام itinput که شامل ستونهای زیر می باشد بسازید:
Username
Password
Fname
Lname
Sex
Degree
برای ایجاد چنین جدولی با استفاده از Access 2000، کار را با اجرای Access شروع کنید. یک dialog box ظاهر می شود، که از شما می پرسد که آیا قصد ایجاد یک بانک اطلاعاتی جدید را دارید، یا یک فایل موجود را باز می کنید. گزینه Blank Access Database را انتخاب کنید.
از شما بلافاصله درخواست یک نام فایل برای بانک اطلاعاتی جدیدتان می شود و همچنین مکانی که فایل بانک اطلاعاتی باید در آن ذخیره شود پرسیده می شود. فایل بانک اطلاعاتی را itpr.mdb بنامید و آن را در پوشه My Document قرار دهید. در این لحظه، باید سه گزینه را مشاهده نمایید: Create table in Design view، Create table by using wizard، Create table by entering data. گزینه Create table in Design view را انتخاب کنید.
اکنون باید یک ماتریس با سه ستون و چندین سطر را مشاهده نمایید. برای شروع ابتدا ستون Name را به جدول itinput اضافه کنید. این ستون در داخل Field Name وارد می شود. سپس، Data Type را انتخاب نمایید. از آنجایی که در داخل ستون Name رشته هایی را وارد می کنید، نوع داده متنی را انتخاب کنید. اگر قصد وارد کردن توضیحاتی درباره این ستون دارید، این عمل را می توانید با استفاده از ستون Description ماتریس انجام دهید.
توجه کنید که هر ستون در جدول itinput دارای نوع داده Text می باشد، زیرا هر ستون نیازمند ذخیره اطلاعات متنی می باشد. انواع دیگر داده ها نیز وجود دارند که می توانید انتخاب نمایید. در زیر فهرست انواع دیگر داده هایی که هنگام ایجاد بانک اطلاعاتی از طریق Access 2000 می توانید انتخاب نمایید را نشان می دهد.
هنگامی که نیاز به ذخیره 255 کاراکتر الفبایی یا کمتر دارید، استفاده می شود. اگر نیاز به ذخیره بیش از 255 کاراکتر الفبایی دارید، از نوع داده Memo استفاده کنید.
Memo
هنگامی که نیاز به ذخیره مقادیر عظیمی از کاراکترهای الفبایی دارید، از آن استفاده کنید. نوع داده Memo می تواند تا بیش از 535، 65 کاراکتر را ذخیره نماید.
Number
هنگامی که قصد دارید مقادیر عددی را ذخیره کنید، مورد استفاده قرار می گیرد.
Date/Time
هنگامی که قصد دارید مقادیر ساعت و تاریخ را ذخیره کنید، مورد استفاده قرار می گیرد. یک نوع داده ای Date/Time در برنامه Access می تواند در محدوده ای بین 100 تا 9999 ذخیره شود.
Currency
هنگامی که قصد دارید مقادیر currency رازخیره کنید،مورداستفاده قرارمیگیرد.انواع داده هاcurrency فقط بیش از چهار رقم اعشار را پشتیبانی می کند.
Yes/No
برای ستونهایی استفاده می شوند که فقط یکی از دو مقدار را می توانند داشته باشند.
Autonumber
از این متغیر افزاینده خودکار برای تعیین هر سطر در یک جدول استفاده می شود. فیلدهای Autonumber در هنگام طراحی جداول چندگانه و وابسته در یک بانک اطلاعاتی رابطه ای به کار می روند.
اکنون که همه اطلاعات مورد نیاز را وارد کردید، کمی به پیش رفته و این جدول را با انتخاب منوی File و گزینه Save ذخیره نمایید. اکنون باید برای این جدول یک نام را وارد کنید. Itinput را تایپ کرده و دکمه ok را کلیک کنید.
وقتی دکمه ok را برای ذخیره جدول بانک اطلاعاتی خود کلیک می کنید، به شما هشدار داده می شود که هیچ کلید اصلی را تعریف نکرده اید. این مثال نیازی به کلید اصلی ندارد، بنابراین فقط گزینه ای که می گوید شما نمی خواهید کلید اصلی بسازید را انتخاب نمایید. اکنون مقادیری را در داخل جدول بانک اطلاعاتیتان وارد کنید.
برای شروع Design view را ببندید (از منوی File گزینه close را انتخاب کنید). سه گزینه ای که در ابتدا به شما نشان داده شده بود را می بینید، علاوه بر اینکه یک آیتم چهارمی نیز وجود دارد- جدولی که ایجاد کرده اید.
بر روی این گزینه جدید دو بار کلیک کنید. انجام این کار یک پنجره جدید را باز می کند که شامل ماتریسی است که جدول itinput را نشان می دهد. توجه کنید که شش ستون وجود دارد. مقداری اطلاعات در مورد دوستانتان در داخل این جدول وارد کنید.
اکنون با استفاده از Access 2000 یک بانک اطلاعاتی را ساخته اید. اکنون که یک بانک اطلاعاتی دارید، می توانید از طریق یک صفحه ASP از آن پرس و جو نمایید.
اهمیتی ندارد که از چه سیستم بانک اطلاعاتی قصد دارید استفاده کنید، حتی سیستم می تواند از نوع ODBC-compliat باشد. اگر چه مراحل ایجاد بانک اطلاعاتی و جدول ممکن است متفاوت باشد، اما عمل پرس و جوی اطلاعات از طریق ASP هیچ تفاوتی نخواهد داشت.
برای ارتباط برقرار کردن با یک بانک اطلاعاتی از طریق یک صفحه ASP، نیاز به استفاده از مولفه ActiveX Data Objects ( ADO ) دارید. این Component تعدادی از object هایی را که می توان از آنها برای اتصال و پرس و جو کردن بانک اطلاعاتی استفاده کرد را فراهم می کند. در مورد ADO و object های مربوط به آن با جزئیات بیشتر در بخش بعد بحث خواهیم کرد. اکنون، فقط آگاه باشید که هر زمانی که می خواهید به یک بانک اطلاعاتی از طریق صفحه ASP دسترسی پیدا نمایید باید از ADO استفاده نمایید.
استفاده از سیستم DSN
یک سیستم DSN، فایلی است که اطلاعاتی درباره اینکه بانک اطلاعاتی در کجا قرار دارد و چه نوع از بانک اطلاعاتی می باشد را نگهداری می نماید. DSN نام منبع اطلاعاتی را نگهداری می نماید. ایجاد یک سیستم DSN به راحتی صورت می گیرد:
Access را ببندید.
در ویندوز 2000، بر روی start کلیک نمایید، و سپس مراحل زیر را انجام دهید.
Start > settings > control panel > administrative Tools > Data sources ( ODBC )
یا
Start > administrative Tools > Data sources.
سراغ system DSN Tab بروید. در اینجا فهرستی از منابع اطلاعاتی سیستم فعلی که پیکربندی شده است وجود دارد. در سمت راست سه دکمه وجود دارد که به شما اجازه می دهند یک سیستم DSN جدید را اضافه نمایید، یا سیستم انتخاب شده را حذف کنید، یا تنظیمات سیستم انتخاب شده فعلی را تغییر دهید.
شما قصد اضافه کردن یک DSN جدید را دارید، پس دکمه Add را کلیک نمایید.
فهرستی از درایور ها را مشاهده می نمایید. درایور Access مایکروسافت را انتخاب کنید ( *.mdb ) ورودی دکمه finish کلیک نمایید.
اکنون کادر setup ظاهر می گردد به عنوان نام منبع اطلاعات widgetworld.dsn را وارد کنید. این نامی است که برای ارجاع به DSN در صفحات ASP خود از آن استفاده می نمایید. ممکن است توضیحاتی را نیز وارد نمایید این توضیحات به شما کمک می کنند که به یاد بیاورید که این بانک اطلاعاتی و DSN برای چه کاری می باشند.
بر روی دکمه select کلیک کنید. اکنون فایل .mdb را برای بانک اطلاعاتی انتخاب نمایید. ما آن را widgetworld.mdb نامیدیم.
برروی دکمه ok کلیک کرده تا بانک اطلاعاتی انتخاب گردد. بر روی دکمه ok دوباره کلیک کنید تا ایجاد DSN خاتمه پذیرد. باید DSN ی که ایجاد کرده اید در زیر منابع اطلاعاتی سیستم مشاهده نمایید.
بر روی دکمه OK کلیک نمایید تا از این مرحله خارج گردید.
اگر از نسخه های پیشین ویندوز استفاده می نمایید، می توانید به منابع اطلاعاتی ODBC از طریق زیر دسترسی نمایید:
Start > settings > control panel > ODBC Data Sources
اکنون یک سیستم DSN دارید. می توانید آنرا بوسیله دستور زیر در اختیار آبجکت connection قرار دهید:
Objconn.ConnectionString = “DSN = widgetworld.dsn”
آشنایی با ساختار کلی زبان VBScript
زبان VISUAL BASIC SCRIPT که از این به بعد ان را اختصارا VBSCRIPT خواهیم نامید یک زبان SCRIPT میباشد که مستقیما از VISUAL BASIC نشاءت گرفته است. زبانهای script روایت کوچک شده زبانهای دیگر می باشند که برای اضافه شدن به صفحات وب طراحی شده اند. کد برنامه به یکی به یکی از زبانهای script مستقیما درون متن html درج شده است و در هنگام اجرا به جای Compile یا تفسیر شدن ترجمه میشود. در این قسمت مختصری به زبان vbscript خواهیم پرداخت و فرض را بر این میگیریم که خواننده با زبان html و کلا web آشنا میباشد( در قسمت های بعد مختصری توضیح داده می شود). البته vbscript تنها برای برنامه نویسی وب به کار نمیرود بلکه اکثریت محصولات شرکت Microsoft نظیر مجموعه نرم افزارهای office و بسیاری از نرم افزارهای دیگر این شرکت از vbscript جهت ایجاد حالت پویا در صفحات عادی استفاده می نمایند به عنوان مثال در برنامه word که از جمله نرم افزازهای زیر مجموعه office میباشد vbscript جهت تصیح متون و ایجاد تسهیلات تایپ نظیر متنهای اتوماتیک و اصلاحات اتوماتیک اغلاط تایپی استفاده میشود. یا برنامه های access و excel نیز اساس برنامه نویسی vbscript میباشد. اما به جهت خودداری از پیچیده شدن موضوع ما vbscript را صرفا زبانی جهت خلق پویایی در صفحات وب وبه طور کلی برنامه نویسی وب معرفی نمود و در این جهت به تشریح مسائل خواهیم پرداخت.