نمونه هائی در این زمینه می باشند. واژه های تحت وب و نرم افزارهای وب ۲ در برخی موارد بجای یکدیگر استفاده شده تا برنامه های نوشته شده برای اجراء بر روی وب ، شبکه های مبتنی بر اینترنت نظیر اینترانت ها را تشریح و مشخص نمایند. به هر یک از برنامه های فوق ، می توان از طریق یک مرورگر دستیابی پیدا کرد. این نوع برنامه ها در موارد متعددی با یکدیگر متفاوت می باشند.طراحی برنامه های تحت وب ( مبتنی بر وب ) ، بگونه ای است که قابلیت اجراء بر روی اینترنت و وب را داشته باشند، در مقابل برنامه های نرم افزارهای وب ۲ ، دارای یک اینترفیس مبتی بر وب به منظور استفاده از قابلیت های نرم افرارهای موجود ( نرم افزارهای سنتی ) می باشند.
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
نرم افزارهای فوق قبل از مطرح شدن وب ایجاد شده و با طراحی یک اینترفیس مبتنی بر وب می توان از امکانات آنها در صفحات وب نیز استفاده نمود. مثلا” می توان با طراحی یک فرم لازم ، اطلاعاتی را از کاربران اخذ و با مراجعه به بانک های اطلاعاتی موجود ، اطلاعات مورد نظر را استخراج و نتایج را با یک فرمت مناسب برای مرورگر ارسال کرد. بهرحال برنامه های مبتنی بر وب، از آغاز با رویکرد وب ، طراحی و پیاده سازی شده در صورتیکه برنامه های نرم افزارهای وب ۲، از نرم افزارهای موجود به کمک یک اینترفیس[۱۵۵] مبتی بر وب استفاده می نمایند.
برنامه های تحت وب ، دارای امکانات و قابلیت های متعددی بوده که به منظور استفاده در وب طراحی و پیاده سازی شده اند. برنامه های نرم افزارهای وب ۲ ، دارای یک دریچه اتصال مجزا تحت وب بوده که امکان ارتباط با نرم افزارهای قدیمی را فراهم می آورد. دریچه اتصال موجود امکان استفاده از تمام قابلیت های نرم افزارهای وجود را فراهم نخواهد کرد و صرفا” پاسخگو به بخش محدودی از انتظارات خواهند بود. بدیهی است بخش هائی از نرم افزارهای موجود ( سنتی ) می بایست با رویکرد وب بازنویسی شده تا امکان ارتباط آنان با دریچه اتصال فراهم گردد. برنامه های موجود بر روی برخی از سایت ها نظیر : خرید کالا ، کتاب ، رزو بلیط هواپیما ، ارسال و دریافت نامه ی الکترونیکی ( نظیر هات میل[۱۵۶]) نمونه هائی از برنامه های مبتنی بر وب می باشند. در ادامه با برخی تعاریف برنامه های تحت وب آشنا می شویم:
یک وب سایت که قادر به انجام عملیاتی خاص نظیر فروش کالا است.
برنامه ای که بر روی وب اجرا می گردد.
برنامه ای که بر روی یک سرویس دهنده ی وب در شبکه اجرا و امکان سرویس دهی به چندین کاربر در هر لحظه را دارا است.
یک برنامه ی نرم افزاری که از پروتکل اچ تی تی پی به عنوان هسته ی پروتکل ارتباطی خود به منظور توزیع و ارائه ی اطلاعات مبتنی بر وب و با فرمت اچ تی ام ال استفاده و آنان را برای کاربران ارسال خواهد کرد.
۲-۴-۱ معماری و وضعیت اجرای نرم افزارهای تحت وب
برنامه های تحت وب (مشتمل بر اکثر سیستم های تجارت الکترونیک) دارای معماری کلی متشکل از:
سمت سرور: پایگاه داده، برنامه اجرایی، وب سرور
سمت کاربر: مرورگر، کش، کوکی و …
می باشند.
بر همین اساس اختصارا به بررسی انواع وضعیت اجرای برنامه های تحت وب می پردازیم.
وب ایستا : زمانی که تیم. برنرز لی در سال ۱۹۹۰ اولین پیشنهاد خود در رابطه با وب را ارائه کرد، ایده کار بسیار ساده بود : ایجاد یک شبکه از اطلاعات متصل شده به یکدیگر با بهره گرفتن از ابرمتن ها و یو آر ال[۱۵۷] ها. وب در آغاز به عنوان یک رسانه اشتراک اطلاعات مطرح گردید تا از طریق آن دانشمندان و محققین بتوانند دانش و اطلاعات را بین خود به اشتراک گذاشته و نتایج تحقیقات را با یکدیگر مبادله نمایند. ارائه دهند گان با بهره گرفتن از یک استاندارد مستند سازی، اطلاعات خود را تهیه و آنها را به مخاطبان خود ارائه می کردند. در آغاز برای استاندارد مستند سازی از ابزاری که در آن زمان خود هنوز استاندارد نشده بود استفاده می گردید. اچ تی ام ال، ابزاری است که با بکارگیری مجموعه ای از تگ ها، استاندارد لازم جهت نمایش یک مستند در نرم افزارهای نمایش دهنده ( مرورگرها ) را فراهم می نماید. نرم افزارهای نمایش دهنده، مجهز به مفسرهائی جهت تفسیر تگ ها و نمایش اطلاعات موجود در مستند بر اساس تعاریف از قبل تعریف شده شدند. در آن زمان که به سال های ابتدائی دهه ۹۰ میلادی برمی گردد، چیزی با نام برنامه های وب وجود نداشت و وب به عنوان رسانه ای جهت اشتراک و مبادله اطلاعات مطرح بود. تمامی تعاملات در عرصه وب محدود به درخواست یک مستند توسط سرویس گیرنده و ارسال آن توسط سرویس دهنده بود.
وب پویا با تمرکز بر روی پردازش های سمت سرویس گیرنده : در ادامه، نیاز به انجام برخی پردازش های اولیه مطرح گردید. با توجه به این که اینترنت از یک بستر سرویس گیرنده و سرویس دهنده به منظور دریافت درخواست کاربر و پاسخ به آن استفاده می کرد، طراحان و پیاده کنندگان برای تحقق پردازش ها بر روی دو گزینه متمرکز شدند : انجام پردازش ها در سمت سرویس گیرنده و یا سمت سرویس دهنده. در آغاز، برای انجام پردازش ها بر روی سرویس گیرنده متمرکز شدند. با این هدف که بتوان پردازش های مورد نیاز را ( با حوزه ای که در آن زمان تعریف شده بود )، در سمت سرویس گیرنده انجام داد. برای تحقق خواسته فوق لازم بود که بستر و ابزارهای لازم در بطن مرورگر ها ایجاد گردد. ظهور فناورهائی نظیر اچ تی ام ال- دام[۱۵۸]، جاوااسکریپت[۱۵۹]، سی اس اس و دی اچ تی ام ال[۱۶۰] از جمله مهم ترین تلاش های انجام گرفته در آن زمان برای تحقق پردازش ها در سمت سرویس گیرنده بود. برای آشنائی بیشتر با تلاش های انجام گرفته در آن زمان بد نیست مروری سریع داشته باشیم به آنچه طی سالیان گذشته در عرصه وب اتفاق افتاده است.
۲-۵ خلاصه فصل
در این فصل، به تعریف کلی درمورد وب سرور پرداختیم و انواع متفاوت آن را از طریق شکل نشان دادیم که با ویژگی ها و قابلیت های متفاوت سرتاسر دنیا مورد استفاده قرار می گیرند. دو نوع بارز و مهم سرورهای لینوکسی، آپاچی و انجین ایکس را توضیح دادیم. سپس به معرفی نرم افزار تسریع وب وارنیش پرداختیم و ویژگی ها، عملکرد و معماری آن را به صورت کامل شرح دادیم. درمورد اینکه اکثر افراد برای کار با سرورها و سرعت بخشیدن به آن ها اشتباه می کنند و کارشان غلط است بحث کردیم و در نهایت توضیح مختصری درمورد نرم افزارهای مبتنی بر وب و معماری آن ها دادیم.
فصل سوم:
روش تحقیق
۳-۱ مقدمه
فصل اول و دوم در حقیقت مقدمات تحقیق را بررسی کردند اما در این فصل وارد مراحل عملی کار می شویم. اولین نکته برای کار با سرورهای لینوکسی، آشنایی با محیط سیستم عامل اوبونتو(توزیعی از لینوکس که ما برای کار آن را انتخاب کردیم) و کار با دستورات خط فرمان آن است. برای آشنایی کامل با این دستورات می توان از لیست کلی دستورات خط فرمان در لینوکس کمک گرفت و با مطالعه ی آن به آرامی با محیط خط فرمان و دستورات آن آشنا شد. پس از حل مساله اساسی و ابتدایی آشنایی با اوبونتو، می بایست به آرامی با تک تک سرورهایی که می خواهیم روی اوبونتوی خود نصب و راه اندازی کنیم آشنا شویم. در فصل قبل به صورت تئوری با مفاهیم سرورهای مورد نظر آشنا شدیم اما برای ورود به مرحله ی پیاده سازی و نصب نیاز به تحقیقات م مطالعات بیشتری در این زمینه است.
در این فصل پس از آشنایی با لینوکس و توزیع مهم و معروف آن اوبونتو، به توضیح نرم افزارهای لازم برای اتصال به سرور از راه دور می پردازیم. سپس نحوه ی نصب هریک از سرورهای موردنیاز اعم از سرورهای ترکیبی و غیر ترکیبی را به صورت کامل با تکه کدها و اشکال شرح می دهیم. و درنهایت به توضیح سیستم های مدیریت محتوا پرداخته و نمونه های مهم آن را که برای پیاده سازی استفاده کرده ایم شرح می دهیم.
۳-۲ آشنایی با لینوکس
لینوکس به هسته ی سیستمعاملهای شبه یونیکس میگویند که که در سال ۱۹۹۱ توسط لینوس تروالدز توسعه یافت. برخی به سیستم عاملهایی که از هسته ی لینوکس استفاده میکنند (به این خاطر که نام لینوکس به طور گسترده در رسانهها استفاده میشود و نامی رایج تر است) نیز لینوکس میگویند (در این مقاله هم منظور از لینوکس، سیستم عاملهایی است که از هسته ی لینوکس استفاده میکنند).
لینوکس قابل نصب بر روی انواع سختافزارهاست، از ساعت لینوکس[۱۶۱]، تلفنهای همراه، تبلتها، مسیریابها، و کنسولهای بازی گرفته تارایانههای رومیزی، رایانههای بزرگ و ابررایانهها.
به مجموعهای از نرمافزارهای بنا شده بر اجزای گفته شده توزیع لینوکس[۱۶۲] میگویند که به طور معمول شامل ابزارهای گسترش نرمافزار، پایگاههای داده، سرویس دهندههای وب مثل آپاچی، محیط های رومیزی مانند گنوم و کیدیای[۱۶۳] و اکساف سیای[۱۶۴] و مجموعههای اداری مانند اُپن آفیس[۱۶۵] هستند.
در ابتدا لینوکس برای استفاده ی ریزپردازندهها با معماری ۸۰۳۸۶ اینتل طراحی شده بود: اما امروزه انواع گوناگون معماریها را پشتیبانی میکند و در انواع و اقسام وسایل از کامپیوترهای شخصی گرفته تا ابررایانهها و تلفنهای همراه به کار میرود. این سیستمعامل که در ابتدا بیشتر توسط افراد مشتاق گسترش پیدا میکرد و به کار گرفته میشد، توانسته است پشتیبانی شرکتهای سرشناسی چون آیبیام و هیولت-پاکارد[۱۶۶] را به دست آورد و با بسیاری از نسخههای خصوصی یونیکس رقابت کند. طرفداران لینوکس و بسیاری از تحلیلگران این موفقیت را ناشی از استقلال از فروشنده، کمهزینه بودن پیادهسازی، سرعت بالا، امنیت و قابلیت اطمینان آن میدانند]۲۱ [.
۳-۲-۱ آشنایی با توزیع اوبونتو
اوبونتو[۱۶۷] یک توزیع گنو/لینوکس است که بر مبنای توزیع دبیان پایهگذاری شدهاست، اما با آن تفاوت دارد. نام اوبونتو از یکی از مفاهیم آفریقای جنوبی به معنی “انسانیت نسبت به دیگران[۱۶۸] ” گرفته شدهاست.
از ویژگیهای بارز اوبونتو میتوان به کاربرپسند بودن، سادگی، زیبایی، سرعت و عدم نیاز به سختافزار پیچیده اشاره کرد.
این سیستمعامل یکی از کاربرپسندترین توزیعهای گنو/لینوکس است و در مدت نسبتاً کوتاه عمر خود، توانسته رشد خیرهکنندهای در جذب کاربران عادی داشته باشد. بر طبق آمار وب، این توزیع در بین دیگر توزیعهای گنو/لینوکس ۵۰ تا ۷۰ درصد سهم بازار را به دست آوردهاست. در ایران نیز این سیستمعامل کاربران زیادی را جذب کرده و جامعه ی مجازی نسبتاً خوبی در کنار آن شکل گرفتهاست. اوبونتو دارای پشتیبانی نسبتاً خوبی از تمام زبانهای زنده دنیا از جمله زبان فارسی است.
اوبونتو هر ۶ ماه یک بار نسخه ی جدیدی را عرضه میکند. هر نسخه از اوبونتو، تا ۱۸ ماه پس از انتشار آن نسخه، پشتیبانی میشود. اوبونتو دارای نسخههایی با پشتیبانی بلند مدت نیز هست که به جای پشتیبانی ۱۸ ماهه، ۳ سال پشتیبانی برای نسخه ی ویژه ی رایانههای شخصی و ۵ سال پشتیبانی برای نسخههای سرور ارائه میکند]۲۲ [.
۳-۲-۱-۱ آشنایی با محیط ترمینال و کار با دستورات آن
سادهترین راه برای برقراری ارتباط و وارد کردن دستورات به پوسته، از طریق ترمینال است. در ترمینال میتوانید هر تعداد دستور که میخواهید برای کنترل دستی کامپیوتر وارد کنید.
میتوانید اطلاعات درایورها را ویرایش کنید یا حتی به نصب برنامهها بپردازید. گاهی اوقات لزوم استفاده از این دستورات آنقدر زیاد میشود که بسیاری از کاربران عادی از کار با لینوکس خسته میشوند.
برنامههای زیادی هستند که در پوسته اجرا میشوند، از مرورگرهای اینترنت بگیرید تا بازیهای کامپیوتری و برنامههایی که باید با آنها اتصال بیسیم را فعال کرد. اینها همه پوستهای درون پوسته دیگر بهشمار میروند. صد البته برنامههایی هستند که بهطور غیرمستقیم یک پوسته بهشمار میروند، نرمافزار اتصال اینترنت شما، مرورگر موزیلا فایرفاکس و بسیاری از نرمافزارهای دیگر همگی یک پوسته هستند که با سیستم عامل در تعاملاند.
یکی از کارهای مقدماتی برای رسیدن به هدف خود در این رساله، آشنایی با تمامی دستورات ترمینال اوبونتو بود که تعدادی از این دستورات را برای نمونه ذکر می کنیم:
ls: گرفتن لیست محتویات مسیر جاری شامل پوشه و فایل ها
Cd dir: تغییر مسیر جاری به شاخه ی موردنظر
Mkdir dir: ساخت یک شاخه
Rm –r dir: حذف یک دایرکتوری با محتویات درون آن
Touch file: ساخت یک فایل
و …
۳-۳ اتصال به سرور از راه دور
پس از یادگیری موارد مقدماتی کار(آشنایی با اوبونتو و نحوه ی کار با ترمینال آن)، برای شروع پیاده سازی پیش نیازهایی مورد نیاز بود.اولین مورد نیاز به یک سرور قدرتمند با حافظه و رم بالا بود که بتواند پاسخگوی نصب چندین وب سرور سنگین باشد. در ابتدای کار بر روی رایانه ی خانگی و روی نرم افزار وی ام ویر[۱۶۹] اوبونتو را نصب نموده و اقدام به شروع کار کردیم که بعد از مدتی متوجه شدیم این رایانه نمی تواند پاسخگوی این وب سرورها باشد.