جستجو در تک بوک با گوگل!


بازدید
۱- مقدمه
انتشار اطّلاعات در اینترنت، تبدیل به یکی از مهمترین فعالیتها در زندگی ما شده است. با این حال، بسیاری از سیستم های موجود اغلب از تأخیرهای طولانی مدّت تجربه شده توسط مراجعه کنندگان خصوصاً در ساعات پیک رنج می برند.
یک ایده کلیدی برای حل این مشکل، فراهم کردن سرورهای تکرار شده در محل های متفاوت برای کاهش تعداد عملیاتهای بازیابی شیء در فواصل زیاد و متعادل کردن بار سایت های پرطرفدار می باشد. این کار هزینه را کاهش داده و زمان کلی پاسخگویی در شبکه را ارتقاء می دهد. بسیاری از الگوریتم ها برای تکرار شیء ظرف سالهای گذشته پیشنهاد شده اند. با این حال بسیاری از آنها توجه کمّی به ظرفیت سرور در طی جاگذاری تکرار برای تضمین بار کافی محاسبه شده مجموع تحمیل شده به یک سرور خاص از مجموع ظرفیت محاسبه ای آن بیشتر نشود، داشته اند.
در [۱۰] لی و همکاران، اعلام کردند که قرار دادن پروکسی های وب، برای عملکرد وب حیاتی بوده و سیاست بهینه جاگذاری پروکسی ها برای سرور وب هدف در اینترنت برای یک محیط فقط خواندنی را بررسی کردند. آنها نشان دادند که مسأله را می توان به عنوان یک مسأله برنامه نویسی پویا، الگوسازی کرد و از این تکنیک برای بهینه سازی مدّت زمان کلی دستیابی به سرورهای وب استفاده کردند. آنها یک الگوریتم با پیچیدگی زمانی (M3n2) پیشنهاد کردند که در آن M اندازه درخت و n تعداد پروکسی هاست.
کیسو و همکارانش مسأله قرار دادن پروکسی های متعدد تکراری در یک شبکه را به عنوان یک مسأله بهینه سازی فرمولیزه کردند. آنها نشان دادند که –NP کامل می باشد و تعدادی از استدلال ها را از نظر معاوضه های بین هزینه و پیچیدگی های الگوریتم مقایسه کردند. سپس آنها چند الگوریتم جاگذاری را ایجاد کردند که از اطّلاعات بار کاری مانند اختفای مراجعه کننده و میزان درخواست برای انجام تصمیمات آگاهانه در مورد جاگذاری استفاده کردند.
نوآوری رویکردی که در این فصل در پیش می گیریم این است که در زمان تصمیم گیری در مورد محل قرار دادن موارد تکثیر شده و میزان تکرارها، ما ظرفیت سرور را یکنواخت محسوب می کنیم. این محدودیت بسیار مهم است زیرا میانگین تعداد درخواستهای ارائه خدمات شده توسط یک المثنی u بر میانگین زمان پاسخی که گره ها توسط مشاهده گر u خدمات دهی می شوند، تأثیر می گذارد. به علاوه در انواع خاصی از برنامه های پرطرفدار مبتنی بر وب، من جمله تصویر و ویدئو در زمان تقاضا، قرار دادن یک کپی از سیستم نرم افزار مناسب، مثلاً یک DBMS یا یک سیستم GIS برای خدمات دهی درخواستهای خواندن و نوشتن به همراه هر کپی از شیء، اغلب ضروری است. با این حال در بسیاری از موارد چنین سیستم هایی محدودیتهایی را برای کاربران همزمان اعمال می کنند. عملکرد سیستم در چنین موقعیتهایی را می توان با مدنظر قرار دادن بارها و محدودیتهای ظرفیت گره ها به طور قابل ملاحظه ای ارتقاء داد. به علاوه شبکه منبع اطّلاعات مولتی مدیای زیادی می شود و ارسال فایل های بزرگ برای کاربران همانند فیلم، انتظار می رود که یکی از شروط شبکه نیازمند به ظرفیت پهنای باند بالا باشد. این کار ارائه کنندگان خدمات را تشویق می کند تا زمان مد نظر قرار دادن ظرفیت گره های سرور و همچنین ظرفیت لینک ها، خدمات ارسال را بهینه سازی کنند.
مدل سیستم
شبکه از تعدادی از سایت های به هم پیوسته توسط یک شبکه ارتباطی تشکیل شده است. اشیاء می توانند در تعدادی از سایت ها تکثیر شوند از طریق گروه فرآیندها به نام المثنی که در محل نسخه دوم اجرا می شوند، کنترل می شوند. توپولوهای شبکه به وسیله یک گراف G=(V,E) نمایش داده می شود که در آن u مجموعه رئوس (یا گره ها) بوده و نشان دهنده سرورهای وب یا پروکسی ها است (n=|v| مجموع تعداد گره ها E مجموع لبه ها بوده و نشان دهنده لینک های فیزیکی متصل کننده سرورها و پروکسی ها است.) یک شیءِ درخواست شده توسط مراجعه کننده C و قرار گرفته در سرور S، از طریق یک مسیر sr1r2 …rn c به نام مسیر ترجیع داده شده توسط حرکت می کند. این مسیر از توالی گره ها با مسیرهای متناظر آن تشکیل شده است. مسیرها از S به مراجعه کننده های مختلف، یک درخت مسیریابی تشکیل می دهند که در طول آن درخواستها منتشر می شوند. متعاقب آن برای هر سرور وب S، یک درخت پوشای T، ریشه دارنده در S را می توان ساخت تا درخت مسیریابی را نشان دهد و کل شبکه را می توان به عنوان مجموعه ای از چنین درختهای پوشا نشان داد که هر کدام در یک سرور وب معلوم مسیریابی شده اند.
از آنجا که یک شیء از S به C توسط گره های مسیر ترجیح عبور می کند، در صورتی که درخواست توسط یکی از گره های داخلی در مسیر سرویس دهی شود، می تواند مفید باشد. در حقیقت هر چقدر داده ها در عدد به C نزدیکتر باشند، مزیت های آن بیشتر است.
۳- الگوریتمی برای قرار دادن بهینه پروکسی ها در شبکه های درختی
پروکسی های مورد بحث قرار گرفته در این تحقیق، پروکسی های شفاف بوده یعنی در طول مسیرها از مراجعه کنندگان به یک سرور وب مسیریابی شده اند و برای مراجعه کنندگان شفاف می باشند. قرار دادن مؤثر پروکسی ها منجر به سرویس دهی بیشتر به درخواستهای مشتری در پروکسی ها بدون وادار کردن آنها به حرکت بیشتر در سرور می شود. برای تعریف رسمی مسأله قرار دادن مجموعه ای از پروکسی ها در یک شبکه درختی با قرار دادن ظرفیت سرورها به عنوان یک محدودیت، تعریف زیر را معرفی می کنیم.
تعرف ۱٫ یک مجموعه اسکان، گراف، مجموعه ای از رئوس می باشد که در آن کپی هایی از شیء قرار داده می شود. حداقل مجموعه محل اسکان یک مجموعه محل اسکان است که حداقل هزینه (مثلاً حداقل زمان میانگین زمان پاسخ) را در بین تمام مجموعه های محل اسکان در گراف ارائه می کند. یک مجموعه محل اسکان n مینیمم، یک مجموعه محل اسکان مینیمم حاوی n رأس است.
اکنون اگر d(u,v) فاصله بین هر دو گره v , u در شبکه درختی باشد که مساوی با طول کوتاهترین مسیر، بین v , u می باشد. به عبارت دیگر، طول درخت که در آن درخواست ها منتشر می شوند. در نتیجه برای هر سرور وب S، یک درخت پوشای T، کار گذاشته شده در S می تواند ساخته شود تا درخت مسیریابی را توصیف کند (شکل ۱ را ببینید). و وب کلی باید به شکل مجموعه ای از این درختهای پوشا نشان داده شود که هر کدام در یک سرور وب مشخص مسیریابی می شوند.
از آنجا که یک شیء از S تا C از گره های مسیر ترجیحی عبور می کند، اگر درخواست توسط یکی از گره های داخلی سرویس دهی شود، سودمند و مقرون به صرفه خواهد بود. در حقیقت اطّلاعات و داده ها در به C نزدیکتر است و مزایا و فواید بیشتری دارد.
(۱)
P(V,S) را اوّلین پروکسی می گیریم که در حالیکه از V به S در درخت Ts حرکت می کند با درخواست مواجه می شود. ما P(V,S) را پروکسی مطلوب می گیریم. این می تواند خود V باشد اگر V یک پروکسی باشد، یا S باشد اگر هیچ پروکسی در طول راه به طرف سرور ریشه درگیر نشود. fv را توالی دسترسی از مشتری V به سرور S در طول یک دوره زمانی می گیریم. دوره میان دو درخواست الگوریتم جاگذاری پروکسی- و بار تحمیل شده بر پروکسی P(V,S) است توسط گره V. اگر P برنامه تکرار باشد (مجموعه پروکسی ها برای درخت Ts که همراه با عملکرد P(V,S) است) آنگاه فاصله کل برای دسترسی به پروکسی ها چنین است و هزینه کلی دسترسی به اطّلاعات از این طریق به دست می آید:
(۲)
هر گره V دارای پروکسی مطلوب چنین است U=P(V,S) که یک بار را بر u تحمیل می کند. را یک بردار می گیریم که ظرفیت های تمام گره ها را در درخت ذخیره می کند و Kv، ظرفیت گره باشد.
با محدودیت در ظرفیت مجموع گره های دارای پروکسی مطلوب u، نباید بار بیشتر از ظرفیت Kvیِ u تحمیل شود.
اگر آنگاه نابرابری همیشه باید وجود داشته باشد.
اکنون برای یک تعداد ثابت از پروکسی ها، که به این شکل بیان می شود: ، اجازه دهید تا مجموعه محل اسکان مینیمم R را پیدا کنیم که هزینه را بر حسب زمان در درخت TS، کاهش می دهد با توجه به ظرفیتی که پروکسی ها را محدود می سازد. بنابراین مشکل کم می شود با هزینه دسترسی به طوری که مشروط به: (۳)
در کل، مسأله جاگذاری نسخه ها در درخت در زمان محدودیت بر ظرفیت گره ها، یک مسأله تکمیلی NP است[۸]. امّا وقتی ما به پروکسی ها توجه می کنیم در جایی که جهت درخواستهای خواندنی همیشه به طرف سرور هدف است، مسأله دیگر تکمیل NP نیست.
شکلهای ۲b , 2-a، تقسیم Tv به سه درخت فرعی را نشان می دهند. مسأله اصلی، تقسیم مسأله به مسایل فرعی در مقیاس های کوچک است. به همین دلیل ما نیاز به تقسیم بندی بیشتر Rv,u، به درخت های فرعی کوچکتر داریم. برای هر ، چنین می گوییم:
y} در سمت چپ قرار دارد و
خاصیت تکرار شدن راه حل، ، معادله ۳، برای حاصل های Tv به کار می رود.
۱-۳- الگوریتم مورد نظر
درخت Ts قرار گرفته در S با مجموعه V و رئوس را در نظر بگیرید. فرض کنید که بجه هر رأس بدون برگ از چپ به راست قرار گرفته است به طوری که با داشتن هر کدام از دو خواهر V , U، می توانیم مشخص کنیم که U در سمت چپ V است یا برعکس. به طور کل، با داشتن y , x در Ts، گفته می شود که X در سمت چپ X قرار می گیرد اگر U,V وجود داشته باشد به طوری که ، و v , u با u خواهر هستند که در سمت چپ v قرار دارند. به ازاءِ ، Tv درخت فرعی Ts است که در v قرار گرفته است. به ازاءِ هر ، ما می توانیم Tv را به ۳ درخت فرعی تقسیم کنیم (شکل ۲ را ببینید):
• درخت فرعی Lv,u شامل تمام گره های سمت چپ u می باشد.
• درخت فرعی شامل تمام گره ها در Tu است.
• درخت فرعی .Rv,u شامل بقیه گره هاست.
به شکل منظم داریم:
• x} سمت چپ u است:
• درخت فرعی Tv قرار گرفته در Tu=u
•
به شرط اینکه
(۴)
در اینجا ، هزینه دسترسی مینیمم به دست آمده با جاگذاری n پروکسی در Tv. بردار ظرفیت باری گره ها در Tv به دست می آید. وقتی n=1 باشد، پروکسی همیشه در ریشه v قرار دارد. وقتی n>1 باشد، همیشه یک گره u پیدا می کنیم، که بیان می کند:
• یک پروکسی در u قرار گرفته است.
• در Lv,u هیچ پروکسی قرار نگرفته.
• هیچ پروکسی در قرار نگرفته
که کوتاه ترین مسیر میان گره های v,u است بدون در نظر گرفتن v,u.
با فرض اینکه Tv در گره u تقسیم شده و اینکه پروکسی های در Tu جاگذاری شده اند، ، آنگاه پروکسی های در Rv.u قرار داده شده اند. بنابراین می توانیم بنویسیم: فرمول ها در متن (۵) و (۶) برای تمام پروکسی های n، ما نیاز داریم تا تمام محل های تقسیم بندی و تمام مقادیر ممکن را پیدا کنیم. به طور تکراری ما پروکسی ها را در Tu و Rv,u می گذاریم، به همان روشی که در Tu قرار دادیم. بنابراین روش برنامه ریزی دینامیک می تواند از طریق معادلات زیر فرمول بندی شود:
(۷) فرمول در متن
(۸) فرمول در متن
در معادله (۷)، ثابت است و مساوی با هزینه کل دسترسی به گره v از تمام گره ها در Lv,u می باشد. این هزینه غیرمشخص است اگر بار کلی گره ها در Lv,u بیشتر از ظرفیت Kv گره v باشد.
به طور مکرر در Tv تعیین شده با ظرفیت محدود کننده مربوط به گره های . Rv,u به ، و در اطراف گره ، جایی که یک پروکسی گذاشته شده است، تقسیم شده است. ظرفیت محدود کننده Rv,u نسبت به پروکسیv، ظرفیت است که با کسر از Kv، بار کلی تحمیل شده بر v از طرف گره ها در Lv,u به دست آمده است.
۴- تجزیه تحلیل عملکرد
یک شبیه ساز مشتق شده از پیشامد برای ارزیابی عملکرد الگوریتم مورد نظر ما ایجاد شده است. درخواست ها در یک گره مشخص از یک مجموعه معین از مشتری ها می رسد، هر مشتری x دارای یک میزان درخواست مشخص است بر اساس درجه اش یعنی . (این نظریه چنین است که مشتریان را طبق تکرار درخواست آنها درجه بندی می کند. در شبیه سازی ما به هر مشتری یک درجه تصادفی داده می شود). ما فرض می کنیم که میزان درخواست از مشتری x درجه iام، یک توزیع ZipF [3] را دنبال می کند.
(B نزدیک ۱ است). میزان درخواست، تکرار درخواست هاست که از طرف مشتری x صورت می گیرد. فاصله d(c,v)، دو گره را جدا می سازد یعنی v,u و ظرفیت هر گره در شبکه نیز به طور تصادفی ایجاد شده است. وقتی که درخت ایجاد می شود و پارامترهای ورودی مختلف ایجاد می شوند الگوریتم مورد نظر، برای تعیین جاگذاری بهینه که کمترین اختفا را ایجاد می کند و به طرفیت محدودکننده گره ها توجه می کند، به کار می رود.
ما عملکرد الگوریتم مورد نظرمان (بعد از این به الگوریتم ۱ برمی گردد) را با یک الگوریتم که شبیه به مال ماست و بر اساس تکنیک DP ایجاد شده امّا توجهی به تحمیل هیچگونه ظرفیت محدودکننده بر سرورهای پروکسی نمی کند (بعد از این با عنوان الگوریتم ۲ نامیده می شود) مقایسه می کنیم. ما همچنین به یک الگوریتم که پروکسی ها را در شبکه قرار می دهد با روشی ساده و بی تجربه، یعنی بدون محاسبه ظرفیت سرورها و هزینه کل جاگذاری، توجه کرده ایم. (از این به بعد با عنوان الگوریتم ۳ نامیده می شود). الگوریتم ۳ به عنوان یک بسترست برای تخمین ارتقاءِ خاصی که روش تعیین جای پیشنهاد شده ما نسبت به قرار دادن پروکسی ها به صورت تصادفی ارائه می کند، گنجانده شده است.
شکل ۵ نتایج اختفا برای خدمات دهی به یک درخواست به عنوان تابعی از تعداد پروکسی ها در شبکه ها برای سه الگوریتم را نشان می دهد. اختفا برای هر مشتری با ضرب کردن فرکانس و هزنه ارتباط تعیین می شود. میانگین اختفا سپس در تمام مشتریان محاسبه می شود. نتایج شبیه سازی برای شبکه ای از هزار گره اندازه که در آن تعداد پروکسی ها بین ۳۰ تا ۱۰۰ بوده است انجام شد. دیده شد که نتایج در فرمانی که دیگر اندازه های شبکه مد نظر قرار گرفته. تغییر زیادی نکرده است. رقم نشان می دهد که وقتی تعداد پروکسی ها کم باشد (کمتر از ۸ درصد) میانگین اختفا در الگوریتم۱، کمتر از الگوریتم های ۲ و ۳ است، با این حال با افزایش تعداد پروکسی ها مزیت های عملکردی الگوریتم ۱ کاهش می یابد. این را می توان با این حقیقت توضیح داد که وقتی تعداد زیادی پروکسی وجود دارد، توزیع پروکسی ایجاد شده در هر دو الگوریتم شبیه بوده و کمتر احتمال دارد که از ظرفیت پروکسی فراتر روند. در نتیجه هرگونه تعیین جای بهینه ایجاد شده توسط الگوریتم ۱ را می توان به طور قابل مقایسه با آنچه که توسط الگوریتم ۲ ایجاد شده است منطبق کرد. در مقابل، آن طور که انتظار می رود، میانگین اختفا برای رویکرد تصادفی (الگوریتم ۳) همیشه بالاتر است. با افزایش تعداد پروکسی ها اختفا کاهش می یابد امّا با سرعت کمتر، این موضوع با کاهش جزیی در اختفا با افزایش پروکسی ها از ۳۰ به ۱۰۰، در شکل ۶ نشان داده شده است.
شکل ۶٫ نتایج عملکرد در زمانی که میزان درخواست N در ۳ الگوریتم متفاوت است را نشان می دهد. ما با درخواست/ثانیه ۳۰=N شروع کرده و آن را افزایش می دهیم تا به ۱۵۰ درخواست/ثانیه برسیم. اندازه شبکه و تعداد پروکسی ها به ترتیب ۱۰۰۰ و ۶۰ تعیین شده است. وقتی میزان درخواستها پایین است، الگوریتم ۲ از الگوریتم ۱ عملکرد بهتری دارد. با افزایش بیشتر میزان درخواست، الگوریتم ۱ نسبت به الگوریتم ۲ عملکرد بهتری ارائه می کند.
این روند برای تمام مقادیر N بیشتر از ۷۰ درخواست/ثانیه ادامه پیدا می کند. این را می توان با این واقعیت که در ابتدا تعداد درخواستها کم و بار روی سرور پایین است، توضیح داد. بنابراین زمان ارتباط از مدت زمانی که یک درخواست منتظر می ماند تا در یک سرور پروکسی خدمات دهی شود، مهمتر است و در نتیجه الگوریتم ۲، اختفای پایین تری ارائه می کند. با این حال وقتی میزان درخواست از ۷۰ درخواست/ثانیه بیشتر می شود، الگوریتم ۱ مزیت عملکردی شفاهی نسبت به الگوریتم ۲ به نمایش می گذارد. این به خاطر آن است که بار سرورها با افزایش صفحه ها در سرور، حیاتی می شود و زمان انتظار یک عامل تعیین کننده در مجموع خدمات دهی به یک درخواست می شود. در تمام موارد، الگوریتم ۳ بدترین عملکرد را به نمایش می گذارد. با افزایش درخواست ها، اختفا در این الگوریتم به شیوه ای یکنواخت افزایش می یابد.
شکل ۷، نتایج را زمانی که اندازه شبکه متفاوت بوده و در عین حال تعداد مشابهی از پروکسی ها (۶ درصد اندازه شبکه) را حفظ می کند را نشان می دهد. الگوریتم ۱ به طور مرتب برای تمام اندازه های شبکه بررسی شده، عملکرد بهتری نسبت به الگوریتم ۲ دارد، با این حال هر دو الگوریتم نشان می دهند که میانگین اختفا، چندان تحت تأثیر اندازه شبکه قرار نمی گیرد (به خاطر داشته باشید که ما از درصد مشابهی از پروکسی ها نسبت به اندازه شبکه استفاده می کنیم. با بزرگتر شدن اندازه سیستم، تنها یک افزایش جزیی در میانگین اختفا اتفاق می افتد. این را می توان به توپولوژی شبکه اختصاص داد. برای الگوریتم ۳، میانگین اختفا نسبت به الگوریتم ۱ و ۲ برای تمام اندازه ها بیشتر است و یک افزایش قابل توجه با اندازه سیستم وجود دارد.
نتیجه گیری ها
این مقاله، مسأله تعیین جای سرور پروکسی با محدودیت های ظرفیت گره در یک محیط شبکه فقط خواندنی را بررسی کرد. نشان دادیم که وب می تواند فقط به عنوان مجموعه ای از درختهای ریشه گرفته در سرورهای هدف، الگوسازی شود تا تعیین جای بهینه پروکسی های m در یک شبکه درختی متشکل از n گره را تکثیر و تعبیر کند. رویکرد برنامه نویسی پویا برای الگوسازی مصرف و پیشنهاد کردن الگوریتمی که پروکسی ها را در یک شبکه درختی قرار می دهد مورد استفاده قرار گرفته است. نتایج حاصل از آزمایش شبیه سازی نشان داده که مد نظر قرار دادن ظرفیت سرورها، الگوریتم پیشنهاد شده را قادر می سازد تا از نظر دستیابی به زمان پاسخ کمتر در سطح مراجعه کننده نسبت به الگوریتم مشابهی که ظرفیت سرور را نادیده می گیرد، ویژگی های بهتری را به نمایش می گذارد. الگوریتم پیشنهاد شده همچنین مزیت های عملکردی بهتری را نسبت به رویکرد ساده ای که پروکسی ها را به شیوه ای تصادفی تکثیر می کند، به نمایش می گذارد. یک بسط آتی احتمالی در این کار می تواند مد نظر قرار دادن توپولوژی اینترنت واقعی با استفاده از رگه های داده های واقعی به جای داده های به صورت تصادفی شبیه سازی شده باشد. مقایسه عملکرد این الگوریتم با الگوریتم های دیگر انجام خواهد شد و ارزیابی واقعی تری از الگوریتم در یک مقیاس اینترنت ارائه خواهد شد.
بازدید
مراحل پردازش اطلاعات یک فرم HTML
* اطلاعات موجود در وب در حریم های اطلاعاتی با نام ” صفحات وب ” ذخیره می گردند. اندازه ونوع محتویات این نوع صفحات کاملا” متغیر بوده و نمی بایست در این راستا یک صفحه وب را با یک صفحه کتاب مقایسه کرد گرچه شباهت های اندکی نیز بین آنها وجود داشته باشد.
* محتویات یک صفحه وب می تواند، متن گرافیک صدا تصویر انیمیشن و … باشد. گستردگی و تنوع نوع اطلاعاتی که می توان در صفحات وب قرار داد یکی از مهمترین ویژگی های قابل توجه وب از دیدگاه ارائه دهندگان اطلاعات از یک طرف و استفاده کنندگان از اطلاعات از طرف دیگر می باشد.
* صفحات وب از لحاظ فیزیکی فایل هایی هستند که توسط نرم افزارهای مربوطه بوجود آمده و دارای انشعاب “htm” و یا “html” می باشند. برای ایجاد این نوع صفحات می توان از تمام نرم افزارهائی که بنوعی قادر به ایجاد و ذخیره سازی یک فایل هستند استفاده کرد. ( Notepad نمونه ای از این نوع نرم افزارها است ). امروزه نرم افزارهای کاملا” حرفه ای برای ایجاد و مدیریت صفحات وب توسط شرکت های نرم افزاری ایجاد شده است . FrontPage ,Hotmetal,… نمونه هائی در این زمینه می باشند.
* پس از ایجاد صفحات وب در صورت نیاز و استفاده عموم ( داخلی ، خارجی ) می بایست آنها را بر روی یک سایت ذخیره نمود. یک وب سایت مجموعه ای از صفحات وب را شامل می گردد.
* ارائه دهندگان اطلاعات پس از آماده سازی صفحات وب و استقرار آنها بر روی یک وب سایت زمینه استفاده از اطلاعات فوق را برای استفاده کنندگان فراهم می نمایند. استفاده کنندگان با استفاده از نرم افزارهائی موسوم به ” مرورگر ” قادر به دستیابی به یک وب سایت و درخواست اطلاعات مورد نیاز خود می باشند.
* تمام صفحات وب دارای مجموعه دستورالعمل هائی هستند که نحوه نمایش اطلاعات مورد نظر را مشخص خواهد کرد. رایج ترین مجموعه دستورالعمل های نمایش در صفحات وب تگ های Html می باشند.
معماری عمومی وب:
برای تشریح بهتر برنامه های کاربردی تحت وب (Web based applications) مدرن و امروزی، معمولا آنها را به ۴ لایه مستقل تقسیم می کنند. لایه مشتری یا Client، لایه های میانی که عبارتند از presentation و Business و در نهایت آخرین لایه که عبارت است از لایه داده یا Database. معمولا لایه های میانی در یک لایه مجتمع شده و در نتیجه یک مدل ساده شده ۳ لایه ای به دست می دهند.
لایه مشتری یا 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 نیست. در میان تکنولوژیهای مختلفی که وجود دارد مهمترین ها و پراستفاده ترین تکنولوژیها به شرح زیر هستند:
۱)HTML
این تکنولوژی ساده ترین فرم انتشار اسناد در وب است. در این تکنولوژی صفحات یک وب سایت به صورت ایستا کدگذاری شده و سپس انتشار می یابند. این روشی است که در بسیاری از وب سایتهای شخصی که در ابتدای پیدایش وب ساخته شده اند بکار رفته است. در اینجا تولید کننده با دانستن html و یا با استفاده از ابزاری که چنین کدهایی را تولید می کنند، صفحات خود را می سازد. برای یک وب سایت ساده با تعداد محدودی از صفحات ایستا شاید این یک روش قابل قبول باشداز مزایای این تکنولوژی می توان به سادگی و عدم نیاز به برنامه نویسی و آشنایی با زبان خاص کدنویسی اشاره کرد. علاوه بر این پشتیبانی گسترده این روش توسط نرم افزارهایی که قادر به تولید اینگونه صفحات از طریق تکنیکهای Visual هستند نیز از دیگر مزیتهای این روش محسوب می گردد. اسنادی که به این روش تولید می گردند معمولا از سرعت بارگذاری خوبی برخوردار هستند (به دلیل عدم نیاز به انجام پردازش در سمت Server). اما علیرغم تمامی ویژگیهای ذکر شده این روش مشکلاتی نیز دارد.
نخست اینکه این شیوه قادر به تولید صفحات دینامیک نیست. دیگر اینکه با ترکیب محتوا (content) و قالب (Style) باعث بروز مشکل در ایجاد تغییرات در صفحات می گردد. به بیان معادل، هزینه ایجاد و اعمال تغییرات در صفحات بالاست.
به همراه این تکنولوژی ابزارهای دیگری برای برنامه سازی Client-Side نیز وجود دارد. برخی از این ابزارها که بیشتر مورد استفاده قرار می گیرند عبارتند از Java Script، VBScript. البته به کمک تلفیق این تکنولوژی با زبانهای اسکریپت نویسی مذکور و نیز استفاده از مفاهیم CSS می توان صفحاتی طراحی کرد که محتویات دینامیک داشته باشند لیکن این قدرت به Client محدود می گردد و علاوه بر آن مشکل ترکیب محتوا و قالب همچنان پابرجاست.
۲) تکنولوژی CGI (تکنولوژی مرتبط با طرف سرویس دهنده) یک برنامه CGI بوسیله سرویس دهنده وب در پاسخ به درخواست ایجاد شده توسط مرورگر وب، اجرا می شود. سرویس دهنده وب به عنوان واسط میان مرورگر و برنامه CGI، درخواست مرورگر را به برنامه و خروجی برنامه CGI را برای پردازش به مرورگر وب ارسال می کند. برای مثال ممکن است برنامهای نقطه نظرات کاربر را دریافت نموده و آن را به شکل یک پیام الکترونیکی برای مسئول سایت ارسال کند. تقریباً هرنوع زبان برنامه نویسی را می توان برای نوشتن یک برنامه CGI بکار برد. CGI واسط تعریف شده مابین سرویس دهنده وب و برنامه خارجی است که مایلید آن را بنویسید.
بازدید
فصل اول
سیستم های مدیریت محتوی (cms)
دنیای امروز دنیای اطلاع رسانی است. در صحنه رقابت تنگاتنگی که امروزه بین شرکتها و موسسات وجود دارد، یکی از اصول اولیه برای بقا و پیشرفت اطلاع رسانی صحیح و لحظه به لحظه است. واضح است که اولین وسیله ارتباطی و اطلاعاتی در عصر حاضر شبکه جهانی اینترنت میباشد. تقریبا هیچ شرکت یا موسسه ای را در دنیا نمیتوانید پیدا کنید که در زمینه کاری خود موفق باشد بدون اینکه از طریق وب سایت اینترنتی خود را به دیگران معرفی کرده باشد. با توجه به اهمیت بالایی که پایگاه های اینترنتی در دنیای تجارت دارند،معمولا مدیران ارشد شرکتها تمایل دارند خود شخصا بر محتویات آن نظارت داشته باشند این در حالی است که آنان معمولا فاقد دانش فنی در مورد نحوه طراحی و تولید و ایجاد تفکرات در یک سایت اینترنتی هستند. در این موارد سیستم مدیریت محتوا میتواند بهترین راه حل باشد. سیستم مدیریت محتوا CMS چیست؟ این سیستم ها که امروزه در وب به نام CMS شناخته میشوند مخفف Content Management System میباشند که یک برنامه نرم افزاری روی سرور هستند و به مدیر سایت اجازه میدهند تا بدون نیاز به طراحی دوباره سایت محتوای سایت را تغییر دهد. سیستم مدیریت محتوای سایت این امکان را به شما میدهد خودتان سایت خود را تولید کرده و آن را به طور کامل مدیریت نمایید و برای این امر نیاز به دانش تخصصی در این زمینه ندارید. با استفاده از این نرم افزار بسیار ساده تر از آنچه تصور کنید میتوانید بخشهای مختلف سایت خود را مدیریت کنید بخشهای جدید ایجاد کرده و به سایت خود اضافه کنید و یا محتویات آنها را تغییر دهید. برای این منظور حتی لازم نیست اطلاعات را مجددا بر روی وب سرور خود بارگذاری کنید. کلیه این تغییرات بلافاصله پس از آنکه دستور تغییر وارد میشود اعمال میشوند همه چیز بسیار ساده تر از آنچه شما تصور میکنید انجام خواهد شد. چرا شما یک CMS لازم دارید؟ اگر سایت شما هر چند وقت یکبار به روز میشود میتوانید بجای اینکه هر بار به یک شرکت طراحی وب مراجعه کنید خودتان با استفاده از برنامه های مدیریت محتوا تغییراتتان را روی سایت اعمال کنید.
مزایای سیستم های مدیرت محتوا
چیست و چگونه می توان آنها را به طور موفق پیاده سازی کرد؟ برای روشن شدن معنای عبارت «مدیریت محتوا» باید گفت توصیف آن وابسته به نیازمندی های سازمان دارد و یا این که ارائه دهنده CMS چه امکاناتی را فراهم آورده است، در حال حاضر هدف و یا استاندارد مشخصی برای سیستم های مدیریت محتوا وجود ندارد که بتواند نیازهای متنوع مطرح شده موجود در صنعت IT مرتبط با سازمان ها را پوشش دهد.
بنابر این عامل موفقیت در اجرا و پیاده سازی یک سیستم مدیریت محتوا می تواند راهاندازی و ارزیابی کامل یکی از کاربردهای مشخص تجاری سازمان با فرآیند های مشخص موجود سازمان باشد. به عنوان مثال می تواند گردش اسناد رسیدگی به درخواست های مشتریان یا فرایند پرداخت حقوق و مطالبات بیمه ای یا فرآیند گردش حساب های پرداختنی یا هر فرآیند شناخته شده دیگر سازمان باشد. یکی از این فرآیندها را بتوانید پیاده کنید می توانید راحتتر در مورد انتخاب سیستم مدیریت محتوا تصمیم بگیرید. تا سیستم پیاده شده نزدیکترین وضعیت را به فرایندها و کاربردهای سازمان داشته باشد. سرانجام باید گفت که اجرای موفق باید مزایای تجاری برای سازمان در برداشته باشد.
آنهایی که توانسته اند سیستم های مدیریت محتوا را موفق اجرا کنند مزایای پایه ای این سیستم را چنین بیان می کنند:
– بهبود کارآیی تجاری
– کاهش هزینه های عملیاتی و اجرایی
– سرعت بخشیدن به رسیدگی به اعتراضات و نارسائی ها
– ارائه وسیعتر کالا و خدمات
– کاهش میزان ریسک
بنابر این با ارزیابی آگاهانه و دقیق و ارای راه حلی که نیازهای تجاری را پوشش دهد، سازمان خواهد توانست به افزایش تولید، رضایت مشتری و سود دهی مناسب دست یابد. ایا سیستم های مدیریت محتوای تحت وب برای سازمان های با توانایی مالی کم نیز وجود دارد؟ در مطرح کردن این سئوال قدری تامل کنید.
شیوههای مختلف ارزیابی cms ها
شیوههای مختلفی برای ارزیابی cmsها وجود دارد، هزینه ریالی اجرای سیستم فقط یک وجه ارزیابی است. شما باید هزینه نبودن آن را نیز برطرف کنید. برای این منظور سوالات زیر را برای خود مطرح کنید و در پاسخ به آنها به این نکته توجه داشته باشید که، کل دانش سازمان از اطلاعات پایگاه داده گرفته تا آنچه کارمندان به عنوان دانش و مهارت میدانند، سرمایه و دانش فنی سازمان را تشکیل میدهد. در دسترس نبودن اطلاعات ذر سطوح مختلف سازمان چقدر هزینه، یا عدم سود دهی دارد؟ ریسک استفاده از اطلاعات قدیمی و نادقیق روی وب سایت و فرآیندهای در گردش سازمان چقدر است؟ هزینه بیمه شدن در مقابل این ریسکها چقدر است؟ اگر مدیر IT یا مدیر سایت اینترنتی شما نباشد، چگونه میتوانید اطلاعات قدیمی و نادقیق را تصحیح و جایگزین کنید.؟ با سرمایهگذاری نامناسب، همه این موضوعها از طریق یک cms که موفق اجرا شود پوشش داده میشود.
گرچه ممکن است هزینه اولیه آن بالا به نظر برسد ولی سریعاً جایگزین خواهد شد. امروزه راهاندازی و راهبردی سایتهای وب درگیر شدن با کد HTML نیست. ابزارهای CMS همه فرایند را خودکار سازی میکنند و بدون دانستن تکنولوژی صفحات وب میتوانید بدون در نگرانی و تاخیر همیشه اطلاعات بروز ارائه دهید.
در نهایت، این تصویر شما است که افزایش سوددهی سازمان را در مقابل هزینههایی که برای CMS میبینید تحقق خواهد بخشید. بنابراین با وجود آگاهی از این حقیقت که حجم و تعداد مستندات الکترونیک! افزایش روز افزون غیر قابل تصور دارند، CMS ها با هر تعریفی جزء ابزارهای مهم و کارآمد صنعت IT خواهند بود. میتوانید با اطمینان در زمینههای CMS سرمایهگذاری کنید، چرا که میزان فروش سیستمهای مدیریت محتوا در سطح دنیا در سالهای ۲۰۰۰ تا ۲۰۰۳ با ۳۵ درصد افزایش ، ۳ میلیارد دلار بوده است. استفاده از CMS به جای روش قدیمی صفحات ثابت از لحاظ تجاری و اقتصادی مزایای بسیار زیادی دارد از جمله:
• صرفهجویی در زمان برای ایجاد و بروزرسانی صفحات وب
• سازگاری و استحکام بیشتر
• راهبردی (navigation) پیشرفته
• کنترل نامتمرکز سایت
• امنیت بالاتر وب سایت
• کاهش ورود اطلاعات تکراری
• کاهش چشمگیر هزینههای نگهداری
قابلیتهای لازم برای یک CMS
در زیر برخی قابلتیهایی که برای یک CMS لازم است و حتماً قبل از اتخاذ تصمیم نهایی برای استفاده از آن باید در نظر گرفته شود آمده است:
• چه سرویسها و خدماتی ارائه میکند، مثلاً برای تهیه backup مرتب از مطالب
• محدودیتهای سختافزاری و شبکه
• سیستمهای عاملی که CMS با آنها سازگار است.
• از چه web- serverهایی پشتیبانی میکند؟
• آیا بازدید کنندگان سایت شما، نزمافزار یا plug- in دیگری نیاز دارند؟
• CMS از چه مرورگرهایی پشتیبانی میکند؟
• امکان ورود و خروج اطلاعات از سیستم به برنامه دیگر چگونه است؟
• راهنما و document های ارائه شده چقدر نیاز شما را برای تماس با بخش پشتیبانی کاهش میدهد؟
• آیا شرکت پشتیبانی ۲۴ ساعته و موثر برای مشکلات احتمالی دارد؟
• آیا قابلیت جستجوی مطابل برای بازدیدکننده وجود دارد؟
• چه تضمینی برای امنیت مطالب شماو قابلت کنترل غیر متمرکز را دارد؟
• امکان تغییر واسط کاربری با طرح گرافیکی به راحتی وجود دارد؟
• آیا امکان ثبت سوابق وب سایتlogging وجود دارد؟
چرا شمایک CMS لازم دارید؟
اگر سایت شما هر چند وقت یکبار (مثلاً هز دو هفته) به روز میشود میتوانید به جای اینکه هر بار به یک شرکت طراحی وب مراجعه کنید، خودتان با نصب یکی از این برنامههای مدیریت محتوا، تغیراتتان را روی سایت اعمال کنید.
اگر شما سایت خود را اصلاً بروز نمیکنید، باید کم کم به فکر بیافتید، چون بینندههای شما وقتی هیمشه با یک صفحه همیشگی روبهرو شوند کم کم شما را فراموش میکنند، چون چیز جدیدی برای عرضه ندارید.
یک CMS چه امکاناتی دارد؟
طیف وسیعی از امکانات اکثراً CMS ها در ورژنهای مختلف و با قابلیتهای مختلف در بازار عرضه میشوند. البته قابلیت بروز کردن اطلاعات در همه مشترک است اما قابلیتهای ویژه دیگری دارند که با قیمتهای مختلف به شما پیشنهاد میدهند. از جمله:
۱- مدیریت اطلاعات فرستاده شده توسط کاربران و تایید اطلاعات
۲- چند زبانه بودن.
۳- ایجاد نقشه سایت داینامیک
۴- امکان ایجاد تجارت الکترونیک با فروشگاه مجازی
۵- ایجاد فرم برای دریافت اطلاعات کاربران
۶- بهینه سازی تصاویر آپولود شده
۷- ایجاد و بروز کردن متاتگ ها
۸- امکان جستجو در مطالب سایت.
۹- امنیت بیشتر
۱۰- گرایش آمار بازدید ازصفحات
۱۱- و …
CMSهای اطلاعاتی
این سیستمها معمولاً کار طراحی صفحات سایت است. امکاناتی که این سیستمها دارند تقریباً به شرح زیر است:
۱- امکان فرستادن اطلاعات به سایت توسط چند کاربر .
۲- آرشیوبندی اتوماتیک اطلاعات بر اساس تاریخ و موضوع
۳- ایجاد امکان جستجو در اطلاعات قبلی
۴- ایجاد لینک دائم برای هر مطلب و متا تگ برای آن
۵- و امکانات جانبی دیگر مثلاً ایجاد یک صفحه به عنوان لینکستان و …
مزایای سیستم های مدیرت محتوا
چیست و چگونه می توان آنها را به طور موفق پیاده سازی کرد؟ برای روشن شدن معنای عبارت «مدیریت محتوا» باید گفت توصیف آن وابسته به نیازمندی های سازمان دارد و یا این که ارائه دهنده CMS چه امکاناتی را فراهم آورده است، در حال حاضر هدف و یا استاندارد مشخصی برای سیستم های مدیریت محتوا وجود ندارد که بتواند نیازهای متنوع مطرح شده موجود در صنعت IT مرتبط با سازمان ها را پوشش دهد.
بنابر این عامل موفقیت در اجرا و پیاده سازی یک سیستم مدیریت محتوا می تواند راهاندازی و ارزیابی کامل یکی از کاربردهای مشخص تجاری سازمان با فرآیند های مشخص موجود سازمان باشد. به عنوان مثال می تواند گردش اسناد رسیدگی به درخواست های مشتریان یا فرایند پرداخت حقوق و مطالبات بیمه ای یا فرآیند گردش حساب های پرداختنی یا هر فرآیند شناخته شده دیگر سازمان باشد. یکی از این فرآیندها را بتوانید پیاده کنید می توانید راحتتر در مورد انتخاب سیستم مدیریت محتوا تصمیم بگیرید. تا سیستم پیاده شده نزدیکترین وضعیت را به فرایندها و کاربردهای سازمان داشته باشد. سرانجام باید گفت که اجرای موفق باید مزایای تجاری برای سازمان در برداشته باشد.
آنهایی که توانسته اند سیستم های مدیریت محتوا را موفق اجرا کنند مزایای پایه ای این سیستم را چنین بیان می کنند:
– بهبود کارآیی تجاری
– کاهش هزینه های عملیاتی و اجرایی
– سرعت بخشیدن به رسیدگی به اعتراضات و نارسائی ها
– ارائه وسیعتر کالا و خدمات
– کاهش میزان ریسک
بنابر این با ارزیابی آگاهانه و دقیق و ارای راه حلی که نیازهای تجاری را پوشش دهد، سازمان خواهد توانست به افزایش تولید، رضایت مشتری و سود دهی مناسب دست یابد. ایا سیستم های مدیریت محتوای تحت وب برای سازمان های با توانایی مالی کم نیز وجود دارد؟ در مطرح کردن این سئوال قدری تامل کنید.
شیوههای مختلف ارزیابی cms ها
شیوههای مختلفی برای ارزیابی cmsها وجود دارد، هزینه ریالی اجرای سیستم فقط یک وجه ارزیابی است. شما باید هزینه نبودن آن را نیز برطرف کنید. برای این منظور سوالات زیر را برای خود مطرح کنید و در پاسخ به آنها به این نکته توجه داشته باشید که، کل دانش سازمان از اطلاعات پایگاه داده گرفته تا آنچه کارمندان به عنوان دانش و مهارت میدانند، سرمایه و دانش فنی سازمان را تشکیل میدهد. در دسترس نبودن اطلاعات ذر سطوح مختلف سازمان چقدر هزینه، یا عدم سود دهی دارد؟ ریسک استفاده از اطلاعات قدیمی و نادقیق روی وب سایت و فرآیندهای در گردش سازمان چقدر است؟ هزینه بیمه شدن در مقابل این ریسکها چقدر است؟ اگر مدیر IT یا مدیر سایت اینترنتی شما نباشد، چگونه میتوانید اطلاعات قدیمی و نادقیق را تصحیح و جایگزین کنید.؟ با سرمایهگذاری نامناسب، همه این موضوعها از طریق یک cms که موفق اجرا شود پوشش داده میشود.
گرچه ممکن است هزینه اولیه آن بالا به نظر برسد ولی سریعاً جایگزین خواهد شد. امروزه راهاندازی و راهبردی سایتهای وب درگیر شدن با کد HTML نیست. ابزارهای CMS همه فرایند را خودکار سازی میکنند و بدون دانستن تکنولوژی صفحات وب میتوانید بدون در نگرانی و تاخیر همیشه اطلاعات بروز ارائه دهید.
در نهایت، این تصویر شما است که افزایش سوددهی سازمان را در مقابل هزینههایی که برای CMS میبینید تحقق خواهد بخشید. بنابراین با وجود آگاهی از این حقیقت که حجم و تعداد مستندات الکترونیک! افزایش روز افزون غیر قابل تصور دارند، CMS ها با هر تعریفی جزء ابزارهای مهم و کارآمد صنعت IT خواهند بود. میتوانید با اطمینان در زمینههای CMS سرمایهگذاری کنید، چرا که میزان فروش سیستمهای مدیریت محتوا در سطح دنیا در سالهای ۲۰۰۰ تا ۲۰۰۳ با ۳۵ درصد افزایش ، ۳ میلیارد دلار بوده است. استفاده از CMS به جای روش قدیمی صفحات ثابت از لحاظ تجاری و اقتصادی مزایای بسیار زیادی دارد از جمله:
• صرفهجویی در زمان برای ایجاد و بروزرسانی صفحات وب
• سازگاری و استحکام بیشتر
• راهبردی (navigation) پیشرفته
• کنترل نامتمرکز سایت
• امنیت بالاتر وب سایت
• کاهش ورود اطلاعات تکراری
• کاهش چشمگیر هزینههای نگهداری
قابلیتهای لازم برای یک CMS
در زیر برخی قابلتیهایی که برای یک CMS لازم است و حتماً قبل از اتخاذ تصمیم نهایی برای استفاده از آن باید در نظر گرفته شود آمده است:
• چه سرویسها و خدماتی ارائه میکند، مثلاً برای تهیه backup مرتب از مطالب
• محدودیتهای سختافزاری و شبکه
• سیستمهای عاملی که CMS با آنها سازگار است.
• از چه web- serverهایی پشتیبانی میکند؟
• آیا بازدید کنندگان سایت شما، نزمافزار یا plug- in دیگری نیاز دارند؟
• CMS از چه مرورگرهایی پشتیبانی میکند؟
• امکان ورود و خروج اطلاعات از سیستم به برنامه دیگر چگونه است؟
• راهنما و document های ارائه شده چقدر نیاز شما را برای تماس با بخش پشتیبانی کاهش میدهد؟
• آیا شرکت پشتیبانی ۲۴ ساعته و موثر برای مشکلات احتمالی دارد؟
• آیا قابلیت جستجوی مطابل برای بازدیدکننده وجود دارد؟
• چه تضمینی برای امنیت مطالب شماو قابلت کنترل غیر متمرکز را دارد؟
• امکان تغییر واسط کاربری با طرح گرافیکی به راحتی وجود دارد؟
• آیا امکان ثبت سوابق وب سایتlogging وجود دارد؟
چرا شمایک CMS لازم دارید؟
اگر سایت شما هر چند وقت یکبار (مثلاً هز دو هفته) به روز میشود میتوانید به جای اینکه هر بار به یک شرکت طراحی وب مراجعه کنید، خودتان با نصب یکی از این برنامههای مدیریت محتوا، تغیراتتان را روی سایت اعمال کنید.
اگر شما سایت خود را اصلاً بروز نمیکنید، باید کم کم به فکر بیافتید، چون بینندههای شما وقتی هیمشه با یک صفحه همیشگی روبهرو شوند کم کم شما را فراموش میکنند، چون چیز جدیدی برای عرضه ندارید.
یک CMS چه امکاناتی دارد؟
طیف وسیعی از امکانات اکثراً CMS ها در ورژنهای مختلف و با قابلیتهای مختلف در بازار عرضه میشوند. البته قابلیت بروز کردن اطلاعات در همه مشترک است اما قابلیتهای ویژه دیگری دارند که با قیمتهای مختلف به شما پیشنهاد میدهند. از جمله:
۱۲- مدیریت اطلاعات فرستاده شده توسط کاربران و تایید اطلاعات
۱۳- چند زبانه بودن.
۱۴- ایجاد نقشه سایت داینامیک
۱۵- امکان ایجاد تجارت الکترونیک با فروشگاه مجازی
۱۶- ایجاد فرم برای دریافت اطلاعات کاربران
۱۷- بهینه سازی تصاویر آپولود شده
۱۸- ایجاد و بروز کردن متاتگ ها
۱۹- امکان جستجو در مطالب سایت.
۲۰- امنیت بیشتر
۲۱- گرایش آمار بازدید ازصفحات
۲۲- و …
CMSهای اطلاعاتی
این سیستمها معمولاً کار طراحی صفحات سایت است. امکاناتی که این سیستمها دارند تقریباً به شرح زیر است:
۶- امکان فرستادن اطلاعات به سایت توسط چند کاربر .
۷- آرشیوبندی اتوماتیک اطلاعات بر اساس تاریخ و موضوع
۸- ایجاد امکان جستجو در اطلاعات قبلی
۹- ایجاد لینک دائم برای هر مطلب و متا تگ برای آن
۱۰- و امکانات جانبی دیگر مثلاً ایجاد یک صفحه به عنوان لینکستان و …
فصل دوم:
Postnuke
بخش اول: کلیات postnuke
معرفی postnuke
Postnuke یک بسته نرم افزاری است که برای مدیریت محتوی، انجمن ها و همکاری بر روی سایت ایجاد شده است. این بسته به عنوان یک نرم افزار opensource به طور رایگان، تهیه شده است (تحت لیسانس عمومیGNU)
به عبارت دیگر postnuke انحصاری شده وقانون کپی رایت دارد اما در مقابل ما آزادی های بیشتری داریم.
ما در اینجا مجاز به کپی کردن، استفاده و تغییر post nuke هستیم البته در صورتیکه موافق نکات زیر باشیم.
-سرویس برنامه را به دیگران بدهیم
-مجوز اصلی و کپی رایت را حذف نکنیم و یا تغییر ندهیم و همین مجوز را برای هر کاری مشتق شده دیگر به کار ببریم.
مجوز را کاملا با تمام جزئیات مطالعه کنیم و اگر سوالی داشتیم مستقیما با مسئول کپی رایت تماس بگیریم.
Postnuke روی هر کامپیوتری که میتواند php را اجرا کند وانوع مختلفی از پایگاه داده مخصوصا mysql را پشتیبانی میکند، میتواند اجرا شود.
کلمه postnuke به خاطر این برای این نرم افزار انتخاب شده است که این پروژه یک انشعاب از php- nuke است از این رو نام آن nukenpost انتخاب شده است.
سابقه postnuke
Postnuke یک توسعه دهنده فعال و پر جنب و جوش جهانی و مبتنی بر کاربر دارد. توسعه آن توسط پنج عنصر بنیادی آغاز شده است.
بسیار سخت است که بگوییم این نرم افراز برای استفاده، آسان باشد در حقیقت این نرم افزار باید تا حد امکان حسی و مبتنی بر درک مستقیم باشد.
همزمان با رشد و گسترش postnuke و انجمن ها، ورودی های بیشتری از گستره متفاوتی از مردمیکه درموقعیت های واقعی متفاوت بودند، دریافت شده است. مثلا هم اکنون postnuke نه تنها روی سایت های کوچک سر گرمیاستفاده میشود، بلکه در تجارت های کوچک دبیرستانها و شرکت ها هم استفاده شده است.
تعداد روبه رشدی از مردم اطراف دنیا در حال همکاری کردن با postnuke به طرق مختلف هستند.
یک ویژگی مهم postnuke سایت آن است که یک نقطه مرکزی برای اطلاعات، بحث و همکاری بین کاربرانی که جز مدیران سیستم، طراحان وب، محققین و توسعه دهندگان هستند، فراهم میکند همانند postnuke، این سایت همیشه در حال رشد است تا متناسب با نیازهای انجمن باشد و مانند postnuke همیشه رایگان خواهد بود. به عبارت دیگر طراحی و توسعه postnuke و توسط یک فلسفه خاص از تقسیم کار و باز خورد به انجمن هدایت شده است.
مجوز postnuke
نام postnuke یک نام تجاری ثبت شده است و ما مجازیم که نام این نر افراز را برای هر فعالیتی که وابسته به این نرم افزار است، استفاده کنیم.
این برنامه، نرم افزار رایگان است و میتوانیم آن را دوباره توزیع کنیم ویا تحت شرایط مجوز عمومیکلی GNU چناکه توسط بنیاد نرم افزاری رایگان منتشر شده است. به عنوان نسخه شماره ۲ مجوز یا هر نسخه بعدی دیگر آن را اصلاح کنیم.
این برنامه با امید به اینکه مفید خواهد بود توزیع شده اما هیچ گارانتی حتی برای قابلیت بازرگانی یا تناسب داشتن برای هدف خاصی ندارد.
خصوصیات اصلی postnuke
Postnuke یک محصول فعال و در حال رشد است در زیر بعضی از خصوصیات وعملکردها و توابع درونی آن لیست شده است.
– واسط ساده کم حجم، موثر، سازگار و با تکنولوژی آسان مرورگر
– قابلیت نصب آسان روی غلب ایستگاههایی که php را پشتیبانی میکنند و تنها به یک پایگاه داده احتیاج دارد البته قابلیت اشتراک هم دارد.
– پشتبیانی مطلق پایگاه داده در بیشتر قسمتهای مهم پایگاه
– تاکید بر روی امنیت قوی به طور کل، تمام فرمها چک شده اند، داده ها معتبرند و …
– بیشتر نواحی ورود متن از منابع، اتاق گفتگو، ورودی ژورنال ها و …) میتواند با استفاده از یک ویرایشگر HTML داخلی wysiwyG ویرایش شوند.
– سایت توسط یک کاربر admin که در طول نصب تعریف میشود، مدیریت میشود.
– قابلیت های plug – in به کاربران یا مدیر اجازه میدهد که سایت خود را سفارشی کنند.
– ماژول های plug- in میتوانند به برنامه های نصب postnuke اضافه شوند.
– بسته های زبان plug- in اجازه میدهند که هر زبانی را به صورت کاملا محلی داشته باشیم. هم اکنون بیش از ۳۴ بسته زبان وجود دارند.
– کد برنامه php قابل فهم و روشن نوشته شده تحت یک مجوز GPL است، به راحیت قابل تغییر است تا متناسب با نیاز ما در آید.
– اهداف برنامه این است که درگیری مدیر را به حداقل مقدار کاهش دهد در حالیکه امنیت را در سطح بالا نگه میدارد.
– با پشتبیانی کردن از محدوده ای از مکانیزم های سندیت از طریق ماژول های تصدیق و سندیت plug- in اجازه بر قراری قانون جامعیت آسان، توسط سیستم های موجود را میدهد.
– روش LDAP: حساب های ورودی کاربران میتوانند از طریق یک سرور LDAP بررسی شوند. مدیر میتواند مشخص کند چه فیلد هایی استفاده شود.
– IMAP، POP3، NNTP: حساب های ورودی کاربران از طریق یک سرور پست الکترونیکی یا اخبار بررسی میشوند. SSL، گواهی نامه ها و TSL پشتیبانی میشوند.
– پایگاه داده خارجی: هر پایگاهی که حداقل شامل دو فیلد باشد میتواند به عنوان یک منبع سندیت خارجی استفاده شود.
– هر شخص تنها به یک حساب برای کل سرور احتیاج دارد. هر حسابی میتواند قابلیت های دسترسی متفاوتی داشته باشد.
– هر کاربر میتوانند محدوده زمانی خودش را تعریف کند و هر تاریخی در postnuke به آن محدوده زمانی ترجمه میشود.
– هر کاربر میتواند زبانی را که برای واسط postnuke استفاده میشود. (انگلیسی، فرانسوی، آلمانی، اسپانیایی، پرتقالی و ….) انتخاب کند.
– امکان جستجو در سایت
– API پیشرفته (واسط برنامه نویسی کاربردی)
– ترویج همکاری، ارتباط و انجمن ها در محدوده مفاد و مندرجات
– سیستم مجوزهای گروهی پیشرفته کاربر و همچنین لیست کوتاهی از ماژول های قابل دسترس به شرح زیر است.
– انتشار اخبار
– مدیریت محتوی
– منابع قابل استفاده RSS
– محل اخذ آراء
– ماژول های پرچم ها و علائم
– ماژول های توضحیات (اجازه میدهد ماژول های دیگر که شامل فایل های دانلودی لینک های وب، اخبار و نشریات میباشند، توضحیات خود را به محتویات ارسال شده بچسبانند.
– ماژول FAQ
– ماژول اتاق گفتگو
– ماژول لیست اعضا
– ماژول پیغام خصوصی
بخش دوم: نصب postnuke
این بخش چگونگی نصب postnuke را برای اولین بار نشان میدهد و به بعضی از جزئیات درباره برخی از مراحل آن میپردازد تا گوناگونی گسترده ای از تفاوت های کمیکه بین نصب وب سرورها است را پوشش دهد بنابراین این بخش از سند ممکن است طولانی و پیچیده به نظر برسد.
بخش های این سند شامل:
۱- نیازمندیها
۲- دانلود
۳- ساختار فایل
۴- ایجاد یک فهرست داده
۵- ایجاد یک پایگاه داده
۶- تنظیمات مجوز برای فایل config.php
۷- استفاده از سایت postnuke
Postnuke در ابتدا در لینکوس و با استفاده از mysql , Apache و php توسعه داده شده اما متناوبا توسط postgresql روی macos , windowsxp و سیستم عامل های ؟ ۶، آزمایش شد.
موارد مورد نیاز برای نصب postnuke به شرح زیر است:
۱- نرم افزار وب سرور، اغلب مردم از Apache استفاده میکنند اما postnuke باید روی هر وب سروری که از php پشتیبانی میکند مثل ISS روی سکوی windows ، به خوبی کار کند.
۲- زبان اسکریپتی php (نسخه ۴٫۱٫۰ به بعد) با تنظیمات زیر:
– کتابخانه GD فعال با قابلیت پشتیبانی برای فرمت های PNG , JPG
– کتابخانه zlib فعال اگر میخواهید از backup/ restore روی sindows استفاده کنید) sessions support فعال باشد.
– قابلیت file, uploading فعال
– باید safe mode غیر فعال باشد.
۳- یک سرور پایگاه داده در حال کار و فعال: mysql یا potgresql کاملا پشتیبانی میشوند و برای استفاده با postnuke پیشنهاد میشوند.
اگر میخواهید postnuke ر روی کامپیوتر شخصی خود اجرا کنید مراحل زیر را گام به گام اجرا کنید.
Apache (و یا IIS)، mysql و php را نصب کنید نصب این نرم افزار ها شامل مراحل گام به گامیروی اغلب سکوها است.
دقت کنید، ابتدا باید Apache (یا IIS) نصب شوند و سپس نرم افزار های دیگر روی آن نصب شوند/
بعد از دانلود کردن و باز کردن بسته های آرشیوی یا بررسی کردن فایل ها از طریق cvs، فهرست شاخه ای به نام postnuke برای ما باقی خواهد ماند که شامل تعدادی فایل و فولدر است.
ما میتوانیم کل فولدر را در فهرست مستندات وب سرورمان قرار دهیم که این حالت سایت در آدرس http:/ your web server. Com/ postunke قرار خواهد گرفت و یا اینکه تمام محتویات را مستقیما داخل فهرست مستندات وب سرور اصلی قرار دهیم که دراین حالت آدرس سایت به آسانی http:/ your web server. Com خواهد بود.
در اینجا خلاصه مختصری از محتویات فولدر postnuke را آورده ام تا برای جهت دهی شما را کمک کند.
ابتدا نیاز داریم یک پایگاه داده خالی (مثلا به نام postnuke) در داخل پایگاه داده سیستم خود همراه با یک کاربر مخصوصی (مثلا postnuke user) که فقط به این پایگاه دسترسی دارد ایجاد کنیم. اگر بخواهیم میتوانیم از کاربر root استفاده کنیم اما این کار برای یک سیستم تولیدی توصیه نمیشود چرا که اگر هکرهایی بخواهند که رمز را کشف کنند تمام سیستم پایگاه داده به جای فقط یک پایگاه داده در معرض خطر قرار میگیرد.
خطوط فرمان نمونه برای mysql:
# mysql – u root – p
>create Database Postnuke
> grant select, inset, update, delete, create, drop , indexy alter on postmuke.*to postnukeuser localhost indenfified by your password
> quit
Mysqladmin –p reload
خطوط فرمان نمونه برای posthtresql:
# su –post gres
>psql –c “create user postnukeuser createdb” , temp1
>psql –c “create database postnudei” – u postnukeuser temp1
>psql –c “alter user postnukeuser nocreatedb, temp1
االبته در مورد کار با my sql من پیشنهاد میکنم که از نرم افزار php my admiu برای مدیریت پایگاه داده ایجاد جداول خود استفاده کنید چرا که میتوانید تمام این کارها را از طریق یک واسط وب انجام دهید به صورت گرافیکی وخیلی آسان.
شکل۱
در مرحله بعدی، مطمئن شوید یک ب سرورتان طوری نصب شده که فایل index. php را علاوه بر default. htm.index. html و …. به عنوان صفحه پیش فرض استفاده میکند. فقط در Apache این کار را با استفاده از پارامتر Directorydex در فایل httpd. Conf انجام میشود.
مطمئن شوید که index. Php در لیست قرار دارد و برای کارایی بیشتر، ترجیحا در ابتدایی لیست باشد.
همچنین اگر در حال استفاده از Apache2 باشید باید متغیر Accept path Info که اجازه میدهد اسکریپت ها، آرگومانها را مانند http: // server/ file. Php/arg1/ arg2 ارسال کنند. فعال یا روشن کنید.
این کار برای مجوز دادن به لینک های وابسته بین منابع شما، ضروری است و همچنین برای کسانی که از وب سایت postnuke شما استفاده میکنند اجرا و کارایی بالایی را فراهم میکند.
شما میتوانید از طریق اضافه کردن این خطوط به فایل httpd. Conf خودتان این متغیر را فعال کنید:
Accept path In fo on
و بالاخره، postnukeبه تعدادی از تنظیمات php برای فعال کردن آن به منظور کار کردن احتیاج دارد.
باید اطمینان حاصل کنید که فایل های config تان مجوزهای صحیحی دارند. یعنی فایل های config- old. Php , cofig. Php شما باید world writable باشند و حتی باید pntemp و زیر شاخه هایش هم world wrtable باشند. world sritable یعنی که مجموعه مجوز ۷۷۷ و ۶۶۶ متناسب با سیستم شما اگر که بر پایه یونیکس است)
پروسه نصب کاملا گرافیکی است که مجموعه ساده ای از مراحل را برای بالا آمدن و اجرای سایت فراهم میکند. فقط کافی است که دستورات صفحه وب را دنبال کند تا نصب انجام شود، برنامه postnuke، پایگاه داده را نصب خواهد کرد و جداول سایت را هم برای ذخیره داده ایجاد خواهد کرد.
برای نصب سیستم postnuke فایل install. php را از مرورگر اجرا کنید تا فرآیند نصب شروع شود. URL دقیق آن به سایت ما بستگی دارد برای مثال اگر آدرس سایت www. Foo. Com باشد و postnuke در شاخه bor نصب شده باشد URL به شکل زیر خواهد شد.
http: // www foo. Com/ bar/ install. php
شکل۲
نکته ای که در اینجا لازم است به آن توجه شود این است که پوشه postnuke باید به حالت webshare در آید تا بتوان آن را به راحتی در نوار آدرس، آدرس دهی کرد در حالتی که از localhost استفاده میکنیم آدرس به شکل زیر تغییر میکند.
http:/ localhost/postnuk/ html/ install. php
چون پوشه postnuke به حالت webshare در آمده در هر درایوی که باشد آدرس بالا صحیح خواهد بود اما اگر web share نباشد برای اینکه postnuke در شاخه / inetpub/ www root نصب ویندوز، ریخته شود.
در صحفحه اول نصب همانطور که در شکل دیده شد زبان مورد نظر را انتخاب میکنید سپس در صبحه بعد مجوز GMU را به شما نشان میدهد.
شکل ۳
با رد شدن و تایید صفحه قبل، صفحه جدید میآید که مجوزهای فایل های مختلف از جمله config. Php و Gofig- old. Php را بررسی میکند یعنی chmodcheck را انجام میدهد.
در ادامه صفحه ای میآید که اطلاعات لازم برای ایجاد پایگاه داده و ارتباط با آن را از شما میپرسد تا شامل نام کاربر، کلمه عبور، …میباشد این اطلاعات در شکل زیر آورده است.
شکل ۴
بعد از تایپ و تنظیم این اطلاعات برنامه نصب صفحه جدیدی را نشان خواهد داد که همان اطلاعات وارد شده در صفحه قل توسط خود ما میباشد که اگر بخواهیم با دکمه edit میتوانیم آن ها را ویرایش کنیم. در غیر اینصورت دو انتخاب دارم: نصب جدید یا new install که برای وقتی است که نصب را برای اولین بار انجام میدهیم ودکمه upgrade که در ادامه بحث خواهد شد.
شکل ۵
در صفحه بعدی با زدن علامت در کنار create database و سپس دکمه start شروع به ایجاد پایگاه داده و جداول آن خواهد کرد.
شکل ۶
اگر مراحل قبلی به درستی طی شده باشد و اطلاعات وارد شده برای ایجاد پایگاه داده رمز عبور کاربری معتبر باشند در این مرحله صفحه ای را خواهید دید که با پیغام db has been created و نشان دادن اسامیتمامیجداول پایگاه، ایجاد صحیح و درست پایگاه را به ما نشان میدهد.
شکل ۷
در پایان از شما خواسته خواهد شد که یک کاربر مدیر (یا admin) برای دسترسی در آینده ایجاد کنید برای این کار باید جزئیات راهمراه با اسم کاربر و کلمه عبور پر کنید و (create) را کلیک کنید. از آنجایی که برای دسترسی به سایت در آینده، اسم کاربر و کلمه رمز لازم و ضروری است مطمئن شوید که این دو مورد انتخابی را به خاطر دارید.
شکل۸
بعد از دادن اطلاعات کاربر admin داده های لازم فرستاده خواهد شد و مراحل نصب با پیغام finish به پایان خواهد رسید.
شکل ۹
بعد از اتمام نصب صفحه بعدی به شما اسکرییپت های فعال در postnuke و افرادموثر در گرد آوری این نرم افزار را معرفی خواهد کرد postnuke credit را به شما نشان میدهد و در این صفحه لینگی برای ورود به سایت و صفحه آغاز آن را در اختیار شما قرار میدهد.
شکل ۱۰
شکل ۱۱
وقتی با موفقیت وارد سایت شدید توجه کنید به لینک های administration که در پایین سمت چپ صفحه ظاهر میشوند. (این آیتم ها همچنین در صفحه مدیریت جداگانه ای ظاهر میشوند) این آیتم ها فقط برای شما قابل مشاهده هستند چرا که شما به عنوان کاربر مدیر یا admin با همان اسم کاربر و رمز عبوری که خود در هنگام نصب تعریف کرده بودید، وارد شده اید.
البته ذکر این نکته لازم است که در دفعه اولی که لینک administration را در صفحه ابتدایی سایت کلیک میکنید، صفحه ای میآید که به شما میگوید برای ادامه کار ودیدن امکانات صفحه administer باید ابتدا فایل و فولدر install که در پوشه اصلی postnuke هست را حذف کنید و سپس با کلیک بر روی continue صفحه administration وارد خواهید شد و تمام امکانات در اخیتار شما قرار میگیرد.
شکل ۱۲
اکنون تمام کارهای بعدی مدیریت postnuke شما میتوانید از طریق این منوها انجام گیرد. به عنوان مثال ایجاد و حذف درس، ایجاد و ویرایش حساب کاربران، مدیریت حساب معلمان، تعویض تنظیمات سایت مانند قالب ها و …
شکل ۱۳
لازم است یاد داشته باشیم که در حالت نصب های جدید (new install) که پایگاه داده را هم ایجاد میکند کاربر mysql باید برای ایجاد پایگاه جدید اختیارات کامل داشته باشد اگر این طور نیست ابتدا پایگاه داده را ایجاد کنید و بعد به کاربر mysql خواسته شده، اختیارات کامل را بدهید، در نتیجه برای ماژول ها و برنامه نصب این امکان فراهم میشود که به طور آزادانه با پایگاه داده جدید فعل و انفعال داشته باشند و به درستی کار کنند هم اکنون postnuke، نسخه جدید php 4.2.x را به علاوه استاندارد امنیتی غیر قابل Apache 2.0.x , register- globals پشتیبانی میکند.
مراحلی که به همراه شکل ها آورده شد، مراحل نصب postnuke به صورت خود کار و گرافیکی بودند که توسط فایل install. php به صورت مرور گر وب انجام میشوند روش دیگری هم برای نصب وجود دارد و آن روش دستی است که در زیر اشاره مختصری به آن خواهم کرد.
بازدید
جدول- الف، تعداد دفعات جستجو شده بعضی از عبارات
اما از میان تمام عباراتی که ممکن است جستجو گردد، کدام یک مورد نظر صنعت فرش ایران می باشد. به عبارت دیگر، اگر جویندگان چه نوع اطلاعاتی، از طریق موتورهای جستجوگر، سایت های ایرانی فعال در زمینه فرش را بیابند، بهتر است؟ ممکن است کلمه carpet جستجو گردد (یک عبارت تک کلمه ای). در این صورت منظور جستجوکننده دقیقا روشن نیست. زیرا معلوم نیست دنبال اطلاعات کدام زمینه مرتبط با carpet (رنگ، طراحی، خرید، فروش، تولید کننده و … ) می گردد. به این گونه کلمات، ” کلمات رقابتی” می گویند. سرمایه گذاری بر این گونه کلمات، به منظور کسب رتبه های بالا، برای بیشتر سایت ها توصیه نمی گردد. هرچند که کسب رتبه های بالا با این گونه کلمات، سخت تر بوده، نیاز به زمان بیشتری دارد.
نمودار- الف، وضعیت سایت های ایرانی را در مقایسه با رقبا، نشان می دهد. در نمودارهای ارایه شده، تعداد رتبه های زیر ۲۰ در موتورهای جستجوگر Google, MSN, Yahoo مد نظر بوده است.
نمودار – الف، تعداد رتبه های زیر ۲۰ سایت های ایرانی در مقایسه با رقبا
ارایه می کردند و امریکایی می باشند , اما همانطور که carpet بسیاری از سایتها یی که در جستجوی کلمه گفته شد، به دلیل کلی بودن کلمه فرش، نمی توان در این مورد به سایت های ایرانی خرده گرفت. هر چند که می توانند بهتر از این باشند.
• ممکن است یکی از کاربران دقیقا به دنبال فرش ایران باشد. در این صورت به احتمال فراوان عبارت persian carpet را جستجو می کند. البته امکان دارد که عده معدودی نیز عباراتی نظیر iran carpet یا iranian carpet را جستجو
می کنند. در هر صورت انتظار بر این است که با جستجوی یکی از عبارات یاد شده، با لیستی از سایت های ایرانی روبرو شویم. اما با مشاهده نمودار- ب، ضعف سایت های ایرانی، در این مورد مشهودتر می گردد!
در کمال تاسف، بسیاری از سایت هایی که در پاسخ به این جستجو ارایه می گردند، ایرانی نیستند. وبه طور واضح تر این که، فرش ایرانی از دیگران خریداری می شود یا این که کاربران، اطلاعات مورد نیاز خود درباره فرش ایرانی را از دیگران کسب می کنند!
در جستجوی عبارت یاد شده، با سایت های بسیاری از آمریکا و انگلیس روبرو می شویم. وجود سایت هایی از آفریقای جنوبی، پاکستان، سنگاپور، لبنان و ترکیه نیز، قابل توجه است. البته منظور این نیست که کالای ایرانی را باید فروشنده ایرانی بفروشد یا اینکه سایت های ایرانی، تنها مرجع انتشار اطلاعات درباره فرش ایران باشند . بلکه صحبت بر سر نقش موثر ایفا کردن است. صحبت بر سر رهبری بازار و کنترل روند انتشار اطلاعات و اخبار فرش ایران است.
• ممکن است فرش به عنوان یک کالای زینتی مد نظر باشد و یا اینکه خریدارانی به دنبال فرش های کهنه باشند. در این صورت شاید عبارتی مثل old carpet جستجو شود.
فرش ایران می تواند خواسته این علاقه مندان را برآورده سازد. اما آیا آنها فروشندگان ایرانی را به راحتی می یابند؟ بررسی صورت گرفته ، سهل الوصول نبودن سایت های ایرانی، در این حالت را نیز از طریق موتورهای جستجوگر، تایید می نماید.
در تمام حالت های بررسی شده، سایت های ایرانی، عموما رتبه های مناسبی ندارند و حتی بسیاری از آنها به موتورهای جستجوگر معرفی نشده اند. این حضور کم رنگ در موتورهای جستجوگر، می تواند به معنای این باشد که ایرانیان به راحتی، خریداران و علاقه مندان بسیاری را از دست می دهند.
اگر به خاطر داشته باشیم که ” گرسنگان اطلاعات، عموما عجله دارند”، دیگر از کاربران وب انتظار نخواهیم داشت که وقت وحوصله خود را صرف یا فتن سایت های مورد نظر ما در رتبه های پایین تر کنند.
یکی از مهمترین مواردی که امروزه در جامه ما شیوع پیدا کرده آن است که هر یک از نهادها و دستگاههای اجرایی مانند مخابرات،صداوسیما،بازرگانی،صنایع و…خود را به نوعی متولی این صنعت می دانند و بخش عمده ای از تبلیغات خود را به اثبات این نکته اختصاص می دهند. فعالیت در این راستا بسیار دلگرم کننده می باشد اما نکات منفی این قضیه آن است که بخش های دو لتی مذکور سعی بر آن دارند که دیدگاه های شخصی و خاص خود را دنبال کنند و این در حالی است که باید بپذیریم در زمینهIT نمی توان فعالیتهای پراکنده انجامداد؛پس باید در آن جهت حرکت را اصلاح کنیم که یک هماهنگی و اجتماع واء ¬د ایجاد نمائیم تا خدای ناکرده در یک روز نگوئیم صنعت IT فقط نشات گرفته از یک بودجه متولی پرور بوده است. و همچنین دراین راستا باید از بخشهای خصوصی برای فعالیت در این زمینه ها که نتیجه آن حضور بیشتر نیروهای جوان و متخصص و در نتیجه ایجاد اشتغال می باشد،حمایت کنیم و باید بستر مخابراتی درست را که از بستر های اصلی این صنعت می باشد را جدی تر بگیریم و کاستی های آن را هر چه سریعتر مرتفع کنیم تا انشاءالله حرکت در این مقوله دارای زمان گذر طولانی نشود…
۳) چه باید کرد؟
• هرچه سایتی به موتورهای جستجوگر بیشتری معرفی شود، بهتر است.
• اگر نام سایت، مرتبط با موضوع فعالیت آن باشد، بهتر است.
• هرچه سایتی دارای محتوای متنی بیشتری (نسبت به محتوای گرافیکی) باشد، بهتر است.
• سایتی که مطالب بیشتری درباره موضوع فعالیت خود را در صفحات مختلف ارایه می دهد، رتبه های بهتری بدست می آورد.
• سایتی که صفحات آن دیر بارگذاری(load) می شود، رتبه های مناسبی بدست نمی آورد.
• سایتی که صفحات کمی دارد، شانس خود را در کسب رتبه های بالاتر کاهش می دهد.
• سایتی که عنوان های مناسبی برای صفحات آن در نظر گرفته شده است، عموما رتبه های مناسبی کسب می کند.
•هرچه سایتی در سایت های بیشتری به عنوان مرجع(منبع) توصیه شود، بهتر است.
۴) نتیجه گیری
جذب بینندگان به سایت ، محدود به سرمایه گذاری بر کسب رتبه های مناسب در موتورهای جستجوگر نمی گردد، اما بسیاری از سایت های موفق اذعان می کنند که حتی تا ۸۶ درصد بینندگان خود را مدیون موتورهای جستجوگر هستند. کیست که از این درصد بالا چشم پوشی کند؟
بازدید
در صورتی که زمان بارگزاری یک صفحه وب طولانی باشد، معمولا” کاربران از مشاهده آن صفحه صرف نظر میکنند و دیگر به آن باز نمیگردند این به معنی از دست دادن کاربران سایت میباشد که برای مدیران یک سایت اصلا” خوشایند نیست. در ادامه ده روش موثر برای افزایش سرعت بارگزاری صفحات وب بیان میشود.
1. استفاده از CSS برای ایجاد قالب و طرح صفحه به جای Table
CSS یا Cascading Style Sheetsها به دلایل زیر از Tableها سریعتر بارگذاری میشوند:
مرورگرها قبل از نمایش محتویات یک جدول دو بار آن را مرور میکنند. یک بار برای مشخص شدن ساختار آن و یک بار هم برای تعیین محتویات آن.
جداول (Tables) در یک مرحله بر روی صفحه به نمایش در میآیند. هیچ قسمتی از یک جدول بر روی صفحه ظاهر نمیشوند تا اینکه تمام جدول همراه با محتویات آن به طور کامل بارگذاری و پردازش شود.
عمل موقعیت دهی و یا ایجاد یک فضای خاص در جداول معمولا” با استفاده از تصاویر کوچک خاصی (Spacer Images) صورت میپذیرد.
بطور کلی CSS ها کد کمتری نسبت به جداول نیاز دارند.
تمام کدهای مورد نیاز برای ایجاد طرح و نمای صفحه قابلیت جایگزین شدن با یک فایل CSS خارجی را دارند. که این فایل پس از یک بار فراخوانی در کامپیوتر کاربر ذخیره (cache) میشود. اما قالبهای ایجاد شده با استفاده از جداول در هر صفحه HTML تکرار میشوند و با درخواست هر صفحه جدید دوباره باید بارگذاری (Download) شوند.
با استفاده از CSS ها امکان تعیین ترتیب بارگذاری صفحه وجود دارد. یعنی میتوان محتویات اصلی صفحه را قبل از بارگذاری تصاویر با حجم بالا به نمایش درآورد. این کار قطعا” کاربران سایت شما را خوشحال خواهد کرد.
برای آشنایی بیشتر با CSS و کارهای جالبی که می توان با آن در یک سایت انجام داد می توانید از آموزشهای خوب و مفید سایت HTML Dog استفاده کنید.
2. از تصاویر برای نمایش متن استفاده نکنید
در اینجا نیز CSS به ما کمک خواهد کرد. در مواردی که کار را می توان با CSS بطور کامل انجام داد از تصاویر استفاده نکنید. به کد زیر دقت کنید:
a:link, a:visited, a:active {
width: 7em;
font: bold 0.8em Georgia;
text-decoration: none;
display: block;
margin-left: 0;
margin-bottom: 0.5em;
margin-top: 0.5em;
color: white;
background: #39c;
border-left: 1px solid #6cf;
border-bottom: 1px solid #068;
border-right: 1px solid #068;
padding: 0.25em 0.5em 0.4em 0.75em;
border-top: 1px solid #6cf;
}
a:hover {
background: #28b;
padding: 0.35em 0.35em 0.25em 0.9em;
border-top: #069;
border-right: #6cf;
border-bottom: #6cf;
border-left: #069;
}
نتایج استفاده از کدهای بالا را در این صفحه مشاهده کنید. با استفاده از این کد میتوانید یک کلید جذاب ایجاد کنید که با رفتن موس بر روی آن پایین میرود. اگر به نحوه ایجاد این گونه کلیدها علاقمند هستید میتوانید مقالات بخش CSS سایت A List Apart را مطالعه کنید.
3. فراخوانی تصاویر تزیینی بوسیله CSS
با CSS میتوان تصاویر را بصورت قسمتی از یک زمینه (background) نمایش داد. بطور مثال یک تصویر ۲۰۰×۲۰۰ را میتوان بصورت زیر نمایش داد:
کد HTML
.pretty-image {
background: url(filename.gif);
width: 200px;
height: 200px
}
کد CSS
در ابتدا شاید این کار بی معنی به نظر برسد اما این کار سرعت بارگذاری و نمایش صفحات را افزایش میدهد. بطور کلی مرورگرها تصاویر زمینه را بعد از بقیه اجزا بارگذاری میکنند. با استفاده از این تکنیک متن درون صفحه فورا” به نمایش درآمده و کاربر میتواند آن را مشاهده و در بین آن گردش کند و در همین هنگام تصاویر با حجم زیاد بارگذاری میشوند.
در این روش نمیتوان از خصوصیت ALT استفاده نمود اگر واقعا” میخواهید که از این خصوصیت استفاده کنید، کد HTML بالا را بصورت زیر تغییر دهید.

