پایان نامه
دریافت درجه کاردانی
در رشته فناوری اطلاعات و ارتباطات (I t )
فصل اول: ابزارهای برنامه نویسی
به چه دلیل از دات نت استفاده می کنیم؟
به طور معمول نسل های جدید زبان های برنامه نویسی به این دلیل متولد می شوند که زبان های قدیمی تر دارای امکانات محدود بودند و یا قدرت استفاده از تکنولوژی های فعلی را به صورت مطلوب و ساده ندارند. مهمترین نیازی که به عنوان آخرین تکنولوژی وجود دارد، برنامه نویسی در محیط اینترنت است. اینترنت در مدت تقریبا ۸ سال جای خود را به عنوان یکی از مهمترین وسایل ارتباطی برای کارهای روزمره و تجارت باز کرده است. سیستم های برنامه نویسی قدیمی تر امکان برنامه نویسی برای اینترنت را فراهم کرده بودند اما هر کدام دارای اشکالات بزرگی هستند، برای مثال تکنولوژی COM اولین بار در ویندوز به کار گرفته شد. در سال 1970 نیز سیستم هایی برای Unix نوشته شده بودند، جاوا نیز در اصل برای ابزارهای الکترونیکی بود و نه برای اینترنت.
سپس برای اولین بار یک سیستم جامع برای برنامه نویسی تحت اینترنت ایجاد شد. این سیستم -NET. از مراحل سطح پایین که به زبان ماشین می باشد تا بالاترین سطح که برنامه نویسی ویژوال آن می باشد برای استفاده در اینترنت طراحی شده است. البتهNET. فقط برای اینترنت نیست و با استفاده از آن می توان برنامه های کامل تحت Client نیز ایجاد کرد، اما بزرگترین مزیت آن دربرابر سیستم های دیگر امکانات اینترنت آن است.
برای اینکه مزایای استفاده ازNET. را بهتر متوجه بشویم بهتر است در ابتدا معایب سیستم های پیشین را ذکر کنیم. شرکت مایکروسافت تا قبل از سال 1995 به برنامه نویسی در محیط های Client و Server می پرداخت، اما از آن سال به بعد توجه بیشتری به مساله برنامه نویسی در اینترنت کرد. مایکروسافت COM و +COM را ایجاد کرد و آنها را در ویژوال استودیوی 6 به کار گرفت. در سال 1999 حدود ۵۰ در صد از بزرگترین سایتهای تجارت الکترونیکی از محصولات مایکروسافت استفاده می کردند. اما هنوز هم مشکلات بزرگی در سیستم های مایکروسافت وجود داشت که یکی از آنها دشواری نوشتن برنامه در اینترنت با محصولات مایکروسافت بود. شرکت مایکروسافت برای راحتی کار برنامه نویس ها ASP یا Active Server Page را ایجاد کرد. با اینکه این یک قدم بزرگ بود و کارها را بسیار ساده کرد ولی هنوز از برنامه نویسی شی گرا پشتیبانی نمی کرد. همچنین در ویژوال استودیوی 6 قسمتی برای Internet Application ایجاد شده بود و در آنها امکان ساختن Web Class وجود داشت ولی هیچ وقت به عنوان یک ابزار کار آمد برای برنامه نویسی وب درنظر گرفته نشد.
مدل برنامه نویسی DNA
مایکروسافت یک مدل برنامه نویسی به نام Distributed interNet Application دارد که بر پایه برنامه نویسی n-tier و COM بنا نهاده شده است. مدل DNA از سه بخش اساسی تشکیل شده است.
بخش اول به نام Presentation tire معروف است. در این بخش رابط تصویری کاربر وجود دارد و خود نیز به دو نوع Internet Browser و Win 32 GUI تقسیم می شود که هر کدام مشکلات خاص خود را دارند. در مدلی که از Win32 GUI یا همان نرم افزارهای معمولی استفاده می شود دو مشکل بزرگ وجود دارد ؛ دشواری بروز رسانی نرم افزار و دیگری DLL Hell که در ادامه توضیح داده خواهد شد. در نوع دوم مشکلاتی از قبیل نبود امکانات برنامه نویسی کافی در محیط مرورگر، نبود رابط قوی با کاربر، نبودن مرورگر های یکسان و... وجود دارد. همچنین همیشه یک اتصال به اینترنت یا اینترانت لازم است. در این نوع از برنامه نویسی می توان از Java Applet ها یا ActiveX استفاده کرد ولی مرورگر باید امکان استفاده از آن را داشته باشد، مخصوصا ً هنگام استفاده از ActiveX که باید فقط از IE استفاده کرد.
بخش دوم که Middle tier نام دارد، مکانی است که اطلاعات و قوانین تجاری در آن وجود دارد. منظور از قوانین ، متد ها و اجزائی هستند که اعمال کاربران را کنترل می کنند. مهمترین و آسان ترین زبان برای نوشتن این اجزا از DNA ویژوال بیسیک است. برنامه نویسی که بخواهد در این رده برنامه بنویسد باید آشنایی کاملی با COM و پروتکل های رایج داشته، همچنین باید مهارت کافی در استفاده از ADO و ADSI داشته باشد. مشخص است که یک اشتباه در این لایه باعث بروز خطا و نقص در کل سیستم می شود.
بخش سوم یا Data tier مکانی است که اطلاعات سازمان در آن ذخیره می شود. معمولا ً در این قسمت از بانکهای پیشرفته رابطه ای مانند SQL Server و Oracle استفاده می کنند.
محدودیت های COM
همانطور که دیدید مهمترین قسمت در DNA همان COM است که در جای جای آن استفاده می شود. در اینجا برخی معایب COM ذکر می شود : ( در ابتدای متن ذکر شد که برای درک نیاز بهNET. باید ابتدا معایب سیستم های قدیمی را بشناسیم ) DLL Hell: اگر کوچکترین تغییری در یک COM ایجاد شود، دیگر برنامه هایی که از ورژن قبلی استفاده می کردند قادر به فعال ساختن نسخه جدید نیستند. هنگامی که در ویندوز، یک COM نصب شود برایش در رجیستری یک GUID ثبت می شود که اطلاعات آن COM را در خود ذخیره می کند. اگر یک برنامه از نسخه اول یک COM استفاده کند و بعد از مدتی شما تغییراتی در نسخه اول بدهید و بخواهید آن را دوباره در سیستم نصب کنید ویندوز به شما پیغام خطا می دهد چون ورژن آن تکراری است، اگر هم آن را به ورژن دوم ارتقا دهید نرم افزار قبلی هنوز به دنبال نسخه اول می گردد. این امر باعث می شود که شما مجبور شوید یکبار دیگر کل برنامه را کامپایل کرده و در کامپیوترتان نصب کنید.
کمبود در وراثت: در نسخه های COM که در حال حاضرهستند چیزی به نام وراثتی که در ++C وجود دارد نمی باشد، بلکه وراثت تنها در واسط یک COM می باشد، استفاده از آن هم چندان کمکی به برنامه نویسی نمی کند.
برخی محدودیت های برنامه نویسی اینترنتی در مدل DNA
۱- وجود دو محیط برنامه نویسی برای اینترنت و Client
نقصان در نوشتن برنامه هایی با رابط گرافیکی خوب که در اینترنت کار می کردند کاملا ً مشهود است، نمونه بارز آن اختلاف در برنامه نویسی در ویژوال بیسیک و ASP است. ویژوال بیسیک با رابط گرافیکی کاملا ً سطح بالا و ASP تقریبا ً رابط گرافیکی ندارد. همین امر باعث می شد که یک برنامه نویس مجبور باشد طیف وسیعی از تکنیک ها و زبان ها را فرابگیرد تا بتواند برنامه ساده ای در اینترنت بنویسد.
۲- نبودن حالت های ذخیره اطلاعات رابط گرافیکی در صفحه های اینترنتی
نمونه این حالت زمانی است که در یک textbox متنی وجود داشته باشد. در برنامه های Win32 GUI متن داخل textbox تا زمانی که کاربر یا برنامه آن را تغییر نداده بر جای خود وجود دارد. اما در محیط اینترنت و نوع ASP با هر بار refresh کردن صفحه کل اطلاعات ازبین می رود. البته این مشکل با استفاده از شئ های Request و Response تقریبا ً قابل حل است ولی احتیاج به برنامه نویسی برای هر تکه از صفحهASPدارد
۳- نداشتن Event Handler در محیط برنامه نویسی اینترنت
یکی از مهمترین ابزاری که در برنامه نویسی Win32 GUI وجود دارد استفاده از Event ها است. با تکنولوژی که در حال حاضر وجود دارد تنها راه رسیدن به این مهم استفاده از ActiveX است که به علت مسایل امنیتی در بیش از ۹۵ در صد مواقع توسط کاربر استفاده از آن رد می شود.
معایب استفاده از API
API ها توابعی هستند که از ویندوز نسخه 1 تا امروز در برنامه نویسی کاربرد داشته و دارند. مهمترین کاری که این توابع انجام می دهند انجام کارهای سخت و سطح پایین سیستمی است که احتیاج به برنامه نویسی زیادی دارند و یا حتی امکان ایجاد آن با زبان هایی مثل ویژوال بیسیک نیست. اما هر API از هر نسخه ویندوز تا نسخه دیگر آن می تواند دچار تغییرات بشود. برای مثال برنامه ای که در ویندوز 98 نوشته شده باشد می تواند در ویندوز 95 اجرا نشود. همچنین هم اکنون ابزارهای جدیدی به بازار آمده است که برای آنها نیز می توان برنامه نویسی کرد، مانند تلفن های سیار، کیوسک تلفن، دستگاه های کامپیوتری جیبی و غیره. در این نوع دستگاه ها دیگر ویندوز به مفهومی که در حال حاضر وجود دارد قابل اجرا نیست و در نتیجه API هم وجود ندارد. لازم به ذکر است که ویندوز CE برای دستگاه های مذکور می باشد ولی قابلیت های آن با ویندوزهای دیگر تفاوت زیادی دارد.
آشنائی با ASP.NET
NET نسل بعدی Active Server Pages یا ASP است که توسط شرکت میکروسافت ارائه شده است. این محصول توسط میکروسافت بعنوان شاخص اصلی فناوری در ساخت سایتهای وب در نظر گرفته شده است. با استفاده از ASP.NET می توان هم اینترانت کوچک یک شرکت را ساخت و هم یک سایت وب تجاری خیلی بزرگ را طراحی و پیاده سازی نمود. مهمترین نکاتی که در طراحی این محصول در نظر گرفته شده است راحتی استفاده و بالا بودن کارائی و قابلیت آن می باشد. در زیر برخی ویژگیهای ASP.NET را بررسی می کنیم.
• صفحات ASP.NET کامپایل می شوند.
هنگامی که یک صفحه ASP.NET برای اولین بارتوسط یک مراجعه کننده به سایت فراخوانی می شود، آن صفحه ابتدا کامپایل شده و بر روی سرور نگهداشته می شود و در فراخوانی های بعدی از آن استفاده می شود. این بدین معنی است که صفحات ASP.NET خیلی سریع اجرا می شوند. صفحات ASP.NET با ابزارهای روی سرور ساخته می شوند.
با ابزارهای موجود در ASP.NET می توان صفحات پیچیده وب را براحتی طراحی نمود. بعنوان مثال با استفاده از ابزار DataGrid می توان به آسانی داده های موجود در یک بانک اطلاعاتی را تحت وب نمایش داد. مجموعهASP.NET عضوی از بدنه NET. است.
بدنه NET. دارای بیش از ۴۵۰۰ کلاس آماده جهت استفاده در ASP.NET است. این کلاس ها تقریبا هر نیازی را در برنامه نویسی برآورده می کنند. بعنوان مثال از این کلاس ها می توان جهت تولید تصاویر بر حسب تقاضا، به رمز درآوردن یک فایل و یا ارسال یک نامه استفاده کرد.
فرق ASP.NET و ASP
ASP.NET نسل بعدی ASP یا ASP کلاسیک است. اما این یک پیشرفت تکاملی است بطوریکه این دو فناوری تقریبا از یکدیگر متفاوتند. صفحات ASP با زبان های دستورالعمل نویسی مانند VBScript یا JScript ایجاد می شوند اما در ASP.NET ما یک فرایند کامل برنامه نویسی با زبانهای Visual Basic یا #C (سی-شارپ تلفظ شود) داریم. همچنین در ASP کلاسیک تنها پنج کلاس استاندارد (Request, Response, Application Session, Server) وجود دارد حال آنکه در ASP.NET می توان از بیش از ۴۵۰۰ کلاس استاندارد موجود در بدنه NET. بهره جست.همچنین علیرغم قدرت و امکانات زیاد و متعدد ASP.NET، استفاده از آن در مقایسه با ASP کلاسیک بسیار آسانتر است. بعنوان مثال با استفاده از چند ابزار در یک صفحه ASP.NET می توان یک صفحه بسیار پیچیده HTML بدست آورد که ساخت آن در ASP کلاسیک ممکن است نیاز به چند روز کار داشته باشد.
زبانهای برنامه نویسی در ASP.NET
شما در ASP.NET می توانید از هر زبان برنامه نویسی که با بدنه NET. سازگار باشد استفاده کنید. این زبانها عبارتند از Visual Basic.NET و #C و JScript.NET . این بدین معنی است که شما جهت نوشتن برنامه در ASP.NET نیاز به فراگیری زبان جدیدی ندارید و اگر یکی از زبانهای ویژوال بیسیک یا ++C یا جاوا را می دانید هم اکنون می توانید در ASP.NET برنامه بنویسید.از طرف دیگر تعدادی زبانهای دیگر توسط بعضی از شرکتهای فعال در این زمینه به مجموعه زبانهای استاندارد ASP.NET افزوده شده است. بعنوان مثال اگر مایل باشید حتی می توانید از PERL و COBOL هم در ASP.NET استفاده کنید.
ابزارهای ASP.NET
سالهاست که برنامه نویسان ویژوال بیسیک جهت ساخت فرم های خود از ابزارهای ویژوال بیسیک مانند TextBox و ListBox استفاده کرده اند. در ASP.NET هم شما می توانید از ابزارهای فراوان موجود در آن برای ساخت فرم ها و صفحات خود استفاده نمائید. در ASP.NET چهار دسته عمده از ابزارها موجود است:
• ابزارهای اصلی مانند TextBox، RadioButton، ListBox و Button.
• ابزارهای اعتباری برای حصول اطمینان از ورود و تائید صحت اطلاعات ورودی فرم ها.
• ابزارهای داده ای برای ارتباط با بانک اطلاعاتی و دستکاری داده.
• ابزارهای پیشرفته جهت نمایش عناصر پیچیده در واسط کاربر مانند تقویم و آگهی های تبلیغاتی.
با استفاده از Visual Studio.NET شما براحتی می توانید با چیدن تصویری این ابزارها بر روی فرم مورد نظر، صفحه دلخواه خود را بسازید. در صورت تمایل حتی می توانید در یک ویرایشگر ساده متن مانند Notepad برنامه مورد نظر را نوشته و از این ابزارها استفاده کنید.