1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

XML در دات نت

شروع موضوع توسط hector2141 ‏15/9/12 در انجمن Web

  1. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    [​IMG]
    بررسی جایگاه XML در دات نت و بررسی استانداردهای کنسرسیوم وب در دات نت.....


    XML ، یکی از مهمترین دستاوردهای بشریت در عرصه نرم افزارطی سالیان اخیر است که بدون شک بیشترین تاثیر را در ارتباط با طراحی و پیاده سازی برنامه های کامپیوتری خصوصا" در اینترنت، بدنبال داشته و خواهد داشت . XML ، یکی از استانداردهای ارائه شده توسط کنسرسیوم وب است که زمینه استفاده از آن برای تمامی تولیدکنندگان نرم افزار، فراهم شده است . XML ، بهمراه خود مجموعه ای از تکنولوژی های دیگر را ایجاد نموده است، بطوریکه امروزه از آن بعنوان یک خانواده بزرگ یاد می گردد (XSLT , XSD ,DOM , XPath ,...) . بدیهی است توجه به استانداردهای فوق برای تولیدکنندگان نرم افزار بسیار حایز اهمیت بوده و در این راستا ،شرکت های عظیم نرم افزاری بدنبال ارائه بستر مناسب برای طراحی و پیاده سازی نرم افزار بر اساس واقعیت های موجود، خصوصا" پدیده شگرف اینترنت می باشند . ماکروسافت، بعنوان یکی از شرکت های عظیم نرم افزاری ،پروژه دات نت را مطرح و در نهایت آن را در اختیار علاقه مندان قرار داده است . XML ، در دات نت دارای نقشی بسیار مهم و محوری بوده و لازم است با جایگاه آن بصورت اصولی آشنا شویم . در این مقاله، به بررسی جایگاه XML در دات نت پرداخته می گردد .
    ●مقدمه
    XML ، یک تکنولوژی استاندارد ایده آل برای برنامه هائی است که بر روی بستر اینترنت اجراء می گردند. ماکروسافت در پروژه دات نت ،از استادنداردهای کنسرسیوم وب پیروی و نسخه های اختصاصی خود را طراحی و پیاده سازی نموده است. بدین ترتیب (با توجه به تبعیت ماکروسافت از استانداردهای کنسرسیوم وب)، می توان این اطمینان را بدست آورد که نرم افزارهای تولید شده در دات نت ، قابلیت ارتباط با سایر برنامه های تولید شده مبتنی بر استانداردهای کنسرسیوم وب را بخوبی دارا می باشند . در محیط اینترنت، داده ها می توانند از منابع متفاوت و به اشکال گوناگون دریافت گردند . سرویس های وب XML و سایر برنامه هائی که با استفاده از دات نت پیاده سازی می گردند ، مسائل و مشکلات مربوط به انجام عملیات بر روی داده هائی با فرمت های متفاوت و از منابع گوناگون ، را برطرف می نماید.
    ●سرویس های وب XML
    ساختار و بدنه دات نت، محیطی مناسب برای ایجاد سرویس های وب XML است . کاربران قادر به فراخوانی سرویس ها بکمک پروتکل های استاندارد شده ای نظیر : SOAP ، UDDI و XML می باشند. سرویس های وب XML ، با استفاده از کلاس ها و Namespace هائی که توسط کنسرسیوم وب استاندارد شده اند، ایجاد می گردند. سرویس های وب XML ، روشی مطلوب بمنظور اشتراک ، سازماندهی و انجام عملیات متفاوت در رابطه با داده ها می باشند .
    ●محیط ( پلات فرم ) دات نت
    محیط دات نت، شامل مجموعه ای از محصولات است که بر اساس XML و سایر استانداردهای اینترنت،ایجاد شده اند .محیط فوق، برای هر یک از جنبه های مرتبط با پیاده سازی، مدیریت ، استفاده ، سرویس های وب XML ، امکانات و راهکارهای مناسبی را ارائه داده است . سرویس های وب XML ، این امکان را به برنامه ها خواهند داد تا قادر به اشتراک اطلاعات از طریق اینترنت صرفنظر از سیستم عامل و زبان برنامه نویسی مربوطه باشند. با استفاده از XML در دات نت ، می توان اغلب مشکلات مربوط به پیاده سازی نرم افزار بر روی اینترنت را که در حال حاضر با آن مواجه هستیم ، برطرف کرد. XML ، یک راه حل جامع برای تشریح و مبادله داده های ساختیافته را ارائه می نماید .
    ●چالش های موجود در زمینه بکارگیری برنامه ها در اینترنت
    گسترش فعالیت های تجاری بر روی اینترنت باعث حضور شرکت های متعدد بهمراه سیستم های گوناگون، در کنار یکدیگر شده است . با اینکه ایده انجام فعالیت های تجاری بر روی اینترنت نسبتا" جدید است ولی اغلب شرکت ها و سازمان ها ، زمان و هزینه زیادی را صرف این نوع فعالیت ها و تعامل اطلاعاتی مربوطه ، می نمایند . ارتباط داده ها با سیستم های موجود ، یکی از بزرگترین مسائل برنامه نویسان است( خصوصا" در مواردیکه داده ها از مراکز و شعب متفاوت یک شرکت دریافت و می بایست به سیستم های اصلی تغذیه گردند ) .
    ●یکپارچگی بین برنامه های مختلف
    دستیابی به داده ها ی مشترک بین شرکت های متعدد ، توسط برنامه های متفاوت موجود بر روی سیستم های عامل گوناگون ، به یک ضرورت مهم تبدیل شده است . بمنظور مبادله اطلاعات بین برنامه های متقاضی ، می بایست در مرحله اول داده ها، ساختیافته بوده تا زمینه استفاده از آنان فراهم گردد.برخی از داده ها در سیستم های های سلسه مراتبی، شامل سندهای XML ، برخی دیگر در بانک های اطلاعاتی رابطه ای، نظیر SQL Server و برخی دیگر، بصورت غیرساختیافته و در فایل هائی تخت (Flat) ذخیره شده اند .
    ●ترجمه بین فرمت های داده متفاوت
    یکی از بزرگترین مشکلات موجود در بکارگیری فراگیر و یکپارچه برنامه های کامپیوتری خصوصا" بر روی بستر اینترنت ، استفاده از داده ها با فرمت های متفاوت، توسط این نوع از برنامه ها است . این مشکلات شامل موارد زیر است :
    ▪فرمت های متفاوت XML . فایل های XML می توانند از گرامرهای متفاوتی استفاده نمایند . مثلا" گرامری، صرفا" از المان ها استفاده نموده و در گرامری دیگر ، از المان ها بهمراه خصلت های مربوطه استفاده می گردد . شرکت ها و موسسات تجاری برای غلبه بر این نوع مشکل تبدیل داده ،می توانند از تمپلیت های استاندارد شده استفاده نمایند.
    ▪تولید XML از داده هائی با فرمت دیگر . داده ها ی موجود در هر سازمان با فرمت های متفاوتی نظیر: EDIFACT ,ANSI ,X۱۲ , XML , فایل های CSV)Comma Separated value) ، فایل های Tab -Separated و موارد دیگر، ذخیره شده اند. در این راستا ، می توان ساختاری استاندارد برای داده ها ایجاد تا زمینه استفاده از آنان برای سایر برنامه ها فراهم گردد .
    ▪معتبر سازی ساختار داده ها . یکی از مزایای مهم استفاده از XML در برنامه ها ، ارائه روشی مطلوب بمنظور اشتراک اطلاعات است . با توجه به دریافت داده ها از منابع متفاوت، می بایست از روشی بمنظور اطمینان از صحت و اعتبار داده ها استفاده گردد .بدین منظور و جهت غلبه بر مشکل فوق، می توان از ابزارهای معتبر سازی نظیر Schema که در بین تمام برنامه ها و نوع داده ها استاندارد است، استفاده گردد.
    ●جستجو و بازیابی اطلاعات
    پس از دریافت داده ها از منابع متفاوت و با فرمت ها ی گوناگون ، می بایست قادر به یافتن اقلام اطلاعاتی مورد نیاز برنامه های با صراحت و بسرعت باشیم . خواسته فوق می تواند مشکلات خاص خود را بدنبال داشته باشد
    ▪جستجو برای یک آیتم خاص در داده ها :
    برنامه ها از داده ها ئی با فرمت متفاوت و ساختاری گوناگون استفاده می نمایند. برخی از داده ها در ساختارهای سلسله مراتبی، برخی دیگر در ساختارهای رابطه ای و برخی دیگر دارای ساختاری خاص نبوده و صرفا" بصورت متن ذخیره می گردند. بدین منظور لازم است از روشی بمنظور حرکت در طول ساختار استفاده تا به نتایج مطلوب بمنظور بازیابی یک آیتم اطلاعاتی بدرستی و بسرعت دست پیدا کرد .
    ▪خلاصه سازی، ترکیب و همبستگی .
    پس از یافتن اطلاعات مورد نیاز، می خواهیم بر روی آنان عملیات متفاوتی را انجام دهیم . مثلا" ممکن است، قصد تنظیم یک گزارش خاص در رابطه با میزان فروش ماهانه، وجود داشته باشد. در این راستا می توان، داده های دریافتی از منابع متفاوت را با یکدیگر ترکیب و آنها را با یک فرمت خاص ذخیره و در ادامه پردازش های لازم را انجام داد . طراحی دات نت بر اساس استفاده از تکنولوژی محوری XML پایه گذاری شده است . با استفاده از XML ، می توان عملیات فیلترسازی داده ها را بمنظور کاهش حجم اطلاعاتی انجام و بدین ترتیب صرفا" با داده هائی که به فعالیت مرتبط می باشند، درگیر خواهیم شد .
    ●پردازش ( عملیات ) بر روی داده ها
    بمنظور انجام عملیات بر روی داده ها، می بایست یک ساختار، بافتار(Context) لازم را ارائه نماید . پس از انجام عملیات بر روی داده ها ، می بایست از ساختاری بمنظور نمایش نتایج استفاده گردد.در این رابطه موارد زیر مورد توجه خواهد بود :
    ▪تبدیل داده از XML به فرمت دیگر .
    در صورتیکه المان ها و خصلت های برنامه ای که با آن کار می شود متفاوت از ساختار XML مربوط به داده هائی باشد که از آن بعنوان منبع تامین اطلاعات ، استفاده می گردد، می بایست از روشی برای تبدیل داده از یک گرامر XML به شکل دیگر، استفاده گردد. در صورتیکه با یک برنامه وب کار می شود، می بایست داده های ساختیافته در اسناد XML به اسناد Html بمنظور نمایش بر روی وب سایت ، تبدیل گردند.
    ▪تغییر ساختار یک سند
    در برخی موارد لازم است به یک سند XML المان و یا خصلتی ، اضافه و یا حذف گردد . بدین ترتیب در ساختار سند موجود تغییراتی بوجود می آید.
    ●استانداردهای کنسرسیوم وب در دات نت
    امکان استفاده از XML در محیط ها و برنامه های متعددی وجود دارد . تحقق خواسته فوق، بکمک استانداردهائی است که توسط کنسرسیوم وب ایجاد شده است. XML در دات نت، استانداردهای ارائه شده توسط کنسرسیوم وب را حمایت تا زمینه ارتباط متقابل بین برنامه های استاندارد شده ، فراهم گردد.
    ●استانداردهای کنسرسیوم وب در دات نت
    امکان استفاده از XML در محیط ها و برنامه های متعددی وجود دارد . تحقق خواسته فوق، بکمک استانداردهائی است که توسط کنسرسیوم وب ایجاد شده است. XML در دات نت، استانداردهای ارائه شده توسط کنسرسیوم وب را حمایت تا زمینه ارتباط متقابل بین برنامه های استاندارد شده ، فراهم گردد.
    ▪Xml Information set :
    کنسرسیوم وب مشخصاتی را بعنوان مجموعه اطلاعات مرتبط با XML ، استاندارد و ارائه نموده است .استاندارد فوق، شامل مجموعه ای از تعاریف بمنظور استفاده توسط سایر مشخصاتی است که بنوعی به اطلاعات موجود در یک سند XML مراجعه می نمایند. یک سند XML ، حاوی تعدادی از مجموعه اطلاعات ارائه شده در استاندارد فوق است . مشخصات فوق ، اطلاعات لازم بمنظورتشریح ساختار یک سند XML را ارائه می نماید .یک سند XML شامل یک مجموعه اطلاعات است، اگر " خوش - شکل " بوده و محدودیت های تعریف شده در رابطه با Namespace را در مجموعه اطلاعات ومشخصات XML ، تامین نماید . اغلب استانداردهای XML کنسرسیوم وب، از تعاریف ارائه شده در مشخصه فوق ، اقتباس ( مشتق ) شده اند.برای اطلاعات تکمیلی می توان به آدرس http://www.w۳.org/TR/xml-infoset مراجعه کرد .
    ▪ XML ۱.۰ Namespace .
    استاندارد فوق ،ضوابط لازم بمنظور ایجاد یک شی داده بصورت یک سند XML ، را تعریف می نماید . مشخصات فوق همچنین ،ساختار فیزیکی و منطقی یک سند XML و سایر خصایص مربوطه را تعریف می نماید. برای اطلاعات تکمیلی می توان به آدرس http://www.w۳.org/Tr/REC-xml مراجعه استفاده کرد.namespace ها درXML یک namespace را تعریف و نحوه استفاده از namespace در زمان ایجاد یک گرامر XML را که شامل المان ها و خصلت هائی است، مشخص می نماید . برای اطلاعات تکمیلی می توان به آدرس http://www.w۳.org/TR/REC-xml-namesمراجعه کرد .
    ▪XML Path Language ( XPath) ۱.۰ :
    استاندارد XPath ، گرامر و سمنتیک مورد نیاز برای آدرس دهی بخش های متفاوت یک سند XML را مشخص می نماید. XPath ، همچنین شامل امکانات پایه برای انجام عملیات در رابطه با رشته ها ، اعداد و منطق است . برای مشاهده اطلاعات تکمیلی می توان به آدرس http://www.w۳.org/TR/XPath مراجعه کرد .
    ▪XSL Transformation (XSLT) ۱.۰ :
    استاندارد XSLT ، گرامر و سمنتیک XSLT را تعریف و زبانی برای تبدیل اسناد XML به فرمت های دیگر است . تبدیل مورد نظر( بیان شده ) در XSLT یک Style Sheet نامیده می شود . برای مشاهده اطلاعات تکمیلی می توان به آدرس http://www.w۳.org/TR/XSLT مراجعه کرد .
    ▪Document Object Model )DOM) :
    استاندارد DOM سطح یک و دو، اینترفیس لازم را بمنظور دستیابی و انجام عملیاتی نظیر: بهنگام سازی Style ،محتویات و ساختار یک سند از طریق برنامه نویسی ، فراهم می نماید . برای مشاهده اطلاعات تکمیلی می توان به آدرس http://www.w۳.org/DOM مراجعه کرد .
    ▪XML Schema Definition Language )XSD) :
    استاندارد XSD ، روشی برای تشریح ساختار ، محتویات و سمنتیک یک سند XML است . Schema امکان استفاده از واژه های مشترک را فراهم می نماید . برای مشاهده اطلاعات تکمیلی می توان به آدرس http://www.w۳.org/XML/Schema مراجعه کرد .
    ●مقایسه بین MSXML ۴.۰ و دات نت
    ماکروسافت دو روش متفاوت بمنظور کار با XML ، در اختیار برنامه نویسان قرار داده است :
    ▪MSXML
    که در ابتدا پارسر XML نامیده می شد.
    کلاس های XML فریمورک دات نت
    ▪MSXML ۴.۰
    با پارسر MSXML جایگزین شده است . عملکرد MSXML ۴.۰ در اغلب موارد مشابه کلاس های فریمورک دات نت است . تفاوت عمده در نحوه استفاده از عناصر است . در MSXML بمنظور ارائه امکانات از اشیاء COM)Componenet Object Model) استفاده شده ( ازManaged code استفاده نمی گردد ) و دارای امکانات از قبل ساخته ای برای SAX)Simple API for XML) است .
    MSXML ۴.۰ ، شامل سرویس های زیر است :
    ▪▪DOM
    ▪▪XSD
    ▪▪XPath ۱.۰
    ▪▪XSLT ۱.۰
    ▪▪SAX ( یک مدل برنامه نویسی و مشابه با DOM است )
    ▪▪Schema Object Model)SOM) ، شامل امکانات API اضافه ، بمنظور دستیابی به سندهای XML Schema از طریق برنامه نویسی است .
    ●کلاس های XML فریمورک دات نت ، عملیات مشابهی را نظیر MSXML ۴.۰ انجام می دهند. طراحی کلاس های فوق بگونه ای است که امکان استفاده از آنان در یک محیط مدیریت یافته، خصوصا" سرویس های وب XML ،وجود دارد .
    ●XML و امنیت در دات نت
    XML مهمترین امکان ذخیره سازی داده ها و انتقال اطلاعات د ر فریمورک دات نت محسوب می گردد. بنابراین تمام ملاحظات امنیتی در فریمورک دات نت، به رویکردهای امنیتی XML مربوط می گردد . دستیابی به سرویس های وب XML می تواند محدود به سرویس گیرندگان تائید شده و مجاز باشد( مشابه دستیابی کاربران مجاز به یک وب سایت ) .
    ●مدل مبتنی بر شی XML برای رمزنگاری اشیاء

    کلاس SecurityElement ، مدل XML لازم بمنظور رمزکردن اشیاء را ارائه می نماید. کلاس فوق ، بمنظور استفاده همراه یک سیستم ایمنی در نظرگرفته شده است و امکان استفاده از آن بعنوان یک کلاس شی XML عمومی وجود نخواهد داشت .
    XML signature . کنسرسیوم وب در حال پیاده سازی مشخصه ای برای امضاء دیجیتالی مبتنی بر XML است . System.Security.Cryphtography.xml ،مدلی مبتنی بر XML برای استفاده از سیستم امنیتی فریمورک دات نت بوده که از امضاهای XML حمایت می نماید. مدل فوق این امکان را به اشیاء XML خواهد داد که از طریق یک امضاء دیجیتالی تایید گردند . رمزنگاری باعث حفاظت اطلاعات در مقابل نمایش و یا تغییرات شده وبدین ترتیب یک کانال ایمن ارتباطی ایجاد خواهد شد .
    رمزنگاری سرویس های وب XML بمنظور انتقال . برنامه های مبتنی بر دات نت از پروتکل SOAP ، بمنظور ارتباط با سرویس های وب XML استفاده می نمایند( فرمت اولیه پیام ها ) . کتابخانه کلاس فریمورک دات نت ، ضمائم SOAP را بمنظور اجراء ، همراه با یک متد سرویس وب XML ، ارائه می نماید . namespace ، شامل کلاس هائی است که پروتکل های مورد نیاز برای انتقال داده ها را فراهم می نماید .
    ارسال مدارک تائید شده .در مواردیکه یک سند XML ایمن شده باشد ،بدون ارسال مدارک لازم، امکان دستیابی و استفاده از آن وجود نخواهد داشت. کلاس XmlTextReader ،امکان ارسال مدارک را از طریق استفاده از کلاس CredentialCache موجود در System.Net فراهم می نماید