این گزارش از دو فصل اصلی تشکیل شده فصل اول به تشریح تکنولوژی Visual Studio 2005 مایکروسافت اختصاص یافته که در آن .NET Framework و ADO.NET و ASP.NET با جزئیات کامل بررسی و در مورد هر کدام به مزایای استفاده از آنها اشاره شده ، در فصل دوم به مراحل اجرای پروژه پرداخته شده و شامل بررسی محتوای استاتیک و دینامیک سایت می باشد.
مایکروسافت ویژوال استودیو 2005
 در ژوئن سال 2000، شرکت مایکروسافت ایجاد چهارچوب نرم افزاری دات نت، به همراه یک زبان برنامه نویسی جدید به نام سی شارپ را اعلام کرد.
چارچوب داتنت یک مجموعهٔ وسیع از امکانات برنامهنویسی است که کار برنامه نویسی به کمک آن بسیار ساده و سریع میشود.
زبانهای سیشارپ (#C) و ویژوال بیسیک دات نت (VB.NET) همگی از چارچوب داتنت استفاده میکنند.
در سالهای بعد نسخه های متعددی از برنامه Visual Studio عرضه شد که همه آنها بر پایه چهار چوب دات نت عمل میکنند درVisual Studio 2005 Express نرم افزارهای ویژوال بیسیک، ویژوال سی شارپ، ویژوال جی شارپ، ویژوال سی پلاس پلاس و وب دولوپر اکسپرس (Visual Web Developer Express) موجود می باشد.
این برنامه درسال 2006 و در عرض پنج ماه نزدیک به پنج میلیون بار از سایت رسمی شرکت مایکروسافت دریافت شده است که دلیل بر استقبال بی سابقه برنامه نویسان به استفاده از این مجموعه می باشد.
در این فصل مروری بر قسمتهای مختلف این برنامه خواهیم داشت.
بخش اول NET Framework.
دات نت پلتفرم آینده مایکروسافت برای نسل آینده نرم افزارها است که جهان آکنده از اطلاعات و مردم آن را در یک قالب واحد متصل میکند.دات نت ما را قادر می سازد تا بتوانیم برنامه های کاربردی و سرویس های اینترنتی خود را بر اساس XML طراحی کرده و به این وسیله اطلاعات خود را به اشتراک گذاشته و مدیریت کنیم.
 دات نت پلتفرم آینده مایکروسافت برای نسل آینده نرم افزارها است که جهان آکنده از اطلاعات و مردم آن را در یک قالب واحد متصل میکند.دات نت ما را قادر می سازد تا بتوانیم برنامه های کاربردی و سرویس های اینترنتی خود را بر اساس XML طراحی کرده و به این وسیله اطلاعات خود را به اشتراک گذاشته و مدیریت کنیم.
در نمودار بالا مهمترین لایه های Microsoft .NET را از سیستم عامل تا زبان های برنامه نویسی مشاهده می کنید.در پایین ترین لایه سیتم عامل(Win32) را می بینید وسپس در بالای آن CLR قرار دارد.
CLR و فواید آن: CLR کدها را در زمان اجرا مدیریت میکند(مانند مدیریت حافظه و thread ها و همچنین کنترل سازگاری انواع Type های بکاررفته در کد).به کدهایی که برای اجرا در CLR نوشته شده اند Managed Code و در غیر این صورت Unmanaged Code گفته می شود.
1)امنیت: هر Managed Component درجه ای از مجوزها را داراست به این معنی که آیا این Component می تواند به فایل دسترسی پیدا کند یا خیر می تواند به رجیستری دسترسی پیدا کند یا خیر...
برای مثال کاربران میتوانند مطمئن باشند که فایل اجرایی که در یک صفحه Web قرار داده شده غیر از اجرا کردن یک موسیقی یا تصویر متحرک هیچ حق دیگری ندارد.
2)Common Type System) CTS) : compiler های زبان های مختلف که برای .NET طراحی شده اند با CTS مطابقت دارند.این امر در سازگاری زبان های برنامه نویسی تحت .NET با یکدیگر تاثیر بسزایی دارد.(منظور از این سازگاری این است که با استفاده از هر زبان برنامه نویسی تحت .NET میتوانیم به سایر component های نوشته شده توسط این زبان ها دسترسی پیدا کنیم).
3)مستقل از پلتفرم(Platform Independence) : وقتی شما با یکی از زبان های .NET یک فایل exe یا DLL تولید می کنید.این فایل در فرمت Executable نیست در عوض در فرمت MSIL(Microsoft Intermediate Language) میباشد.این فایل در زمان اجرا یا در زمانی که برنامه برای اولین بار نصب میشود به فرمت ذاتی سیستم عامل (OS Native Code) کامپایل می شود.
این خاصیت علاوه بر دارا بودن مزیت Platform Independence سبب افزایش کارایی نیز میشود.
عملیات کامپایل توسطJIT Compiler(Just In Time) انجام میشود.
از دیگر فواید تبدیل Code ها به Microsoft Intermediate Language سازگاری بین زبان های تحت دات نت با یکدیگر(Language Interoperability) می باشد.
دات نت ، پلات فرمی جدید بمنظور تحقق نظریه : " نرم افزار بعنوان سرویس " ، است .
دات نت یک محیط پیاده سازی است که بکمک آن می توان اقدام به ایجاد و بکارگیری نرم افزار و نسل جدیدی از عناصر موسوم به " سرویس های وب " ، نمود.
تمامی محصولات اصلی مایکروسافت از ویژوال استودیو دات نت تا ویندوز و نهایتا مجموعه آفیس ، متاثر از پلات فرم فوق شده و خواهند شد .
دات نت به پیاده کنندگان این امکان را خواهد داد که با زبان برنامه نویسی مورد علاقه خود ، اقدام به پیاده سازی برنامه ها نمایند.
دات نت، اولین پلات فرم طراحی شده از صدر تا ذیل با در نظر گرفتن واقعیتی با نام اینترنت است.
دات نت از یک ماشین مجازی خاص در این زمینه استفاده می نماید .
ماهیت ماشین مجازی فوق ، بگونه ای است که از API ویندوز فاصله و در این رابطه از یک کتابخانه کلاس استفاده می نماید که می توان به جرات این ادعا را داشت که تاکنون نظیر آن، ایجاد نشده است .
امکان استفاده از زبانهای متعدد برنامه نویسی، وجود خواهد داشت .
معماری دات نت، امکان ارتباط بین زبانها را بسادگی فراهم خواهد کرد.
دات نت، یک رویکرد جدید در رابطه با پیاده سازی نرم افزار را مطرح نموده است.
نگاه به دات نت ، عمدتا بصورت سیستم های توزیع شده است.
با استفاده از XML ،امکان اجرای توابع بر روی کامپیوترهای متفاوت یک سازمان و یا جهان فراهم و جلوه ای زیبا در همیاری بمنظور اجرای یک برنامه، به نمایش در خواهد آمد.
از این منظر ، سیستم ها از سرویس دهندگان تا سیستم های بدون کابل، قادر به اشتراک پلات فرم عمومی یکسانی خواهند بود.
دات نت ، بمنظور طراحی و پیاده سازی برنامه های سنتی نیز راهکارها و امکانات خواهد شد.
دات نت ، بمنظور طراحی و پیاده سازی برنامه های سنتی نیز راهکارها و امکانات مناسبی را ارائه تا از این طریق امکان پیاده سازی و بکارگیری این نوع از نرم افزارها، بسادگی انجام گیرد .
برخی از تکنولوژی ها ی ارائه شده در دات نت نظیر فرم های ویندوز، تلاشی در این راستا است.
.Net Framework ، تمامی لایه های پیاده سازی نرم افزار را از سطح سیستم عامل به بالا، تحت پوشش قرار می دهد .Net Framework فوق، سطحی مناسب وقدرتمند از ارتباط و همبستگی بین تکنولوژی Presentation ، تکنولوژی های Component و تکنولوژی های Data را ارائه می نماید نظیر این ارتباط و همبستگی تاکنون در پلات فرم ویندوز مشاهده نشده است .
معماری فوق ، امکان طراحی و پیاده سازی برنامه های مبتنی بر اینترنت و محیط های Desktop ، را بسادگی فراهم و نیازهای هر گروه از نرم افزارهای فوق را بخوبی جواب می دهد .
اجزای اصلی .Net Framework در شکل نشان داده شده است .
Net Framework.از لایه پائین با عملیاتی نظیر مدیریت حافظه آغاز و بسمت بالا بمنظور ارائه اینترفیس های برنامه ها و کاربران ، دنبال می شود.
در بین لایه ها ، لایه های سیستمی دیگر که هر یک دارای پتانسیل های خاصی برای پیاده کنندگان می باشند ، وجود دارد.
سرویس های وب ، مکانیزمی بمنظور ارتباط برنامه ها از طریق اینترنت و با استفاده از SOAP، می باشد.
سرویس های وب، قابل مقایسه با عناصر COM و DCOM بوده با این تفاوت مهم که در این راستا از تکنولوژی های متعدد اینترنت، استفاده می گردد.
فرم های وب و سرویس های وب ، اینترفیس اینترنت دات نت را تشکیل و پیاد ه سازی آنان از طریق بخش دیگری در فریمورک دات نت که ASP.NET ، نامیده می شود ، محقق می گردد.
پتانسیل های موجود در هر لایه فریمورک دات نت ، توسط هر یک از زبان های سازگار با دات نت، قابل استفاده خواهد بود.
لازم است به این نکته اشاره گردد که در این رابطه ( .Net Framework ) می توان از اینترفیس های مبتنی بر متن ( کاراکتری) نیز استفاده کرد.
این نوع برنامه ها اصطلاحا Console Application، نامیده می شوند .
مزایای استفاده از.Net Framework در آغاز پیاده سازی برنامه های مبتنی بر ویندوز، تمامی برنامه های نوشته شده بمنظور استفاده از API ، از C و یا C++ استفاده می کردند.
با مطرح شدن ویژوال بیسیک و سپس اینترنت، پیاده کنندگان مجبور به سفارشی نمودن (پیاده سازی نسخه هائی خاص) برنامه های C++ ، C، برنامه های ویژوال بیسیک و یا ASP بودند.
با استفاده از .Net Framework، می توان با اتکاء به مهارت های موجود، اقدام به آفرینش هر نوع نرم افزاری کرد.
انتخاب .Net Framework بمنظور پیاده سازی برنامه ها، مزایای زیر را بدنبال خواهد داشت : مبتنی بر استانداردهای وب : فریمورک دات نت، بطور کامل تکنولوژی های موجود در اینترنت نظیر : HTML , HTTP,SOAP,XSLT,XPath و سایر استانداردها را حمایت می نماید.
طراحی مبتنی بر یک مدل یکسان : از پتانسیل های یک کلاس دات نت ، می توان در هر یک از زبانهای حمایت شده در دات نت و یا مدل برنامه نویسی ، بخوبی استفاده کرد .
بنابراین می توان ، بخش هائی از کدهای نوشته شده را در برنامه های متعدد استفاده کرد (برنامه های ویندوز، وب ، سرویس های وب XML ).
پیاده کنندگان بسادگی قادر به استفاده از آن می باشند.
در فریمورک دات نت ، کد ، بصورت Namespace های سلسله مراتبی و کلاس ها ، سازماندهی می گردد .
فریمورک دات نت یک (Common Type System)CTS را بعنوان سیستم نوع یکسان ، ارائه نموده که توسط هر زبان سازگاز با دات نت، قابل استفاده خواهد بود .در سیستم فوق ، تمامی عناصر زبانها بصورت شی می باشند.
این اشیاء قادر به استفاده توسط هر برنامه مبتنی بر دات نت و نوشته شده توسط هر زبان مبتنی بر دا ت نت ، خواهند بود .
کلاس های توسعه پذیر .
ماهیت سلسله مراتبی فریمورک دات نت، برای پیاده کنندگان مخفی نخواهد بود .در این راستا می توان به کلا س ها دستیابی و آنها را توسعه داد( مگر اینکه آنها حفاظت شده باشند ).
در این زمینه امکان پیاده سازی توارث از نوع Cross - Language ، نیز وجود خواهد داشت .
بخش دوم ADO.NET) .NET Activex Data Object) کار کردن با پایگاه های داده مدت هاست که بر اساس مدل Connection Base می باشد.این در حالی است که این مدل در بسیاری از موارد نمی تواند برطرف کننده نیازهای برنامه های کاربردی وسرویس های امروزی باشد.
ADO.NET براساس مدل Disconnect طراحی شده است.
برای رسیدن به این مدل ADO.NET از قدرت XML استفاده میکند.
Component های مربوط به ADO.NET و XML در .NET Framework بطورکامل یکپارچه هستند.در این ساختار ADO.NET و XML هر دو به شی Dataset ختم می شوند.
Dataset یک شی مقیم در حافظه (memory-resident) می باشد که یک مدل برنامه نویسی کامل را برای مدیریت اطلاعات بدون ارتباط با Data source ارایه می کند.
قالب اصلی Dataset ، XML میباشد و می تواند از هر منبع XML پر شود.
عنصر مورد استفاده در .NET برای اینکه ما بتوانیم Dataset را از بانک های اطلاعاتی مختلف پر کنیم DataProvider می باشد.
چون قالب Dataset ، XML می باشد بنابراین می تواند یک انتخاب بهینه برای فرستادن به و مصرف اطلاعات از یک XML Web Service باشد.
ADO.NET ، نسل جدیدی از شرکت ماکروسافت است .
نسخه ADO ، با استفاده از مجموعه ای اشیاء ActiveX Data Object طراحی و پیاده سازی شده بود.
ADO.NET گرچه در سطح ارائه پتانسیل های لازم در برخی موارد دارای شباهت هائی با است ولی از نظر مدل برنامه نویسی دارای ساختاری کاملا" متفاوت( نسبت به ) است.
بموازات رشد اینترنت ، طراحی و پیاده سازی برنامه های مبتنی بر وب به امری متداول و نیازی همگانی مطرح شده است .
در این راستا برنامه های متعددی ، از XML بمنظور ارسال اطلاعات خود در شبکه استفاده کرده و هر روز به تعداد این برنامه ها نیز اضافه می گردد.
ADO.NET ، یک مدل برنامه نویسی مناسب بمنظور یکپارچگی بین ویژگی های XML و ADO.NET در فریمورک دات نت را ارائه می نماید.
مزایای ADO.NET تکنولوژی فوق نسبت به ADO دارای مزایای زیر است : Interoperability .
تکنولوژی ADO.NET از XML بعنوان فرمت ارسال اطلاعات از یک منبع داده به مقصد مورد نظر استفاده می نماید ( داده های مستقرشده در حافظه محلی) Maintainability .
بموازات افزایش کاربران یک برنامه ، ما شاهد بروز مسائلی در رابطه با منابع موجود در سیستم خواهیم بود.
با استفاده از یک برنامه N-Tire ، می توان منطق برنامه را بین چندین Tire اضافی توزیع نمود.
ارتباط به منابع داده در ADO.NET بمنظوراتصال به یک منبع داده ، می بایست در ابتدا یک