در اینجا spacer.gif یک تصویر ۱×۱ پیکسل شفاف (transparent) است که ۵۰ بایت حجم دارد. در این حالت ابتدا محتوای اصلی بارگذاری میشود و بعد از آن تصویر بزرگ و حجیم همراه با خصوصیت ALT بطور کامل بارگذاری میشود. دقت داشته باشید که این روش برای نمایش تصاویر تزئینی مناسب میباشد نه برای تصاویر حاوی اطلاعات. همچنین کاربرانی که CSS آنها غیر فعال است قادر به مشاهده تصویر (یا متن مربوط به ALT) نمیباشند.
4. استفاده از انتخاب کنندههای (selectors) مناسب
به کد نامناسب زیر توجه کنید:
This is a sentence
This is another sentence
This is yet another sentence
This is one more sentence
.text {
color: #03c;
font-size: 2em
}
به جای اختصاص دادن مقدار به هر پاراگراف، میتوان همه را در یک تگ
This is a sentence
This is another sentence
This is yet another sentence
This is one more sentence
.text p {
color: #03c;
font-size: 2em
}
در ابتدا شاید این موضوع زیاد با اهمیت به نظر نرسد اما اگر شما بتوانید از آن بطور صحیح در تمام صفحه استفاده کنید به راحتی ۲۰% از حجم فایل شما کم خواهد شد. همچنین شاید توجه کرده باشید که مقادیر مربوط به رنگها کوتاهتر از حالت عادی است. ۰۳c# کوتاه شده مقدار ۰۰۳۳cc# است شما میتوانید از این روش خلاصه کردن در هر جایی که مقادیر با این فرم قرار دارند استفاده کنید.