پنجشنبه, ۶ اردیبهشت, ۱۴۰۳ / 25 April, 2024
مجله ویستا

معرفی فرم های وب در ASP.NET


معرفی فرم های وب در ASP.NET
● معرفی فرم های وب (Web Forms)
فرم های وب یکی از امکانات جدید ارائه شده توسط ASP.NET ، جهت طراحی و پیاده سازی بخش رابط کاربر نرم افزارهای تحت وب می باشند . مهمترین ویژگی فرم های فوق ، قابلیت برنامه نویسی بر روی آنها است . یک فرم وب اطلاعات مربوطه را برای کاربران صرفنظر از نوع مرورگر و دستگاه استفاده شده، فراهم می کند.فرمت خروجی ایجادشده توسط فرم های وب ، شامل اغلب زبانهای متکی بر پروتکل Http نظیر: html ,xml, wml و ECMAScript(Jscript,JavaScript) است . برخی از ویژگی های مهم این نوع فرم ها خواهیم پرداخت.
▪ صفحاتی هستند که بر اساس تکنولوژی ASP.NET ماکروسافت ایجاد و کدها بر روی سرویس دهنده اجراء و در ادامه بصورت پویا و اتوماتیک صفحات وبی تولید می گردد که قابل استفاده برای مرورگرها و یا دستگاههای سرویس گیرنده است .
▪ کاملا" سازگار با مرورگرها و موبایل می باشند.یک فرم وب بصورت پویا و خودکار قابلیت ها و توانائی های مرورگرها را از ابعاد متفاوت نظیر Style, Layout و ... تشخیص داده و اطلاعات ارسالی را که متناسب با واقعیت های موجود است، ارسال خواهند کرد. وضعیت فوق با توجه به خواسته های طراحان می تواند بسمت یک مرورگر خاص همگرا گردد یعنی می توان یک فرم وب را بگونه ای طراحی نمود که از قابلیت های خاص یک نسخه خاص مرورگر استفاده نماید.
▪ سازگار با هریک از زبانهای حمایت شده در دات نت نظیر VisualBasic.NET, C و ...
▪ فرمهای وب بر اساس چارچوب دات نت ایجاد می گردند ،بنابراین از تمامی مزایای چارچوب فوق نظیر : محیط مدیریت یافته ، امنیت نوع داده ها، توارث و ... بهره مند خواهند بود.
▪ کاملا" انعطلاف پذیر می باشند. طراحان می توانند کنترل های لازم را خود طراحی و به آن اضافه نمایند.(User Control) .
● اجزای فرم های وب
▪ در فرم های وب ، برنامه نویسی رابط کاربر به دو بخش مجزاء تقسیم شده است :
۱) عناصر ویژوال و منطق.
۲) عناصر ویژوال، صفحه فرم وب (Web Form Page) ،
نامیده می شوند.صفحه فوق شامل فایلی است که در آن تگ های Html ( ایستا) ، کنترل های سرویس دهنده ASP.NET و یا هر دو قرار خواهند گرفت . صفحه فرم های وب بعنوان محلی برای نگهداری متن های ایستا و کنترل هائی که قصد نمایش آنها را داشته باشیم، مطرح می گردنند.
منطق مورد نظر برای صفحه فرم های وب شامل کدهائی است که از آنها برای ایجاد ارتباط متقابل با فرم استفاده می گردد. منطق برنامه نویسی در یک فایل مجزاء نسبت به فایل رابط کاربر قرار خواهد گرفت . این فایل اصطلاحا" "Code behind" ، نامیده می شود. کدها را می توان با استفاده از VisualBasic.Net و یا C نوشت . انشعاب این نوع فایل ها aspx.vb ( در صورت استفاده از VisuaBasic.NET) و یا aspx.cs ( در صورت استفاده از زبان c) در نظر گرفته می شود. شکل زیر ساختار فایل های تشکیل دهنده یک فرم وب را نشان می دهد.
کدهای موجود در فایل های مربوط به فرم های وب پس از ترجمه بصورت فایل های .dll تبدیل خواهند شد. فایل صفحه aspx ( بخش ویژوال فرم ) نیز با یک روش کاملا" متفاوت ترجمه خواهد شد.! اولین دفعه که کاربری درخواست یک صفحه aspx را داشته باشد ،ASP.NET بصورت خودکار یک فایل از نوع .Net Class را ایجاد که مسئولیت نمایش صفحه فرم وب را برعهده خواهد گرفت . فایل فوق در ادامه به.dll تبدیل خواهد شد . کلاس ایجاد شده برای صفحه aspx خصایص خود را از کلاس مربوط به کلاس ایجاد شده کدها به ارث خواهد برد. زمانیکه کاربری درخواست صفحه ای را داشته باشد ،فایل های .dll بر روی سرویس دهنده بصورت اتوماتیک اجرا ء و خروجی Html را تولید خواهند کرد.
● امکانات ارائه شده توسط فرم های وب
برنامه نویسی مبتنی بر وب ، چالش های جدیدی را در زمینه برنامه نویسی مطرح نموده است که قبلا" در محیط های سنتتی برنامه نویسی سرویس دهنده /سرویس گیرنده با آن مواجه نبوده ایم . در ادامه به برخی از چالش های فوق اشاره شده تا از این رهگذر آماده شناخت عمیق تر فرم های وب در زمینه نحوه برخورد با چالش های فوق شویم.
● چالش های برنامه های مبتنی بر وب
▪ پیاده سازی یک رابط کاربر وب قدرتمند .
طراحی و پیاده سازی یک کاربر با چارچوپ پیچیده ،حجم بالای محتویات پویا ،قابلیت های ویژه جهت ارتباط متقابل با کاربر و ... با استفاده از تگ های Html بسیار مشکل و گاها" غیرممکن است . رابط کاربر می بایست بسیار انعطاف پذیر بوده تا بتواند با هر نوع مرورگر و هر نوع دستگاه براحتی و بدون بروز مشکل فعالیت نماید.
▪ تفکیک سرویس دهنده و سرویس گیرنده .
در یک برنامه تحت وب ،سرویس گیرنده( مرورگرها) و سرویس دهنده برنامه های متفاوتی بوده که حتی بر روی کامپیوترهای متفاوت اجراء می گردنند.( حتی دارای سیستم های عامل متفاوت می باشند. ) . برنامه های فوق ، اطلاعات بسیار کمی را با یکدیگر به اشتراک گذاشته و صرفا" قادر به ارتباط با یکدیگر جهت تبادل اطلاعات ضروری با حجم بسیار ناچیز خواهند بود.
▪ Stateless Execution .
زمانیکه سرویس دهنده وب درخواستی برای یک صفحه وب را دریافت می نماید ،در ابتدا صفحه درخواستی را پیدا کرده ،آن را پردازش و در نهایت آن را برای مرورگر ( متقاضی ) ارسال خواهد کرد. پس از ارسال، تمامی اطلاعات مرتبط با صفحه درخواست شده حذف خواهند شد.در صورتیکه کاربر مجددا" درخواست همان صفحه را از سرویس دهنده داشته باشد ،سرویس دهنده می بایست تمامی عملیات فوق را مجددا" تکرار نماید. بدین ترتیب می توان گفت که در حافظه سرویس دهنده ، هیچگونه اثری از عملیات بر روی صفحات پردازش شده قبلی ثبت و ضبط نخواهد شد.
▪ قابلیت های ناشناخته سرویس گیرنده .
برنامه های تحت وب برای تعداد کاربران متعدد که از مرورگرهای متفاوتی استفاده می نمایند ، طراحی و پیاده سازی می گردنند. مرورگرها دارای قابلیت های متفاوت بوده و همین امر ایجاد یک نرم افزار را که تحت هر مرورگری اجراء و عملکرد یکسانی را از بعد منطق و شکل ظاهری داشته باشد، مشکل می نماید.
▪ پیچیدگی در دستیابی به داده ها .
خواندن و نوشتن داده ها در یک بانک اطلاعاتی با اتکاء بر روش های سنتی استفاده شده در برنامه نویسی تحت وب تاکنون ، کار مشکلی بنظر آمده و مستلزم بکارگیری مجموعه ای وسیع از منابع خواهد بود.
▪ پیچیدگی در Scalability .
در اغلب موارد برنامه های طراحی شده تحت وب با استفاده از متدهای موجود در رابطه با اهداف scalability ، بدلیل عدم سازگاری بین اجزاء متفاوت یک نرم افزار موفق نبوده اند.
فرم های وب و تکنولوژی ASP.NET با علم به چالش های گفته شده ،راهکارهای زیر را ارائه نموده اند:
▪ استفاده از یک محیط همگن و اشیاء مستحکم .
با توجه به مدل اشیاء ارائه شده توسط ASP.NET ، می توان این تصور را داشت که فرم ها بعنوان یونیت ( واحد) در نظر گرفته می شوند نه بعنوان بخش های مجزای سرویس دهنده / سرویس گیرنده . در مدل فوق می توان فرم ها را برنامه نویسی و صفات مربوط به عناصر موجود بر روی فرم را تغییر و در صورت لزوم پاسخ لازم را به یک رویداد خاص داد.
▪ مدل برنامه نویسی Event-Driven .
فرم های وب باعث استفاده از تکنولوژی آشنای نوشتن Event-handler برای برنامه های تحت وب شده اند. در این مدل پس از تشخیص بروز یک رویداد بر روی سرویس گیرنده ،متد مربوطه بصورت خودکار فراخوانی خواهد شد. فرم های وب امکان نوشتن کدهای ساختیافته برای برخورد با رویدادهای مورد نظر را فراهم می کنند.
▪ مدیریت وضعیت برنامه .
فریمورک صفحات ASP.NET بصورت خودکار عملیات مربوط به پشتیبانی از وضعیت فرم مورد نظر را برعهده گرفته و آن را کنترل خواهد کرد.بدین ترتیب با استفاده از روش های موجود، مدیریت و پشتیبانی از وضعیت یک فرم بسادگی بوجود خواهد آمد.عملیات فوق بدون استفاده زیاد از منابع سرویس دهنده انجام و می توان آن را بکمک ارسال Cookie و یا بدون ارسال Cookie پیاده سازی نمود.
▪ برنامه های مستقل از مرورگر.
فریمورک صفحات ASP.NET برای ایجاد تمامی منطق برنامه بر روی سرویس دهنده ، امکانات لازم را ارائه خواهد نمود. بدین ترتیب از نوشتن کدهای اضافه در یک برنامه ممانعت بعمل آمده و برنامه نوشته شده مستقل از نوع مرورگر خدمات محوله را در اختیار کاربران قرار خواهد داد.
▪ حمایت از CLR .
فریمورک صفحات ASP.NET یک تکنولوژی از نوع ASP.NET است. ASP.NET بر اساس چارچوب های دات نت ایجاد شده است ، بنابراین تمامی فریمورک برای هر برنامه ASP.NET قابل دستیابی و استفاده خواهد بود. برنامه ها را می توان با استفاده از هر یک از زبانهای برنامه نویسی حمایت شده در دات نت نوشت. دستیابی به داده ها در بانک اطلاعاتی با توجه به ایجاد بستر لازم توسط دات نت، از طریق بکارگیری ADO.NET انجام خواهد شد.
▪ فریمورک صفحه ASP
NET این امکان را فراهم می نماید که یک برنامه را بر روی سیستمی با یک پردازنده و یا چندین پردازنده اجراء نمود در این حالت نیازمند اعمال تغییرات زیادی در منطق برنامه ها نخواهد بود.
منبع : شرکت سخاروش


همچنین مشاهده کنید