X
تبلیغات
کالج کارآفرینی تیوان


آشنائی با ASP.NET 2.0 ( بخش اول )


وب یکی از مهمترین و در عین حال جوان ترین سرویس های اینترنت است که در مدت زمانی کوتاه توانسته است در کانون توجه تمامی استفاده کنندگان اینترنت قرار بگیرد و منشاء تحولات عمده ای در حیات بشریت باشد. در گذشته از وب صرفا" به منظور عرضه اطلاعات استفاده می گردید و کاربران از آن به عنوان یک کنابخانه الکترونیکی بزرگ و در جهت یافتن اطلاعات مورد نیاز خود استفاده می کردند. وضعیت فعلی وب نسبت به گذشته دستخوش تحولات فراوانی شده است و هم اینک از آن به عنوان بستر ارتباطات ، مبادله اطلاعات ، عملیات  تراکنشی نظیر فعالیت های تجاری ، اجتماعی ، سیاسی ، آموزشی و فرهنگی استفاده می گردد .
نرم افزار و دنیای برنامه نویسی یکی ازعرصه هائی
 است  که بدون شک بیشترین تاثیر را از اینترنت پذیرا بوده است ( پرداختن به مقوله تاثیر اینترنت بر  دنیای برنامه نویسی و یا تاثیر نرم افزار بر اینترنت خارج از حوصله این مقاله است ). شرکت های عظیم نرم افزاری با لحاط نمودن جایگاه برجسته اینترنت ، اقدام به ارائه تکنولوژی ها و معماری های متفاوتی در جهت طراحی و پیاده سازی برنامه های کامپیوتری با بهره گیری از زیرساخت اینترنت نموده اند .

ASP.NET : گزینه ای برای طراحی و پیاده سازی برنامه ها و سرویس های وب
به منظور پاسخ به خیل عظیم نیازهای موجود با توجه به تسهیلات ارائه شده توسط اینترنت ، نسل جدیدی از برنامه های کامپیوتری با نام "برنامه های وب " مطرح و در این رابطه تاکنون تکنولوژی های متفاوتی توسط شرکت های عظیم نرم افزاری ارائه شده است . ASP.NET یکی از تکنولوژی های موجود در این زمینه است . در واقع ، ASP.NET فریمورک برنامه نویسی شرکت مایکروسافت برای طراحی و پیاده سازی برنامه ها و سرویس های وب است که خود بخشی از پلت فرم دات نت محسوب می گردد . ASP.NET با دارا بودن مجموعه ای گسترده از اشیاء که دارای اینترفیس های ساده برنامه نویسی می باشند و بهره گیری از یک محیط ترجمه شده شی گراء ، امکان پردازش های ساده تا پیچیده را با حداقل کد ممکن فراهم می نماید.

