دانلود با لینک مستقیم و پر سرعت .
پروژه طراحی و پیاده سازی
یک سایت اینترنتی دینامیک
لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه:163
چکیده :
در این پروژه که طراحی یک سایت سفارش محصول توسط کاربر که مربوط به شرکت ابزاربندی خراسان است. شامل امکاناتی نظیرایجاد کاربر توسط Admin، ارسال مطلب و برقراری ارتباط با Admin و پیگیری پیشرفت کار توسط کاربر می باشد، سعی ما بر این بوده است که بر پایه برنامه نویسی وب پویا با استفاده از زبان اسکریپتی PHP و زبان های کلاینت ساید JavaScript و CSS، سیستمی طراحی کنیم که کاربر از راه دور بتواند محصولی را سفارش و پیشرفت آن را پیگیری نماید. با توجه به این هدف، امکاناتی را برای مدیریت سایت ایجاد نمودیم تا Admin بتواند کاربری را ایجاد و اطلاعات آن را ویرایش نماید.
در همین راستا از ابزارهایی نظیر :
PHP V5.0.0, PHP MyAdmin 4, MySQL, Adobe Photo Shop CSII, DreamWeaver MX 2004, ImageReady
در امر طراحی و پیاده سازی پروژه بهره جسته ایم.
مقدمه
در آغاز وب یک رسانه ایستا بود وشکل آن مثل یک کتاب الکترونیکی بود. سایت های وب وقتی که ساخته شدند به مدت چندین ماه تغییر نمی کردند. با رشد وب به قوت های آن نیز پی برده شد. به این ترتیب وب از حالت یکنواخت وایستا درآمد بطوری که ظاهر و محتویات آن زودتر تغییر می کرد ویک بازی یا یک پردازنده در وب در هر بار که استفاده می شد تغییر می کند.
در واقع ایجاد سایت های پویا برای کسانیکه از اینترنت استفاده می کنند الزامی است در غیر این صورت سایت های او به عنوان یک شهر متروکه محسوب خواهد شد در گوشه ای از دیسک سخت فسیل شده.
بعضی از ویژگی های پویایی که مخاطبین اینترنت به آنها علاقمندند عبارتند از:
- حساسیت به زمان به جای محتویات دائره المعارفی
- تغییر محتویات وسبک طراحی
- سازگاری با نسلهای جدید سخت افزار نرم افزار واستاندارهای تحویل اطلاعات
- پشتیبانی از ارتباط با مخاطبین سایت
- مدیریت موثر برای افزایش کیفیت اطلاعات
به هر حال سالانه هزاران سایت وب به دلیل کهنه شدن از دور خارج می شوند که برای همین سایت هایی که از دور خارج می شوند هزینه های زیادی مصرف شده است.
در سال 1997 حدود هزار سایت وب از رده خارج شده و در سال 1998 تقریباً 2000 سایت از دور خارج گردید.اصولا سایت های پویای موفق در صف مقدم تحویل محاوره ای قراردارند .
اینترنت شبکه ای از شبکه های مرتبط به یکدیگر بوده که بر روی آن سرویس های متعددی بمنظور ارائه خدمات فعال می باشند. بدون شک سرویس وب یکی از مهمترین سرویس های موجود بر روی اینترنت است که بیشترین تاثیر را در عمومیت یافتن اینترنت در سطح جوامع بشری برعهده داشته است. وب در نگاه اول مانند یک سیستم اطلاعاتی توزیع شده است . در سیستم فوق اطلاعات ( با اشکال متفاوت ) بر اساس استانداردهای مربوطه و با یک ساختار مشخص قرار گرفته و با استفاده از ارتباطات تعریف شده بین اطلاعات می توان بسرعت و بسادگی از اطلاعات موجود استفاده کرد. ارائه دهندگان اطلاعات با پیروی از اصول موجود اطلاعات خود را در سیستم فوق قرار داده و جستجو کنندگان اطلاعات با استفاده از ابزارهائی خاص قادر به جستجو و دستیابی به این اطلاعات خواهند شد. وب در سال 1991 توسط " تیم - برنرز لی " ابداع گردید.
مراحل پردازش اطلاعات یک فرم HTML
* اطلاعات موجود در وب در حریم های اطلاعاتی با نام " صفحات وب " ذخیره می گردند. اندازه ونوع محتویات این نوع صفحات کاملا" متغیر بوده و نمی بایست در این راستا یک صفحه وب را با یک صفحه کتاب مقایسه کرد گرچه شباهت های اندکی نیز بین آنها وجود داشته باشد.
* محتویات یک صفحه وب می تواند، متن گرافیک صدا تصویر انیمیشن و ... باشد. گستردگی و تنوع نوع اطلاعاتی که می توان در صفحات وب قرار داد یکی از مهمترین ویژگی های قابل توجه وب از دیدگاه ارائه دهندگان اطلاعات از یک طرف و استفاده کنندگان از اطلاعات از طرف دیگر می باشد.
* صفحات وب از لحاظ فیزیکی فایل هایی هستند که توسط نرم افزارهای مربوطه بوجود آمده و دارای انشعاب "htm" و یا "html" می باشند. برای ایجاد این نوع صفحات می توان از تمام نرم افزارهائی که بنوعی قادر به ایجاد و ذخیره سازی یک فایل هستند استفاده کرد. ( Notepad نمونه ای از این نوع نرم افزارها است ). امروزه نرم افزارهای کاملا" حرفه ای برای ایجاد و مدیریت صفحات وب توسط شرکت های نرم افزاری ایجاد شده است . FrontPage ,Hotmetal,... نمونه هائی در این زمینه می باشند.
* پس از ایجاد صفحات وب در صورت نیاز و استفاده عموم ( داخلی ، خارجی ) می بایست آنها را بر روی یک سایت ذخیره نمود. یک وب سایت مجموعه ای از صفحات وب را شامل می گردد.
* ارائه دهندگان اطلاعات پس از آماده سازی صفحات وب و استقرار آنها بر روی یک وب سایت زمینه استفاده از اطلاعات فوق را برای استفاده کنندگان فراهم می نمایند. استفاده کنندگان با استفاده از نرم افزارهائی موسوم به " مرورگر " قادر به دستیابی به یک وب سایت و درخواست اطلاعات مورد نیاز خود می باشند.
* تمام صفحات وب دارای مجموعه دستورالعمل هائی هستند که نحوه نمایش اطلاعات مورد نظر را مشخص خواهد کرد. رایج ترین مجموعه دستورالعمل های نمایش در صفحات وب تگ های Html می باشند.
معماری عمومی وب:
برای تشریح بهتر برنامه های کاربردی تحت وب (Web based applications) مدرن و امروزی، معمولا آنها را به 4 لایه مستقل تقسیم می کنند. لایه مشتری یا Client، لایه های میانی که عبارتند از presentation و Business و در نهایت آخرین لایه که عبارت است از لایه داده یا Database. معمولا لایه های میانی در یک لایه مجتمع شده و در نتیجه یک مدل ساده شده 3 لایه ای به دست می دهند.
لایه مشتری یا Client بخشی از این معماری است که توسط کاربر وب مشاهده می شود. بقیه لایه ها بر روی کامپیوترهایی قرار دارند که ممکن است صدها کیلومتر از مشتری فاصله داشته باشند. لایه مشتری در این مدل همان مرورگر وب است که بر روی کامپیوتر کاربر صفحات وب را نمایش می دهد. در این لایه علاوه بر امکان نمایش اطلاعات، امکان ورود و برخی پردازشهای اطلاعاتی نیز وجود دارد.
معمولا دو گونه پیاده سازی از لایه مشتری وجود دارد. در روش اول از هوشمند بودن کامپیوتر کاربر و قابلیتهای پردازشی آن استفاده ای نمی شود. هنگامی که کاربر اطلاعات یک فرم را تکمیل می کند و یا درخواست صفحه خاصی را دارد، کلیه عملیاتهای پردازشی در لایه های میانی انجام می گیرد و صفحه های جدیدی که حاوی نتایج این پردازشها هستند برای او ارسال می گردند. این روش را اصطلاحاً Dump HTML Client می نامند.
اما در روش دوم از هوشمندی کامپیوتر کاربر به خوبی استفاده می شود. در این روش برخی پردازشهای خاص توسط کامپیوتر مشتری و مرورگر موجود بر روی آن صورت می گیرد. در این حالت کامپیوتر مشتری را Semi Intelligent Client می نامند. برای انجام این پردازشها معمولا از زبانهای اسکریپت نویسی نظیر vbscript و یا javascript استفاده می شود. توانایی مرورگها در اینجا اهمیت می یابد
معماری سه لایه برنامه های کاربردی تحت وب:
لایه presentation وظیفه ارائه محتویات دینامیک صفحات وب را بر عهده دارد. روشهای پیاده سازی این عملیات بر روی کامپیوترها (web server) متنوع است. تکنولوژیهای مختلف نظیر CGI, PHP, ASP, JSP, Servlet, .... لایه presentation معمولا درون برنامه های وب سرور نظیر Apache web server و یا Microsoft IISو ... پیاده سازی می شود. وب سرورها توانایی دریافت و اجرای چندین درخواست از سوی برنامه های کاربردی لایه های دیگر و همچنین کاربران را به طور همزمان دارند. این نرم افزارها بر اساس یک پیکربندی اولیه می دانند که درخواستهای کاربر را باید به کدام برنامه کاربردی ارجاع دهند.
لایه Business بیشترین حجم عملیات یک سایت مدرن امروزی را انجام می دهد. عملیاتهای نظیر مدیریت نشستها، مدیریت دستیابی به بانکهای اطلاعاتی و... از جمله این عملیاتها هستند. روشهای گوناگونی برای پیاده سازی این لایه وجود دارد نظیر استفاده از اشیای COM متعلق به شرکت مایکروسافت و یا استفاده از متناظرهای آن متعلق به شرکت SUN. راه حلهای قدیمی نیز برای پیاده سازی این لایه وجود دارد نظیر استفاده از CORBA Objects. برنامه های لایه Business معمولا درون برنامه هایی موسوم به Application Server پیاده سازی می شوند نظیر Microsoft MTS, Oracle Application Server لایه Database یا لایه داده مسئول نگهداری اطلاعات است و می تواند شامل مجموعه ای از اطلاعات به صورت بانکهای اطلاعاتی مدرن یا فایلهای ساده و ... باشد. تکنولوژیهای مختلف طراحی اسناد وب در حالت کلی سایتهای اینترنتی را می توان به دوگروه ثابت (static) و پویا (dynamic) تقسیم کرد. برای طراحی هر کدام نیز ابزارهای مختلفی وجود دارد.
مراحل پردازش درخواست سرویس گیرنده توسط سایت با ساختار ثابت در سایتهای با ساختار ثابت همانگونه که قبلا نیز گفتیم، محتویات به صورت یک سری صفحات وب HTML طراحی و روی سایت قرار می گیرند. با هر درخواست برای یک صفحه مشخص، صفحه موردنظر برای سرویس گیرنده ارسال می شود اما در سایتهای با ساختار پویا با هر درخواست سرویس گیرنده بر روی سرویس دهنده پردازشی به منظور ساخت صفحه مورد نظر صورت می گیرد و نتیجه پردازش به صورت یک صفحه حاوی کدهای HTML برای سرویس گیرنده ارسال می شود.
آنچه که برای سرویس گیرنده ارسال می شود چیزی جز صفحه حاوی تگهای HTML نیست. در میان تکنولوژیهای مختلفی که وجود دارد مهمترین ها و پراستفاده ترین تکنولوژیها به شرح زیر هستند:
1)HTML
این تکنولوژی ساده ترین فرم انتشار اسناد در وب است. در این تکنولوژی صفحات یک وب سایت به صورت ایستا کدگذاری شده و سپس انتشار می یابند. این روشی است که در بسیاری از وب سایتهای شخصی که در ابتدای پیدایش وب ساخته شده اند بکار رفته است. در اینجا تولید کننده با دانستن html و یا با استفاده از ابزاری که چنین کدهایی را تولید می کنند، صفحات خود را می سازد. برای یک وب سایت ساده با تعداد محدودی از صفحات ایستا شاید این یک روش قابل قبول باشداز مزایای این تکنولوژی می توان به سادگی و عدم نیاز به برنامه نویسی و آشنایی با زبان خاص کدنویسی اشاره کرد. علاوه بر این پشتیبانی گسترده این روش توسط نرم افزارهایی که قادر به تولید اینگونه صفحات از طریق تکنیکهای Visual هستند نیز از دیگر مزیتهای این روش محسوب می گردد. اسنادی که به این روش تولید می گردند معمولا از سرعت بارگذاری خوبی برخوردار هستند (به دلیل عدم نیاز به انجام پردازش در سمت Server). اما علیرغم تمامی ویژگیهای ذکر شده این روش مشکلاتی نیز دارد.
نخست اینکه این شیوه قادر به تولید صفحات دینامیک نیست. دیگر اینکه با ترکیب محتوا (content) و قالب (Style) باعث بروز مشکل در ایجاد تغییرات در صفحات می گردد. به بیان معادل، هزینه ایجاد و اعمال تغییرات در صفحات بالاست.
به همراه این تکنولوژی ابزارهای دیگری برای برنامه سازی Client-Side نیز وجود دارد. برخی از این ابزارها که بیشتر مورد استفاده قرار می گیرند عبارتند از Java Script، VBScript. البته به کمک تلفیق این تکنولوژی با زبانهای اسکریپت نویسی مذکور و نیز استفاده از مفاهیم CSS می توان صفحاتی طراحی کرد که محتویات دینامیک داشته باشند لیکن این قدرت به Client محدود می گردد و علاوه بر آن مشکل ترکیب محتوا و قالب همچنان پابرجاست.
2) تکنولوژی CGI (تکنولوژی مرتبط با طرف سرویس دهنده) یک برنامه CGI بوسیله سرویس دهنده وب در پاسخ به درخواست ایجاد شده توسط مرورگر وب، اجرا می شود. سرویس دهنده وب به عنوان واسط میان مرورگر و برنامه CGI، درخواست مرورگر را به برنامه و خروجی برنامه CGI را برای پردازش به مرورگر وب ارسال می کند. برای مثال ممکن است برنامهای نقطه نظرات کاربر را دریافت نموده و آن را به شکل یک پیام الکترونیکی برای مسئول سایت ارسال کند. تقریباً هرنوع زبان برنامه نویسی را می توان برای نوشتن یک برنامه CGI بکار برد. CGI واسط تعریف شده مابین سرویس دهنده وب و برنامه خارجی است که مایلید آن را بنویسید.
حال سوال این است که یک برنامه CGI چه کاری نمی تواند انجام دهد. این برنامه نمی تواند به طور مستقیم با کاربر ارتباط برقرار کند. همچنین نمی تواند اطلاعات را از خط اعلان، منوها یا سایر بخشهای تعاملی دریافت یا نمایش دهد. این برنامه ها تصاویر گرافیکی را نیز نمایش نمی دهند؛ اگر چه می توانند داده های باینری ، که در حقیقت تصویر هستند را تولید کنند، اما هیچ نوع واسط گرافیکی برای ارتباط با کاربر در اختیار برنامه ساز نمی گذارند.
یک برنامه CGI برای عملکرد صحیح و مناسب نیازمند شرایط زیر است:
1- برنامه با وارد کردن نام آن در خط فرمان (Command Line) قابل اجرا باشد.
2- برنامه باید یک سرآیند (Header) مناسب و معتبر از نوع محتویات (Content) تولید کند. محتویات خروجی یک برنامه CGI میتواند کد HTML، تصاویر GIF، فایلهای متنی، مستندات مایکروسافت Word و یا فایلهای صوتی باشد. سرآیند نوع محتویات که توسط برنامه CGI تولید می شود، نوع محتویات بازگشتی را مشخص می کند و مرورگر می تواند عملیات مناسب را بر اساس آن انجام دهد.
مادامیکه یک برنامه توسط سرویس دهنده وب قابل اجرا باشد و این برنامه خروجی معتبری نیز تولید کند، کاربرد آن به عنوان یک برنامه CGI قابل قبول است.
3- تکنولوژیهای مرتبط با طرف سرویس دهنده: ASP,PHP,JSP این سه نمونه از معروفترین تکنولوژی هایی است که در انتشار صفحات وب دینامیک در طرف سرویس دهنده به کار گرفته می شوند. جدای از اختلاف های موجود میان آنها، هر سه امکاناتی را برای اجرای یک برنامه در Server و تولید خروجی HTML به صورت دینامیک فراهم می کنند. در این تکنولوژیها کد برنامه و کدهای HTML با هم ترکیب می شوند.
تولید دینامیک صفحات وب و برنامه نویسی به فرم Scripting از مزایای این تکنولوژیها به صورت عام می باشند. اما در نهایت ترکیب محتوا (Content)، قالب بندی (Format) و منطق برنامه(Logic) پیچیدگی بیشتری را نسبت به HTML سبب می گردند.
الف) PHP
PHP مخفف Hypertext Preprocessor یک زبان Scripting و Server-Side می باشد. یک Script به کدی از برنامه می گویند که بصورت ابتدایی Compile نمی شود و فقط در صورت فراخوانی و یا درخواستی برای اجرا توسط مفسّر زبان مورد نظر ترجمه می شود و به خروجی فرستاده می شود. این به این معنی میباشد که شما دقیقاً کد برنامه خود را در جای مورد نیاز به کار می برید و رابط اجرایی برنامه آنرا به مفسّر مورد نظر ارجاع می دهد.
بعد از نصب مفسّر PHP شما قادر خواهید بود که از کدهای PHP به همراه کدهای HTML خود در صفحات Web استفاده کنید و همچنین می توانید Script های صرفاً PHP خود را به عنوان ترمینالهای تفسیر کننده داده ها و رابطهای ورودی و خروجی بر روی سرور خود قرار دهید چگونگی پردازش درخواستهای وب با/بدون PHP خطوط قرمز رنگ حالت استاتیک سایت و خطوط آبی رنگ پردازشهای اضافی مورد نیاز در حالت دینامیک را نشان می دهند فکر اولیه PHP در پاییز سال 1994 توسط Rasmus Lerdorf ) (rasmus@php.net شکل گرفت. در ابتدا نگارشی از PHP در صفحه شخصی وی به کار گرفته شد ، تا اطلاعاتی از کسانی که روزانه وی را می بینند ، نگاه داشته شود. اولین نگارش عمومی آن در اوایل سال 95 ارایه شد با نام ” Personal Home Page Tools “ معرفی گردید . که البته شامل پارسری بسیار ساده بود که ماکروهای خاصی را می شناخت و نیز برخی کاربردهای مشترک در صفحات شخصـی مانند شمـارنده یا Guestbook و برخـی ابزار های دیگر را شامل می شد.
پارســر در نیمــه سال 95 بازنویســی شد و با نـــام “ PHP/FI نگارش 2 “ ارایه گردید . FI نام بسـته نرم افزاری دیگری از Rasmus بود که فرم های داده HTML را تفسیر می کرد. پس از آن بسیاری از PHP در کــد های خود استفاده کردند. در میانه سال 96 میزان استــفاده کنندگان به حـــدود 15 هـزار سایت رسید. این میــزان در نیمه سال 97 در حدود 50 هزار سایت مختلف بود. در هـمین زمان PHP از حالت یک پروژه شخصی درآمد و توســط تیمی توسـعه یافت. این گروه نگارش جدیدی از PHP را ارایه دادند و پارسر آن را بازنویسی نمودند. PHP3 به سرعت مورد استفاده قرار گرفـت. هم اکنـون نیز PHP4 آخرین نگارش این محصول است که در آن از موتور اسکریپت Zend برای بدست آوردن قابلیت های بیشتر استفاده شده است .
امروزه ، PHP3 و PHP4 بر روی بسیاری از محصولات تجاری مانند “ RedHat’s Stronghold web Server ” ارایه می گردد. هم اکنون برآورد می شود بیش 5.100.000 سایت از PHPدر طراحی استفاده کرده اند.
دلایل زیادی در محبوبیت و استفاده از این زبان در حال حاضر وجو دارد برخی از این دلایل عبارتند از: * سرعت : در مقایسه با تکنولوژی نظیر ASP به دلیل عدم استفاده PHP از Engine های مختلف و متفاوت کدهای PHP از سرعت بالایی برخوردارند.
* نزدیک بودن Syntax به ++C/C و Java :از آنجاﺋیکه اکثر برنامه نویسان از ++C/C استفاده کرده اند و بخاطر محبوب بودن بی حد Java معمولا با Syntax های این دو زبان اکثرا آشنا هستند . PHP هم اکثر Syntax های خود را شبیه به این زبانها انتخاب کرده است.
* OpenSource بودن PHP
* اجرا بر روی Platform های مختلف : به دلیل آنکه توسط GNU C Compiler در همه Platform ها قابل Compile شدن است و از Engine های خاص هیچ سیستم عاملی برای اجرای کدها استفاده نمی کند قابلیت اجرا بر روی تعداد زیادی از سیستم عامل ها را داراست که این یک مزیت برای توسعه دهندگان سیستم محسوب می شود .
ب) Servlet :
یک کلاس در زبان جاوا است که در سرویس دهنده اجرا می شود. در این کلاس از دستورات Printh برای تولید یک خروجی HTML استفاده می شود. تولید دینامیک صفحات وب از مزیتهای این روش است اما پیچیدگی تولید کدهای HTML به کمک دستورات Printh و در حقیقت ترکیب محتوا قالب و منطق باز هم از معضلات این روش محسوب می گردد
امروزه نقطه تمرکز بسیاری از تلاشها جداسازی سه عنصر محتوا، قالب و منطق برنامه از یکدیگر در طراحیهای مبتنی بر وب است. XML به عنوان یکی از اجزا بسیاری از این تکنولوژیها مطرح است.
ج) XML :
یک markup language است که در آن می توان از متون و Tagها برای ارایه یک سند استفاده نمود. برخلاف html که دارای Tagهای ثابت و استانداردی است، در xml می توان Tagهای دلخواه را استفاده نمود. همچنین در اینجا هر Tag بایستی با یک Tag متناظر بسته شود. به همین خاطر xml یک فرم خوش ساخت دارد.
امروزه استفاده از xml بسیار متداول و متنوع است. در هر حال بیشترین استفاده از آن در یکپارچه سازی سیستم ها و خصوصا در تولید سیستم های کاربردی مبتنی بر وب است.
و...
NikoFile