چارچوب برنامه وب (WAF) یک چارچوب نرم افزاری است که برای حمایت از توسعه وب سایت های پویا، برنامه های کاربردی وب، خدمات وب و منابع وب طراحی شده است . فریم ورک ها با هدف کاهش سربار در ارتباط با فعالیت های مشترک در توسعه وب ساخته شده اند .

انواع معماری فریم ورک ها

بیشترین فریم ورک ها بر پایه الگوی (MVC) است که این الگو مبتنی بر Model، view و controller می باشد .

Model–view–controller یا MVC

بسیاری از فریم ورک ها از الگوی معماری MVC پیروی می کنند ، برای اینکه بتوانند مدل داده ها را با قوانین تجاری از رابط کاربری(UI) جدا کنند . این الگو را میتوان به طور کلی تمرین خوبی به عنوان کد ماژولار در نظر گرفت که استفاده مجدد از کد را ترویج داده و اجازه می دهد تا رابط های چندگانه به کار گرفته شوند.

در اپلیکیشن های وب، این اجازه را می دهد که نمایش های مختلفی را ارائه دهد مانند : صفحات وب برای کاربران و رابط خدمات وب برای برنامه های کاربردی از راه دور.

Push-based در مقابل pull-based

اکثر فریم ورک های MVC دنباله روی یک معماری مبتنی بر push می باشند ، (action-based) مبتنی بر عمل نیز نامیده می شود.

این فریم ورک برای انجام اقداماتی که به پردازش و پس از آن "push" داده ها به لایه نمایش برای ارائه نتایج، نیاز دارند، مورد استفاده قرار می گیرد.

Struts، Django ،Ruby on Rails ، Symfony، Yii،Spring MVC، Stripes، Play CodeIgniter و Struts2 نمونه های خوبی از این معماری می باشد.

یک جایگزین برای این نوع معماری مبتنی بر کشش (pull) است، گاهی اوقات نیز "مبتنی بر مولفه (component-based)" نامیده می شود.

این فریم ورک با لایه مشاهده کار خود را شروع می کند ، که پس از آن می تواند نتایج حاصل از کنترل کننده های چندگانه ی مورد نیاز را "ِبکشد".در این معماری، کنترل کننده های مختلف می توانند تنها با یک مشاهده نقش داشته باشند .

Lift, Tapestry, JBoss Seam, JavaServer Faces, (µ)Micro, و Wicket نمونه هایی از معماری مبتنی بر pull-based می باشد.

معماری سه لایه

در معماری سه لایه، برنامه های کاربردی در حول سه ردیف فیزیکی سازمان یافته اند : مشتری، نرم افزار، و پایگاه داده.

پایگاه داده به طور معمول RDBMS است . این برنامه شامل منطق کسب و کار بوده ، درهنگام اجرا در سرور و سرویس گیرنده با استفاده از HTTP ارتباط برقرار می کند.

این اصطلاح نباید با MVC اشتباه گرفته شود که کارکرد آن، بر خلاف معماری سه لایه است ،اینکه به عنوان تمرین خوبی برای حفظ منطق کسب و کار به دور از کنترل در نظر گرفته می شود ، لایه "متوسط" خوانده می شود .

چهارچوب نرم افزاری

فریم ورک ها برای حمایت از ساخت و ساز برنامه های کاربردی اینترنت مبتنی بر یک زبان برنامه نویسی واحد، ساخته شده اند هدف کلی فریم ورک ها از قبیل Zend Framework و Ruby on Rails تمرکز بر افزایش قابلیت های یک زبان خاص می باشد ، و همچنین بتوانند پکیج های زبان برنامه ریزی بومی در سراسر یک نرم افزار کاربری خاص را بسازند

مانند :

سیستم های مدیریت محتوا، برخی ابزارهای توسعه تلفن همراه و برخی از ابزارهای پورتال.

فریم ورک های وب سایت های چند منظوره

به عنوان مثال، فرم ورک Zend.

بحث و تبادل نظر، ویکی و وبلاگ ها

به عنوان مثال، WikiBase / WikiWikiWeb.

پورتال های سازمانی

به عنوان مثال، از JBoss Portal یا eXo Platform.

سیستم های مدیریت محتوا (CMS)

در فریم ورک اپلیکیشن های وب ، سیستم مدیریت محتوا در راه سازماندهی، طبقه بندی و سازماندهی منابع اطلاعاتی مانند فایل های متنی، عکس ها، اسناد، صوتی و تصویری به طوری که می توان آنها را با سهولت و انعطاف پذیری ذخیره، چاپ و ویرایش کرد ؛ مورد استفاده قرار می گیرد .

یک سیستم مدیریت محتوا (CMS) برای جمع آوری، مدیریت و انتشار محتوا، ذخیره سازی آن به صورت اجزا یا اسناد کل استفاده می شود ، در حالی که حفظ پیوند پویا بین اجزای سازنده ضروری است .

برخی از پروژه هایی که به لحاظ زمانی سیستم های مدیریت محتوا نامیده شده ، در نقش لایه بالاتر فریم ورک برنامه های تحت وب شروع به کار کرده اند.

به عنوان مثال، ساختار دروپال هسته بسیار ناچیزی را فراهم می کند که عملکرد آنها از طریق ماژول هایی ارائه می شوند که توابع آن به طور کلی با فریم ورک برنامه تحت وب مرتبط توسعه یافته است .

پلت فرم Solodev و جوملا مجموعه ای از رابط های برنامه کاربردی را برای ساخت برنامه های کاربردی وب و خط فرمان ارائه می دهند .

با این حال، قابل بحث است که آیا "مدیریت محتوا" کار اصلی این سیستم است ؟ به ویژه زمانیکه برخی، مانند SilverStripe، یک فرم ورک MVC شی گرا ارائه می کنند.

اضافه کردن ماژول در حال حاضر این سیستم را قادر می سازد تا عملکرد برنامه های کاربردی و تمام عیار فراتر از محدوده های مدیریت محتوا باشند .

آنها ممکن است رابط های برنامه کاربردی عملکردی، چارچوب های کاربردی، استانداردهای برنامه نویسی، و بسیاری از توابع را به طور سنتی با فریم ورک برنامه وب مرتبط ارائه کنند.

گروه طراحی سایت بستا مفتخر است شما را در طراحی سایت به صورت استاندارد در تمامی مراحل از پیاده سازی تا اجرا همراهی نماید