چرا ASP.NET ؟
زمانی که شرکت مایکروسافت نسخه اولیه فریمورک دات نت را در جولای سال 2000 برای اولین مرتبه به نمایش گذاشت  ، برای اکثر طراحان و پیاده کنندگان برنامه های وب مشخص گردید  که می بایست در انتظار تحولات چشمگیری در این عرصه بود .ASP نسخه شماره  سه ( تکنولوژی قبلی شرکت مایکروسافت برای پیاده سازی برنامه های وب ) ، امکانات گسترده و انعطاف لازم به منظور ایجاد سایت های پویا را در اختیار علاقه مندان قرار می داد. تاکنون صدها کتاب و هزاران مقاله با موضوع ASP نوشته شده است . ماحصل تمامی تلاش های انجام شده در این رابطه، تسهیل در امر طراحی و پیاده سازی وب سایت های پویا و برنامه های وب بود . چیزی که ASP نداشت ، یک فریمورک برنامه نویسی بود. هر چیزی که در ASP انجام می شد با رویکرد کدنویسی بود و برنامه نویسان  برای انجام هر کاری ملزم به نوشتن کدهای مورد نیاز بودند.
ASP.NET با هدف غلبه بر محدودیت فوق طراحی شده است . ASP.NET یک فریمورک برنامه نویسی است که برروی CLR ایجاد و می توان از آن به منظور ایجاد برنامه های قدرتمند وب استفاده نمود .یکی از اهداف اساسی طراحی ASP.NET ، برنامه نویسی ساده تر و با سرعت بیشتر از طریق کاهش حجم کدهای مورد نیازی است که برنامه نویسان ملزم به نوشتن آنان می باشند.برنامه نویسی declarative ، مجموعه ای گسترده از کنترل های سرویس دهنده به همراه رویدادهای مربوطه ، یک کتابخانه کلاس بزرگ و ابزارهای پیاده سازی کاملا" حرفه ای نظیر ویژوال استودیو دات نت ، از جمله ویژگی های شاخص ASP.NET محسوب می گردد( یک جهش کاملا" ملموس نسبت به وضعیت گذشته ). کنترل های سرویس دهنده ، معماری postback ، حمایت از viewstate به اضافه استفاده از کد ترجمه شده و مدل برنامه نویسی مبتنی بر رویداد ، جملگی از مهمترین دستاوردهای ASP.NET محسوب می گردد که نوید ایجاد و اشکال زدائی سریع برنامه های وب را در اختیار پیاده کنندگان قرار می دهد .
محیط برنامه نویسی
ASP.NET بیش از بیست و پنج زبان نظیر  VB.NET ، سی شارپ و Jscript.NET  را حمایت می نماید. به عنوان یک محیط شی گراء ، فریمورک دات نت بیش از 4500 کلاس را ارائه می نماید که  از آنان به منظور انجام عملیات متفاوتی در ارتباط با اسناد  XML ، دستیابی به داده ، تولید تصاویر ، مونیتورینگ ، ثبت تراکنش ها و سایر عملیات دیگر استفاده می گردد . کلاس ها مجموعه ای گسترده از اشیاء ، خصلت ها و  متدها را ارائه می نمایند که می توان از آنان به منظور پیاده سازی برنامه های وب قدرتمند استفاده بعمل آورد.
علیرغم این که کدها ترجمه می گردند ،
ASP.NET به صورت اتوماتیک هر گونه تغییر در کدها را تشخیص و به صورت پویا اقدام به ترجمه فایل های مورد نیاز نموده و آنان را برای استفاده مجدد به منظور پاسخگوئی به درخواست هائی آتی ، ذخیره می نماید . ترجمه پویا ، این اطمینان را ایجاد می نماید که برنامه بهنگام بوده و کد ترجمه شده با سرعت مناسبی اجراء می گردد. در زمان درخواست یک صفحه و ترحمه آن  برای اولین مرتبه ، یک تاخیر کوتاه را شاهد خواهیم بود . پاسخ به درخواست های آتی  از طریق نتایج ترجمه شده و یا نسخه های Cache شده صفحات انجام خواهد شد و نتایج با سرعت بمراتب بیشتری برای سرویس گیرندگان ارسال می گردد .
با توجه به ویژگی های منحصربفرد
ASP.NET ، تاکنون از آن به منظور پیاده سازی برنامه های وب در سایت های معتبر متعددی استفاده شده است :

 چرا ASP.NET 2.0 ؟
