وب یکی از مهمترین
و در عین حال جوان ترین سرویس های اینترنت است که در مدت زمانی کوتاه توانسته است
در کانون توجه تمامی استفاده کنندگان اینترنت قرار بگیرد و منشاء تحولات عمده ای
در حیات بشریت باشد. در گذشته از وب صرفا" به منظور عرضه اطلاعات استفاده می
گردید و کاربران از آن به عنوان یک کنابخانه الکترونیکی بزرگ و در جهت یافتن
اطلاعات مورد نیاز خود استفاده می کردند. وضعیت فعلی وب نسبت به گذشته دستخوش
تحولات فراوانی شده است و هم اینک از آن به عنوان بستر ارتباطات ، مبادله اطلاعات
، عملیات تراکنشی نظیر فعالیت های تجاری ، اجتماعی ، سیاسی ، آموزشی
و فرهنگی استفاده می گردد .
نرم افزار و دنیای برنامه نویسی یکی ازعرصه هائی است که بدون شک
بیشترین تاثیر را از اینترنت پذیرا بوده است ( پرداختن به مقوله تاثیر اینترنت بر دنیای برنامه نویسی
و یا تاثیر نرم افزار بر اینترنت خارج از حوصله این مقاله است ). شرکت های عظیم
نرم افزاری با لحاط نمودن جایگاه برجسته اینترنت ، اقدام به ارائه تکنولوژی ها و
معماری های متفاوتی در جهت طراحی و پیاده سازی برنامه های کامپیوتری با بهره گیری
از زیرساخت اینترنت نموده اند .
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 عبارتند از :
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 امکانات متعددی به
منظور تسهیل در امر بکارگیری ، نگهداری و مدیریت برنامه های وب ارائه شده است :
قابلیت
توسعه و افزایش کارائی
یکی از اهداف مهم طراحی ASP.NET ، ارائه یک محیط شی گراء ترجمه شده با هدف پاسخگوئی سریع به
درخواست های سرویس گیرندگان است . افزایش کارائی و قابلیت توسعه برنامه های وب
یکی از مهمترین ویژگی های ASP.NET 2.0 نسبت به نسخه های قبلی است :
ASP.NET 2.0 امکانات متعددی را به منظور پیاده سازی برنامه های وب در اختیار پیاده کننده گان قرار می دهد . با پیش بینی امکانات و ابزارهای لازم بکارگیری ، نگهداری و پشتیبانی برنامه های وب وضعیت بمراتب مناسب تری را نسبت به گذشته پیدا می نماید .