از ASP کلاسيک تا ASP.NET
تکنولوژی ASP يکی از پيشکسوتا ن در اين زمينه می با شد. با عرضه تکنولوژی فوق و استقبا ل برنامه نويسان بيشماری در سطح دنيا، ASP بسرعت جايگا ه و مکانی رفيع را پيدا نمود. تکنولوژی فوق ، طی ساليان متما دی توانست به خيل عظيم نيازها بدرستی و بخوبی پاسخ دهد. ASP آن روز، که امروزه با نام ASP کلاسيک از آن يا د می گردد ، گرچه کا مل ترين تکنولوژی در زمينه آفرينش آثا ر نرم افزار تحت وب نيست ، ولی قطعا" يکی از بهترين گزينه ها در اين زمينه می با شد. . ماحصل تما می تلاش های انجام گرفته شده طی سا ليان قبل ، انقلابی عظيم در زمينه بکارگيری نرم افزار های تحت وب از زاويه استفاده کننده بود. با توجه به رشد تصاعدی خواسته ها و مطرح شدن نوع خاصی از انتظارات ، نياز به يک تکنولوژی قدرتمند تر بهمراه زير ساخت ها و چارچوپ های مناسب ، طی ساليان اخير بشدت احساس می گرديد. بر همين اساس شرکت ما کروسافت پروژه معروف دات نت را مطرح نمود. يکی از اهداف اساسی و مهم در پروژه فوق ، ارائه يک مدل و ساختا ر جديد برنامه نويسی تحت وب است . مدل فوق ، بستر مناسب برای گفتما ن برنامه ها بر روی بستر وب را ايجاد خواهد کرد ، چيزی که از آن بعنوان انقلابی ديگر در عرصه برنامه نويسی تحت وب نام برده می شود. در اين مقاله قصد پرداختن به شاخص ها ، ويژگی ها و شا ه کليدهای مطرح در دات نت را نداريم . هدف پرداختن به مواردی است که از منظر برنامه نويسان ASP حائز اهميت است . عرضه و معرفی ASP.NET بهمراه برخی ديگر از تکنولوژی ها در دات نت، کا نون توجه برنامه نويسان ASP قرار گرفته است . تمامی برنامه نويسا ن وب که تا کنون بکمک ASP آثا ر خود را خلق می کردند ، با نگا هی عميق و کنجکا وانه بدنبال ASP.NET هستند. برنامه نويسان، در مرحله اول تما يل دارند که با دستا وردها و امکا نات ASP.NET آشنا شده و قادر به استفاده از پتانسيل های ارائه شده در کوتا هترين زمان ممکن و با روشی کاملا" علمی باشند. در مرحله دوم می بايست تکليف ميليون ها صفحاتی را که توسط ASP کلاسيک ايجاد شده و تاکنون نيز به ارائه خدمات و مسئوليت های محوله ادامه می دهند ، روشن گردد.
در اين مقاله سعی خواهد شد که با ارائه يک مدل علمی و عملياتی ، منا سبترين روش ها بمنظور گذر از ASP کلاسيک و رسيدن به ASP.NET ، ارائه و بررسی گردد. با مطالعه مقاله فوق از يکسو با برخی امکانات و ويژگی های ASP.NET آشنا شده و از سوی ديگر نحوه گذر از ASP کلاسيک و پرداختن به ASP.NET نيز تبين خواهد شد.
اهم مطالبی که در اين مقاله به آنها پرداخته خواهد شد بشرح ذيل می باشند:
• ضرورت های حرکت به سمت ASP.NET . در ابتدا به اين پرسش مهم پاسخ داده خواهد شد که چرا می بايست بسمت دانت نت حرکت نمود؟
• معرفی اوليه ASP.NET . در اين بخش به تشريح برخی از ويژگی های مهم دانت نت اشا ره خواهد شد .
• تغييرات کليدی و اساسی بين ASP و ASP.NET. در اين بخش به بررسی برخی از تفاوت های مهم موجود بين دو تکنولوژی فوق اشا ره خواهد شد.
• نحوه حرکت از ASP بسمت ASP.NET . در اين بخش نحوه تبديل برنامه های نوشته شده ASP توسط VBScript تشريح می گردد .
• نحوه حرکت نرم افزارهائی که از عناصر COM استفاده می نمايند. در اين بخش نحوه تبديل و استفاده از عناصر Com بهمراه ASP.NET تشريح خواهد شد.
• نحوه حرکت نرم افزارهائی که از بانک های اطلاعاتی استفاده می نمايند. در اين بخش نحوه تبديل و استفاده از با نک های اطلاعاتی در ASP.NET تشريح خواهد شد.
• نحوه حرکت بصورت عملی . نحوه عملی ترکيب کدهای نوشته شده ASP کلاسيک وASP.NET تشريح خواهد شد.
• پاسخ به برخی سوالات متداول در خصوص سازگاری بين ASP و ASP.NET
ضرورت های حرکت به سمت ASP.NET
▪ افزايش قا بليت های توسعه و اعتماد . .با استفاده از دات نت قابليت اعتما د و توسعه به شدت افزايش خواهد يافت .امروزه استفاده از تکنولوژی فوق در مزارع وب و باغ های وب ضرورت داشته و اين نوع برنامه ها می بايست همه روز و بصورت شبانه روزی خدمات خود را بصورت بهنگا م ارائه نمايند.
▪ افزايش حداقل دو تا سه برابر کارائی . با استفاده از تکنولوژی دات نت و صرفا" با تبديل برنا مه های نوشته شده با ASP به دات نت کارائی برنامه ها به ميزان دو تا سه برابر افزايش خواهد يافت
▪ دارای ماهيتی کاملا" سازگار با مرورگرها . دات نت کاملا" سازگار با انواع مرورگرها بوده و ضرورتی به نوشتن کدهای اختصاصی بمنظور مشاهده در يک مرورگر خاص وجود نخواهد داشت .
▪ دارای کنترل های سرويس دهنده مورد حمايت ويژوال دات نت و امکانات مربوط به پيکربندی . ASP.NET دارای مجموعه ای وسيع از کنترل های سرويس دهنده می باشد که با توجه به حما يت ويژوال دات نت از تکنولوژی فوق ، زمينه بکارگيری آسان آنها فراهم خواهد شد. در ضمن دات نت دارای امکا نا ت گسترده در زمينه پيکربندی اتوما تيک نيز می باشد.
▪ بکارگيری آسان کدها . صفحا ت و عنا صر طراحی شده بکا رگيری صفحات و حتی عناصر را تسهيل خواهد بخشيد . نظير دستور معروف کپی
تغييرات عمده در ASP.NET
تغييرات ساختاری
تغيير ديگر: يک صفحه aspx می تواند دارای صرفا" يک تگ فرم Server-side بوده وپس از ارسال می بايست به صفحه يکسانی ارسال گردد. البته در اين راستا همچنان می توان از تگ های Client-Side Form نيز استفاده نمود . در چنين وضعيتی می توان آنها را برای ساير صفحات موجود ديگر نيز ارسال کرد .جدول زير امکا نا تی را که می توان بهمراه صفحات aspx استفاده کرد ، نشان می دهد .
مثال | امکانات |
<%@ Directive %> | يک صفحه ممکن است دارای دايرکتيو باشد.. دايرکتيوها شامل خصلت های خاصی برای صفحات ، نظير زبان مورد استفاده در صفحه و يا اسمبلی هائيکه می بايست به صفحه Importگردنند، باشد . |
<tag runat=server> | از تگ های کنترلی Server-Sideنيز می توان استفاده نمود. |
<script runat=server> | تعاريف کنترل شده وب ، که دارای خصلت Runat serverمی باشند. |
<%# %> | عبارات نسبت دهی داده . عبارات فوق امکان بازيابی داده را از منابع داده ئی تعريف شده فراهم می نمايند. |
<%-- --%> | نظير اسکريپت های توضيحی Client-Sideمی توان از توضيحات Server-Sideاستفاده نمود. |
<!-- #include --> <%= %> , <% %> | می توان از Server-Side Includesو render Blocksنيز استفاده نمود. |
<Script runat="server" language="vb"> | تغييرات بوجود آمده در کدهای بلاکی . در ASPکلاسيک محدوديتی از بعد محل و زمان تعريف موارد نظر وجود نداشت . اما در ASP.NETضوابطی بدين منظور وضع شده است . نمی توان توابع را درون تگ های <% %> تعريف نمود .بنابراين می بايست مطمئن گرديد که تمامی توابع و متغيرهای مورد نظر درون بلاک <SCRIPT> تعريف شده اند. |
تابع زير : | اغلب برنامه نويسان از توابع خاصی با نام renderاستفاده می نمايند. ويژگی مهم در اين زمينه ، امکان ايجاد کدهای Server-Sideو تگ های Htmlبوجود آمده که با اولويت خاص خود اجراء خواهند گرديد. در مثال روبرو تابعی با نام MyRenderFunctionفراخوانده شده و بلافاصله تعريف شده است همانگونه که مشاهده می گردد تگ هدر ، بعنوان بخشی از تابع محسوب می گردد.بنابراين زمانيکه تابع فراخوانده می شود تگ هدر مربوطه Renderخواهد شد.اين نوع نوشتن تابع و فراخوانی در ASP.NETمجاز نبوده و می بايست تمام کدهای مربوطه درون بلاک <Script> قرار گيرند. |
<%@ Page Language="VB" ContentType="text/xml" %> | در ASPکلاسيک می توان از دايرکتيوهائی بمنظور مشخص نمودن زبان ، وضعيت Session State ، کد پيج و ... استفاده کرد . در صفحات aspxمی توان از دايرکتيوهای جديدی بمنظور مشخص نمودن خصلت ها برای صفحه ، کنترل ها اسمبلی ها و ... استفاده نمود. در ASPکلاسيک می بايست دايرکتيوها را در ابتدای صفحه قرار داد .در ASP.NETمی توان دايرکتيوها را در هر محل که مورد نظر است و به هر تعداد که ضرورت وجود دارد ، استفاده کرد. مثال فوق دايرکتيوی را نشان می دهد که زبان مورد نظر و نوع محتويات صفحه را مشخص می نمايد. |
تغييرات اضافی در رابطه با پيکربندی
- فايل Machine.Config شامل تنظيمات عمومی و گسترده در رابطه با ماشين است . بنابراين در صورتيکه قصد اعمال تغييراتی را داشته باشيم که می بايست بر روی تمامی برنامه های تحت وب تاثير گذار باشد ، می توان از فايل فوق جهت نيل به خواسته های خود استفاده کرد .
- فايل Web.Config فايل فوق ، تمامی تنظيمات موجود در فايل Machine.Config را به ارث برده و در عين حال شامل ساير نتظيمات در رابطه با يک پروژه و درسطح برنامه است . مثلا" در صورتيکه بخواهيم مدل Session state را برای برنامه جاری مشخص و يا از برخی داده های خاص برای برنامه استفاده کرد ، می توان از فايل فوق استفاده نمود. دات نت از طريق اينترفيس های مربوطه امکان دستيابی به اين نوع فايل ها را بسادگی فراهم می نمايد.
تغييرات بوجود آمده در مديريت Session
تغييرات بوجود آمده از بعد امنيتی
- Windows Authentication . اعتبارسنجی ويندوز ، بعنوان پيش فرض در نظر گرفته خواهد شد. روش فوق زمانيکه از اعتبارستجی های IIS نظير : Digest,Certificates ، استفاده می گردد ، توصيه شده است .
- Form Authentication اعتبارسنجی مبتنی بر فرم ها را بعنوان اعتبار سنجی پيش فرض برای برنامه در نظر خواهد گرفت .
- Passport Authentication. اعتبار سنجی پاسپورت را بعنوان اعتبار سنجی پيش فرض برای برنامه در نظر خواهد گرفت .
- None صرفا" کاربران گمنام (Anonymouse) قادر به استفاده از برنامه خواهند بود. در اين راستا ممکن است عمليات اعتبارسنجی توسط برنامه ها اعمال گردد.
پس از اعتبار سنجی کاربر، می بايست به کاربران مجوزهای لازم جهت دستيابی از برنامه تحت وب داده شود. مجوزهای مربوطه امکان کنترل دستيابی به منابع را فراهم خواهند نمود. در اين راستا از دو امکان File Authorization و URL Authorization می توان استفاده بعمل آورد . مجوز فايل ، بصورت اتوماتيک اعمال خواهد شد. در صورتيکه کاربر متقاضی ، دارای حق دستيابی به يک فايل و يا منبع خاص را نداشته باشد، دستيابی به صورت خودکار انکار خواهد گرديد. مجوز مبتنی بر URL امکان اعمال محدوديت به برنامه و يا آدرس های URL خاصی را فراهم می نمايد.با استفاده از ويژگی فوق می توان مجوز استفاده و يا عدم استفاده از يک برنامه به ازای کاربران را تامين نمود.