هم اینک نسخه شماره دو ASP.NET در راه است . شاید این سوال برای شما مطرح شده باشد که  ASP.NET 1.x دارای چه محدودیت هائی است که ضرورت ایجاد نسخه شماره دو آن احساس شده است ؟ در پاسخ می بایست به این نکته اشاره نمود که طراحی و پیاده سازی هر نرم افزار مستلزم استفاده از منابع متفاوت، انعطاف لازم  و صرف زمان مناسب است . بهینه سازی هر یک از شاخص های فوق ، مهمترین دلیل ارتقاء به رویکردهای مدرن برنامه نویسی است . در ASP.NET 2.0 انجام هر کاری با سهولت بمراتب بیشتری نسبت به گذشته انجام می شود.
صفحات
master ، ویژگی  themes و skins ، ارائه امکانات مناسب در جهت حمایت از دستگاه های سرویس گیرنده متفاوت ، ارائه چهل و پنج کنترل سرویس دهنده جدید شامل کنترل های سرویس دهنده پیشرفته منبع داده ، کنترل های navigation ، کنترل های login ، کنترل های web part ، کنترل های لازم به منظور ایجاد منو و treeview ، رویکرد جدید به data grid ، ارائه امکانات و ابزارهای لازم در جهت مدیریت بهینه برنامه ها  ، حمایت از پردازنده های  64 بیتی ، کاهش حجم کد نوشته شده به میزان هقتاد درصد ، نمونه هائی از امکانات و پتانسیل های جدید  ASP.NET 2.0 می باشد.
با استفاده از
ASP.NET 2.0 پیاده کنندگان برنامه های وب می توانند کارهای پیچیده متعددی را بدون نیاز به نوشتن کد انجام دهند .
 در بخش دوم به بررسی برخی از مهمترین ویژگی های ASP.NET 2.0  خواهیم پرداخت

آشنائی با  ASP.NET 2.0  ( بخش دوم )

در بخش اول
این مقاله با جایگاه وب  در تولد  نسل جدیدی از برنامه های کامپیوتری موسوم به "برنامه های وب " آشنا شدیم . پس از معرفی ASP.NET به عنوان گزینه ای  برای پیاده سازی برنامه ها و سرویس های وب به برخی از ویژگی های مهم آن اشاره و در ادامه با ضرورت ارائه نسخه جدید ASP.NET  آشنا شدیم . در این بخش به بررسی برخی از ویژگی های مهم  ASP.NET 2.0  خواهیم پرداخت .

ارائه امکانات لازم در جهت افزایش بهره وری و کارائی پیاده کنندگان
با توجه به مدل برنامه نویسی declarative، پیاده کنندگان برنامه های وب برای نوشتن برنامه های مورد نیاز خود ملزم به نوشتن صدها و یا هزاران خط  کد  نخواهند بود .  حجم کد تولید شده در ASP.NET 2.0 نسبت به نسخه قبلی کاهشی معادل 70 درصد را بدنبال خواهد داشت . برای انجام عملیات متداول در یک برنامه کامپیوتری ، می توان از سرویس های آماده شده متعددی استفاده نمود .در جهت تحقق رویکرد استراتژیک فوق ، کنترل های سرویس دهنده متعددی در ASP.NET 1.x  ایجاد و با توجه به ضرورت های موجود و دریافت نقطه نظرات پیاده کنندگان به تعداد آنان در ASP.NET 2.0 افزوده شده است .

