يک پلات فرم مناسب برای آينده
دات نت، اولين پلات فرم طراحی شده از صدر تا ذيل با در نظر
گرفتن واقعيتی با نام اينترنت است . دات نت از يک ماشين مجازی خاص در
اين زمينه استفاده می نمايد . ماهيت ماشين مجازی فوق ، بگونه ای است که از
API ويندوز
فاصله و در اين رابطه از يک کتابخانه کلاس استفاده می نمايد که می توان به جرات اين
ادعا را داشت که تاکنون نظير آن ، ايجاد نشده است . امکان استفاده از زبانهای متعدد
برنامه نويسی ، وجود خواهد داشت .معماری دات نت ، امکان ارتباط بين زبانها را
بسادگی فراهم خواهد کرد .دات نت ، يک رويکرد جديد در رابطه با پياده سازی نر م
افزار را مطرح نموده است . نگاه به دات نت ، عمدتا" بصورت سيستم های توزيع شده است.
با استفاده از XML
،امکان اجرای توابع بر روی کامپيوترهای متفاوت يک سازمان ويا جهان فراهم و
جلوه ای زيبا در همياری بمنظور اجرای يک برنامه ، به نمايش در خواهد آمد. از اين
منظر ، سيستم ها از سرويس دهندگان تا سيستم های بدون کابل ، قادر به اشتراک پلات
فرم عمومی يکسانی خواهند بود . با استفاده از نسخه های دات نت که برای
تمام آنها در دسترس خواهد بود، امکان ارتباط مناسب آنها با يکديگر فراهم
خواهد شد. دات نت ، بمنظور طراحی و پياده سازی برنامه های سنتی نيز راهکارها و
امکانات مناسبی را ارائه تا از اين طريق امکان پياده سازی و بکارگيری اين نوع از
نرم افزارها ، بسادگی انجام گيرد . برخی از تکنولوژی ها ی ارائه شده در دات
نت نظير فرم های ويندوز، تلاشی در اين راستا است .
ايده های اوليه
از اواخر سال 1995 ، شرکت ماکروسافت توجهی خاص و قابل توجه نسبت
به اينترنت نمود . هدف ماکروسافت در اين زمينه پيوند بين پلات فرم ويندوز و اينترنت
بود. ماحصل تلاش ماکروسافت در اين زمينه ارائه مدل برنامه نويسی
Windiws DNA ، بود . در اين راستا مجموعه ای
از ابزارها و تکنولوژی های مبتنی بر اينترنت ، طراحی و ارائه گرديد .
ASP ، از اولين تلا ش های ماکروسافت در اين زمينه است .
عملا" در اين زمينه ( مطرح شدن اسکريپت ها ی مفسری ) يک برگشت به عقب نسبت به پياده
سازی ساختيافته و شی گراء را شاهد بوده ايم . طراحی ، اشکال زدائی و نگهداری چنين
کدهای غير ساختيافته ای مسائل خاص خود را خواهد داشت . ساير زبانها نظير ويژوال
بيسيک بصورت موفقيت آميز در رابطه با برنامه نويسی بر روی اينترنت و پلات فرم
ماکروسافت استفاده می گرديد ولی اغلب از آن بمنظور ايجاد عناصری که از طريق
ASP ، بخدمت گرفته می شدند ، استفاده می گرديد .در اين
رابطه تلاش های اندکی نيز در جهت ايجاد يک اينترفيس مبتنی بر وب بر روی
زبان های سنتی نظير webclasses در VB
، نيز انجام شد ولی هيچکدام از تلاش های فوق ، در سطح گسترده ای مورد استقبال و
پذيرش قرار نگرفت . ماکروسافت در صدد حل آشفتگی های همراه برنامه های ويندوز
DNA بود . ويندوز DNA
، تصويری مناسب از يک معماری Three-Tire و مبتنی بر
COM بود که تکنولوژی ASP در لايه
Presentation ، اشياء Bussiness در لايه
ميانی و يک engine بانک اطلاعاتی رابطه ای در لايه
Data ، قرار می گرفت . مفاهيم همراه DNA
،کامل و بی عيب بود اما در زمان استفاده عملياتی چالش های خاص خود را
بدنبال داشت . پياده سازی عناصر COM ، مستلزم يک سطح مناسب
از دانش و مهارت است و می بايست زمان زيادی در اين رابطه صرف گردد .
بکارگيری نرم افزارهای DNA ، نيز مسائل خاص خود را داشت (
مسائل مربوط به ورژن ، نصب عناصر و عناصری که با آن مرتبط می باشند ) .
بموازات تلاش ساير شرکت ها در رابطه با ارائه راهکارهائی خاص بمنظور پياده
سازی برنامه ها ی وب ، شرکت ماکروسافت در صدد برطرف نمودن محدوديت های
مدل برنامه نويسی DNA گرديد.
تولد دات نت
در اوايل سال 1998 ، گروهی از پياده کنندگان نرم افزار در ماکروسافت ،
کار خود را بر روی نسخه ای جديد از IIS
( نسخه چهار) ، به اتمام رساندند که دارای چندين ويژگی جديد در رابطه با ASP
بود .در اين راستا ، قابليت های جديدی بمنظور پياده سازی برنامه های وب
در ويندوز NT ، فراهم گرديد.گروه پياده کننده دارای ايده
های متعددی برای اعمال اصلاحات جديد بودند . گروه فوق ، کار خود را بر روی يک
معماری جديد برای پياده سازی ايده های مطرح شده ، آغاز نمود . اين پروژه ،
NGWS)Netx Generation Window Services)
، ناميده گرديد. پس از ارائه ويژوال استوديو شش ، در اواخر سال 1998 ،
تلاش برای ايجاد نسخه ای جديد از ويژوال استوديو در دستور
NGWS ، قرار گرفت . گروه COM+/MTS
در مدل پيشنهادی خود از يک Runtime ، عمومی برای تمامی
زبانهای استفاده شده در ويژوال استوديو ، استفاده نمودند . تلاش افراد درگير در
پروژه NGWS ادامه تا در نهايـت ، شرکت ماکروسافت در کنفرانس
پياده کنندگان حرفه ای (PDC) ، دات
نت را معرفی نمود.
مروری بر فريمورک دات نت
فريمورک دات نت ، تمامی لايه های پياده سازی نرم افزار را از سطح سيستم
عامل به بالا ، تحت پوشش قرار می دهد. فريمورک فوق، سطحی مناسب
وقدرتمند از ارتباط و همبستگی بين تکنولوژی
Presentation ، تکنولوژی های Component
و تکنولوژی های Data را ارائه می نمايد ( نظير
اين ارتباط و همبستگی تاکنون در پلات فرم ويندوز مشاهده نشده است) . معماری
فوق ، امکان طراحی و پياده سازی برنامه های مبتنی بر اينترنت و محيط های
Desktop ، را بسادگی فراهم و نيازهای هر
گروه از نرم افزارهای فوق را بخوبی جواب می دهد . اجزای اصلی فريمورک دات نت در شکل
زير نشان داده شده است .

