درمورد علل شکل گیری Visual Studio.NET بطور خلاصه می توان گفت با اینکه مایکروسافت می دانست با ابزارهای قبلی شرکت می توان برنامه های اینترنتی نوشت ولی برای قبضه کردن بازار احتیاج به تکنولوژی جدیدی داشت . مایکروسافت از سال 1998 که ویژوال استودیو 6 را به بازار وارد کرد در پی حل این مشکلات بود تا در سال 2000 ، NET. را در کنفرانس برنامه نویسان حرفه ای PDC به جهان معرفی کرد. از آن روز تا به حال مایکروسافت حدود 80 % از توانش را برای تکمیل NET. مصرف کرده است . در همین راه پروتکلهای جدیدی مانند SOAP یا Simple Object Access Protocol را ایجاد کرد . همچنین نسل جدیدی از برنامه نویسی به عنوان Web Service را تهیه کرده است. از مهمترین دلائل استفاده از دات نت می توانیم به موارد زیر اشاره نماییم.
طراحی برنامه های اینترنتی بر سبک برنامه های Win32 GUI: همانطور که می دانید برنامه نویسی برای Win32 GUI از قدرت خوبی برخوردار است ، در NET. برنامه های اینترنتی نیز از همین قدرت برخوردارند.
داشتن رابط گرافیکی خوب اینترنتی: به علت تغییرات اساسی که در برنامه در این سیستم داده شده برنامه اینترنتی قابلیت گرافیکی در حد برنامه های Win32 GUI دارند .
انتقال ساده به سیستم های دیگر: در NET. براحتی می توان برنامه ها را با یک کپی ساده به کامپیوتر های دیگر انتقال داد .
پشتیبانی از زبانهای مختلف: در NET. به زبانهای برنامه نویسی مایکروسافت مثل ویژوال بیسیک ، سی شارپ و یا ++C محدود نیستیم . به طوری که در حال حاضر نسخه های Cobol.NET و Pascal.NET در حال ساخته شدن است . اما شرکت مایکروسافت زبان ویژوال بیسیک را به عنوان زبان اصلی برگزیده است . این مساله ریشه در تاریخ مایکروسافت دارد !
Platform های آینده: هم اکنون NET. برای ویندوز نوشته شده است ولی در آینده نزدیک نسخه های Unix و Linux و همچنین برای Mobile و PDA نیز ارائه خواهد شد. این امر این امکان را می دهد که برنامه ای که برای ویندوز در NET. نوشته اید در تمامی سیستم عامل ها و دستگاه های بالا قابل اجرا باشد.
SQL Server 2000 موتور پایگاه داده ارائه شده توسط مایکروسافت است و ادامه ویرایش 7.0 این محصول می باشد. مایکروسافت سرمایه گذاری عظیمی را صرف پشتیبانی و بازاریابی SQL Server 7.0 نمود و نتیجه آن ارائه SQL Server 2000 است. این محصول پرکاربردترین موتور پایگاه داده در صنعت کامپیوتر برای محیط های ویندوز NT/2000 است و ۶۸ درصد از پایگاه داده را بنا به اطلاعات وب سایت مایکروسافت به خود تخصیص داده است. البته انتظار می رود این روند ادامه یابد و سهم بیشتری از این بازار در اختیار مایکروسافت قرار گیرد.
SQL Server 2000 به عنوان یک سرویس در NT Workstation ، سرویس دهنده ویندوز NT یا هر ویرایشی از ویندوز 2000 پیاده سازی شده است. در صورت نصب بر روی ویندوز 98 یا ME به عنوان یک برنامه کاربردی که به سیستم وارد شده است اجرا می شود.کلیه برنامه های کمکی نظیر Enterprise Manager مانند برنامه های معمولی سرویس گیرنده/ سرویس دهنده کار می کنند و به شما اجازه می دهند پایگاه داده SQL Server را تقریبا از هر محلی کنترل کنید.
SQL Server نوعی از پایگاه داده به نام پایگاه داده رابطه ای را بکار می برد. در پایگاه های داده رابطه ای، داده ها در قالب جداول سازماندهی می شوند. جداول داده های مربوط به یک موضوع واحد را گروه بندی می کنند و حاوی سطرها و ستونهای اطلاعات هستند. جداول توسط موتور پایگاه داده در هنگام درخواست به یکدیگر مرتبط می شوند.
در SQL Server 2000 یک پایگاه داده لزوماً به یک فایل مجزا بسته نمی شود وبیشتر یک مفهوم منطقی مبتنی بر مجموعه ای از اشیاء مرتبط است. برای مثال یک پایگاه داده در SQL Server شامل نه تنها داده های خام بلکه شامل ساختار پایگاه داده ، ایندکس ها،ایمنی پایگاه داده و احتمالاً سایر اشیاء نظیر دیدها یا روالهای ذخیره شده خاص پایگاه داده است.
با توجه به مطالبی که بیان شد برای پیاده سازی پروژه از ابزارهای Visual Studio.NET و2000 SQLServer استفاده کردیم. این پروژه پیاده سازی یک سیستم تحت وب برای پذیرش بیمار در یک مرکز تصویر برداری می باشد. سیستم موردنظر ما از بخشهای پذیرش، گروه های تصویر برداری، بیمه و صندوق تشکیل شده است.
مطالب بصورت زیر تنظیم شده است :
• فصل اول مرور کوتاهی بر ابعاد گوناگون Visual Studio.NET داریم. این فصل شامل ۴ قسمت با عناوین NET Framework. ، Visual Studio.NET ، ASP.NET و ADO.NET می باشد.
• فصل دوم به معرفی ابزارها و برنامه های 2000 SQL Server می پردازیم .
• فصل سوم ، اهداف و نیازمندیهای سیستم پذیرش مرکز تصویربرداری را شرح می دهد .
• فصل چهارم به به چگونگی پیاده سازی سیستم می پردازیم. در قسمت اول بانک اطلاعاتی سیستم را بررسی می کنیم. قسمت دوم مروری گذرا برامکانات فرم ها و بخش های گوناگون سیستم خواهیم داشت ، این قسمت در واقع راهنمایی برای کار با سیستم می باشد. در نهایت در قسمت آخر بعنوان نمونه بخش پذیرش در سیستم را بطور کامل پیاده سازی می نمائیم.
مروری بر Visual Studio.NET
در این قسمت مرور کوتاهی بر بخشهای گوناگون Visual Studio.NET داریم. این فصل شامل ۴ قسمت با عناوین NET Framework. ، محیط Visual Studio.NET ، ASP.NET و ADO.NET می باشد.
.NET Framework
.NET Framework فن آوری است که در توسعه Asp.NET ضروری می نماید و ارائه کننده سرویس های مقدماتی سیستم ها یی است که Asp.NETرا مورد پشتیبانی قرار می دهند، نظیر ایجاد فرم های ویندوز، و فن آوری جدید rich client development که در .NET ارائه شده است . درست همانند بسته اختیاری ( Option Pack ) ویندوز NT4 که به همرا ه ویندوز NT4 نصب می شد و Internet Information Server 4.0 (IIS) و Active Server Page Technologies را به ویندوز NT4 می افزود، .NET Framework نیز یک بسته add-on ( افزودنی ) می باشد که روی ویندوز XP,2000,NT4.0,98/ME نصب می شود و سرویس های مقدماتی پشتیبانی سیستم را به فن آوریهای .NET می افزاید .
.NET Framework شامل دو قسمت اصلی است:
Common Language runtime
.NET Framework Class Library
در ادامه به شرح هرکدام می پردازیم.
Common Language runtime
Common Language runtime یا ( به اختصار Runtime ) محیط runtimeی را ایجاد می کند که در آن محیط کد های نوشته شده به زبانهای .NET اجرا می گردند. Runtime مدیریت اجرای کدهای .NET را بر عهده دارد، که شامل مدیریت بلند مدت حافظه و آبجکت ها می شود. علاوه بر این سرویس های مدیریتی،runtime به توسعه دهندگان امکان اشکال زدایی، رسیدگی به استثنائات و وراثت در میان چندین زبان را می دهد .لازمه اجرای این وظایف این است که کامپایلرهای زبان از خصوصیات زبانهای مشترک یا Common Language Specification (CLS ) ، که نمایانگر زیر مجموعه ای از انواع داده پشتیبانی شده توسط runtime می باشد و در تمام زبانهای مورد استفاده .NET مشترک است، پیروی نماید .
کامپایلر هر زبانی کد های نوشته شده توسط برنامه نویسان را به یک زبان میانجی به نام (MSIL یاMicrosoft Intermediate Language ( IL کامپایل می کنند. سپس این IL در زمان نصب به وسیله runtime ، به کد محلی کامپایل می شود و یا حین اولین اجرا به صورت ( JIL ) Just-In-Time کامپایل می شود. از کدی که به IL کامپایل می شود و به وسیله runtime مدیریت می گردد، به عنوان managed Code نام برده می شود. دلیل این نامگذاری، برعهده گرفتن مسئولیت مدیریت اجرای کد توسط runtime است، که شامل معرفی آبجکت ها، اختصاص حافظه و جمع آوری پس مانده آبجکت ها و حافظه می باشد .
از کامپوننت های نوشته شده در Managed Code و اجرا شده توسط runtime به عنوان .NET Managed Assemblies نام برده می شود و یا به اختصار فقط assemblies خوانده می شود. Assemble ها واحد های اصلی گسترش در دنیای .NET هستند و شباهت زیادی به کامپوننت های COM دارند. با این تفاوت که، در حالیکه کامپوننت های COM حاوی یک نوع کتابخانه متناظر برای تعریف چگونگی بکار گیری آنها توسط سرویس گیرنده هستند، یک assembly حاوی یک manifest است که مجموعه ای از Metadataها( فراداده ها) می باشند که محتویات assembly را تعریف می کنند. از فوائد دیگر آن، ماهیت خود تعریفی کامپوننت های .NET است، به این معنی که برای اینکه بتوانند کار کنند، نیازی به ثبت شدن ( رجیسترشدن ) روی کامپیوتر ندارند .
این Metadataهمچنین وظیفه تعریف وابستگیها و اطلاعات تفسیری متناظر با یک assembly را بر عهده دارد. این نه تنها باعث کسب اطمینان از برآورده شدن وابستگی های ضروری assemblyها می شود، بلکه به این معنی است که چندین نسخه از یک assembly می توانند درکنار هم روی یک کامپیوتر بدون ایجاد اختلال اجرا شوند. این موضوع گامی بزرگ در تقابل با “DLL Hell” (مکافات DLL ) است، که برای تعداد کثیری از برنامه نویسان آزار دهنده است. کافی است تنها از یک برنامه نویس وب که با بیش از یک نسخه ActiveX Data Objects (ADO) کار کرده باشد، سئوال کنید. مطمئن باشید که گوش شما پر خواهد شد از حکایاتی درباره برنامه های کاربردی که با یک نسخه جدید ADO به شکست انجامیده اند. با روی کارآمدن .NET این مسائل به فراموشی سپرده خواهند شد. ازآنجایی که برنامه کاربردی مورد نظر می داند برای کدام نسخه از یک assembly طراحی شده است، می تواند با گرفتن پرس وجو(query) از متادیتای اسمبلی ، نسخه صحیح را از میان نسخه های مختلف همان اسمبلی بیابد . نظارت CLR در هنگام اجرا شامل مدیریت حافظه ، کنترل صحت نوع متغیرها (type safety check) و مسائل دیگر می گردد. شکل ۱-۱نحوه انجام این مراحل را نشان می دهد.