از صفحات ايستا تا ASP.NET

نويسنده: سيد مصطفي مفيديان



در دهه‌ي نود اينترنت جايگاه ويژه‌اي در جهان كامپيوتر كسب كرد. برنامه‌نويسان براي خلق صفحات وبي كه حاوي كدهاي HTML بود، آن را در يك محيط ويرايشگر تايپ كرده و فايل مزبور را با انشعاب htm يا html ذخيره مي‌كردند. مؤلف صفحه‌ي وب قبل از هر چيز، محتواي صفحه را بطور كامل تعيين مي‌نمود. محتويات اين نوع صفحات (متن، تصوير، لينك و…) و شكل ظاهري آنها به استفاده‌كننده، زمان و نحوه‌ي مشاهده‌ي صفحه بستگي نداشت. بنابراين بايد گفت محتويات اين قبيل صفحات قبل از اينكه درخواستي ايجاد گردد، بايد توسط مدير سايت ايجاد و مشخص مي‌شد.
اينگونه صفحات ايستا و داراي محدوديت‌هايي بودند. بعنوان مثال، درصورتيكه مي‌خواستيد براي هر كاربري كه از صفحه‌ي شما بازديد مي‌كرد، زمان جاري سيستم و يك پيام مناسب را نمايش دهيد امري غيرممكن ‌بود. در ضمن كدهاي HTML داراي هيچگونه امنيتي نبوده و نيستند. همچنين آن‌ها توسط هر شخصي قابل رؤيت مي‌باشند. شايد بتوان تنها مزيت اين نوع صفحات را طراحي آسان، سرعت تكثير و توزيع در شبكه دانست.
تا اواسط دهه‌ي نود، ابزار مناسبي جهت توليد سايت‌هاي تجاري وب وجود نداشت. برنامه‌نويسان مي‌بايست روشي را جهت پويايي صفحات ايجاد نموده و از Common Getway Interface جهت ساخت سايت‌هاي خود استفاده مي‌كردند. CGI مكانيزمي براي ايجاد اسكريپت بر روي سرويس‌دهنده بود تا بدين طريق امكان ايجاد برنامه‌هاي متكي بر وب فراهم گردد. اين امكان مي‌بايست با استفاده از زبانهايي نظيرC، C++، VisualBasic ، perl و Delphi در يك ماژول به سرويس‌دهنده‌ي وب اضافه مي‌شد.
مايكروسافت با كمك مرورگر وب خود Internet Explorer و سرويس‌دهنده‌ي IIS توانست بازار مرورگر و سرويس‌دهنده را بدست آورد. سرويس‌دهنده‌ي وب، نرم‌افزاري است كه مديريت صفحات وب را برعهده گرفته و آن‌ها را براي سرويس‌گيرندگان مجهز به مرورگر، قابل دستيابي و استفاده مي‌نمايد.
صفحات پويا به دو طريق مورد استفاده قرار مي‌گرفتند:
1- صفحات پوياي سمت سرويس‌گيرنده – در آن، كدهـاي HTML به همراه مجمـوعه‌اي از دستورالعمل‌ها براي سرويس‌دهنده ارسال و مجدداً از دستورالعمل فوق جهت توليد كدهاي HTML صفحه‌اي كه كاربر درخواست كرده استفاده مي‌شد.
2- صفحات پوياي سمت سرويس‌دهنده – ماژول‌هايي هستند كه به مرورگر ملحق شده، تمامي عمليات لازم جهت ايجاد صفحات پويا را انجام خواهند داد. كدهاي HTML از طريق فايلي مجزا كه حاوي دستورالعمل‌هاست براي مرورگر ارسال و در زمان درخواست يك صفحه توسط كاربر بكار گرفته خواهد شد.
نخستين محصول مايكروسافت كه در بهبود وضعيت برنامه‌نويسي نقش داشت، رابط برنامه‌نويسي كاربردي سرور اينترنت ISAPI بود كه بعنوان شيوه‌اي جهت توليد نرم‌افزار سرور وب مطرح گرديد تا با عملكردي دروني باIIS در ارتباط باشد. اين فرآيند، كارايي سيستم را افزايش داد. اما براي عملكرد صحيح برنامه‌هاي ISAPI نياز به دانش دقيق برنامه‌نويسي بود.
ISAPI جهت برقراري ارتباط با بانك‌هاي ارتباطي، فن‌آوري IDC را مطرح نمود كه ارتباط ميان سايت‌هاي وب با پايگاه داده را از طريق ODBC برقرار مي‌كرد. چون نوشتن نرم‌افزارهاي ISAPI نيازمند مهارت‌هاي برنامه نويسي بود، روند برنامه‌نويسي را كند كرده و براي برنامه‌نويسان مبتدي و متوسط، كار بسيار طاقت‌فرسايي مي‌نمود. بطور مثال C++ جهت كامپايل نمودن صفحه‌ي خود نيازمند فايل‌هاي با پسوند .dll بود . ويژوال بيسيك علي‌رغم سهولت يادگيري، بسيار ضعيف عمل نموده و تمام منابع را تحت اختيار مي‌گرفت. Perl يك خط دستور جهت تغيير و اجراي اسكريپت نياز داشت كه باعث افزايش زمان بارگذاري و كاهش كارايي مي‌شد.
ASP در اكتبر 1996 عرضه شد . ASP1 بعنوان اولين عضو خانواده‌ي ASP به همراه محيط Visual Interdev داراي امكانات شگفت‌انگيز و قدرتمند بود. ADO از جمله‌ي اين امكانات بود كه امكان دستيابي به ركوردها و گزارشگيري را به دارا بود.
پس از به ثبات رسيدن ASP1، مايكروسافت نسخه‌ي جديدي را با Windows NT4 Optionpack عرضه كرد كه همراه برنامه راه‌انداز سرور وب بود. ASP2 با بهبودهايي در افزايش عملكرد سيستم فايل، ابزار بيشتر و بهبود زبان همراه بود. برنامه‌نويسان نيز اجزايي توليد كردند كه بر اساس معماري مبتني بر مدل شيئ COM عرضه شد.
ASP2 محيطي با ثبات‌تر و امكانات بيشتر را در اختيار برنامه‌نويسان قرار داد. اين فن‌آوري تحت پوشش Microsoft Transaction Server يكپارچگي مستحكم‌تري را بخود گرفته بود. چون در JSP – تكنولوژي تركيب HTML و يا XML با كدهاي جاوا – پيش از اجرا، كدها كامپايل مي‌شدند نسبت به ASP2 از كارايي نسبتاً بالاتري برخوردار بودند. همچنين رفع خطاها، جهت‌يابي اشياء، اداره‌ي صفحات و تايپ متغيرها بسيار ساده‌تر بود.
با ظهور ويندوز 2000، ASP3 با امكان كامپايل بجاي پردازش خط به خط عرضه شد و كارايي ASP را به ميزان قابل ملاحظه‌اي افزايش داد. ASP3 همراه با IIS5 به بازار آمد كه IIS شامل گزينه‌اي جهت جداسازي نرم‌افزارهاي وب و پردازش‌ها بود. در اين نسخه است كه مايكروسافت مفهوم اسكريپت‌هاي سرور را عرضه كرد. زبان‌هاي اسكريپت نظير جاوا اسكريپت و VB script توانسته است پاسخي شايسته به طراحي صفحات وب پويا ارائه نمايد. اين مفهوم شامل اشياء COM است كه بصورت فايل‌هاي زبان، توسعه پذير و بر پايه‌ي متن مي‌باشد.
در اين نسخه، ASP و ADO با كمك XML توانايي بيشتري بدست آورده و نيز قابليت خود تنظيمي سرور وب و مخفي‌سازي كد كمپايل شده و Caching از جمله اين پيشرفت‌ها محسوب مي‌شد. اما ضعف‌هايي نيز در مدل ASP3 وجود داشت، از جمله تسلط زبان‌هاي ناكارآمد اسكريپت‌نويسي مانند J Script و VB Script بر ASP و مديريت سيستم‌ها جهت پيكربندي سرور وب است كه خود يك مشكل محسوب مي‌شوند.
واضح است كه مايكروسافت جهت مقابله با جاوا دست به تغيير اصولي در ASP بزند و آنرا به سطح استاندارد برنامه‌نويسي قدرتمند برساند. با توجه به فن‌آوري مبتني بر اصل Com، ActiveX كه بخش مهمي از قدرت ASP را فراهم مي‌كردند، محدوديت‌هايي نيز در برداشتند. مايكروسافت مي‌بايست با Sun بطوري مقابله مي‌نمود كه معماري فني و منطقي، براي نرم‌افزارهاي توزيع شده‌ي جديد فراهم مي‌كرد. Sun با استفاده از J2EE مجموعه‌اي از فن‌آوري ها را در اختيار داشت كه برنامه‌نويسان با دنبال كردن پروژه‌هاي كوچك همراه با Standard Edition ، آن‌ها را براي Enterprise Java Beans كاملا تغيير اندازه مي‌دادند.
مايكروسافت با ارائه‌ي .Net بر تمام انتقادهاي مطرح شده خط بطلان كشيد و شيوه‌ي كاملا جديدي در بررسي نرم‌افزار و وب بوجود آورد. همچنين زبان جديد خود يعني C# را در معرض نمايش قرار داد و نويد ارائه‌ي عملكرد و انعطاف پذيري بهتري نسبت به گذشته و پشتيباني از انواع مختلف استانداردهاي اينترنت را داد.
C# بعنوان زبان .Net كاملا جديد و براي برنامه‌نويسان C كاملا آشنا مي‌باشد، ولي داراي امكانات جديد است. همچنين برخي از خواص RAD كه مورد علاقه‌ي برنامه‌نويسان ويژوال بيسيك است را نيز دارا مي‌باشد. برخي مي‌گويند C# جهت رقابت با Java ي شركت SUN داراي امكاناتي نظير شيئ گرايي كامل، مديريت خودكار حافظه و مرتب‌سازي محيط كار مي‌باشد. مايكروسافت ASP.Net را همراه با Visual Studio.Net و زبانهايي نظير C# ، C++ و Visual Basic و قابليت تطبيق با زبانهاي ديگر عرضه داشت.
لازم به ذكر است كه ASP.Net و ASP دو فن‌آوري تقريباً متفاوتند. در ASP تنها پنج كلاس استاندارد وجود داشت، در حاليكه در ASP.Net مي‌توان از بيش از 4500 كلاس استاندارد در بدنه‌ي .Net بهره جست. همچنين عليرغم قدرت و امكانات زياد و متعدد ، استفاده از آن در مقايسه با ASP بسيار آسانتر است.
منبع: www.articles.ir