:: روش مدولار در طراحی سایت
همانطوریکه می دانیم بدیهی ترین روش برای تولید وب سایتها ساخت تعدادی فایلhtml و قرار دادن آنها بر روی یک سرور است. این روشی است که در بسیاری از وب سایتهای شخصی که در ابتدای پیدایش وب ساخته شده اند بکار رفته است. در اینجا تولید کننده با دانستن html و یا با استفاده از ابزاری که چنین کدهایی را تولید می کنند، صفحات خود را می سازد. برای یک وب سایت ساده با تعداد محدودی از صفحات ایستا شاید این یک روش قابل قبول باشد.
اما امروزه با نسلی از وب سایتها سر و کار داریم که بسیار پیچیده تر هستند. وب سایتهای امروزی که عمدتا برای شرکتهای تجاری ساخته می شوند دارای تعداد قابل توجهی از صفحات است. قسمتی یا کل هر یک از این صفحات بصورت دینامیک بر اساس داده های گرفته شده از یک بانک اطلاعاتی ساخته می شود. همچنین وب سایت بایستی قابلیت جستجو در سایت و نمایشی از نقشه سایت را فراهم سازد.
مطلبی که به بحث این مقاله مربوط می شود این است که چگونه می توان چنین نوع سایتهایی را با هزینه ای قابل قبول ساخته و امکان نگهداری از آنرا فراهم ساخت. توضیح اینکه منظور از امکان نگهداری، تغییر در قسمتهایی از صفحات سایت بدون نیاز به اعمال تغییرات در تک تک صفحات سایت است.
روشی که امروزه برای پاسخ به این نیاز بکار می رود، روش مدولار است. گرچه نگارنده تعریف استانداردی برای آن پیدا نکرده است، ولی بصورت انتزاعی می توان گفت که همه وب سایتهای پیشرفته براساس این ایده شکل گرفته اند.
حال ببینیم این روش چیست؟ اگر به صفحات یک وب سایت نمونه نگاه کنیم متوجه می شویم که عناصر بسیاری در آنها مشترک است. مثلا هر وب سایت معمولا دارای عنصر پیمایش (ناویگیشن) است که عمدتا دارای محتوا، منطق و طراحی مشترکی در اکثر صفحات سایت است. عناصر دیگری از این قبیل عبارتند از: آگهی ها، فرم جستجو، فرم ثبت نام، فرم ورود به سایت، فرم خروج از سایت. واضح است که بسته به نوع وب سایت عناصر دیگری می توان یافت که در بسیاری از صفحات مشترک هستند. روش مدولار بصورت ساده چیزی غیر از تشخیص این مدولها و طراحی سایت بر اساس آنها نیست.
قدم موثر در این راه، تشخیص قالب صفحات وب سایت است. یک قالب در واقع یک نوعِ صفحه در وب سایت را تعریف می کند. یک قالب می تواند در یک یا تعدادی از صفحات سایت مورد استفاده قرار گیرد. بعنوان مثال در یک سایت نمایش دهنده محصولات یک شرکت تجاری، یک قالب اساسی، قالب صفحات کاتالوگ است. این قالب مشخص می سازد که در هر صفحه ساخته شده بر اساس این قالب یک محصول چگونه بایستی نمایش داده شود. قالب دیگر می تواند قالب نتیجه یک جستجو باشد که تعیین می کند نتایج را چگونه بایستی نمایش داد. گرچه یک سایت ممکن است شامل هزاران صفحه باشد، ولی تعداد قالبهایی که برای آنها در نظر گرفته می شود، ممکن است به ده تا هم نرسد.
با تشخیص قالب صفحات، اجزای منطقی هر قالب را می توان بعنوان مدولها معین کرد
در این قالب مدولهای عام زیر قابل تشخیص هستند:
– header: شامل عناصر انتخاب زبان، ورود به سایت و جستجو
– navigation: پیمایش سایت
– footer: لینکهایی به بخش های عمومی سایت
به غیر از این مدولها که در همه صفحات سایت وجود دارند، مدولهای خاص این بخش عبارتند از :
– اشکال سمت چپ و راست
– تصویر محصول انتخاب شده به همراه تصاویر محصولات مربوط
– شرحی متنی از محصول
با مشخص کردن مدولها اولین قدم در تولید سایت برداشته شده است. قدم بعدی انتخاب یا ایجاد محیط نرمافزاری است که اجازه ایجاد مدولها و ترکیب آنها به روشی سیستماتیک برای تولید صفحات سایت بصورت دینامیک را ایجاد کند، است.
گرچه در این گفتار وارد جزئیات تکنولوژیهایی که به این منظور می توان استفاده کرد نمی شویم ولی بصورت خیلی ساده می توان طرز کار آنها را بفرم زیر تصور کرد. تکنولوژی مورد استفاده به ما این اجازه را می دهد که هر مدول را بصورت مستقل پیاده سازی و ذخیره سازیم. یک مدول ممکن است تنها شامل عناصر ایستا باشد. به عنوان مثال مدولهای header وfooter در مثال بالا عناصری ایستا هستند. از طرف دیگر مدولهایی می توانند پویا باشند. به این معنی که بر اساس پارامترهایی داده هایی را از یک منبع اطلاعاتی استخراج کرده و بعنوان خروجی ارائه دهند. متداولترین این نوع مدولها آنهایی هستند که یک عمل پرس و جو از یک بانک اطلاعاتی انجام می دهند. در هر حال تکنولوژی مورد بحث این اجازه را می دهد تا مدولهای دینامیک را معرفی کرده و در هنگام فراخوانی پارامترهای مورد نیاز را در اختیار آنها قرار می دهد. و بالاخره این امکان وجود دارد تا مشخص کنیم هر صفحه یا هر گروهی از صفحات از چه قالبی استفاده می کنند.
به این ترتیب هرگاه درخواستی برای یک صفحه ارسال شود، تکنولوژی مورد اشاره قالب صفحه را یافته، مدولهای مورد استفاده در آن قالب را تشخیص داده، برای هر مدول استاتیک محتوا و برای هر مدول دینامیک خروجی آنرا تولید کرده و تمامی آنها را با هم ترکیب نموده تا در نهایت محتوای یک صفحه را تولید کند.
این عبارات تشریحی خیلی انتزاعی و ساده شده از چنین محیطی را نشان می دهد. در مقالات دیگری به بعضی از متداول ترین تکنولوژیهای مورد استفاده در این زمینه اشاره خواهد شد.
با در نظر گرفتن توضیحات بالا مزایای چنین روشی روشن است. اگر سایتی با این روش ساخته شود، مدیریت آن بصورت کارآمد قابل انجام است. مثلا فرض کنیم لازم داریم نوع پیمایش سایت را تغییر دهیم. در این حالت با تغییر تنها یک مدول بدون نیاز به تعییر تک تک صفحات سایت اینکار بصورت خیلی اقتصادی قابل انجام است.
مزیت دیگر توسعه یک کتابخانه از مدولهایی است که می تواند در تولید سایتهای دیگر بدون نیاز به هیچ تغییری یا با اندک تغییرات قابل استفاده مجدد باشد. بدیهی است که هر چه این کتابخانه وسیع تر بوده و امکان استفاده مجدد از آن بیشتر باشد، ساخت سایتهای جدید با هزینه و زمان کمتری انجام خواهد شد.