XML در دات نت
XML در دات نت
مقدمه
سرويس های وب XML
محيط ( پلات فرم ) دات نت
چالش های موجود در زمينه بکارگيری برنامه ها در اينترنت
يکپارچگی بين برنامه های مختلف
ترجمه بين فرمت های داده متفاوت
• فرمت های متفاوت XML . فايل های XML می توانند از گرامرهای متفاوتی استفاده نمايند . مثلا" گرامری، صرفا" از المان ها استفاده نموده و در گرامری ديگر ، از المان ها بهمراه خصلت های مربوطه استفاده می گردد . شرکت ها و موسسات تجاری برای غلبه بر اين نوع مشکل تبديل داده ،می توانند از تمپليت های استاندارد شده استفاده نمايند.
• توليد XML از داده هائی با فرمت ديگر . داده ها ی موجود در هر سازمان با فرمت های متفاوتی نظير: EDIFACT ,ANSI ,X12 , XML , فايل های CSV)Comma Separated value) ، فايل های Tab -Separated و موارد ديگر، ذخيره شده اند. در اين راستا ، می توان ساختاری استاندارد برای داده ها ايجاد تا زمينه استفاده از آنان برای ساير برنامه ها فراهم گردد .
• معتبر سازی ساختار داده ها . يکی از مزايای مهم استفاده از XML در برنامه ها ، ارائه روشی مطلوب بمنظور اشتراک اطلاعات است . با توجه به دريافت داده ها از منابع متفاوت، می بايست از روشی بمنظور اطمينان از صحت و اعتبار داده ها استفاده گردد .بدين منظور و جهت غلبه بر مشکل فوق، می توان از ابزارهای معتبر سازی نظير Schema که در بين تمام برنامه ها و نوع داده ها استاندارد است، استفاده گردد.
جستجو و بازيابی اطلاعات
• جستجو برای يک آيتم خاص در داده ها : برنامه ها از داده ها ئی با فرمت متفاوت و ساختاری گوناگون استفاده می نمايند. برخی از داده ها در ساختارهای سلسله مراتبی، برخی ديگر در ساختارهای رابطه ای و برخی ديگر دارای ساختاری خاص نبوده و صرفا" بصورت متن ذخيره می گردند. بدين منظور لازم است از روشی بمنظور حرکت در طول ساختار استفاده تا به نتايج مطلوب بمنظور بازيابی يک آيتم اطلاعاتی بدرستی و بسرعت دست پيدا کرد .
• خلاصه سازی، ترکيب و همبستگی . پس از يافتن اطلاعات مورد نياز، می خواهيم بر روی آنان عمليات متفاوتی را انجام دهيم . مثلا" ممکن است، قصد تنظيم يک گزارش خاص در رابطه با ميزان فروش ماهانه، وجود داشته باشد. در اين راستا می توان، داده های دريافتی از منابع متفاوت را با يکديگر ترکيب و آنها را با يک فرمت خاص ذخيره و در ادامه پردازش های لازم را انجام داد . طراحی دات نت بر اساس استفاده از تکنولوژی محوری XML پايه گذاری شده است . با استفاده از XML ، می توان عمليات فيلترسازی داده ها را بمنظور کاهش حجم اطلاعاتی انجام و بدين ترتيب صرفا" با داده هائی که به فعاليت مرتبط می باشند، درگير خواهيم شد .
پردازش ( عمليات ) بر روی داده ها
• تبديل داده از XML به فرمت ديگر .در صورتيکه المان ها و خصلت های برنامه ای که با آن کار می شود متفاوت از ساختار XML مربوط به داده هائی باشد که از آن بعنوان منبع تامين اطلاعات ، استفاده می گردد، می بايست از روشی برای تبديل داده از يک گرامر XML به شکل ديگر، استفاده گردد. در صورتيکه با يک برنامه وب کار می شود، می بايست داده های ساختيافته در اسناد XML به اسناد Html بمنظور نمايش بر روی وب سايت ، تبديل گردند.
• تغيير ساختار يک سند . در برخی موارد لازم است به يک سند XML المان و يا خصلتی ، اضافه و يا حذف گردد . بدين ترتيب در ساختار سند موجود تغييراتی بوجود می آيد.
استانداردهای کنسرسيوم وب در دات نت
استانداردهای کنسرسيوم وب در دات نت
• Xml Information set : کنسرسيوم وب مشخصاتی را بعنوان مجموعه اطلاعات مرتبط با XML ، استاندارد و ارائه نموده است .استاندارد فوق، شامل مجموعه ای از تعاريف بمنظور استفاده توسط ساير مشخصاتی است که بنوعی به اطلاعات موجود در يک سند XML مراجعه می نمايند. يک سند XML ، حاوی تعدادی از مجموعه اطلاعات ارائه شده در استاندارد فوق است . مشخصات فوق ، اطلاعات لازم بمنظورتشريح ساختار يک سند XML را ارائه می نمايد .يک سند XML شامل يک مجموعه اطلاعات است، اگر " خوش - شکل " بوده و محدوديت های تعريف شده در رابطه با Namespace را در مجموعه اطلاعات ومشخصات XML ، تامين نمايد . اغلب استانداردهای XML کنسرسيوم وب، از تعاريف ارائه شده در مشخصه فوق ، اقتباس ( مشتق ) شده اند.برای اطلاعات تکميلی می توان به آدرس http://www.w3.org/TR/xml-infoset مراجعه کرد .
• XML 1.0 Namespace . استاندارد فوق ،ضوابط لازم بمنظور ايجاد يک شی داده بصورت يک سند XML ، را تعريف می نمايد . مشخصات فوق همچنين ،ساختار فيزيکی و منطقی يک سند XML و ساير خصايص مربوطه را تعريف می نمايد. برای اطلاعات تکميلی می توان به آدرس http://www.w3.org/Tr/REC-xml مراجعه استفاده کرد.namespace ها درXML يک namespace را تعريف و نحوه استفاده از namespace در زمان ايجاد يک گرامر XML را که شامل المان ها و خصلت هائی است، مشخص می نمايد . برای اطلاعات تکميلی می توان به آدرس http://www.w3.org/TR/REC-xml-names مراجعه کرد .
• XML Path Language ( XPath) 1.0 : استاندارد XPath ، گرامر و سمنتيک مورد نياز برای آدرس دهی بخش های متفاوت يک سند XML را مشخص می نمايد. XPath ، همچنين شامل امکانات پايه برای انجام عمليات در رابطه با رشته ها ، اعداد و منطق است . برای مشاهده اطلاعات تکميلی می توان به آدرس http://www.w3.org/TR/XPath مراجعه کرد .
• XSL Transformation (XSLT) 1.0 : استاندارد XSLT ، گرامر و سمنتيک XSLT را تعريف و زبانی برای تبديل اسناد XML به فرمت های ديگر است . تبديل مورد نظر( بيان شده ) در XSLT يک Style Sheet ناميده می شود . برای مشاهده اطلاعات تکميلی می توان به آدرس http://www.w3.org/TR/XSLT مراجعه کرد .
• Document Object Model )DOM) : استاندارد DOM سطح يک و دو، اينترفيس لازم را بمنظور دستيابی و انجام عملياتی نظير: بهنگام سازی Style ،محتويات و ساختار يک سند از طريق برنامه نويسی ، فراهم می نمايد . برای مشاهده اطلاعات تکميلی می توان به آدرس http://www.w3.org/DOM مراجعه کرد .
• XML Schema Definition Language )XSD) : استاندارد XSD ، روشی برای تشريح ساختار ، محتويات و سمنتيک يک سند XML است . Schema امکان استفاده از واژه های مشترک را فراهم می نمايد . برای مشاهده اطلاعات تکميلی می توان به آدرس http://www.w3.org/XML/Schema مراجعه کرد .
جدول زير نسخه های پياده سازی شده هر يک از استانداردهای فوق را در دات نت نشان می دهد :
استاندارد کنسرسيوم وب | namespaceمربوطه در دات نت |
XML 1.0 and Namespaces in XML | System.Xml |
XPath | System.Xml |
XSLT | System.Xml.Xsl |
DOM Level 1 | System.Xml |
DOM Level 2 Core | System.Xml |
XML Schemas | System.Xml |
XML Schema Object Model(SOM) | System.Xml.Schemas |
دات نت با ارائه namespace و کلاس های پايه از استانداردهای ارائه شده توسط کنسرسيوم وب، حمايت می نمايد . جدول زير نسخه های پياده سازی شده
W3C XMLstandard | .NET Framework namespace | .NET Framework class |
XML 1.0 and Namespaces in XML | System.Xml | Not applicable |
XPath | System.Xml | XPath base class |
XSLT | System.Xml.Xsl | XslTransform base class |
DOM Level 1 | System.Xml | XmlDocument class |
DOM Level 2 Core | System.Xml | XmlDocument class |
XML Schemas | System.Xml | XmlSchema |
XML Schema Object Model(SOM) | System.Xml.Schemas | XmlSchema |
مروری بر کلاس های XML در دات نت
Abstract base class | کلاس های مشتق شده |
XmlReader | XmlTextReader |
XmlWriter | XmlTextWriter |
XmlNavigator | XmlPathNavigator |
XmlResolver | XmlUrlResolver |
مقايسه بين MSXML 4.0 و دات نت
• MSXML، که در ابتدا پارسر XML ناميده می شد.
• کلاس های XML فريمورک دات نت
MSXML 4.0 ، با پارسر MSXML جايگزين شده است . عملکرد MSXML 4.0 در اغلب موارد مشابه کلاس های فريمورک دات نت است . تفاوت عمده در نحوه استفاده از عناصر است . در MSXML بمنظور ارائه امکانات از اشياء COM)Componenet Object Model) استفاده شده ( ازManaged code استفاده نمی گردد ) و دارای امکانات از قبل ساخته ای برای SAX)Simple API for XML) است .
MSXML 4.0 ، شامل سرويس های زير است :
• DOM
• XSD
• XPath 1.0
• XSLT 1.0
• SAX ( يک مدل برنامه نويسی و مشابه با DOM است )
• Schema Object Model)SOM) ، شامل امکانات API اضافه ، بمنظور دستيابی به سندهای XML Schema از طريق برنامه نويسی است .
کلاس های XML فريمورک دات نت ، عمليات مشابهی را نظير MSXML 4.0 انجام می دهند. طراحی کلاس های فوق بگونه ای است که امکان استفاده از آنان در يک محيط مديريت يافته، خصوصا" سرويس های وب XML ،وجود دارد .
جدول زير ويژگی هر يک را نشان می دهد :
استاندارد کنسرسيوم وب | MSXML | کلاس های XMLفريمورک دات نت |
XML 1.0 and Namespaces in XML | yes | yes |
XPath | yes | yes |
XSLT | yes | yes |
DOM Level 1 | yes | yes |
DOM Level 2 Core | no | yes |
XML Schemas | yes | yes |
XML Schema Object Model(SOM) | yes | yes |
Simple API for Xml (SAX) | yes | no |
XML و امنيت در دات نت
مدل مبتنی بر شی XML برای رمزنگاری اشياء
XML signature . کنسرسيوم وب در حال پياده سازی مشخصه ای برای امضاء ديجيتالی مبتنی بر XML است . System.Security.Cryphtography.xml ،مدلی مبتنی بر XML برای استفاده از سيستم امنيتی فريمورک دات نت بوده که از امضاهای XML حمايت می نمايد. مدل فوق اين امکان را به اشياء XML خواهد داد که از طريق يک امضاء ديجيتالی تاييد گردند . رمزنگاری باعث حفاظت اطلاعات در مقابل نمايش و يا تغييرات شده وبدين ترتيب يک کانال ايمن ارتباطی ايجاد خواهد شد .
رمزنگاری سرويس های وب XML بمنظور انتقال . برنامه های مبتنی بر دات نت از پروتکل SOAP ، بمنظور ارتباط با سرويس های وب XML استفاده می نمايند( فرمت اوليه پيام ها ) . کتابخانه کلاس فريمورک دات نت ، ضمائم SOAP را بمنظور اجراء ، همراه با يک متد سرويس وب XML ، ارائه می نمايد . namespace ، شامل کلاس هائی است که پروتکل های مورد نياز برای انتقال داده ها را فراهم می نمايد . ارسال مدارک تائيد شده .در موارديکه يک سند XML ايمن شده باشد ،بدون ارسال مدارک لازم، امکان دستيابی و استفاده از آن وجود نخواهد داشت. کلاس XmlTextReader ،امکان ارسال مدارک را از طريق استفاده از کلاس CredentialCache موجود در System.Net فراهم می نمايد .
{{Fullname}} {{Creationdate}}
{{Body}}