فريمورک دات نت از
لايه پائين با عملياتی نظير مديريت حافظه آغاز و بسمت بالا بمنظور ارائه
اينترفيس های برنامه ها و کاربران ، دنبال می شود . در بين لايه ها ، لايه
های سيستمی ديگر که هر يک دارای پتانسيل های خاصی برای پياده کنندگان می باشند ،
وجود دارد.
CLR) Common Language
Runtime) ، بمنزله قلب فريمورک دات نت محسوب و engine
لازم بمنظور ارائه قابليت های کليدی را ارائه می نمايد . CLR
، شامل عناصر اساسی ديگری نظير: (Common Type System
(CTS ، است. علاوه بر مديريت حافظه ، CLR
، مراجعات به اشياء و عمليات Garbage Collection را نيز
انجام می دهد .
در لايه ميانی ، ما شاهد نسل جديدی از سرويس های استاندارد نظير
ADO.NET و XML می باشيم .سرويس های فوق ،
تحت کنترل فريمورک بوده و امکان بکارگيری آنها بصورت جامع و استاندارد در بين تمامی
زبانها ، فراهم می گردد . بالاترين لايه ، شامل اينترفيس های برنامه و کاربر است .
فرم های ويندوز ، روشی جديد بمنظور ايجاد برنامه های Desktop
مبتنی بر win32 می باشند. فرم های وب ، يک رابط کاربر
مناسب برای برنامه های مبتنی بر وب را ارائه می نمايند. سرويس های وب ،
مکانيزمی بمنظور ارتباط برنامه ها از طريق اينترنت و با استفاده از SOAP
، می باشد. سرويس های وب ، قابل مقايسه با عناصر COM و
DCOM بوده با اين تفاوت مهم که در اين راستا از تکنولوژی
های متعدد اينترنت ، استفاده می گردد. فرم های وب و سرويس های وب ، اينترفيس
اينترنت دات نت را تشکيل و پياد ه سازی آنان از طريق بخش ديگری در فريمورک
دات نت که ASP.NET ، ناميده می شود ، محقق می گردد .
پتانسيل های موجود در هر لايه فريمورک دات نت ، توسط هر يک از زبان های سازگار با
دات نت ، قابل استفاده خواهد بود. در پايان لازم است به اين نکته اشاره گردد که
در اين رابطه ( فريمورک دات نت ) می توان از اينترفيس های مبتنی بر متن ( کاراکتری)
نيز استفاده کرد . اين نوع برنامه ها اصطلاحا" Console Application
، ناميده می شوند .
دربخش دوم اين مقاله به
بررسی CLR و
جايگاه آن در فريمورک دات نت، خواهيم پرداخت .