دات نت ، پلات فرم جديد ماکروسافت بمنظور تحقق نظريه : " نرم افزار بعنوان سرويس " ، است . دات نت يک محيط پياده سازی است که بکمک آن می توان اقدام به ايجاد و بکارگيری نرم افزار و نسل جديدی از عناصر موسوم به " سرويس های وب " ، نمود. تمامی محصولات اصلی ماکروسافت از ويژوال استوديو دات نت تا ويندوز و نهايتا" مجموعه آفيس ، متاثر از پلات فرم فوق شده و خواهند شد . دات نت به پياده کنندگان اين امکان را خواهد داد که با زبان برنامه نويسی مورد علاقه خود ، اقدام به پياده سازی برنامه ها نمايند. ويژگی ( پتانسيل ) فوق از طريق معرفی CLR)Common Language Runtime )، ميسر شده است . در اين مقاله قصد داريم به بررسی دات نت پرداخته و پتانسيل ها و قابليت های آن را تشريح نمائيم .
در جولای سال ۲۰۰۰ ، شرکت ماکروسافت در کنفرانس پياده کنندگان حرفه ای (PDC ) ، در شهر Orlando ايالت کاليفرنيا ، جزئيات بيشتری از نسل جديد پلات فرم خود ( دات نت ) بمنظور پياده سازی برنامه های ويندوز و اينترنت را در اختيار علاقه مندان خصوصا" پياده کنندگان نرم افزار قرار داد . محوريت ابتکار فوق ، بر فريمورک دات نت استواربوده ونشاندهنده يک پلات فرم مناسب بهمراه کتابخانه های کلاس گسترده ای است که پتانسيل های متعددی را در اختيار قرار می دهد. يکی از نکات قابل توجه در پلات فرم فوق،استفاده از XML و SOAP بمنظور ارتباط بين نرم افزارها ی موجود در اينترنت ( نرم افزارهای مبتنی بر وب ) ، است . در اين راستا مجموعه ای از محصولات مبتنی بر سرويس دهنده با نام سرويس دهندگان Enterprise دات نت، مطرح که بمنزله نسل جديدی از محصولات Backoffice ماکروسافت ، می باشند.
فريمورک دات نت ، مدلی کاملا" جديد بمنظور برنامه نويسی و بکارگيری نرم افزار را ارائه نموده است. "بيل گيتس "، در سخنرانی خود در PDC ، بدين نکته اشاره داشتند که در هر پنج تا شش سال ما شاهد يک تحول عمده در رابطه با پياده سازی نرم افزار بوده ايم . آخرين موارد در اين زمينه به سوئيچ از DOS به ويندوز در سال ۱۹۹۰ و گذر از پياده سازی شانزده بيتی به سی و دو بيتی ( از ويندوز widows 3.x به ويندوز NT/95 ) در اواسط دهه ۹۰ ميلادی ، است.
با معرفی دات نت در PDC ، پياده کنندگان آن را معماری مناسبی برای پياده سازی نرم افزار ( برنامه های Desktop و برنامه های وب ) مشاهده نمودند . ويژوال استوديو دات نت ، اولين محصول مبتنی بر دات نت ماکروسافت بوده که در سال ۲۰۰۱ در اختيار علاقه مندان قرار گرفت . اهميـت دات نت برای ماکروسافت تا بدين حد است که در سال ۲۰۰۱ ، بيش از هشتاد درصد منابع بخش تحقيق و توسعه اين شرکت در رابطه با آن صرف شده است . زبان سی شارپ ، که زبانی جديد برای برنامه نويسی در دات نت است بعنوان زبان استاندارد برای پياده سازی داخلی در شرکت ماکروسافت پذيرفته شده است .
يک پلات فرم مناسب برای آينده
دات نت، اولين پلات فرم طراحی شده از صدر تا ذيل با در نظر گرفتن واقعيتی با نام اينترنت است . دات نت از يک ماشين مجازی خاص در اين زمينه استفاده می نمايد . ماهيت ماشين مجازی فوق ، بگونه ای است که از API ويندوز فاصله و در اين رابطه از يک کتابخانه کلاس استفاده می نمايد که می توان به جرات اين ادعا را داشت که تاکنون نظير آن ، ايجاد نشده است . امکان استفاده از زبانهای متعدد برنامه نويسی ، وجود خواهد داشت .معماری دات نت ، امکان ارتباط بين زبانها را بسادگی فراهم خواهد کرد .دات نت ، يک رويکرد جديد در رابطه با پياده سازی نر م افزار را مطرح نموده است . نگاه به دات نت ، عمدتا" بصورت سيستم های توزيع شده است. با استفاده از XML ،امکان اجرای توابع بر روی کامپيوترهای متفاوت يک سازمان ويا جهان فراهم و جلوه ای زيبا در همياری بمنظور اجرای يک برنامه ، به نمايش در خواهد آمد. از اين منظر ، سيستم ها از سرويس دهندگان تا سيستم های بدون کابل ، قادر به اشتراک پلات فرم عمومی يکسانی خواهند بود . با استفاده از نسخه های دات نت که برای تمام آنها در دسترس خواهد بود، امکان ارتباط مناسب آنها با يکديگر فراهم خواهد شد. دات نت ، بمنظور طراحی و پياده سازی برنامه های سنتی نيز راهکارها و امکانات مناسبی را ارائه تا از اين طريق امکان پياده سازی و بکارگيری اين نوع از نرم افزارها ، بسادگی انجام گيرد . برخی از تکنولوژی ها ی ارائه شده در دات نت نظير فرم های ويندوز، تلاشی در اين راستا است .
ايده های اوليه
از اواخر سال ۱۹۹۵ ، شرکت ماکروسافت توجهی خاص و قابل توجه نسبت به اينترنت نمود . هدف ماکروسافت در اين زمينه پيوند بين پلات فرم ويندوز و اينترنت بود. ماحصل تلاش ماکروسافت در اين زمينه ارائه مدل برنامه نويسی Windiws DNA ، بود . در اين راستا مجموعه ای از ابزارها و تکنولوژی های مبتنی بر اينترنت ، طراحی و ارائه گرديد . ASP ، از اولين تلا ش های ماکروسافت در اين زمينه است . عملا" در اين زمينه ( مطرح شدن اسکريپت ها ی مفسری ) يک برگشت به عقب نسبت به پياده سازی ساختيافته و شی گراء را شاهد بوده ايم . طراحی ، اشکال زدائی و نگهداری چنين کدهای غير ساختيافته ای مسائل خاص خود را خواهد داشت . ساير زبانها نظير ويژوال بيسيک بصورت موفقيت آميز در رابطه با برنامه نويسی بر روی اينترنت و پلات فرم ماکروسافت استفاده می گرديد ولی اغلب از آن بمنظور ايجاد عناصری که از طريق ASP ، بخدمت گرفته می شدند ، استفاده می گرديد .در اين رابطه تلاش های اندکی نيز در جهت ايجاد يک اينترفيس مبتنی بر وب بر روی زبان های سنتی نظير webclasses در VB ، نيز انجام شد ولی هيچکدام از تلاش های فوق ، در سطح گسترده ای مورد استقبال و پذيرش قرار نگرفت . ماکروسافت در صدد حل آشفتگی های همراه برنامه های ويندوز DNA بود . ويندوز DNA ، تصويری مناسب از يک معماری Three-Tire و مبتنی بر COM بود که تکنولوژی ASP در لايه Presentation ، اشياء Bussiness در لايه ميانی و يک engine بانک اطلاعاتی رابطه ای در لايه Data ، قرار می گرفت . مفاهيم همراه DNA ،کامل و بی عيب بود اما در زمان استفاده عملياتی چالش های خاص خود را بدنبال داشت . پياده سازی عناصر COM ، مستلزم يک سطح مناسب از دانش و مهارت است و می بايست زمان زيادی در اين رابطه صرف گردد . بکارگيری نرم افزارهای DNA ، نيز مسائل خاص خود را داشت ( مسائل مربوط به ورژن ، نصب عناصر و عناصری که با آن مرتبط می باشند ) .
بموازات تلاش ساير شرکت ها در رابطه با ارائه راهکارهائی خاص بمنظور پياده سازی برنامه ها ی وب ، شرکت ماکروسافت در صدد برطرف نمودن محدوديت های مدل برنامه نويسی DNA گرديد.
تولد دات نت
در اوايل سال ۱۹۹۸ ، گروهی از پياده کنندگان نرم افزار در ماکروسافت ، کار خود را بر روی نسخه ای جديد از IIS ( نسخه چهار) ، به اتمام رساندند که دارای چندين ويژگی جديد در رابطه با ASP بود .در اين راستا ، قابليت های جديدی بمنظور پياده سازی برنامه های وب در ويندوز NT ، فراهم گرديد.گروه پياده کننده دارای ايده های متعددی برای اعمال اصلاحات جديد بودند . گروه فوق ، کار خود را بر روی يک معماری جديد برای پياده سازی ايده های مطرح شده ، آغاز نمود . اين پروژه ، NGWS)Netx Generation Window Services) ، ناميده گرديد. پس از ارائه ويژوال استوديو شش ، در اواخر سال ۱۹۹۸ ، تلاش برای ايجاد نسخه ای جديد از ويژوال استوديو در دستور 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 و جايگاه آن در فريمورک دات نت، خواهيم پرداخت .