آنچه تاکنون گفته شده است :
بخش اول : معرفی فريمورک دانت
بخش دوم : بررسی CLR
در اين بخش به بررسی کلاس های پايه فريمورک دات نت و اينترفيس های کاربر و برنامه خواهيم پرداخت .
در بخش دوم اين مقاله با اولين لايه فريمورک دات نت ( CLR ) آشنا شديم . در ادامه بر روی لايه بعد متمرکز و به بررسی امکانات ارائه شده خواهيم پرداخت . اين لايه ، کلاس های پايه فريمورک دات نت ناميده شده و مسئوليت ارائه سرويس ها و مدل های اشياء برای داده ، عمليات ورودی و خروجی ، امنيت و موارد ديگر را بر عهده دارد . نسل بعدی ADO که ADO.NET ناميده می شود در اين لايه قرار دارد . در لايه فوق ، امکانات و پتانسيل های لازم بمنظور انجام عمليات مرتبط با XML نيز ارائه شده است . پارسر و تبديل کننده XSL ، نمونه هائی از پتانسيل های موجود در اين لايه بمنظور کار با اسناد XML می باشند.
اکثر امکانات و پتانسيل های مورد نيازی که ضرورت فراگيری آنان برای هر برنامه نويس در رابطه با يک زبان برنامه نويسی وجود دارد ، به کلاس های فريمورک منتقل شده است . مثلا" تابع Sqr که در ويژوال بيسيک از آن بمنظور محاسبه جذر يک عدد استفاده می گردد در دات نت وجود نداشته و اين تابع با متد System.Math.Sqrt موجود در کلاس های فريمورک جايگزين شده است .
تمامی زبانهای سازگار با دات نت قادر به استفاده از کلاس های فريمورک می باشند . بدين ترتيب در يک زبان برنامه نويسی نظير کوبال و يا ويژوال بيسيک دات نت ، برای محاسبه جذر يک عدد از تابع مشابهی استفاده خواهد شد .رويکرد فوق ، پيوستگی و ارتباط مناسب بين زبان های متفاوت برنامه نويسی را بدنبال خواهد داشت . تمامی زبان ها به روشی مشابه از متد System.Math.Sqrt استفاده و به کد يکسانی دستيابی خواهند داشت ( اختلاف موجود صرفا" به گرامر استفاده از متد مورد نظر در زبان مربوطه ، برمی گردد) .
اکثر قابليت ها و پتانسيل موجود در کلاس های پايه فريمورک در يک namespace عظيم و با نام System ارائه شده است . namespace فوق ، شامل چندين namespace زيرمجموعه ديگر است . مثلا" Microsoft.VisualBasic شامل Runtime ويژوال بيسيک و کلاس ها ئی بمنظور ترجمه و توليد کد مورد نظر برای برنامه های نوشته شده به زبان ويژوال بيسيک دات نت است .
اينترفيس های کاربر و برنامه
در بالاترين لايه ، دات نت روش هائی را بمنظور تفسير و مديريت رابط های کاربر ( فرم های ويندوز ، فرم های وب ، برنامه های کنسول ) و اينترفيس مورد نيازعناصر از راه دور ( سرويس های وب ) ، ارائه می نمايد .
اينترفيس کاربر : فرم های ويندوز
فرم های ويندوز ( به آنان WinForms هم می گويند ) روشی پيشرفته ويکپارچه بمنظور ايجاد برنامه های Desktop استناندارد سی و دو بيتی را ارائه می نمايند. تمامی زبان ها ی سازگار با دات نت ، قادر به استفاده از پتانسيل فرم های ويندوز در مقابل روش هائی که در حال حاضر استفاده می نمايند ، خواهند بود ( MFC و يا Win32API در ++C و يا موتور VB Forms در ويژوال بيسيک ) . فرم های ويندوز ، مجموعه ای قدرتمند و يکپارجه از کنترل ها و توابع عملياتی را برای تمامی زبانها ارائه و بعنوان بخشی از کلاس های فريمورک در namespace با نام System.WinForms ،ارائه شده است . بدين ترتيب امکان استفاده از فرم های ويندوز توسط تمامی زبان های مبتنی بر دات نت وجود خواهد داشت . با استفاده از Drag & Drop Designer فرم های ويندوز ، می توان اقدام به ايجاد ويژوال فرم های مورد نظر بمنظور استفاده در هر زبان برنامه نويسی نمود.
در ويندوز DNA ، تعداد زيادی از برنامه های داخلی سازمان ها و موسسات مبتنی بر مرورگر بودند ، چراکه هزينه نصب و نگهداری يک برنامه سرويس گيرنده بر روی صدها و يا هزاران ايستگاه بسيار قابل تامل بود . فرم های ويندوز و فريمورک دات نت دارای پتانسيل لازم بمنظور بهينه سازی اقتصادی ( مقرون بصرفه ) نصب و نگهداری يک برنامه سرويس گيرنده با توانائی اجراء بر روی هزاران ايستگاه می باشند . يک برنامه مبتنی بر فرم های ويندوز ،نسبت به برنامه سرويس گيرنده ای که با ويژوال بيسيک نوشته شده باشد ، بسادگی نصب و بهنگام خواهد شد . با استفاده از دستوری نظير : XCOPY ، امکان بکارگيری برنامه بسادگی و بسرعت فراهم و در اين رابطه نيازی به ريجستر نمودن عناصری وجود نخواهد داشت . نصب و بهنگام سازی اينچنين برنامه هائی بمراتب ساده تر از وضعيتی است که قبلا" شاهد آن بوده ايم.بدين ترتيب طراحی و پياده سازی برنامه هائی که نيازمند يک رابط کاربر قدرتمند برای تعداد زيادی از کاربران می باشند ، با استفاده از دات نت بخوبی محقق و عملی خواهد شد ( نسبت به ويندوز DNA ) .
اينترفيس کاربر : فرم های وب
فرم های وب ،يکی از بخش های مهم ASP.NET محسوب و رابط کاربر مبتنی بر يک مرورگر وب را ارائه می نمايند. فرم های وب، نسل جديدی از پياده سازی اينترفيس های مبتنی بر وب را ارائه می نمايند ( جداسازی لی اوت از منطق). فرم های وب شامل دو بخش مجزاء می باشند : يک تمپليت که شامل اطلاعات لی اوت مبتنی بر HTML برای تمامی عناصر رابط کاربر و بخش دوم که شامل تمامی منطق لازم برای ارتباط با رابط کاربر است . بدين ترتيب ، اطلاعات مربوط به کنترل ها بهمراه خصايص و لی اوت مربوطه در يک بخش و کدهای مربوطه در بخش ديگر مستقر خواهند شد. کدها ی نوشته شده رفتار کنترل ها را نظارت و در صورت بروز يک رويداد ، روتين های مربوطه فعال خواهند شد .
فرم های وب دارای امکانات متعددی می باشند . کنترل های موجود بر روی فرم های وب بر روی سرويس دهنده اجراء ولی حضور آنان بمنزله سرويس گيرنده خواهد بود .بدين ترتيب امکانات و شرايط مطلوبی برای ايجاد اينترفيس های قدرتمند فراهم که شباهت زيادی به اينترفيس های Win32 استفاده شده در برنامه های Desktop خواهند داشت . اينترفيس های وب ، دارای هوشمندی لازم بمنظور ارتباط با مرورگرهای متفاوت می باشند ( بهينه سازی خروجی برای هر يک از مرورگرهای خاص ) . امکان استفاده از فرم های وب ، برای تمامی زبان ها ی سازگار با دات نت وجود خواهد داشت . اين بدان معنی است که می توان کدهای لازم ( منطق ) برای ارتباط با بخش ويژوال يک فرم را با استفاده از هر يک از زبان های حمايت شده نوشت . بدين ترتيب ، امکان طراحی و پياده سازی اينترفيس های وب انعطاف پذيری فراهم که می توان از آنان در مجموعه گسترده ای از زبان ها ، استفاده بعمل آورد.
کنترل های سرويس دهنده
پياده کنندگان ويژوال بيسيک با ايده کنترل ها ، آشنائی لازم را دارند . کنترل ها ، عناصر رابط کاربر با قابليت استفاده مجددی می باشند که بمنظور ايجاد يک فرم از آنان استفاده می گردد . اين نوع کنترل ها در فرم های وب ، کنترل های سمت سرويس دهنده ، ناميده می شود. کنترل های سمت سرويس دهنده، در حقيقت يک پروکسی را بر روی سرويس دهنده برای يک عنصر رابط کاربر که بر روی يک فرم وب و يا يک صفحه ASP است ، ايجاد می نمايند. کنترل های سمت سرويس دهنده ، با منطق محلی در صورت ضرورت ارتباط و در ادامه هوشمندانه رابط کاربر خود را بعنوان HTML تفسير و در صورت ضرورت خروجی مورد نظر را برای هر صفحه حاوی کنترل های سمت سرويس دهنده ، ارسال می نمايند .
کنترل ها ی سمت سرويس دهنده ، بمنظور تفسير HTML برای طيف متنوعی از مرورگرها و هماهنگی با رويدادها ئی که بر روی صفحه درحال اجراء بر روی سرويس گيرنده محقق می گردند ، می بايست از هوشمندی مناسبی برخوردار باشد . با استفاده از مجموعه ای گسترده از کنترل های ارائه شده بهمراه ويژوال استوديو دات نت ، می توان اينترفيس های مبتنی بر وبی را ايجاد که شباهت بسيار زيادی به اينترفيس های Win32 خواهند داشت . يکی از مهمترين ويژگی های مهم و در عين حال جالب کنترل های سمت سرويس دهنده ، توانائی آنان در ارتباط با مديريت وضعيت خود است . بمنظور مديريت وضعيت يک صفحه ، ضرورتی به نوشتن کدهای خاصی در ASP.NET وجود نخواهد داشت .
اينترفيس کاربر : برنامه های کنسول
با اينکه مايکروسافت بر نوشتن برنامه های مبتنی بر کاراکتر ، تاکيد خاصی نمی نمايد ،ولی بهمراه فريمورک دات نت امکانات لازم بمنظور طراحی و پياده سازی اين نوع برنامه ها پيش بينی شده است (اينترفيس لازم) . همانند فرم های وب و ويندوز ، اينترفيس کنسول برای تمامی زبانهای سازگار با دات نت در دسترس خواهد بود. نوشتن برنامه های مبتنی بر کاراکتر در نسخه قبلی ويژوال بيسيک ، دارای چالش های خاص خود بود . با استفاده از پتانسيل های ارائه شده همراه دات نت می توان برنامه های کنسول واقعی را پياده سازی نمود.
اينترفيس های برنامه : سرويس های وب
طراحی و پياده سازی برنامه های کامپيوتر، بسمت نسل جديدی از برنامه های غير متمرکز در حال تغيير و تحول است . در ساليان گذشته ، اغلب برنامه ها سرويس های اساسی و مورد نياز خود را از طريق سيستم عامل مربوطه ، دريافت می کردند ( نظير سيستم فايل ) . در ادامه ، قابليت استفاده از توان و پتانسيل موجود در هر نرم افزار برای ساير نرم افزارها فراهم و بدين ترتيب امکان بهره گيری و ارتباط با عناصر نوشته شده فراهم گرديد . تمامی تلاش های انجام شده بر اين واقعيت استوار بود که با بکارگيری پتانسيل ها ی ارائه شده ، توان عملياتی يک نرم افزار افزايش يابد و کمتر به نياز فوق بصورت بنيادی و ريشه ای نگاه می گرديد . در اين رابطه می بايست فونداسيون لازم بمنظور ارتباط بين برنامه ها فراهم و تمامی برنامه ها با اتکاء به زيرساخت ايجاد شده از خدمات يکديگر در جهت ارائه بهينه خدمات خود استفاده نمايند. سرويس های وب ، رويکرد جديدی در اين زمينه می باشند. در سرويس وب ، قابليت های نرم افزار بعنوان يک سرويس عرضه می شود . با استفاده از سرويس های وب ، طراحان و پياده کنندگان می توانند با ترکيب و بکارگيری منابع محلی و از راه دور ، يک سيستم توزيعی و پيوسته را ايجاد نمايند .
در دات نت ، سرويس های وب بعنوان بخشی از ASP.NET پياده سازی می گردند( ASP.NET ، مسئول ارائه تمامی اينترفيس های وب است ) . بدين ترتيب امکان گفتگوی برنامه ها با يکديگر و از طريق وب فراهم می گردد(استفاده از SOAP ) . پياده کنندگان در اين رابطه با انجام عملياتی مختصر ، قادر به استفاده از سرويس های وب خواهند بود.آنان می بايست به عضوی از سرويس وب شده و فريمورک دات نت ساير مسائل موجود را دنبال و مديريت خواهد کرد . رويکرد فوق، تغيير معماری برنامه های وب را بدنبال داشته و امکان ارتباط سرويس های وب با يکديگر و بر روی بستر وب ، ميسر خواهد شد . سرويس های وب دارای نقش و جايگاهی بسيار مهم در توليد نسل جديدی از برنامه های مبتنی بر وب می باشند . سرويس های وب، گزينه ای مناسب برای جايگزين شدن با برخی از پکيج های نرم افزاری خواهند بود.
اهميت XML در دات نت
اکثر پتانسيل های ارائه شده بمنظور ارتباط بين هر يک از اجزاء دات نت ، با استفاده از XML ميسر می گردد . مثلا" سرويس های وب ، کاملا" وابسته به XML برای ارتباط با اشياء از راه دور می باشند. ADO.NET ارتباط تنگاتنگی با XML برای ارائه راه دور داده دارد .زمانيکه ADO.NET يک Dataset را ايجاد می نمايد ( يک ساختار بمراتب پيچيده تر نسبت به نسخه قبلی Recordset ) ، داده بمنظور پردازش آتی توسط ADO.NET به XML تبديل و پس از اعمال تغييرات بر روی XML ، مجددا" داده بمنظور ذخيره سازی برای مکان مورد نظر ارسال خواهد شد .با استفاده از XML در حوزه های متفاوتی از دات نت ، امکان ارتباط و يکپارچگی بين عناصر مورد نظر چندين برابر می گردد. XML در دات نت دارای جايگاهی خاص و مهم بوده و می توان آن را بمنزله پتانسيلی در نظر گرفت که تمامی عناصر مورد نظر را بيکديگر مرتبط می نمايد .