کنترل های سرویس دهنده جدید
ASP.NET 2.0 با معرفی چهل و پنج کنترل سرویس دهنده جدید ، امکانات مناسبی را به منظور انجام عملیات متفاوتی نظیر : دستیابی به داده ، login ایمن ، Wizard navigation ، تولید تصاویر ، منو ، treeview و ایجاد  پورتال در اختیار پیاده کنندگان قرار می دهد . تعداد زیادی از کنترل های فوق از مزایای سرویس های کاربردی هسته در ASP.NET در مواردی نظیر دستیابی به داده ، عضویت و یا role  استفاده می نمایند . برخی از کنترل های جدید اضافه شده در ASP.NET 2.0 عبارتند از :

  • کنترل های داده : دستیابی به داده در ASP.NET 2.0  می تواند به صورت کاملا" تعریفی و بدون نیاز به کدی خاص  با استفاده از کنترل های جدید منبع داده و یا نسبت دهی داده انجام شود. در این رابطه کنترل های منبع داده جدیدی ارائه شده است که  امکانات متفاوتی را نظیر دستیابی به  بانک های اطلاعاتی SQL ، اشیاء business و XML در اختیار پیاده کنندگان قرار می دهد. همچنین در این رابطه کنترل های نسبت دهی داده جدیدی برای واکنش مناسب درخصوص تامین داده مورد نیاز لایه رابط کاربر نظیر grids ,details و فرم های نسبت دهی داده ارائه شده است .
  • کنترل های Navigation : کنترل های فوق ، امکانات متداول و مورد نیاز در سطح لایه رابط کاربر به منظور حرکت  بین صفحات یک سایت را در اختیار پیاده کنندگان قرار می دهند . کنترل های  treeview ، منو و breadcrumbs ، نمونه هائی در این زمینه می باشد . کنترل های فوق از سرویس site navigation در ASP.NET 2.0 به منظور بازیابی ساختار سفارشی تعریف شده برای سایت ، استفاده می نمایند. 
  • کنترل های Login : کنترل های فوق ، مسئولیت ارائه امکانات لازم به منظور تائید و بررسی مجوزها در سطح لایه رابط کاربر برای یک برنامه وب را  برعهده دارند . فرم های login ، ایجاد فرم های کاربر و  بازیابی رمز عبور نمونه هائی در این زمینه می باشد. کنترل های فوق از سرویس های آماده  membership و role در ASP.NET 2.0 به منظور ارتباط با کاربر و اطلاعات role  تعریف شده در سایت ، استفاده می نمایند .
  • کنترل های Web part : کنترل های فوق، امکان افزودن محتویات اختصاصی و کاملا" سفارشی و Layout را در اختیار پیاده کنندگان قرار می دهند .ویرایش محتوای مورد نظر و layout بطور مستقیم و از طریق صفحات برنامه،  از جمله امکانات ارائه شده توسط کنترل های web part می باشد. کنترل های فوق در ارتباط با سرویس های personalization در ASP.NET 2.0 می باشند .

Master page
با استفاده از ویژگی فوق می توان ساختار و عناصر اینترفیس  مورد نیاز یک سایت را تعریف نمود. تعریف هدر و یا فوتر برای صفحات  و یا میله مسیریابی و حرکت ، نمونه هائی در این زمینه است که با تعریف آنان در یک مکان واحد موسوم به  Master page ، امکان استفاده و به اشتراک گذاشتن آنان بین صفحات متفاوت موجود بر روی یک سایت فراهم می گردد . با استفاده از ویژگی فوق وضعیت مدیریت و نگهداری  یک سایت بهبود یافته و از تکرار کدهای غیرضروری  به منظور اشتراک ساختار و یا رفتار سایت ، پیشگیری بعمل می آید .

Themes و Skins
با استفاده از ویژگی فوق می توان شکل ظاهری یک سایت را متناسب با خواسته کاربر کاملا" سفارشی نمود . پس از تعریف اطلاعات مربوطه به هر Style ، می بایست آنان را در مکان هائی موسوم به "theme" ذخیره تا زمینه استفاده از آنان در سایر صفحات و یا کنترل های موجود بر روی یک صفحه فراهم گردد . ویژگی فوق همانند master page ، باعث بهبود وضعیت مدیریت و نگهداری سایت و پیشگیری از نوشتن کدهای تکراری برای دستیابی به styles مشترک  می گردد .

