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

 

از صفحات ایستا تا 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 بسیار آسانتر است.