چکیده:
این رساله که پایان نامه تحصیلی می باشد، مشتمل بر بخشهایی است که توصیفهایی از واحد درسی پروژه عملی، تحت عنوان (مکانیزاسیون تولید مجله تحت وب) را به دست میدهد و شامل فصول اصلی: ابزار و روش ها، تحلیل و طراحی، پیاده سازی می باشد. در هر فصل قسمت خاصی از این پروژه مورد بحث قرار گرفته است.
موضوع انتخاب شده برای پروژه پایان نامه ای که شرح آن را پیش رو دارید،مکانیزاسیون تولید مجله تحت وب می باشد. از آنجائیکه در عصر حاضر، با توجه به گسترش به کارگیری کامپیوتر و استفاده از اینترنت میتوان از بسیاری موارد که منجر به اتلاف وقت و مصرف بی مورد کاغذ می شود، جلوگیری کرد، موضوع مجله را مد نظر قرار داده ایم تا با پیاده سازی مراحل تقلید آن تحت وب، در جهت کاهش هزینه ها گامی برداشته باشیم.
در این زمینه با انتقال جایگاه افراد مسئول، به حوزه اینترنت، مکانیزاسیون تولید شکل می گیرد. در قسمت تئوری موضوع به چگونگی شکل گیری وظایف پرداخته شده است.
امید به اینکه مکتوب حاضر مورد توجه و تایید استاد محترم واقع گردد.
در موضوع منتخب این رساله، افراد مسئول در تولید، عبارتند از: مدیر مسئول، ویرایشگر، خبرنگاران و نویسندگان ثابت و افتخاری. از جمله وظایفی که تحت وب انجام می گیرد به طور اجمالی عبارت است از:
خبرنگاران و نویسندگانی که می توانند در هر موقعیت مکانی باشند، بعد از عضویت در سایت، مطالب خود را هر ماه به مجله ارسال می دارند. ویرایشگر پس از بررسی مطالب ارسالی و تایید اولیه آنها توسط مدیر مسئول ویرایش و تایید نهایی هر مطلب را به عهده دارد. نهایتاً پس از تایید نهایی، مطالب تأیید شده به صورت اتوماتیک، با توجه به تاریخ، در هر صفحه جای می گیرد و خوانندگان قادر به استفاده از مطالب مندرج خواهد بود.
البته مدیر مسئول وظایف دیگری از قبیل نظارت بر اعضاء سایت و کارکردشان و استفاده از آرشیو مجله را نیز به عهده دارد، که در هر زمینه امکانات و دسترسیهای لازم به صورت سیستماتیک برای مدیر مسئول فوق فراهم میباشد.
علاوه بر مطالب فوق، بازدیدکنندگان سایت قادرند نظرات و پیشنهادات خود را پس از مطالعه مطالب ماهانه، برای مجله ارسال کنند. و همچنین یک موتور جستجو نیز در سایت قرار داده شده تا افراد قادر به جستجوی مطالب مورد نظرشان باشند.
مشاهده آرشیو مطالب از امکانات دیگری است که بازدیدکنندگان به آن دسترسی دارند. علاوه بر امکان ارتباط میان اعضاء و مسئولین تولید مجله با هم، بازدیدکنندگان سایت نیز قادرند با مدیر مسئول از طریق ایمیل ارتباط برقرار کنند.
به طور کلی این سایت امکان تولید و دسترسی به مطالب فراهم آمده برای بازدیدکنندگان را از طریق وب فراهم می آورد.
با تشکر و قدردانی از استاد محترم، جناب آقای مهندس اشعریون که ما را در
جهت تکمیل پروژه پایان نامه، صمیمانه راهنمایی و همراهی نمودند.
بخش اول
1-1-1 مروری بر ASP.NET
1-1-1-1- صفحات سرور فعال (ASP)
علت بررسی فناوریهای قبل از ASP.NET ، به جزئیات پیادهسازی ASP.NET و فناوری قبل از آن، یعنی ASP بستگی دارد. درک ASP مستلزم درک ISAPI و درک ASP.NET مستلزم درک ASP است.
وقتی ISS2.0 به عنوان بخشی از ویندوز NT4.0 مطرح شد، میکروسافت فناوری جدیدی را به نام Denali ارائه داد. این فناوری در دوره فعال بودن شرکت میکروسافت ایجاد شد و به همین دلیل نام آن صفحات سرور فعال (ASP) انتخاب گردید. چندین نسخه از ASP عرضه شد، مثل IIS 4.0 , ASP 2.0 در ویندوز IIS 5.0, ASP.3,NT در ویندوز 2000.
ASP نوع متفاوتی از محیط توسعه است. اولاً یک محیط اسکریپتی است. صفحه را به راحتی ویرایش میکنید، آن را در پوشه مناسبی قرار میدهید و مجوزهای مناسبی به آنها اختصاص میدهید. این صفحات توسط مرورگر فراخوانی میشوند. ثانیاً، کد ASP میتواند با HTML ترکیب شود.
کد ASP معمولاً در ویژوال بیسیک نسخه اسکریپتی (VBScript) نوشته میشود، ولی از Jscript نیز میتوان استفاده کرد.
مزایایASP : فناوریASP به سرعت مورد توجه قرار گرفت، زیرا کار دشوار ساخت صفحات پویا را به راحتی انجام داد. ایجاد برنامههای کاربردی ISAPI, CGI چندان دشوار نبود، ولی استفاده از ASP بسیاری آسان است.
به طور پیشفرض، ASP از VBScript استفاده میکند. میلیونها نفر با VBScript آشنایی دارند که از طریق ASP میتوانند وارد دنیای اینترنت شوند. به همین دلیل، ASP راه مناسبی برای ساخت صفحات وب است.
علاوه بر این، از طریق ADO امکان دستیابی آسان به بانک اطلاعاتی را فراهم میسازد. برای ساخت محتویات پویا، باید آن محتویات را از جایی دریافت کرد که ADO این امکان را فراهم میکند. توجه داشته باشید که ADO یک واسط نرمافزاری است که میتواند با سیستمهای مدیریت بانک اطلاعاتی مثل اکسس و SQL Server ارتباط برقرار کند.
مدل برنامهنویسی ASP اجازه نوشتن کد و اجرا را میدهد و نیازی به دنبال کردن مراحل کامپایل و نصب نیست. همانطور که خواهدید دید، ASP.NET نیز از همین روش استفاده میکند.
معایب ASP: فناوری ASP ابزار قدرتمندی برای تولید برنامههای بزرگ وب است. وب سایتهایی مثل www.microsoft.com و بسیاری از سایتهای بزرگ و کوچک دیگر، با موفقیت از ASP استفاده کردند.
اولین چیزی که در مورد ASP مطرح است، سربار ناشی از تفسیر کد VBScript یا Jscript در هر درخواست است.
در اغلب سایتهای متوسط ASP، بیشتر گلوگاهها ناشی از دستیابی به بانک اطلاعاتی و به هنگامسازی آن است تا موتور اسکریپتی ASP . نسخههای بعدی ASP در ارائه سرویس به صفحات اسکریپتی کارآمدتر شدند.
ASP محیط برنامهنویسی قابل اعتماد، قدرتمند و کاملاً مقیاسپذیی را برای بانک اطلاعتی فراهم نمیکند. انواع در VBScript فاقد هر نوع هستند. وقتی مقداری در متغیری قرار میگیرد، نوع آن تعیین میشود، ولی این نوع دائمی نیست و قابل تغییر است. به این ترتیب، احتمال بروز خطا بیشتر میشود.
مسئله دیگر، توانایی ترکیب HTML و اسکریپت است. به این ترتیب، کدهای اسکریپت در داخل HTML پراکنده میشود. چون با هر اجرای اسکریپت باید تعویض بستر صورت گیرد (از HTML به VBScript و برعکس)، کارایی آسیب میبیند.
1-1-1-2 ASP.NET
وقتی ASP3.0 به همراه ویندوز 2000 ارائه شد، روشن شد که آینده تولید نرمافزار به آینده وب گره خورده است. پس از آن، شرکت میکروسافت نسخه جدید ASP را به نام ASP.NET ارائه کرد که سهولت کدنویسی ASP را دارد، به طوری که برنامه را مینویسید، درپوشهای قرار میدهید، امتیاز دستیابی برای آن تعیین میکنید و به راحتی قابل اجرا است. ASP.NET نوآوریهایی دارد که منجر به تفکیک هسته برنامه کاربردی از نمایش آن میشود.
ASP.NET ویژگیهای جدیدی به ASP اضافه نمود و قابلیتهای آن را افزایش داد. ASP.NET فقط بهبود تدریجی ASP نیست، بلکه یک محصول کاملاً جدید است.
محیط کاری NET:
محیط کاری NET معماریی است که ساخت برنامههای کاربردی وب و سنتی را آسانتر میسازد. در ادامه به شرح این محیط کاری میپردازیم.
زبان مشترک زمان اجرا (CLR) زبان مشترک زمان اجرا، مجموعهای از سرویسها را برای تمام زبانهای ASP.NET فراهم میسازد. به عبارت دیگر، مجموعهای از انواع مشترک را برای بسیاری از زبانها تهیه میکند.
زبانهای کامپایلری ASP.NET با استفاده از زبانهای کامپایلری کارایی پیشرفتهای را ارائه میکند، زبانهای کامپایلری به برنامهنویس اجازه میدهند تا صحت برنامه را از نظر نحوی بررسی کند . ASP چنین امکانی را فراهم نمیکند، لذا سادهترین خطای نحوی نیز تا اولین اجرا مشخص نمیشوند.
زبانهای جدید: ویژوالبیسیک نت نسخه کاملاً جدیدی از ویژوال بیسیک است که نحو آن زیباتر میباشد. C# (که c شارپ تلفظ میشود) زبان جدیدی است که مشابه با C++ و فاقد ویژگیهای ناامن C++ است.
وژوال استودیونت ویژوال استودیونت محیط توسعه جدیدی است که در آن برنامهها را به سرعت میتوان اجرا کرد.
مولفههای جدید محیط کاری NET از انواع جدیدی از مولفههای پشتیبانی میکند که در ASP وجود نداشتهاند.
فرمهای وب ابزارهای مناسبی برای ایجاد صفحات پویا هستند که از طریق آنها میتوان ورودیهای کاربر را دریافت کرد.
سرویسهای XML وب با استفاده از سرویس های XML وب میتوان خدماتی ایجاد کرد و سپس آنها را با استفاده از قراردادهای استاندارد صنعت مهیا نمود.
ADO.NET فناوری ADO در محیط کاری NET، فناوری جدیدی است که موجب میشود برنامههای کاربردی ASP.NET به راحتی به اطلاعات موجود در بانک اطلاعاتی رابطهای یا قالبهای دیگری مثل XML دستیابی داشته باشند.
تاریخچه مختصری از ساخت صفحات وب، باید اشتیاق مطالعه ASP.NET را در شما فراهم کرده باشد. یادگیری یک زبان برنامهسازی یا محیط توسعه برنامه، خیلی شبیه به یادگیری زبان طبیعی است.
محیط کاری NET
نقطه شروع برای تحلیل محیط کاری NET درک این نکته است که NET شامل فناوریهای مختلف است، از جمله:
زبان های NET : C#NET و ویژوال بیسیک نت زبانهای متداولیاند که برای تولید برنامههای کاربردی ASP.NET به کار میروند. ویژوال بیسیک نت نسخه پیشرفته ویژوال بیسیک است و C#NET شبیه به C++ است.
کتابخانه کلاس NET : هزاران قطعه از قابلیتهای از پیش تعیین شدهاند که میتوان در برنامههای کاربردی به کار گرفت. این قطعات گاهی در مجموعهای از فناوریها مثل ADO.NET (فناوری ایجاد برنامههای بانک اطلاعاتی) و فرمهای ویندوز (فناوری ایجاد واسطهای کاربر) نهفتهاند. توجه کنید که محیط کاری NET بیش از 3400 کلاس دارد.
بعضی از بخشهای کتابخانه کلاسها هیچ وقت در طراحی صفحات وب مورد استفاده قرار نمیگیرند (مثل کلاسهایی که برای ایجاد برنامههای کاربردی با واسطهای ویندوز استفاده میشوند). بخشهای دیگر مستقیماً برای ساخت صفحات وب به کار میآیند، مثل ایجاد سرویسهای وب، و واسط کاربر برای فرمها. بعضی دیگر از بخشهای کتابخانه کلاسها برای برنامهنویسیهای مختلفی به کار میروند و مخصوص وب یا ویندوز نیستند. این کلاسهای پایهای هستند که برای تعریف متغیر، ورودی- خروجی، دستیابی به دادهها ، اطلاعات XML و غیره به کار میروند.
زبان مشترک زمان اجرا: موتور زمان اجرای NET است که تمام برنامههای NET را اجرا میکند و خدمات نوینی مثل مدیریت حافظه خودکار، امنیت، بهینهسازی و جمعآوری زبالهها (محلهایی از حافظه که نمیتوان به آنها مراجعه کرد) را انجام میدهد.
ASP.NET : یک محیط خدماتی است که در آن میتوان برنامههای کاربردی وب و سرویسهای وب را به هر یک از زبانهای NET نوشت، به طوری که از ویژگیهای کتابخانه کلاس NET نیز استفاده می شود.
برای پی بردن به ویژگیهای ASP.NET بررسی محدودیتهای ASP مفید واقع میشود. به عبارت دیگر، قبل از درک راهحل NET، لازم است با مشکلاتی آشنا شوید که برنامهنویسان ASP با آنها مواجهاند:
محدودیتهای اسکریپت: برنامههای ASP بر اساس VBScript نوشته میشوند که محدودیتهای خاصی دارد. برای برطرف کردن این محدودیتها، برنامهنویسان مجبور می شوند از مولفههای دیگر استفاده کنند که منجر به پیچیدگی بیشتری میشود. در ASP.NET، صفحات در زبانهای نوین NET طراحی میشوند، نه با استفاده از اسکریپتها.
مشکلات پیکربندی وب سایت: با توجه به ماهیت عملکرد ASP, COM به راحتی نمیتوان مولفههای مورد استفاده در وبسایت را به هنگام سازی کرد. اغلب، لازم است سرور متوقف و دوباره راهاندازی شود که این کار در سرور خوب، عملی نیست در ASP.NET امکاناتی وجود دارد که وبسایتها را به طور پویا میتوان به هنگامسازی و دوباره پیکربندی کرد.
فقدان ساختار برنامه کاربردی : کد ASP مستقیما در زبان HTML قرار داده میشود. این موضوع، برای زبانهای شیءگرای نوین پسندیده نیست، زیرا برای استفاده مجدد از آن کدها، نیاز به تغییرات زیادی در آنها است.
محدودیتهای حالت: یکی از قویترین ویژگیهای ASP، قابلیتهای حالت تماس مجتمع است. اما در مواردی که وبسایت توسط چند میزبان اداره میشود، از این قابلیت استفاده نمیشود.به عنوان مثال، یک مشتری ممکن است به سرور B دستیابی باشد، در حالی که اطلاعات تماس آن در سرور A موجود بود و اکنون از بین رفته است. ASP.NET برای جلوگیری از این مسئله، اطلاعات حالت را در یک مخزن مرکزی مثل یک فرایند، یا بانک اطلاعاتی ذخیره میکند که تمام سرورها میتوانند به آن دستیابی داشته باشند.
ویژوال استودیونت: ویراستاری است که محیط قدرتمندی را برای ایجاد برنامههای کاربردی پیشرفته فراهم میسازد. بعضی از ویژگیهای آن عبارتند از:
تشخیص خطای خودکار: هنگام اجرای برنامه، اشکالات نحوی برنامه را پیدا کرده گزارش میکند. به این ترتیب، در وقت برنامهنویسی صرفهجویی می شود. برای گزارش خطا، زیر واژههایی که ممکن است تولید خطا کنند، خط میکشد.
ابزارهای اشکالزدایی: این ابزارها موجب ردیابی اجرای برنامه و مشاهده محتویات متغیرها میشوند. طراحی صفحه با استفاده از طراح فرم وب که در ویژوال استودیونت فراهم است، میتوان صفحات جذابی را به سادگی طراحی کرد.
کمکرسانی خودکار: هنگام کد نویسی، لیستی از متدها، خواص و رویدادهای اشیا را به همراه پارامترهای مورد نیاز متدها نمایش میدهد که این کار منجر به کاهش میزان خطای نحوی و تسریع در برنامهنویسی میشود.
مشخصا