فريمورک دات نت ماکروسافت ، تحولات عمده اي را دررابطه با ايجاد و اجراي برنامه هاي مبتني بر وب ايجاد نموده است . ASP.NET يکي از تکنولوژي هاي متعددي است که بهمراه فريمورک دات نت ، ارائه شده است . در اين مقاله با مفاهيم اوليه فريمورک دات نت ، آشنا مي شويم .
فريمورک دات نت
دات نت ، يک مدل پياده سازي نرم افزار است که توسط ماکروسافت ارائه و مهمترين دستاورد آن ، پياده سازي نرم افزارهاي مستقل از پلات فرم و نوع دستگاه ، با قابليت دستيابي به داده ها از طريق اينترنت ، مي باشد . فريمورک دات نت ، زير ساخت دات نت را ايجاد مي نمايد.
دات نت پلات فرم چيست ؟
دات نت بر اساس يک معماري "باز" ، شکل يافته و پلات فرمي است که مي تواند براي ايجاد و اجراي نسل جديدي از برنامه هاي وب و ويندوز استفاده گردد . هدف از پلات فرم دات نت ، تسهيل در پياده سازي نرم افزارهاي وب بوده و از تکنولوژي هاي اساسي زير تشکيل شده است :
• فريمورک دات نت
• سرويس دهندگان دات نت
• سرويس هاي لازم بمنظور ايجاد بلاک
• ويژوال استوديو دات نت
در پلات فرم دات نت ، سرويس گيرندگان ، سرويس دهندگان و سرويس ها ، داراي جايگاهي مهم بوده و مي توان به موارد زير در رابطه با آن اشاره داشت :
• يک مدل برنامه نويسي است که امکان پياده سازي سرويس هاي وب XML و برنامه ها را در اختيار پياده کنندگان نرم افزار قرار مي دهد .
• مجموعه اي از سرويس هاي ايجاد بلاک که متکي بر مجموعه اي از سرويس هاي وب بوده و باعث انتقال کنترل داده کاربر از برنامه ها براي کاربران مي شوند.مثلا" Passport ماکروسافت ، يک عنصر اساسي از دات نت بوده که امکان يکپارچگي برنامه ها را بسادگي فراهم مي نمايد .
• مجموعه اي از سرويس دهندگان نظير ويندوز 2000 ، SQL Server ، سرويس دهنده Biztalk که باعث ارتباط ، اجراء ، انجام عمليات و مديريت سرويس هاي وب XML و برنامه ها مي گردد .
• نرم افزار سرويس گيرنده ، نظير ويندوز XP ، که به پِياده کنندگان کمک مي نمايد تجارب مفيد و جامع خود را به مجموعه اي از دستگاهها، تعميم نمايند.
• ابزارهائي نظير ويژوال استوديو دات نت ، که مي توان از آنان بمنظور پياده سازي سرويس هاي وب ، برنامه هاي ويندوز و وب استفاده کرد .
فريمورک دات نت چيست ؟
فريمورک دات نت ، فونداسيون لازم بمنظور ايجاد و اجراي برنامه ها و سرويس هاي وب XML را ارائه مي نمايد. ماهيت يکسان ( يکدست ) فريمورک دات نت ، امکان ارتباط تمامي برنامه ها( برنامه هاي ويندوز ، وب ، سرويس هاي وب XML ) را از طريق يک مجموعه از ابزارها و کدهاي نوشته ، فراهم مي نمايد. فريمورک دات نت شامل موارد زير است :
• CLR)Common Language Runtime) يا همان Runtime .
Runtime ، مسئوليت رسيدگي به سرويس ها را برعهده داشته و شامل يکپارچگي زبانها ، امنيت و مديريت حافظه است . در زمان پياده سازي ، Runtime ويژگي هاي لازم و مورد نيازرا با هدف تسهيل در پياده سازي، ارائه مي نمايد .
• کتابخانه هاي کلاس (Class - Libraries )
کنابخانه هاي کلاس ، امکان استفاده مجدد از کدها براي اکثر عمليات متداول نظير دستيابي به داده ها ، پياده سازي سرويس هاي وب XML ، فرم هاي وب و يا ويندوز را فراهم مي نمايد .
دات نت باعث حل چه مشکلاتي شده است ؟
فريمورک دات نت ، باعث برطرف شدن مسائل و محدوديت هاي متعدد در رابطه با پياده سازي برنامه هاي وب از منظر پياده کنددگان نرم افزار شده است .در اين راستا ، به پتانسيل هاي اينترنت بمنظور برخورد با مسائل و محدوديت هاي موجود ، بخوبي توجه شده است .با ابداع يک شبکه بزرگ ( اينترنت ) بمنظور اشتراک اطلاعات ، صرفا" برنامه هاي بسيار اندکي قادر به اجراء و فعاليت بر روي بيش از يک سرويس گيرنده بوده و تعامل اطلاعاتي بين برنامه ها نيز وضعيتي مشابه داشت .محدوديت هاي فوق ، باعث بروز دو مسئله مهم در رابطه با پياده سازي نرم افزار مي گردد که مي بايست بدرستي با آنان برخورد گردد:
• پياده کنندگان ، مجبور به پياده سازي نرم افزارهاي خود در يک ميدان محدود مي باشند .
• پياده کنندگان ، زمان زيادي را بمظور نوشتن برنامه ها بمنظور کار با پلات فرم و سرويس گيرنده گان متفاوت ، صرف مي نمايند ( اين زمان مي بايست صرف آفرينش برنامه هاي جديد گردد).
فريمورک دات نت ، با ارائه يک Runtim که مستقل از نوع زبان و پلات فرم است ، بر محدوديت هاي فوق غلبه نموده است.Runtime فوق، مستقل از زبان و پلات فرم بوده واز استانداردهاي XML ، بمنظور نيل به اهداف مورد نظر خود استفاده مي نمايد. با توجه به عدم وابستگي دات نت به يک زبان خاص ، پياده کنندگان نرم افزار مي توانند از گزينه هاي متعددي در اين زمينه استفاده نمايند. امکان اجراي برنامه هاي توليد شده ، بر روي سرويس گيرندگاني که دات نت را حمايت مي نمايند ، وجود خواهد داشت .Runtime ،اغلب زيرساخت هاي برنامه ها را کنترل مي نمايد ، بنابراين پياده کنندگان ، ضرورتي به صرف زمان لازم بمنظور ايجاد زيرساخت هاي مورد نيار خود نداشته و در مقابل مي توانند زمان خود را صرف تمرکز بر روي منطق برنامه ها ، نمايند .
سرويس هاي وب XML ، از XML بمنظور ارسال داده استفاده مي نمايند . بدين ترتيب ، سرويس گيرندگاني که داراي پتانسيل لازم در اين خصوص مي باشند ، قادر به دريافت داده هاي مبتني بر XML ، خواهند بود. XML ، استانداردي فراگير و مورد پذيرش تمامي محيط هاي پياده سازي است. اغلب سرويس گيرندگان مدرن، نظير سيستم هاي عامل کامپيوتر ، تلفن هاي سلولي ، دستگاههاي PDA ، کنسول هاي بازي ، قادر به دريافت داده هاي مبتني بر XML ، مي باشند .
اجزاي فريمورک دات نت
فريمورک دات نت ، فونداسيون لازم بمنظور ايجاد برنامه هاي مبتني بر دات نت را در زمان ترجمه و اجراء ، فراهم و داراي عناصر متفاوتي بمنظور اجراي برنامه هاي مبتني بر دات نت است :
• زيربناء پلات فرم . فريمورک دات نت، مي بايست بر روي يک سيستم عامل اجراء گردد . در حال حاضر، امکان اجراي فريمورک دات نت بر روي سيستم هاي عامل 32 بيتي ويندوز نظير 2000 , XP ، وجود دارد. در آينده ، امکان اجراي فريمورک دات نت بر روي ساير پلات فرم ها نيز ميسر خواهد شد .
• سرويس هاي کاربردي و خدماتي . زمانيکه برنامه هاي کاربردي نظير Component Server,Message Queuing ,IIS ، بر روي ويندوز 2000 ، اجراء مي گردند امکان استفاده از آنان براي پياده کنندگان وجود خواهد داشت . فريمورک دات نت ، برنامه هاي فوق را از طريق کلاس هاي موجود در کتابخانه کلاس دات نت ، تحت تاثير موثر خود قرار خواهد داد .
• Net Class library . کتابخانه کلاس فريمورک دات نت ، زمينه استفاده از امکانات و ويژگي هاي Runtime را فراهم و باعث تسهيل در پياده سازي برنامه هاي مبتني بر دات نت مي گردد . در اين راستا ، پياده کنندگان مي توانند با ايجاد توابعي از کلاس هاي موردنظر خود ، کلاس ها را توسعه نمايند .کتابخانه هاي کلاس فريمورک دات نت ، فريمورک دات نت را پياده سازي مي نمايد . تمامي برنامه ها ( برنامه هاي وب ، ويندوز و سرويس هاي وب XML ) از کتابخانه کلاس هاي فريمورک دات نت يکسان استفاده نموده که در namespace نگهداري مي گردند. تمامي زبانهاي مبتني بر دات نت نيز به کتابخانه يکساني دستيابي دارند .
• CLR)Common Language Runtime ) . تکنولوژي CLR ، باعث تسهيل در پياده سازي برنامه ها از طريق ارائه يک محيط اجرائي ايمن ، حمايت از چندين زبان و تسهيل در بکارگيري برنامه ها مي گردد . محيط CLR ، همچنين بعنوان يک محيط مديريت يافته ، عمليات و سرويس هاي خاصي نظير Garbage Collection و امنيت را بصورت اتوماتيک، انجام خواهد داد .
• ADO.NET . تکنولوژي ADO.NET ، نسل جديدي از تکنولوژي ADO بوده و امکانات حمايتي لازم در رابطه با مدل برنامه نويسي غيرمتصل را ارائه مي نمايد. تکنولوژي فوق ، امکانات حمايتي متعددي را نيز در رابطه با XML ، ارائه مي نمايد .
• ASP.NET . تکنولوژي ASP.NET ، يک چارچوب برنامه نويسي است که بر اساس CLR ، ايجاد مي گردد . ASP.NET مي تواند بر روي يک سرويس دهنده استفاده و بکمک آن مي توان برنامه هاي مبتني بر وب قدرتمندي را ايجاد کرد . فرم هاي وب ASP.NET ، يک روش ساده و درعين حال قدرتمند بمنظور ايجاد رابط هاي کاربر پويا مي باشد .
• سرويس هاي وب XML . سرويس هاي وب XML ، عناصر مبتني بر وبي بوده که قادر به اشتراک برنامه ها در اينترنت و يا اينترانت مي باشند . فريمورک دات نت، ابزارها و کلاس هاي لازم براي ايجاد ، تست و توزيع سرويس هاي وب XML را ارائه مي نمايد.
• User Interfacses . فريمورک دات نت سه نوع UI را حمايت مي نمايد:
فرم هاي وب که بهمراه ASP.NET و HTTP کار مي نمايند .
فرم هاي ويندوز که بر روي کامپيوتر هاي سرويس گيرنده Win32 اجراء مي شوند .
کنسول دستور ( خط دستور )
• زبان ها ، هر زباني که استانداردهاي CLS)Common Language Specification ) را رعايت نمايد ، قادر به اجراء توسط CLR خواهد بود. در فريمورک دات نت ، ماکروسافت حمايت هاي لازم در رابطه با زبانهائي نظير VB.NET , Visual C++ ,VB.NET , C#,Jscript.NET را ارائه نموده است .
مزاياي استفاده از فريمورک دات نت
در آغاز پياده سازي برنامه هاي مبتني بر ويندوز ، تمامي برنامه هاي نوشته شده بمنظور استفاده از API ، از C و يا ++C استفاده مي کردند . با مطرح شدن ويژوال بيسيک و سپس اينترنت ، پياده کنندگان مجبور به سفارشي نمودن ( پياده سازي نسخه هائي خاص ) برنامه هاي C++ ، C، .برنامه هاي ويژوال بيسيک و يا ASP بودند .با استفاده از فريمورک دات نت ، مي توان با اتکاء به مهارت هاي موجود ، اقدام به آفرينش هر نوع نرم افزاري کرد . انتخاب فريمورک دات نت بمنظور پياده سازي برنامه ها ، مزاياي زير را بدنبال خواهد داشت :
• مبتني بر استانداردهاي وب . فريمورک دات نت، بطور کامل تکنولوژي هاي موجود در اينترنت نظير : HTML , HTTP,SOAP,XSLT,XPath و ساير استانداردها را حمايت مي نمايد.
• طراحي مبتني بر يک مدل يکسان . از پتانسيل هاي يک کلاس دات نت ، مي توان در هر يک از زبانهاي حمايت شده در دات نت و يا مدل برنامه نويسي ، بخوبي استفاده کرد . بنابراين مي توان ، بخش هائي از کدهاي نوشته شده را در برنامه هاي متعدد استفاده کرد (برنامه هاي ويندوز، وب ، سرويس هاي وب XML ) .
• پياده کنندگان بسادگي قادر به استفاده از آن مي باشند. در فريمورک دات نت ، کد ، بصورت Namespace هاي سلسله مراتبي و کلاس ها ، سازماندهي مي گردد . فريمورک دات نت يک Common Type System)CTS) را بعنوان سيستم نوع يکسان ، ارائه نموده که توسط هر زبان سازگاز با دات نت، قابل استفاده خواهد بود .در سيستم فوق ، تمامي عناصر زبانها بصورت شي مي باشند. اين اشياء قادر به استفاده توسط هر برنامه مبتني بر دات نت و نوشته شده توسط هر زبان مبتني بر دا ت نت ، خواهند بود .
• کلاس هاي توسعه پذير . ماهيت سلسله مراتبي فريمورک دات نت، براي پياده کنندگان مخفي نخواهد بود .در اين راستا مي توان به کلا س ها دستيابي و آنها را توسعه داد( مگر اينکه آنها حفاظت شده باشند ). در اين زمينه امکان پياده سازي توارث از نوع Cross - Language ، نيز وجود خواهد داشت .