برای تشریح بهتر برنامههای کاربردی تحت وب مدرن و امروزی ،معمولا رسم بر آن است که آن را به چهار لایه مستقل تفکیک میکنند . ( شکل یک ) لایه مشتری یا clien ، لایههای میانی که عبارتند از presentation و Business و در نهایت آخرین لایه یعنی لایه داد . در مدلهای کوچکتر معمولا لایههای میانی در یک لایه مجتمع شده و در نتیجچه یک مدل ساده شده سه لایهای به دست میآید برای تصور بهتر این لایهها ، شاید بهتر بتاشد که فرض کنید هر لایه بر روی یک کامپیوتر پیاده سازی میشود .
با اینن سناریو ، فقط لایه مشتری یا clien در منزل و محل کار من یا شما قرار گرفته است و بقیه لایهها بر روی کامپیوترهایی واقع هستند که ممکن است صدها یا هزارها کیلومتر از ما فاصلاه داشتهباشد . حتی ممکن است که لایههای دیگر نیزر در کنار هم واقع شدهباشند . ( هر چند که معمولا چنین نیست . ) لایه مشتری در این مدل سازسژی همان مرورگر وب است که بر روی کامپیوتر مشتری ، صفحات وب را نشان میدهد . در اینن لایه علاوه بر آنکه اطلاعات نمایش داده میشوند ، امکان ورود اطلاعات از طرف کاربر نیز وجود دارد و یکی از وظایف مرور گرها ، انتقال این اطلاعات جمع آوری شده و ارسال آن به لایههای فوقانی است . معمولا برای پیاده
سازی لایههای مشتری از دو روش استفاده میشود .
در روش اول ، از هوشمند بودن کامپیوتر کاربر هیچ استفادهای نمیشود . هنگامی که کاربر اطلاعات یک فرم را تکمیل میکند و یا در خواست صفحه خاصی را میکند (submit) . کلیه عملیات پردازشی در لایههای میانی انجام شده و صفحه جدیدی برای او ارسال میگردد . این صفحه جدید فقط ممکن است شامل یک پیام خطا باشد . به این روش اصطلاحا Dump HTML client اطلاق میگردد . در روش دوم از هوشمندی کامپیوتر کاربر به خوبی استفاده میگردد . مثلا هنگامی که فرمی را در یک صفحه وب تکمیل میکنیم و اگر دچار اشتباه شویم ، بلافاصله بدون آنکه ارتباطی بین لایههای فوقانی برقرار گردد ، کامپیوتر به شما هشدار میدهد . مزیت روش دوم (Semi intellgent client ) آشکار است . ( کاربر برای هر عملیات ساده و ابتدایی نیاز به انتظار کشیدن در پای کامپیوتر خود ندارد . ) اما در این روش ، مرز بین لایههای میانی ( Business و Presentation ) مخدوش میگردد برای استفاده از هوشمندی کامپیوتر مشتری ، از اسکریپت نویسی به زبانهای جاوا اسکریپت و یا ( DHTML ) vbscript در صفحات وب استفاده میشود . توجه داشته باشید که به همین علت ، ، توانایی مرورگرها در اجرای دستورات ، اهمیت مییابد و نسخههای 4 به بعد مرورگرهای Netscape/IE ، امروزه حداقل نیازمندی سایتهای جدید قرار گرفتهاند .
لایه Presentation
وظیفه لایه Presentation ، ارائه محتوای متغیر ( دینامیک ) در صفحات وب است . معمولا محتوای دینامیک از یک بانک اطلاعاتی تامین میشود ( مانند اسامی کاربران Hotmail به همراه مشخصات آنان ) . وظیفه مهمتر این لایه شناسایی صفحات ارسال شده از سمت مشتری ( client ) است .
( یعنی شناسایی کاربر و انتقال اطلاعاتی که او به لایه Business وارد کردهاست ) . روشهای پیاده سازی این عملیات بر روی کامپیوتر web server ، متنوع بوده و در گذشته از برنامههای موسوم به CGI استفاده میشدهاست . الب”ه استفاده از جاوا اسکریپت در سمت سرور نیز مدتی مورد استفاده قرار گرفت ، اما روشهای متداول امروزی عبارتند از :
- استفاده از روشهای مایکروسافت بر اساس سفحات فعال سمت سرور یا ASP با استفاده از Visual Interdev .
- استفاده از راه حلهای شرکت سان بر اساس ترکیب صفحات فعال جاوا ( JSP ) و موجودیتهایی به نام servlet ها .
در ابزارهای ارائه شده فوق ، روشهایی برای قرار دادن محتوای دینامیک در درون صفحات HTML و همچنین تکنیکهایی برای دریافت اطلاعات ورودی کابر ، در نظر
گرفته شدهاند .
لایه Presentation معمولا درون برنامههای وب سرور ( نظیر Apache webserver , Microsoft IISS IBM websphere و غیره ) پیاده سازی میشوند . وب سرورها توانایی دریافت و اجراتی چندین در خواست از سوی برنامههای کاربردی لایههای دیگر و همچنان کار بران را به طور همزمان دارند . وب سرورها بر اساس آرایش اولیه (configuration) میدانند که در خواستهای (requests) کاربر مشتری را باید به کدام برنامه کاربردی (application) هدایت نمایند .
لیه Business
حجم زیاد از عملیات یک سایت مدرن در این لایه ، پیاده سازی میِود . این عملیات عبارتند از :
- اجرای تمام محاسبات و تایید (validation) دادهها
- مدیریت جریان کار (worflow) . فرض کنید که شما به عنوان یک کاربر Hotmail با وارد کردن نام کاربری و اسم رمز وارد سایت شدهاید ، تا زمانی ککه از سایت خارج نشدهاید . سایت شما رامیشناسد و امکان استفاده از امکانات آن برای شما فراهم است . حضور شما تا لحظه خروج یک session یا جلسه نام دارد و مدیریت
این جلسات نیز در لایه Business انجام میگردد .