کلاس OleDbConnection . شی فوق ، یک اتصال منحصر بفرد با یک منبع داده را ایجاد می نماید. در رابطه با یک بانک اطلاعاتی سرویس گیرنده / سرویس دهنده ، این امر معادل یک اتصال شبکه به سرویس دهنده است . با توجه به قابلیت های حمایت شده توسط native OLE DB Provider ، برخی از متدها و یا خصلت ها مربوط به شی OleDbConnection ممکن است در دسترس و قابل استفاده نباشد . زمانیکه نمونه ای از OleDbConnection ایجاد می گردد ، تمامی خصلت های مربوطه ، مقدار اولیه خود را دارا خواهند بود . پس از اتمام عملیات موردنظر در ارتباط با بانک اطلاعاتی ، می بایست با فراخوانی Close و یا Dispose اقدام به غیر فعال نمودن اتصال ایجاد شده با بانک اطلاعاتی مربوطه نمود.
کلاس OleDbCommand . یک عبارت SQL و یا Stored procedure را بمنظور اجراء در رابطه با یک منبع داده ارائه می نماید. کلاس فوق از متدهای زیر بمنظور اجرای دستورات در رابطه با یک منبع داده استفاده می نماید.
ExecuteReader . متد فوق ، دستوراتی را اجراء می نماید که خروجی آنان شامل سطرهائی خواهد بود.
ExecuteNonQuery . باعث اجرای دستوراتی نظیر SQL INSERT,DELETE,UPDATE و SET خواهد شد .
ExecuteScalar . بازیابی صرفا" یک مقدار از یک بانک اطلاعاتی
کلاس OleDbDataReader . متد فوق ، امکان خواندن سطرهائی از داده موجود در یک منبع داده را فراهم می نماید( فقط بسمت جلو) . بمنظور ایجاد یک OleDbDataReader ، می بایست متد ExecuteReader مربوط به شی OleDbCommand فراخوانده شود. مادامیکه OleDbDataReader در حال استفاده است (اتصال مرتبط OleDbConnection ) ، عملیات دیگری را در ارتباط با OleDbConnection نمی توان انجام داد .
امکانات مورد نیاز
برای دنبال نمودن این مقاله و اجرای نمونه مثالی که در ادامه بررسی می گردد ، به امکانات زیر نیاز خواهد بود :
ایجاد یک برنامه وب ASP.NET با استفاده از VB.NET
بمنظور ایجاد یک برنامه وب ASP.NET با استفاده از VB.NET مراحل زیر را دنبال می نمائیم :
ایجاد یک فرم وب نمونه
در نمونه کد نوشته شده از کنترل سرویس دهنده Table مربوط به ASP.NET استفاده شده که بصورت پویا یک نمایش ساده از داده بازیابی شده را نشان خواهد داد. ASP.NET ، مجموعه متنوعی از کنترل های انعطاف پذیر را ارائه که می توان از آنان با توجه به رویکردهای متفاوت در رابطه با نمایش داده استفاده نمود. بمنظور ایجاد یک فرم وب در پروژه ایجاد شده در مرحله قبل ، مراحل زیر را دنبال می نمائیم :
اضافه نمودن یک فرم جدید با نام DataSample.aspx به برنامه وب ASP.NET در ویژوال استودیو دات نت . بمنظور انجام خواسته فوق ، دو مرحله زیر را دنبال می نمائیم :
مرحله یک : در Solution Explorer ، بر روی گره Project کلیک سمت راست نموده و گزینه Add و در ادامه گزینه Add Web Form انتخاب گردد.
مرحله دو : درفیلد Name ، نام DataSample.aspx را درج و در ادامه گزینه Open انتخاب گردد .
از طریق Toolbox مربوط به Web Forms Tab ، یک Table ASP.NET Server Control را انتخاب ( Drag ) و بر روی صفحه aspx . مستقر نمائید ( در حالت Desgin view ) .
در Properties نام ID را به DisplayTable تغییر دهید .
در Solution Explorer ، بر روی صفحه aspx . ، کلیک سمت راست نموده و گزینه View Code را انتخاب نمائید .
مرجع namespace زیر را در بالاترین قسمت فایل کلاس code-behind وارد نمائید .
Imports System.Data.OleDb |
کد زیر را در ارتباط با رویداد Page_load در نظر می گیریم :
Page_Load Event handler |
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load استفاده از یک متغیر رشته ای بمنظور ذخیره سازی Connectionstring' Dim connectString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" &_ ایجاد یک شی OleDbConnection و ارسال مقدار متغیر ConnectionString ' Dim cn As OleDbConnection = New OleDbConnection(connectString) فعال نمودن Connection' cn.Open() استفاده از یک متغیر بمنظور ذخیره عبارت SQL' Dim selectString As String = "SELECT CustomerID, ContactName, Phone FROM Customers" ایجاد یک شی OledbCommand' Dim cmd As OleDbCommand = New OleDbCommand(selectString, cn) ارسال CommandText به Connection و ایجاد یک OleDbDataReader ' Dim reader As OleDbDataReader = cmd.ExecuteReader() تنظیم عرض جدول ' DisplayTable.Width = Unit.Percentage(90.0) ایجاد یک سطر جدید برای اضافه نمودن عنوان جدول' Dim tableHeading As TableRow = New TableRow() ایجاد و اضافه نمودن سلول های شامل ستون Customer ID ' Dim customerIDHeading As TableHeaderCell = New TableHeaderCell() ایجاد و اضافه نمودن سلول های شامل ستون Contact Name ' Dim contactNameHeading As TableHeaderCell = New TableHeaderCell() ایجاد و اضافه نمودن سلول های شامل ستون Phone ' Dim phoneHeading As TableHeaderCell = New TableHeaderCell() DisplayTable.Rows.Add(tableHeading) تکرار در بین داده انتخابی نتایج و افزودن داده برای هر یک از ستون های مورد نظر در جدول ' While(reader.Read()) بستن Connection' reader.Close() |
مقدار متغیر ConnectString در ابتدای کد نوشته شده فوق را تغییر و آن را به محلی که بانک اطلاعاتی موجود است ، اشاره دهید .
از طریق منوی File ، گزینه Save All را انتخاب تا فرم وب و سایر فایل های مرتبط با پروژه ، ذخیره گردد .
از طریق منوی Build ، گزینه Build Solution را بمنظور ایجاد پروژه ، فعال نمائید.
در Solution Explorer ، بر روی DataSample.aspx کلیک سمت راست و در ادامه گزینه View in Browser را انتخاب نمائید . در ادامه صفحه در مرورگر نمایش و شامل داده موجود در بانک اطلاعاتی مربوطه است .
اشکالات و خطاهای احتمالی
درزمان اجراء ، ممکن است با خطائی مانند زیر مواجه شویم :
The Microsoft Jet database engine cannot open the file 'C:MyDBNWIND.MDB'. |
خطای فوق ، اغلب بدلیل عدم داشتن مجوز لازم بمنظور دستیابی به فایل ( فایل بانک اطلاعاتی با انشعاب mdb . ) می باشد . بصورت پیش فرض ، ASP.NET تحت ASPNET account در فریمورک دات نت نسخه یک و یا NetworkService در فریمورک دات نت نسخه 1،1 اجراء می گردد.در این رابطه لازم است تغییرات لازم در رابطه با مجوز دستیابی به فایل mdb . و فولدری که شامل فایل است ، اعمال گردد .
از نصب عناصر مورد نیاز Microsoft Jet database بر روی سیستم ، مطمئن گردید. در صورتیکه MDAC 2.6 نصب شده باشد ( Microsoft Data Access Components 2.6) ، عناصر Jet را شامل نمی گردد . در چنین مواردی می بایست آخرین نسخه Jet 4.0 Service Pack ، بر روی سیستم نصب گردد.
شناسائی کاربران برنامه هاب وب
یکی از روش هائی که برنامه های وب را قادر به شناسائی کاربران می نماید، الزام کاربران به درج نام و رمز عبور بمنظور استفاده از برنامه می باشد. برنامه های وب ، همچنین قادر به شناسائی کاربران از طریق اطلاعات ذخیره شده بر روی کامپیوتر کاربران و به شکل "کوکی " می باشند. کوکی ، فایل کوچکی بوده که یک برنامه وب قادر به نوشتن آن بر روی کامپیوتر سرویس گیرنده است .
از مهمترین مزایای کوکی ، می توان به تعامل نامحسوس با کاربر اشاره نمود. در چنین مواردی ، کاربران هر مرتبه که سایت را ملاقات می نمایند ، الزامی به Log on ، نخواهند داشت . ( اطلاعات آنان ، بصورت اتوماتیک و در صورت ضرورت در دسترس و قابل استفاده است) . مهمترین نقطه ضعف در جهت استفاده از کوکی ، به تنظیم مرورگرها توسط کاربران بمنظور عدم پذیرش کوکی، برمی گردد .برخی از کاربران تمایل و علاقه ای به ذخیره سازی اطلاعات از طریق یک سایت بر روی کامپیوتر خود را نداشته و تصور می نمایند که ممکن است از اطلاعات فوق ، بمنظور ردیابی آنان در زمان استفاده از اینترنت ، سوء استفاده گردد. بنابراین در مواردیکه قصد استفاده از کوکی وجود داشته باشد ، می بایست در ابتدا توانائی سرویس گیرنده برای پذیرش کوکی بررسی گردد .
در زمان استفاده از کوکی بمنظور ذخیره و بازیابی اطلاعات کاربران ، می توان از دو رویکرد متفاوت استفاده نمود :
ذخیره تمامی اطلاعات کاربران بعنوان یک کوکی بر روی ماشین سرویس گیرنده. استفاده از روش فوق ، درمواردیکه اطلاعات کاربر ساده بوده و سرویس دهنده ضرورتی به استفاده از آنان بمنظور تکمیل عملیات خود نداشته باشد ، می تواند مفید باشد .
ذخیره یک کلید شناسائی بر روی ماشین سرویس گیرنده و بازیابی سایر اطلاعات کاربر از طریق یک منبع داده بر روی سرویس دهنده با توحه به کلید شناسائی .
در ادامه به بررسی هر یک از رویکردهای فوق ، خواهیم پرداخت.
ذخیره سازی اطلاعات کاربران بر روی سرویس گیرنده
برای ذخیره یک کوکی بر روی ماشین سرویس گیرنده ، مراحل زیر را دنبال می نمائیم :
برنامه زیر( روتین مربوط به رویداد Page_Load ) ، نحوه ایجاد یک کوکی و تشخیص آخرین مرتبه ملاقات سایت توسط کاربر را نشان می دهد.در برنامه فوق ، بررسی لازم در خصوص پدیرش کوکی از طرف سرویس گیرنده ، صورت گرفته و در صورتیکه اولین مرتبه است که کاربر سایت را ملاقات می نماید ، یک کوکی جدید ایجاد و در غیر اینصورت ، کوکی ایجاد شده ، بهنگام می گردد.
VB.NET |
Private Sub Page_Load ( ByVal Sender As System.Object , ByVal e As System.EventArgs ) Handles Mybase.Load |
کوکی ها نسبت به حروف بزرگ و کوچک حساس می باشند . مثلا" LastVisit مشابه کوکی Lastvisit نمی باشد .خصلت Expires ، نشاندهنده تاریخ مصرف کوکی می باشد. عمر یک کوکی بصورت پیش فرض ، محدود به زمانی است که Session کاربر خاتمه می یابد. درصورت تنظیم Expires بصورت DateTime.MaxValue ، اعتبار کوکی ایجاد شده، هرگز به اتمام نخواهد رسید . بمنظور حذف کوکی از ماشین سرویس گیرنده ، می توان مقدار خصلت Expires را به زمان جاری تغییر داد .کد زیر ، کوکی LastVisit را حذف می نماید.
VB.NET |
Private Sub Page_Load ( ByVal Sender As System.Object , ByVal e As System.EventArgs ) Handles butRemoveCookie.Click |
استفاده از کلید بهمراه کوکی
یک کوکی ، قادربه ذخیره سازی 4096 بایت اطلاعات بوده و می توان بمنظور شناسائی اطلاعات همراه کوکی از کلید ها ، استفاده نمود. برنامه زیر ، مشخصات کاربر را در یک کوکی با استفاده از کلیدهای جداگانه ای ذخیره می نماید .
VB.NET |
Private Sub Page_Load ( ByVal Sender As System.Object , ByVal e As System.EventArgs ) Handles butOK.Click |
با استفاده از نام کلید ، می توان اقدام به بازیابی مقادیر نسبت داده شده به هر یک از کلیدهای ذخیره شده در کوکی نمود .
VB.NET |
Private Sub Page_Load ( ByVal Sender As System.Object , ByVal e As System.EventArgs ) Handles butGetData.Click |
ذخیره سازی اطلاعات کاربران بر روی سرویس دهنده
برای ذخیره اطلاعات کاربران بر روی سرویس دهنده ، می توان از کوکی بعنوان یک ابزار شناسائی ( ایندکس ) بمنظور ذخیره و بازیابی اطلاعات کاربران بر روی سرویس دهنده در یک بانک اطلاعاتی ، یک فایل XML و سایر امکانات ذخیره سازی داده ، استفاده نمود. برای ذخیره اطلاعات کاربران بر روی سرویس دهنده ، مراحل زیر را دنبال می نمائیم :
در ادامه به بررسی هر یک از مراحل فوق ، خواهیم پرداخت .
ایجاد کلیدهای منحصر بفرد بمنظور شناسائی کاربران
فریمورک دات نت ، Namespace با نام System.Guid را بمنظور ایجاد شناسه های منحصربفرد سراسری ( GUID ) ارائه نموده است . GUID ، یک عدد صحیح 128 بیتی بوده که بعنوان شناسه ای منحصربفرد در شبکه ایفای وظیفه می نماید . از GUID می توان بمنظور شناسائی تمامی چیزها از جمله کاربران استفاده نمود . کد زیر ، یک GUID را ایجاد و آن را بعنوان یک کوکی بر روی کامپیوتر کاربر و بمنظور شناسائی وی در آینده ، ذخیره می نماید .
VB.NET |
Private Sub Page_Load ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles butOK.Click |
ایجاد یک فایل بمنظور ذخیره اطلاعات کاربران
مهمترین هدف ذخیره سازی اطلاعات کاربران، بازیابی آنان با سرعت مناسب و پس از ملاقات مجدد کاربران از سایت و یا اجرای برنامه وب است . با توجه به اینکه این نوع از کاربران با استفاده از یک کلیدمنحصربفرد، شناسائی می گردند ، می توان چنین تصور نمود که دستیابی به داده از طریق یک Data set انجام خواهد شد. Data set ، با استفاده از متد Find ، قادر به بازیابی سطرهائی از داده بکمک کلیدها ی منحصربفرد می باشد . استفاده از یک Data set ، بدان معنی است که فایل ایجاد شده بر روی سرویس دهنده ، می بایست یک بانک اطلاعاتی و یا یک فایل XML باشد . استفاده از فایل های XML در مواردیکه داده های مورد نظر برای ذخیره سازی اندک بوده و روابط بین اقلام اطلاعاتی نیز پیچیده نباشد ، توصیه می گردد .
برای ایجاد یک فایل XML ، بمنظور ذخیره سازی اطلاعات کاربران ، مراحل زیر را دنبال می نمائیم :
ایجاد یک فایل XML
برای ایجاد یک فایل XML در ویژوال استودیو ، گزینه Add New Item را از طریق منوی Project انتخاب و در ادامه XML File را از طریق لیست تمپلیت های نمایش داده شده ، انتخاب می نمائیم . فایل های XML ، شباهت زیادی به فایل های HTML داشته و در این راستا تفاوت های مهمی نظیر حساسیت نسبت به حروف بزرگ و کوچک و پیروی از یک گرامر خاص ، نیز وجود دارد. از تگ های <element> و <element / > بمنظور معرفی عناصر داده در یک فایل XML استفاده می گردد . کد زیر، نحوه ایجاد یک فایل XML بمنظور ذخیره سازی مشخصات کاربر را نشان می دهد .
VB.NET |
<?xml version="1.0" encoding="utf-8" ?> |
ایجاد یک XML Schema
بمنظور استفاده از فایل XML بهمراه یک Data Set ، می بایست در ابتدا یک XML Schema برای Data set ایجاد گردد. XML Schema ، مسئولیت تشریح عناصر داده ئی موجود در یک فایل XML را بر عهده دارد. XML Schema ، نام عناصر ، نوع آنان ،کلید بودن فیلد و سایر اطلاعات ضروری را ارائه می نماید . برای ایجاد XML Schema از یک فایل XML ، زمانیکه فایل XML در پنجره طراحی ویژوال استودیو دات نت ، فعال است ، گزینه Create Schema را از طریق منوی XML ، انتخاب می نمائیم . در ادامه ، ویژوال استودیو دات نت ، فایل Schema را بمنظور تشریح فایل XML ایجاد می نماید .
مشخص نمودن یک فیلد کلید
با افزودن یک کلید اولیه به XML Schema ، امکان جستجو فراهم خواهد شد .بدین منظور ، مراحل زیر را دنبال می نمائیم :
کلیک سمت راست بر روی عنصر مورد نظری که می خواهیم بعنوان فیلد کلید در نظر گرفته شود.انتخاب گزینه Add و در ادامه New Key . ویژوال استودیو ، جعبه محاوره ای Edit Key را نمایش خواهد داد .
گزینه Dataset Primary Key را انتخاب و دکمه OK را فعال می نمائیم . بدین ترتیب ، امکان استفاده از متد Find مربوط به شی DataSet بمنظور بازیابی سطرهائی از Data set ، فراهم می گردد.
خواندن XML درون یک Data Set
پس از ایجاد فایل XML و XML Schema ، امکان خواندن و ذخیره آن درون یک Data set ، فراهم می گردد. ( استفاده از متدهای ReadXml و ReadXmlSchema ) . برنامه زیر ، تابعی را نشان می دهد که می توان از آن بمنظور برگرداندن یک Data Set از یک فایل XML با نام UserInfo ، استفاده نمود .
VB.NET |
Function GetUserData ( ) As DataSet |
ذخیره اطلاعات کاربر بر روی سرویس دهنده
بمنظور ذخیره سازی اطلاعات کاربران بر روی سرویس دهنده بصورت یک فایل XML ، می توان از متد SaveXML مربوط به شی Data set استفاده نمود. روتین SetUserInfo ( جدول زیر ) ، از روتین GetUserData بخش قبل ،استفاده نموده تا یک Data set را از یک فایل XML دریافت نماید. در ادامه ، با استفاده از متد Find ، بررسی لازم در خصوص وجود UserID در Data Set صورت می پذیرد.در صورتیکه UserID پیدا نگردد ، روتین SetUserInfo سطری را برای کاربر ( قبل از تنظیم مقادیر متناظر با فیلدها از طریق کنترل های سرویس دهنده بر روی یک فرم وب )، اضافه می نماید. در نهایت ، SetUserInfo ، تمامی داده را به سرویس دهنده برمی گرداند .
VB.NET |
Sub SetUserInfo ( ByVal UserID As String ) |
بازیابی اطلاعات کاربران از یک Data Set
بمنظور بازیابی اطلاعات کاربران از فایل XML ، از روتین GetUIserData برای ایجاد یک Data Set از فایل XML استفاده می گردد . در ادامه ، می توان با استفاده از متد Find بمنظور بازیابی سطر مرتبط با UserID استفاده نمود . روتین GetUserInfo ( جدول زیر) ، اطلاعات کاربر را از Data Set بازیابی و با استفاده از آن ، کنترل های سرویس دهنده موجود بر روی یک فرم وب را مقداردهی می نماید .
VB.NET |
Sub GetUserInfo ( ByVal UserID As String ) |
استفاده از CSS . از تکنولوژی CSS)Cascading style sheet) ، بمنظور کنترل شکل ظاهری عناصر موجود بر روی یک فرم وب استفاده می گردد . از امکانات CSS ، می توان در جهت تنظیم رنگ ، اندازه ، فونت و رفتار عناصر HTML موجود بر روی یک صفحه وب استفاده نمود .
استفاده از XSLT . از تکنولوژی XSLT)Extensible Stylesheet Language Transformation ) ، بمنظور تبدیل اطلاعات یک فایل XML به خروجی HTML و استقرار اطلاعات فوق بر روی یک فرم وب ، استفاده می گردد . XSLT ، داده مورد نیاز را از فایل XML دریافت و پس از تبدیل آنان به عناصر HTML ، سبک های ( Styles ) مشخص شده را در رابطه با هر یک از عناصر بکار می گیرد .
در این مقاله قصد داریم به بررسی نحوه استفاده از CSS ، بمنظور تعریف فرمت خروجی برنامه های وب پرداخته و در مقاله ای جداگانه با نحوه استفاده از XSLT ، آشنا شویم .
CSS ، مسئولیت جمع آوری و سازماندهی تمامی اطلاعات مرتبط با فرمت بکارگرفته شده در ارتباط با عناصر HTML موجود بر روی یک فرم وب را برعهده دارد . با توجه به ذخیره سازی اطلاعات فوق در یک مکان ، مدیریت و اعمال سیاست های جدید در رابطه با شکل ظاهری یک برنامه وب ، بسادگی انجام خواهد شد . ویژوال استودیو دات نت ، ابزارهای لازم بمنظور ایجاد و ویرایش Style را ارائه نموده است. در زمان ایجاد یک برنامه وب با استفاده از ویژوال استودیو دات نت ، یک Style sheet پیش فرض نیز ایجاد می گردد .( بعنوان بخشی از یک پروژه جدید برنامه وب ، ) . لازم است به این نکته اشاره گردد که فقط برای پروژه های ویژوال بیسک دات نت ، بصورت اتوماتیک یک Style sheet پیش فرض ، ایجاد می گردد. برای پروژه های ویژوال سی شارپ ، می بایست یک style sheet ، ایجاد نمود.
بمنظور اعمال فرمت دلخواه در رابطه با خروجی یک برنامه وب ، می توان در سه سطح متفاوت این کار راا انجام داد :
اولویت هر یک از سطوح فوق ، مشابه تعریف یک متغیر و محدوده ( Scoping ) استفاده از آن می باشد. سبک های تعریف شده Inline دارای اولویت بیشتر نسبت به Page بوده و سبک های Page دارای اولویت بیشتری نسبت به Global می باشند . مثلا" در صورتیکه با استفاده از هر یک از روش های فوق ، سبک خاصی بمنظورنحوه نمایش یک پاراگراف ، تعریف شده باشد ، سبک تعریف شده inline دارای اولویت بیشتری خواهد بود.با توجه به اولویت مجموعه قوانین تعریف شده مربوط به سبک نمایش ، از Style Sheet ها ، بعنوان Cascading نیز یاد می گردد . کد زیر ، نحوه استفاده از سه روش فوق را بمنظور تعریف Style ، نشان می دهد .
Style types definition |
<HTML> |
Test.css file |
<!-- (1) From Styles.css sheet referenced in HEAD element . --> |
در مثال فوق ، نحوه نسبت دهی خصلت Style به یک عنصر و در سه سطح متفاوت نشان داده شده است . برای خصلت font-size ، در سه سطح متفاوت ، style تعریف شده است .در مواردیکه خصلت فوق ، بصورت Inline بهمراه یک عنصر HTML ، استفاده شده است ، تمامی تعاریف موجود ( در سطح Page و یا بصورت Reference ) نادیده گرفته می شود و اولویت با سبک تعریف شده بصورت Inline ، خواهد بود . تعریف انجام شده در رابطه با اندازه فونت در فایل Test.css ، عملا" در صفحه فوق ، استفاده نخواهد شد ، چراکه در صفحه وب نیز برای خصلت فوق و در سطح Page ، سبک لازم تعریف و دارای اولویت بیشتری نسبت به سبک تعریف شده در فایل Test.css ، می باشد . خصلت های text-align , font-family و font-style صرفا" یک مرتبه تعریف شده اند، بنابراین هر یک از آنان دارای تاثیر خاص خود می باشند .
تعریف و ذخیره سازی Style در یک فایل Style sheet ( فایلی با انشعاب css ) دارای مزایای عمده ای نسبت به تعریف و استفاده از آنان بصورت محلی در هر یک از فرم های وب و یا استفاده از آنان بصورت Inline بهمراه عناصر HTML ، است :
پشتیبانی و نگهداری مجموعه قوانین تعریف شده ، صرفا" از طریق یک محل انجام خواهد شد . بنابراین ، تغییرات مورد نیاز صرفا" از یک نقطه اعمال و تمامی برنامه متاثر از آن می گردد.
امکان استفاده از چندین style جداگانه که هریک مجموعه قوانین خاصی را تعریف می نمایند ، فراهم می گردد . در چنین مواردی ، می توان با توجه به شرایط و اهداف برنامه از یکی از سبک های تعریف شده بصورت پویا ، استفاده نمود .مثلا" می توان با استفاده از سبک های تعریف شده ، فرمت خروجی مورد نظر را در ارتباط با یک دستگاه خاص ( نمایشگر، چاپگر) ، ایجاد نمود. بعنوان نمونه ، یک برنامه می تواند سه نوع سبک شامل : استاندارد ، Enlarged type و Printer friendly را تعریف نماید که یکی از آنان با توجه به خواسته کاربر ، انتخاب و بکار گرفته شود.
استفاده از Style Sheet در فرم های وب
در زمان ایجاد یک برنامه وب با استفاده از ویژوال استودیو دات نت ، یک Style sheet جدید با نام Style.css بصورت اتوماتیک نیز ایجاد می گردد. ویژوال استودیو ، در اغلب موارد بصورت اتوماتیک از Style ایجاد شده در هر یک از صفحات وب و یا فرم های وب ، استفاده نمی نماید ( فراخوانی فایل فوق، بصورت اتوماتیک انجام نمی شود) . بمنظور استفاده از Style sheet ایجاد شده ، می بایست از یک عنصر لینک در بخش head مربوط به page استفاده گردد :
Using Global style |
<HEAD> |
تغییر Style
بمنظور تغییر Style تعریف شده و یا ایجاد Style جدید ، می توان از ابزار Style Builder در ویژوال استودیو دات نت ، استفاده نمود . در این رابطه مراحل زیر را دنبال می نمائیم :
فعال نمودن Style Sheet در ویژوال استودیو دات نت . پس از فعال نمودن Style sheet ، ویژوال استودیو دات نت ، تعاریف مرتبط با Style را در پنجره Document نمایش و یک Outline از Style sheet را در پنجره Tool ، نمایش خواهد داد :
Style مورد نظر بمنظور اعمال تغییرات را از طریق پنجره Tool ، انتخاب می نمائیم . در ادامه ، ویژوال استودیو تعاریف مرتبط با Style را در پنجره Document نشان می دهد
بر روی Style definition ، کلیک راست نموده (یا کلیک راست بر روی Style از طریق پنجره Tool ) و از طریق منوی مربوطه گزینه Build Style را انتخاب می نمائیم .ویژوال استودیو دات نت ، ویزارد Style Builder را فعال می نماید .
با استفاده از Style Builder می توان فرمت دلخواه را در ارتباط با یک Style تعریف نمود .
افزودن Style
برای افزودن سبک مورد نظر به یک Style خاص ، می توان از نام عنصر استفاده نمود . در این رابطه ،امکان استفاده از اسامی کلاس ها و یا ID مربوط به عناصر نیز وجود دارد .
فعال نمودن Style Sheet ، کلیک راست بر روی پنجره Style sheet و یا Tool و انتخاب Add Rule از طریق منوی pop up . ویژوال استودیو دات نت در ادامه ویزارد Add Style Rule را فعال می نماید :
انتخاب نوع Style موردنظر که قصد ایجاد آن وجود دارد . در این رابطه می توان اقدام به ایجاد Style در رابطه با عناصر HTML ، کلاس ها و یا عناصری با ID خاص ، نمود. نام آیتم مورد نظر را تایپ نموده و در ادامه با انتخاب گزینه "<" ( افزودن )، آیتم انتخابی به مجموعه قوانین ، اضافه گردد .
مراحل فوق ، برای هر یک از آیتم هائی که می خواهیم style در رابطه با آنان بکارگرفته شود ، تکرار می گردد.
استفاده از Style بهمراه کلاس ها
با استفاده از کلاس های Style ، می توان فرمت یکسانی را در رابطه با عناصر متفاوت HTML موجود بر روی یک فرم وب ، بکارگرفت. زمانیکه یک Style در ارتباط با یک کلاس ایجاد می گردد، ویژوال استودیو دات نت ، با استفاده از مشخصه classname . ، یک تعریف Style را به Style sheet اضافه می نماید.
style class |
.emphasis |
Style Class فوق، مسئولیت ایجاد فرمت مناسب ( ایتالیک ) را برای تمامی عناصری که از این کلاس استفاده می نمایند، برعهده دارد. برای استفاده از Style فوق بهمراه عناصر HTML از خصلت class استفاده میگردد. بمنظور استفاده از style بهمراه کنترل های سرویس دهنده ، از خصلت CssClass استفاده می گردد .
Style class |
<P> This paragraph is test <Span Class="emphasis"> some text</span></p> |
ایجاد Style برای عناصر خاص
با استفاده از ID مربوط به عناصر،می توان Style مورد نظر در ارتباط با عناصر خاص موجود بر روی یک فرم وب را تعریف نمود. ID مربوط به عناصر ، می بایست برای هر یک از عناصر موجود بر روی صفحه ، منحصربفرد می باشد. فرمت مشخص شده ، صرفا" در رابطه با یک عنصر بر روی هر صفحه بکارگرفته می شود . زمانیکه یک Style rule برای یک عنصر با ID مشخص شده ،ایجاد می گردد ، ویژوال استودیو دات نت ، یک تعریف Style را با استفاده از شناسه elementID # ایجاد و آن را به Style sheet ،اضافه می نماید.
Style by element ID |
#Inserted |
Style های تعریف شده در ویژوال استودیو ، اغلب بصورت صحیح در بخش form designer نشان داده نمی شوند . در صورتیکه خروجی مورد نظر در ارتباط با یک فرمت خاص مشاهده نمی گردد، می توان عملیات زیر را دنبال نمود:
ایجاد Style تودرتو
در صورتیکه به تعاریف Style در Style sheet پیش فرض ، ( فایل Styles.css ) نگاهی داشته باشیم ، متوجه خواهیم شد که برخی تعاریف style ، چندین نام عنصر را شامل می شوند . تعاریف فوق ، فرمت عناصر تودرتو را مشخص می نماید. Style زیر ، نوع های متفاوتی از Bullet را تعریف می نماید( nested) .
Nested Style |
UL LI { |
بمنظور ایجاد Style های تودرتو ، می توان با استفاده از جعبه محاوره ای Add Style Rule ، چندین آیتم را به ساختار سلسله مراتبی Style rule اضافه نمود.
تغییر Style Sheet در زمان اجراء
همانگونه که قبلا" اشاره گردید ، می توان چندین Style sheet را تعریف تا امکان استفاده از آنان بصورت پویا و با توجه به شرایط موجود در برنامه در اخیتار کاربر قرارداده شود. ( مشاهده فرم وب ، نسخه چاپی فرم وب ، ارائه نسخه بزرگتر فرم وب و ... ) . بمنظور سوئیچ نمودن اتوماتیک بین Style Sheet ها ، می توان از خصلت media استفاده نمود. خصلت فوق ، Style sheet مورد نظر را در ارتباط با چاپ و یا نمایش بر روی نمایشگر ، مشخص می نماید. کد زیر ، نحوه استفاده از دو style را بمنظور مشاهده فرم وب بر روی نمایشگر و یا چاپ آن، نشان می دهد :
Two style sheets for one web form |
<LINK REL="stylesheet" TYPE="text/css" HREF="styles.css" media="screen" > |
بمنظور سوئیچ نمودن بین Style sheet در زمان اجراء ، یک اسکریپت سمت سرویس گیرنده را نوشته تا تغییر لازم در عنصر href مربوط به لینک style sheet را ایجاد نماید . کد زیر ، یک فرم وب را ایجاد نموده که بین style sheet های Style1.css و Style2.css ، سوئیچ می نماید ( زمانیکه کاربر بر روی لینک موجود کلیک می نماید ) .
Changing style sheets at run time |
<HTML> |
فریمورک دات نت ماکروسافت ، تحولات عمده ای را دررابطه با ایجاد و اجرای برنامه های مبتنی بر وب ایجاد نموده است . 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 ، نیز وجود خواهد داشت .
فریمورک دات نت ماکروسافت ، تحولات عمده ای را دررابطه با ایجاد و اجرای برنامه های مبتنی بر وب ایجاد نموده است . 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 ، نیز وجود خواهد داشت .
فریمورک دات نت ماکروسافت ، تحولات عمده ای را دررابطه با ایجاد و اجرای برنامه های مبتنی بر وب ایجاد نموده است . 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 ، نیز وجود خواهد داشت .
فریمورک دات نت ماکروسافت ، تحولات عمده ای را دررابطه با ایجاد و اجرای برنامه های مبتنی بر وب ایجاد نموده است . 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 ، نیز وجود خواهد داشت .
استفاده از CSS . از تکنولوژی CSS)Cascading style sheet) ، بمنظور کنترل شکل ظاهری عناصر موجود بر روی یک فرم وب استفاده می گردد . از امکانات CSS ، می توان در جهت تنظیم رنگ ، اندازه ، فونت و رفتار عناصر HTML موجود بر روی یک صفحه وب استفاده نمود .
استفاده از XSLT . از تکنولوژی XSLT)Extensible Stylesheet Language Transformation ) ، بمنظور تبدیل اطلاعات یک فایل XML به خروجی HTML و استقرار اطلاعات فوق بر روی یک فرم وب ، استفاده می گردد . XSLT ، داده مورد نیاز را از فایل XML دریافت و پس از تبدیل آنان به عناصر HTML ، سبک های ( Styles ) مشخص شده را در رابطه با هر یک از عناصر بکار می گیرد .
در این مقاله قصد داریم به بررسی نحوه استفاده از CSS ، بمنظور تعریف فرمت خروجی برنامه های وب پرداخته و در مقاله ای جداگانه با نحوه استفاده از XSLT ، آشنا شویم .
CSS ، مسئولیت جمع آوری و سازماندهی تمامی اطلاعات مرتبط با فرمت بکارگرفته شده در ارتباط با عناصر HTML موجود بر روی یک فرم وب را برعهده دارد . با توجه به ذخیره سازی اطلاعات فوق در یک مکان ، مدیریت و اعمال سیاست های جدید در رابطه با شکل ظاهری یک برنامه وب ، بسادگی انجام خواهد شد . ویژوال استودیو دات نت ، ابزارهای لازم بمنظور ایجاد و ویرایش Style را ارائه نموده است. در زمان ایجاد یک برنامه وب با استفاده از ویژوال استودیو دات نت ، یک Style sheet پیش فرض نیز ایجاد می گردد .( بعنوان بخشی از یک پروژه جدید برنامه وب ، ) . لازم است به این نکته اشاره گردد که فقط برای پروژه های ویژوال بیسک دات نت ، بصورت اتوماتیک یک Style sheet پیش فرض ، ایجاد می گردد. برای پروژه های ویژوال سی شارپ ، می بایست یک style sheet ، ایجاد نمود.
بمنظور اعمال فرمت دلخواه در رابطه با خروجی یک برنامه وب ، می توان در سه سطح متفاوت این کار راا انجام داد :
اولویت هر یک از سطوح فوق ، مشابه تعریف یک متغیر و محدوده ( Scoping ) استفاده از آن می باشد. سبک های تعریف شده Inline دارای اولویت بیشتر نسبت به Page بوده و سبک های Page دارای اولویت بیشتری نسبت به Global می باشند . مثلا" در صورتیکه با استفاده از هر یک از روش های فوق ، سبک خاصی بمنظورنحوه نمایش یک پاراگراف ، تعریف شده باشد ، سبک تعریف شده inline دارای اولویت بیشتری خواهد بود.با توجه به اولویت مجموعه قوانین تعریف شده مربوط به سبک نمایش ، از Style Sheet ها ، بعنوان Cascading نیز یاد می گردد . کد زیر ، نحوه استفاده از سه روش فوق را بمنظور تعریف Style ، نشان می دهد .
Style types definition |
<HTML> |
Test.css file |
<!-- (1) From Styles.css sheet referenced in HEAD element . --> |
در مثال فوق ، نحوه نسبت دهی خصلت Style به یک عنصر و در سه سطح متفاوت نشان داده شده است . برای خصلت font-size ، در سه سطح متفاوت ، style تعریف شده است .در مواردیکه خصلت فوق ، بصورت Inline بهمراه یک عنصر HTML ، استفاده شده است ، تمامی تعاریف موجود ( در سطح Page و یا بصورت Reference ) نادیده گرفته می شود و اولویت با سبک تعریف شده بصورت Inline ، خواهد بود . تعریف انجام شده در رابطه با اندازه فونت در فایل Test.css ، عملا" در صفحه فوق ، استفاده نخواهد شد ، چراکه در صفحه وب نیز برای خصلت فوق و در سطح Page ، سبک لازم تعریف و دارای اولویت بیشتری نسبت به سبک تعریف شده در فایل Test.css ، می باشد . خصلت های text-align , font-family و font-style صرفا" یک مرتبه تعریف شده اند، بنابراین هر یک از آنان دارای تاثیر خاص خود می باشند .
تعریف و ذخیره سازی Style در یک فایل Style sheet ( فایلی با انشعاب css ) دارای مزایای عمده ای نسبت به تعریف و استفاده از آنان بصورت محلی در هر یک از فرم های وب و یا استفاده از آنان بصورت Inline بهمراه عناصر HTML ، است :
پشتیبانی و نگهداری مجموعه قوانین تعریف شده ، صرفا" از طریق یک محل انجام خواهد شد . بنابراین ، تغییرات مورد نیاز صرفا" از یک نقطه اعمال و تمامی برنامه متاثر از آن می گردد.
امکان استفاده از چندین style جداگانه که هریک مجموعه قوانین خاصی را تعریف می نمایند ، فراهم می گردد . در چنین مواردی ، می توان با توجه به شرایط و اهداف برنامه از یکی از سبک های تعریف شده بصورت پویا ، استفاده نمود .مثلا" می توان با استفاده از سبک های تعریف شده ، فرمت خروجی مورد نظر را در ارتباط با یک دستگاه خاص ( نمایشگر، چاپگر) ، ایجاد نمود. بعنوان نمونه ، یک برنامه می تواند سه نوع سبک شامل : استاندارد ، Enlarged type و Printer friendly را تعریف نماید که یکی از آنان با توجه به خواسته کاربر ، انتخاب و بکار گرفته شود.
استفاده از Style Sheet در فرم های وب
در زمان ایجاد یک برنامه وب با استفاده از ویژوال استودیو دات نت ، یک Style sheet جدید با نام Style.css بصورت اتوماتیک نیز ایجاد می گردد. ویژوال استودیو ، در اغلب موارد بصورت اتوماتیک از Style ایجاد شده در هر یک از صفحات وب و یا فرم های وب ، استفاده نمی نماید ( فراخوانی فایل فوق، بصورت اتوماتیک انجام نمی شود) . بمنظور استفاده از Style sheet ایجاد شده ، می بایست از یک عنصر لینک در بخش head مربوط به page استفاده گردد :
Using Global style |
<HEAD> |
تغییر Style
بمنظور تغییر Style تعریف شده و یا ایجاد Style جدید ، می توان از ابزار Style Builder در ویژوال استودیو دات نت ، استفاده نمود . در این رابطه مراحل زیر را دنبال می نمائیم :
فعال نمودن Style Sheet در ویژوال استودیو دات نت . پس از فعال نمودن Style sheet ، ویژوال استودیو دات نت ، تعاریف مرتبط با Style را در پنجره Document نمایش و یک Outline از Style sheet را در پنجره Tool ، نمایش خواهد داد :
Style مورد نظر بمنظور اعمال تغییرات را از طریق پنجره Tool ، انتخاب می نمائیم . در ادامه ، ویژوال استودیو تعاریف مرتبط با Style را در پنجره Document نشان می دهد
بر روی Style definition ، کلیک راست نموده (یا کلیک راست بر روی Style از طریق پنجره Tool ) و از طریق منوی مربوطه گزینه Build Style را انتخاب می نمائیم .ویژوال استودیو دات نت ، ویزارد Style Builder را فعال می نماید .
با استفاده از Style Builder می توان فرمت دلخواه را در ارتباط با یک Style تعریف نمود .
افزودن Style
برای افزودن سبک مورد نظر به یک Style خاص ، می توان از نام عنصر استفاده نمود . در این رابطه ،امکان استفاده از اسامی کلاس ها و یا ID مربوط به عناصر نیز وجود دارد .
فعال نمودن Style Sheet ، کلیک راست بر روی پنجره Style sheet و یا Tool و انتخاب Add Rule از طریق منوی pop up . ویژوال استودیو دات نت در ادامه ویزارد Add Style Rule را فعال می نماید :
انتخاب نوع Style موردنظر که قصد ایجاد آن وجود دارد . در این رابطه می توان اقدام به ایجاد Style در رابطه با عناصر HTML ، کلاس ها و یا عناصری با ID خاص ، نمود. نام آیتم مورد نظر را تایپ نموده و در ادامه با انتخاب گزینه "<" ( افزودن )، آیتم انتخابی به مجموعه قوانین ، اضافه گردد .
مراحل فوق ، برای هر یک از آیتم هائی که می خواهیم style در رابطه با آنان بکارگرفته شود ، تکرار می گردد.
استفاده از Style بهمراه کلاس ها
با استفاده از کلاس های Style ، می توان فرمت یکسانی را در رابطه با عناصر متفاوت HTML موجود بر روی یک فرم وب ، بکارگرفت. زمانیکه یک Style در ارتباط با یک کلاس ایجاد می گردد، ویژوال استودیو دات نت ، با استفاده از مشخصه classname . ، یک تعریف Style را به Style sheet اضافه می نماید.
style class |
.emphasis |
Style Class فوق، مسئولیت ایجاد فرمت مناسب ( ایتالیک ) را برای تمامی عناصری که از این کلاس استفاده می نمایند، برعهده دارد. برای استفاده از Style فوق بهمراه عناصر HTML از خصلت class استفاده میگردد. بمنظور استفاده از style بهمراه کنترل های سرویس دهنده ، از خصلت CssClass استفاده می گردد .
Style class |
<P> This paragraph is test <Span Class="emphasis"> some text</span></p> |
ایجاد Style برای عناصر خاص
با استفاده از ID مربوط به عناصر،می توان Style مورد نظر در ارتباط با عناصر خاص موجود بر روی یک فرم وب را تعریف نمود. ID مربوط به عناصر ، می بایست برای هر یک از عناصر موجود بر روی صفحه ، منحصربفرد می باشد. فرمت مشخص شده ، صرفا" در رابطه با یک عنصر بر روی هر صفحه بکارگرفته می شود . زمانیکه یک Style rule برای یک عنصر با ID مشخص شده ،ایجاد می گردد ، ویژوال استودیو دات نت ، یک تعریف Style را با استفاده از شناسه elementID # ایجاد و آن را به Style sheet ،اضافه می نماید.
Style by element ID |
#Inserted |
Style های تعریف شده در ویژوال استودیو ، اغلب بصورت صحیح در بخش form designer نشان داده نمی شوند . در صورتیکه خروجی مورد نظر در ارتباط با یک فرمت خاص مشاهده نمی گردد، می توان عملیات زیر را دنبال نمود:
ایجاد Style تودرتو
در صورتیکه به تعاریف Style در Style sheet پیش فرض ، ( فایل Styles.css ) نگاهی داشته باشیم ، متوجه خواهیم شد که برخی تعاریف style ، چندین نام عنصر را شامل می شوند . تعاریف فوق ، فرمت عناصر تودرتو را مشخص می نماید. Style زیر ، نوع های متفاوتی از Bullet را تعریف می نماید( nested) .
Nested Style |
UL LI { |
بمنظور ایجاد Style های تودرتو ، می توان با استفاده از جعبه محاوره ای Add Style Rule ، چندین آیتم را به ساختار سلسله مراتبی Style rule اضافه نمود.
تغییر Style Sheet در زمان اجراء
همانگونه که قبلا" اشاره گردید ، می توان چندین Style sheet را تعریف تا امکان استفاده از آنان بصورت پویا و با توجه به شرایط موجود در برنامه در اخیتار کاربر قرارداده شود. ( مشاهده فرم وب ، نسخه چاپی فرم وب ، ارائه نسخه بزرگتر فرم وب و ... ) . بمنظور سوئیچ نمودن اتوماتیک بین Style Sheet ها ، می توان از خصلت media استفاده نمود. خصلت فوق ، Style sheet مورد نظر را در ارتباط با چاپ و یا نمایش بر روی نمایشگر ، مشخص می نماید. کد زیر ، نحوه استفاده از دو style را بمنظور مشاهده فرم وب بر روی نمایشگر و یا چاپ آن، نشان می دهد :
Two style sheets for one web form |
<LINK REL="stylesheet" TYPE="text/css" HREF="styles.css" media="screen" > |
بمنظور سوئیچ نمودن بین Style sheet در زمان اجراء ، یک اسکریپت سمت سرویس گیرنده را نوشته تا تغییر لازم در عنصر href مربوط به لینک style sheet را ایجاد نماید . کد زیر ، یک فرم وب را ایجاد نموده که بین style sheet های Style1.css و Style2.css ، سوئیچ می نماید ( زمانیکه کاربر بر روی لینک موجود کلیک می نماید ) .
Changing style sheets at run time |
<HTML> |
|
![]()
|
پردازش های سمت سرویس گیرنده از گذشته تاکنون
با توجه به این که پردازش های سمت سرویس گیرنده در برنامه های وب می بایست مستقل از نوع پلت فرم باشند ، بدیهی است که تمامی تلاش های انجام شده در این عرصه ، می بایست متمرکز بر روی برنامه های مرورگر باشد تا با ایجاد پتانسیل هائی در آنها ، امکان انجام پردازش های سمت سرویس گیرنده فراهم گردد . ظهور زبان های اسکریپت نویسی نظیر جاوااسکریپت و تجهیز مرورگرها به برنامه های مفسر مربوطه از جمله اقدامات عملی دراین عرصه است . استفاده از زبان جاوااسکریپت به منظور کدینگ پردازش های سمت سرویس گیرنده دارای قدمتی چندین ساله است . در ادامه ، قابلیت های جدیدی به مرورگرها اضافه گردید تا پیاده کنندگان بتوانند به کمک آنان برنامه های وب سمت سرویس گیرنده را ایجاد نمایند . هم اینک ، تمامی مرورگرهای متداول از یک مدل شی گراء موسوم به DOM ( برگرفته از document object model ) استفاده می نمایند و تعداد اندکی از آنها از یک ویژگی جدید با نام XMLHTTP استفاده می نمایند که به کمک آن ، سرویس گیرندگان و سرویس دهندگان می توانند بدون نیاز به انجام یک postback کامل و round trip با یکدیگر و به صورت مستقیم ارتباط برقرار نمایند.
XMLHTTP ، شامل مجموعه ای API ( رابط برنامه نویسی ) است که امکان ارسال و یا دریافت داده به صورت باینری ، HTML و XML را از سرویس دهندگان وب بر روی اینترنت و به کمک پروتکل HTTP فراهم می نماید . در مواردی که نیاز به داده موجود در سمت سرویس دهنده می باشد ، XMLHTTP به صورت پیوسته اقدام به ارسال درخواست خود برای سرویس دهنده می نماید تا آخرین اطلاعات را بدون نیاز به refresh کردن مدام مرورگرها ، بازیابی نماید . در واقع ، به کمک فن آوری فوق ، سرویس گیرندگان قادر به مبادله غیرهمزمان با سرویس دهنده بوده و می توانند اقدام به ارسال و یا دریافت داده XML بدون نیاز به انجام یک round trip کامل که باعث تولید مجدد یک صفحه می گردد ، نمایند .
ماحصل این تحولات ، ظهور نسل جدیدی از برنامه های وب نظیر Microsoft Virtual Earth و Microsoft Windows Live است . ایجاد چنین برنامه های وبی کار ساده ای نخواهد بود و پیاده کنندگان می بایست شناخت مناسبی نسبت به جاوااسکریپت و مدل DOM داشته باشند که ممکن است در هر مرورگر متفاوت باشد . علاوه بر این ، جاوااسکریپت تمامی ویژگی های یک زبان شی گراء را ارائه نمی نماید و بسیاری از ملزومات مورد نیاز پیاده کنندگان برنامه های وب در فریمورک دات نت را تامین نمی نماید ( نظیر type-safe ) .
ایجاد برنامه های وب با تاکید بر انجام پردازش سمت سرویس گیرنده ، نیازمند ملزوماتی نظیر |
AJAX ( برگرفته از asynchronous JavaScript and XML )
پیاده سازی برنامه های وب با استفاده از فن آوری های اشاره شده ( اسکریپت نویسی سمت سرویس گیرنده و مبادله غیرهمزمان با سرویس دهنده ) ، AJAX نامیده می شود . AJAX ، پیاده کنندگان را قادر به تولید صفحاتی می نماید که از توان پاسخگوئی بسیار مطلوبی در سمت سرویس گیرنده متناسب با رویداد ایجاده شده ، برخوردار می باشند . چراکه آنها از اسکریپت های سمت سرویس دهنده برای دستیابی و مدیریت عناصر بخش رابط کاربر استفاده می نمایند . علاوه بر این ، با توجه به مبادله غیرهمزمان داده به منظور ارسال و دریافت داده ، امکان انجام عملیات مورد نظر بر روی داده بدون وقفه و ازدست دادن state وجود خواهد داشت . Microsoft Virtual Earth و برنامه سرویس گیرنده نامه های الکترونیکی Outlook Web Access ، دو نمونه از برنامه های سبک AJAX ، می باشند .
Atlas : تلاشی در جهت ایجاد یک پلت فرم پیاده سازی جامع
فن آوری جدید ASP.NET با نام Atlas ، مجموعه ای از فن آوری های مایکروسافت را شامل می شود که با تمرکز بر روی اصول AJAX ، سعی در توسعه و بهبود آن را دارد .
Atlas ، یک فن آوری جدید در عرصه پیاده سازی برنامه های وب ASP.NET است که کتابخانه های اسکریپت سرویس گیرنده را با فریمورک پیاده سازی مبتنی بر سرویس دهنده ASP.NET 2.0 ترکیب می نماید . در واقع ، Atlas به پیاده کنندگان برنامه های وب یک پلت فرم مناسب به منظور پیاده سازی صفحات وب مبتنی بر سرویس گیرنده را ارائه می نماید که قبلا" مشابه آن در خصوص صفحات وب مبتنی بر سرویس دهنده توسط ASP.NET ارائه شده بود . با توجه به این که Atlas ، به عنوان یک پتانسیل اضافه در کنار ASP.NET مطرح می باشد ، بدیهی است که کاملا" سازگار با سرویس های مبتنی بر سرویس دهنده باشد . با استفاده از Atlas ، می توان بخش قابل توجهی از پردازش های مورد نیاز یک برنامه را به سمت سرویس گیرنده انتقال داد ( fat-client ) . در چنین مواردی ، امکان ارتباط سرویس گیرنده با سرویس دهنده در background فراهم می گردد. ماحصل این فن آوری ، ایجاد برنامه های وبی است که علاوه بر ارائه امکانات مناسب در لایه رابط کاربر ( UI ) ، دارای توان پاسخگوئی بالائی می باشند و به سادگی می توانند با سرویس دهنده ارتباط برقرار نمایند .
مفاهیم فنی اولیه AJAX
در AJAX ، پیاده کنندگان می توانند سرویس های وب را بطور غیرهمزمان و از طریق اسکریپت های سمت سرویس گیرنده و با استفاده از شی XMLHTTPRequest فراخوانده تا اطلاعات به عنوان داده XML بسته بندی و در ادامه آنها را بر روی شبکه ارسال نمایند . بدین منظور شی XMLHTTPRequest یک شی پراکسی را ارائه می نماید تا به کمک آن امکان فراخوانی از راه دور و مبادله داده فراهم گردد . در فن آوری AJAX از زبان های اسکرپیت سمت سرویس گیرنده نظیر جاوااسکریپت بطرز گسترده ای استفاده می گردد . از جاوااسکریپت در مواردی نظیر فراخوانی از راه دور روتین ها ، انجام پردازش های مورد نیاز یک برنامه در سمت سرویس گیرنده و ایجاد ویژگی های پیشرفته ای در سطح لایه رابط کاربر استفاده می شود .
AJAX علاوه بر جاوااسکریپت از چندین فن آوری دیگر در سمت سرویس گیرنده نیز استفاده می نماید :
DOM : به کمک فن آوری فوق ، عناصر موجود در یک صفحه HTML به عنوان مجموعه ای از اشیاء استاندارد ( نظیر document و windows ) در نظر گرفته می شوند . بدین ترتیب ، امکان دستیابی و انجام عملیات دلخواه بر روی آنان از طریق کد فراهم می گردد .
DHTML ( برگرفته از Dynamic HTML ) : فن آوری فوق ، توانمندی HTML را به منظور واکنش مناسب در خصوص عملیاتی که توسط کاربران انجام می شود ( نظیر درج داده ) با استفاده از اسکریپت های سمت سرویس گیرنده و بدون نیاز به یک round trip افزایش می دهد .
رفتارها ، شامل روشی مناسب به منظور برخورد سیستماتیک با عملیاتی نظیر drag and drop در سطح لایه رابط کاربر و مرتبط با عناصر موجود بر روی یک صفحه می باشد .
عناصر : اشیاء سفارشی شده جاوااسکریپت می باشند که پتانسیل های توسعه یافته ای را در سمت سرویس گیرنده ایجاد می نمایند .
چالش های فن آوری AJAX
برنامه نویسی صفحات به سبک AJAX دارای چالش های متعددی است :
عناصر موجود در صفحات وب می بایست متناسب با شرایط هر مرورگر برنامه نویسی گردند ، چراکه هر مرورگر یک نسخه متفاوت از DOM و DHTML را ارائه می نمایند(هر چند این تفاوت ها اندک باشد) .
برنامه نویسی سمت سرویس گیرنده صرفا" با استفاده از جاوااسکریپت انجام می شود . پیاده سازی برخی از پتانسیل های AJAX می تواند برای پیاده کنندگان بسیار پیچیده باشد و نیازمند دانش بالائی در خصوص استفاده از جاوااسکریت است .
جاوا اسکریپت ، ویژگی ها و امکانات مورد نیاز پیاده کنندگان برنامه های دات نت را تامین نمی نماید ( نظیر یک رویکرد شی گراء کامل ) . علاوه بر این ، در این فن آوری از کتابخانه ای نظیر آنچه در پلت فرم دات نت ارائه شده است ، استفاده نمی گردد و برنامه نویسان می بایست تمامی برنامه را از ابتدا کد نمایند .
جاوااسکریپت و پیاده سازی سمت سرویس گیرنده ، عموما" بخوبی در IDEs حمایت نمی گردند .
فن آوری Atlas ، مسائل اشاره شده را با ارائه یک فریمورک کامل برای ایجاد برنامه های وب مبتنی بر سرویس گیرنده برطرف می نماید.
فن آوری Atlas ، |
مفاهیم فنی اولیه معماری Atlas
در ساده ترین حالت ، یک برنامه Atlas ، از کتابخانه های سمت سرویس گیرنده به منظور مدیریت رابط کاربر و فراخوانی عناصر مبتنی بر سرویس دهنده استفاده می نماید . Atlas ، همچنین عناصر سمت سرویس دهنده ای را ارائه می نماید که با سرویس گیرنده مرتبط و می توانند اسکریپت سمت سرویس گیرنده از قبل تعریف شده ای را تولید نمایند .
عناصر سمت سرویس گیرنده Atlas
فن آوری Atlas برای پیاده سازی برنامه های سمت سرویس گیرنده ، از مجموعه ای کتابخانه سمت سرویس گیرنده ( فایل هائی با انشعاب Js . ) استفاده می نماید که پیامد آن تعریف یک رویکرد لایه ای برای ایجاد برنامه های مبتنی بر سرویس گیرنده است . این لایه ها عبارتند از :
لایه مختص مرورگرها : با استفاده از پتانسیل های ارائه شده توسط این لایه ، اسکریپت های Atlas در اکثر مرورگر سازگار بوده و ضرورتی به نوشتن اسکریت های مختص یک مرورگر وجود ندارد .
سرویس های هسته atlas : شامل ضمائمی به جاوااسکریپت نظیر کلاس ها ، namespace ، event handler ، توارث ، نوع های داده و تسلسل اشیاء است . ویژگی های فوق یک مدل برنامه نویسی شی گراء را در اختیار پیاده کنندگان قرار می دهد تا به کمک بتوان علاوه بر سرعت در ایجاد برنامه ها از کد تولید شده نیز بدفعات استفاده نمود.
کتابخانه کلاس پایه Atlas : شامل عناصری نظیر دیباگرها ، Timers ، ردیابی و string buliders است .
لایه شبکه : این لایه با سرویس های مبتنی بر وب و برنامه ها ارتباط برقرار می نماید و مدیریت فراخوانی متدها از راه دور و غیرهمزمان را برعهده می گیرد . لایه فوق ، مدیریت فراخوانی غیرهمزمان برروی XMLHTTP را برعهده گرفته و باعث می گردد که پیاده کنندگان بدون این که درگیر پیچیدگی های موجود شوند با نوشتن چندین خط کد ، متدهای مورد نظر را فراخوانند .
لایه UI : در این لایه قابلیت های سرویس گیرنده Atlas نظیر رفتارها ، گرامر تعریفی Atlas ، عناصر UI و نسبت دهی داده ارائه می گردد .
لایه کنترل ها : این لایه کنترل های مختص atlas را برای پیاده سازی سمت سرویس گیرنده ایجاد می نماید . علاوه بر این که می توان از طریق اسکریپت به این کنترل ها دستیابی داشت ، امکان انجام عملیات متفاوتی نظیر نسبت دهی داده نیز وجود دارد. کنترل های Navigation و data-bound listview نمونه هائی در این زمینه می باشند .
یک مدل برنامه نویسی تعریفی که پیاده کنندگان را قادر می سازد عناصر atlas را با روشی مشابه کنترل های سرویس دهنده ASP.NET ایجاد نمایند .
فن آوری Atlas را می توان |
برای پیاده سازی برنامه های وب سمت سرویس گیرنده ، فن آوری Atlas ویژگی های متعددی را ارائه می نماید . ارائه یک مجموعه API برای پیاده سازی در جاوااسکریپت ، قابلیت سازگاری اتوماتیک با مرورگرها و یک مدل تعریفی برای پیاده سازی سمت سرویس گیرنده ، نمونه هائی در این زمینه می باشند .
عناصر سمت سرویس دهنده Atlas
فن آوری Atlas ، صرفا" در ارتباط با اسکریپت های سمت سرویس گیرنده نمی باشد و از عناصر سمت سرویس دهنده ، سرویس ها و کنترل هائی استفاده می نماید که می توانند با اسکریپت های Atlas سمت سرویس گیرنده مرتبط گردند :
سرویس های وب که ویژگی های ASP.NET نظیر سرویس های پروفایل ، membership ، roles ، personalization و globalization را ارائه می نمایند .
کنترل های سرویس دهنده Atlas که کنترل های سرویس دهنده ASP.NET را reasemble می نمایند ولی اسکریپت های سمت سرویس گیرنده Atlas را منتشر می نمایند . این نوع کنترل ها ارتباط بسیار نزدیکی با کنترل های سرویس دهنده ASP.NET نظیر دکمه ها ، Label و ... دارند .
کنترل های سرویس دهنده Atlas که باعث می گردند جاوااسکریپت رفتارهای سمت سرویس گیرنده را تولید نماید . کنترل های HoverBehavior ، ClickBehavior ، Popup و AutocompleteBehavior نمونه هائی در این زمینه می باشند .
تمامی کنترل های سرویس دهند atlas در ویژوال استودیو نیر قابل استفاده می باشند. بنابراین می توان از آنان در زمان طراحی استفاده نمود ( همانند کنترل های سرویس دهنده ASP.NET ) .
فن آوری Atlas ، اسکریپت نویسی سمت سرویس گیرنده را با پیاده سازی سمت سرویس دهنده ASP.NET یکپارچه می نماید و پیاده کنندگان می توانند از پتانسیل های ASP.NET در سمت سرویس دهنده برای برنامه های Atlas نیز استفاده نمایند .
هدف اولیه فن آوری Atlas ، |