حمایت از دستگاه های سرویس گیرنده متفاوت نظیر موبایل
با توجه به گسترش و فراگیر شدن دستگاه های موبایل و سایر دستگاه های سرویس گیرنده ، ضرورت ایجاد برنامه های وب با قابلیت استفاده توسط دستگاه های سرویس گیرنده متفاوت بیش از گذشته احساس می شود . در این رابطه می توان از برخی کنترل های سرویس دهنده استفاده نمود که قادر به تفسیر و ارسال اطلاعات برای نمایشگرهای کوچک  باشند . در این رابطه دو مسئله اصلی می تواند وجود داشته باشد : اول اینکه ، داشتن یک مجموعه مجزاء از کنترل های سرویس دهنده مختص دستگاه های موبایل نه تنها سردرگمی پیاده کنندگان را بدنبال خواهد داشت بلکه هزینه پیاده سازی یک پروژه را نیز بطرز قابل محسوسی افزایش می دهد . دوم اینکه ، به منظور حمایت از دستگاه های جدید می بایست عملیات پیاده سازی و نگهداری اضافه ای انجام شود که این موضوع نیز می تواند اثرات جانبی خاص خود را بدنبال داشته باشد .
در
ASP.NET 2.0 ، با استفاده از یک مجموعه کنترل و تبعیت از یک معماری بسط پذیر ، امکان حمایت از دستگاه های متفاوت در اختیار پیاده کنندگان قرار می گیرد .  تمامی کنترل های استاندارد ارائه شده در  ASP.NET 2.0 دارای یک آداپتور رابط کاربر قدرتمند قابل توسعه می باشند که با استفاده از آن می توان خروجی مورد نظر را برای مرورگرها و سایر دستگاه های سرویس گیرنده کاملا" سفارشی نمود . تمامی کنترل های از قبل تعبیه شده ASP.NET  در ASP.NET 2.0 از موبایل حمایـت می نمایند .بدین ترتیب پیاده کنندگان می توانند به صورت اتوماتیک خروجی برنامه های وب را برای بیش از سیصد دستگاه منحصربفرد که از استانداردهای نشانه گذاری متفاوتی حمایت می نمایند ( نظیر WAP/WML , XHTML Mobile , cHTML و ... ) ، ارسال نمایند . کنترل های استاندارد ASP.NET به صورت اتوماتیک اقدام به ارسال کدهای نشانه گذاری مناسب برای یک دستگاه سرویس گیرنده خاص نموده و پیاده کنندگان می توانند بسادگی برنامه هائی را پیاده سازی نمایند که از سرویس گیرندگان جدید حمایت می نماید .

ارائه امکانات و ابزارهای لازم در جهت مدیریت برنامه ها
مدیریت برنامه های وب نوشته شده با استفاده از ASP.NET 1.x مستلزم ویرایش دستی فایل های  پیکربندی XML است. رویکرد فوق روشی مناسب و بهینه به منظور مدیریت برنامه ها  از منظر مدیران برنامه ها محسوب نمی گردد . در ASP.NET 2.0 به منظور تسهیل در امر مدیریت و نگهداری برنامه های وب و وب سایت های پویا از ابزارهای مدیریتی مبتنی بر وب با رابط کاربر گرافیکی استفاده می گردد که با سرویس دهنده وب IIS تلفیق و خدمات مورد نظر را در اختیار مدیران و پیاده کنندگان قرار خواهند داد. بکارگیری و نگهداری برنامه های وب در محیط عملیاتی یکی ازعناصر کلیدی در چرخه حیات یک برنامه کامپیوتری است و می بایست نسبت به آن حساسیت خاصی را داشت. تمامی امکانات یک فریمورک برنامه نویسی نمی بایست محدود به ارائه تسهیلات لازم به منظور پیاده سازی باشد و در این رابطه می بایست امکانات لازم در حهت بکارگیری و نگهداری برنامه ها نیز بدرستی ارائه گردد . بدین منظور در ASP.NET 2.0 امکانات متعددی به منظور تسهیل در امر بکارگیری ، نگهداری و مدیریت برنامه های وب ارائه شده است :

  • پیکربندی API : در ASP.NET 2.0 با توجه به ارائه  امکانات و اینترفیس های لازم برنامه نویسی ، پیاده کنندگان می توانند با استفاده از کدهای مورد نظر خود اقدام به ایجاد برنامه ها و یا اسکریپت هائی نمایند که قادر به ایجاد ، خواندن و بهنگام سازی فایل های Web.config و machine.config باشد .
  • ابزار مدیریت ASP.NET : در  ASP.NET 2.0 با ارائه یک  ابزار جدید مدیریتی که با برنامه مدیریتی سرویس دهنده وب IIS  تلفیق خواهد شد به پیاده کنندگان و یا مدیران برنامه های وب امکان مشاهده و یا اعمال تغییرات مورد نیاز در ارتباط با فایل های پیکربندی XML داده می شود .
  • ابزار ترجمه اولیه : در ASP.NET 2.0 با ارائه یک ابزار بکارگیری جدید  به پیاده کنندگان و مدیران برنامه های وب اجازه داده می شود یک برنامه را قبل از بکارگیری، ترجمه اولیه نمایند. رویکرد فوق باعث می شود که هر گونه نیاز به ترجمه در هر محلی از سایت به صورت اتوماتیک  شناسائی و واکنش های مناسب نسبت به آن داده شود .
  • ابزارهای مانتیورینگ و ردیابی : در ASP.NET 2.0 با ارائه امکانات و ابزارهای لازم به منظور مانیتورینگ عملکرد برنامه های وب، مدیران و پیاده کنندگان برنامه های وب می توانند به صورت اتوماتیک از نحوه عملکرد یک برنامه بر روی سرویس دهنده آگاه  و در صورت نیاز واکنش های مناسب  را در جهت رفع اشکالات موجود انجام دهند. با استفاده از امکانات ارائه شده در ارتباط با ردیابی ، اشکال زدائی برنامه های وب با سرعت و دقت بیشتری انجام خواهد شد.

