IranIT.info Articles
عنوان روش مدولار در طراحي وب سايت‌ها، قسمت دوم : فناوري‌ها
نويسندهحسن ابوالحسنى تاريخ ارسال 23/06/1381 نام قسمت فناورى
در ادامه مقاله قبلي در اينجا برخي از تکنولوژيهايي که به ساخت مدولار سايتها کمک مي کنند را بررسي مي کنيم. بطور مشخص Apache Strut و Apache Cocoon را به اجمال بررسي مي کنيم:

Apache-Strut
اين فريم ورکي است که امروزه به طور گسترده اي براي ساخت سايتهاي بزرگ مورد استفاده قرار مي گيرد. استرات بر اساس زبان جاوا بنا شده و در سازمان آپاچي توسعه آن در حال انجام است. براي شناخت بهتر اين فريم ورک بايستي مروري بر گسترش آن داشته باشيم.

قبل از استرات – يا مدل 1 براي ساخت سايتها
بطور خيلي ساده مي توان گفت که در مدل 1، يک سايت از مجموعه اي از JSP (Java Server Page) ها که معمولا باهم ارتباطي ندارند، به همراه مجموعه اي از کلاسها و ديگر اجزاء مربوطه تشکيل مي شود. تکنولوژيهاي قبل از آن نظير ASP (Active Server Pages) و PHP (hypertext preprocessor) از همين مدل تبعيت مي کنند.

مهمترين مزيت مدل 1 سادگي آن است. ولي عيب اساسي آن در هم آميخته شدن منطق بيزينس (Business Logic) و منطق نمايش صفحات (Presentation Logic) است. در حاليکه اين مدل براي ساخت کاربردهاي کوچک مي تواند اعمال شود ولي براي ساخت کاربردهاي پيچيده مشکلات زيادي براي مديريت آنها (ساخت، توسعه و تغيير) در پي دارد.

مدل 2 –MVC وJSP-Strut
MVC الگويي است که بطور موثر منطق کاربرد و نحوه نمايش را از هم جدا ساخته و از پيچيدگي يک کاربرد بطور گسترده اي مي کاهد. در مدل 2 از اين الگو استفاده شده که با شکل 1 مي توان آنرا نشان داد.

کنترلر Controller
استرات از يک کنترلر عمومي براي پاسخگويي به درخواستها استفاده مي کند. هر درخواست به اين کنترلر داده شده تا آنرا تفسير کرده و عمل (action) مناسب را صدا کند. برنامه نويسان چنين عمل هايي را با ساخت زير کلاسهايي از کلاس Action فراهم مي کنند. همچنين کنترلر بطور اتوماتيک براي يک فرم ورودي يک java bean ساخته و عناصر آنرا با مقادير فيلدهاي فرم پر مي کند. هر عمل مي تواند بطور دلخواه يک عمل مورد نياز منطق بيزينس را پياده سازي کند مثلا با صدا کردن يک EJB يا دسترسي به داده هاي مدل از طريق JavaBeans

مدل Model
مدل بر اساس Java Beans پياده سازي مي شود. هر Bean مي تواند به يکي از فرمهاي زير باشد:
  • Form Beans: داده هاي يک فرم را نگه داري مي کند.
  • Request Beans: اطلاعاتي که براي توليد صفحه خروجي لازم است را نگه داري مي کند. مثلا اطلاعات حساب يک شخص در يک کاربرد بانکي.
  • Session Beans: اطلاعاتي که بايستي در طي چندين درخواست حفظ شوند را نگه داري مي کند.


  • شكل 1

    ويو View
    کنترلر درخواست را پس از اجراي عمل مورد نياز به يک JSP که ويو را مي سازد رد مي کند. يک چنين JSP با دسترسي به Form Bean،Request Bean وSession Bean خروجي نتيجه را توليد مي کند (معمولا بصورت يک مستندhtml ). استرات براي کم کردن نياز به نوشتن کد زبان جاوا در JSPها چهار Tag Library استاندارد تدارک ديده است:
    - HTML: براي توليد تگ هاي html خصوصا براي پر کردن فيلدهاي يک فرم با داده هاي مدل کمک مي کند.
    - Bean: بر روي Beanها عمليات انجام مي دهد.
    - Logic: منطق برنامه را بر اساس مقادير beanها فراهم مي کند.
    - Template: قالبهاي صفحات را مي سازد.

    Template Library خصوصا با آنچه قبلا در مورد ساخت مدولار سايت‌ها بحث کرديم ارتباط مستقيم دارد. چرا که به اين وسيله براحتي مي توان از ترکيب مدولها (ايستا يا پويا) صفحات را ساخت. به اين ترتيب مي توان هر تعداد دلخواه از قالبهاي صفحات را ايجاد کرده و براساس هر قالب تعداد زيادي صفحه توليد نمود.

    در اين مبحث وارد جزئيات بيشتري در مورد اين فريم ورک نشده و خوانندگان علاقه مند را به ارجاعات داده شده رجوع مي دهيم.

    Apache-Cocoon
    Cocoon فريم ورکي براي توليد صفحات يک وب سايت بر اساس xml است. اين فريم ورک اين امکان را براحتي فراهم مي سازد تا مستنداتxml را با هم ترکيب کرده و پس از اعمال يکسري تبديلات خروجي نهايي معمولا بفرم html را توليد کرد.

    در اينجا نيز توليد کننده ميتواند براحتي با داشتن قالب صفحات، يک سايت را بصورت مدلار پياده سازي کند. به اين ترتيب که توليد کننده نياز دارد تا از اجزاء از پيش تعريف شده در اين فريم ورک و يا اجزائي که خود مي نويسد استفاده کرده تا خروجي هر مدول (ايستا يا پويا) را توليد کند. در قدم بعدي مي تواند به کمک اچزاء ديگري آن خروجي ها را با هم ترکيب کرده و يک مستند براي صفحه خود توليد کند. چنين مستندي پس از تبديل به فرم نهايي مورد نياز به مشتري ارسال خواهد شد.

    براي جزئيات بيشتر در باره Cocoon به مقاله انتشار داده شده در اين سايت با لينک زير دسترسي پيدا کنيد.
    0006-cocoon2.html


    همچنين ارجاعاتي به ديگر سايتها در پايان اين مقاله آورده شده است.

    در مقاله ديگري از تجربه عملي موسسان اين سايت براي ساخت اين سايت با ايده مدولار صحبت خواهيم کرد.

    ارجاعات

    روش مدولار در طراحي وب سايت‌ها