قابلیت توسعه و افزایش کارائی
 یکی از اهداف مهم طراحی ASP.NET ، ارائه یک محیط شی گراء ترجمه شده با هدف پاسخگوئی سریع به درخواست های سرویس گیرندگان است . افزایش کارائی و قابلیت توسعه  برنامه های وب  یکی از مهمترین ویژگی های ASP.NET 2.0 نسبت به نسخه های قبلی است  :

  • حمایت از 64 بیت :  ASP.NET 2.0 قادر به حمایت از 64 بیت است . این بدان معنی است که ASP.NET 2.0  می تواند از مزیت دستیابی به  تمامی فضای حافظه در پردازنده های 64 بیتی  استفاده نماید. پیاده کنندگان می توانند بسادگی برنامه های ASP.NET موجود 32 بیتی را بر روی یک سرویس دهنده که بر روی آن ASP.NET 2.0 نصب شده است ، کپی نموده و کمپایلر JIT به صورت اتوماتیک فرآیند ترجمه را انجام و برنامه های موجود را به عنوان برنامه های 64 بیتی اجراء می نماید. در چنین مواردی نیازی به تغییر در کدهای نوشته شده نخواهد بود .
  •  بهبود وضعیت Caching : نسخه شماره دو ASP.NET از ویژگی cache invalidation بانک اطلاعاتی به صورت اتوماتیک استفاده می نماید . ویژگی فوق این امکان را در اختیار پیاده کنندگان قرار می هد که اقدام به خارج نمودن اطلاعات مربوط به صفحات مبتنی بر داده های بانک  اطلاعاتی  و یا بخش هائی از محتوای یک صفحه از cache نموده و از ASP.NET درخواست گردد که اینگونه اطلاعات cache شده را غیرمعتبر نموده و محتوای cache  را پس از تشخیص تغییر اطلاعات موجود در بانک اطلاعاتی ، بهنگام نماید .

ASP.NET 2.0  امکانات متعددی را به منظور پیاده سازی برنامه های وب در اختیار پیاده کننده گان قرار می دهد . با پیش بینی امکانات و ابزارهای لازم    بکارگیری ، نگهداری و پشتیبانی برنامه های وب وضعیت بمراتب مناسب تری را نسبت به گذشته پیدا می نماید .