PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : Xml چيست و چرا دارای اهميت فراوان است ؟ ( بخش سوم)



TAHA
10-05-2009, 08:01 AM
XML چيست و چرا دارای اهميت فراوان است ؟ ( بخش سوم)
در بخش اول، مفاهيم اوليه تکنولوژی XML بررسی و پس از معرفی خانواده بزرگ تکنولوژی های مرتبط با XML ، سه استاندارد لازم بمنظور تعريف نوع سندهای XML تشريح گرديد ( XML ، NameSpace و XML-Schema ( و يا DTD) ) . در بخش دوم به بررسی نحوه انتشار سندهای XML اشاره گرديد . در اين بخش ،نحوه پردازش سندهای XML و دلايل توجه جدی به اين تکنولوژی ، تشريح می گردد .
پياده کنندگان نرم افزار در زمان استفاده از XML علاقه مند به کار در دو سطح متفاوت می باشند : پردازش های سطح پائين و پردازش های سطح بالا. در پردازش های سطح پائين ، تمام سند خوانده شده و به بخش های مورد نظر برای پردازش ، تقسيم می گردد . در پردازش های سطح بالا ، از ابزارهای لازم برای انجام فعاليت های سطح پائين استفاده شده و در برخی حالات نيز لازم است که کدها و اسکريپت های خاصی نوشته شده تا پردازش های لازم بر روی يک سند XML صورت پذيرد . برای پردازش های سطح پائين ، می بايست از استانداردهای موجود در رابطه با Parsing استفاده کرد . در پردازش های سطح بالا ، می بايست از استاندارد تبديل XML استفاده کرد .
پارسر (Parser)
هر پردازنده XML ( مرورگرها ، پردازنده های Schema ، ويرايشگرها ، پردازنده های Stylesheet ) دارای يک پارسر می باشند . پارسر يک سند XML را خوانده و آن را به بخش های متفاوت تقسيم و در حافظه مستقر می نمايد .( معيار تقسيم بندی می تواند بر اساس المان و يا خصلت باشد ) . پس از استقرار بخش های متفاوت يک سند XML در حافظه ، امکان انجام عمليات بر روی هر يک از بخش های موجود توسط پردازنده فراهم می گردد . ( نظير داده های موجود در يک بانک اطلاعاتی ) :



انتقال يک سند از يک فرمت به فرمت ديگر

بازسازی مجدد يک سند XML با توجه به اولويت های اطلاعاتی مورد نظر

اعمال فرمت های دلخواه بمنظور چاپ و يا نمايش


اکثر پياده کنندگان نرم افزار های مبتنی بر XML ، ضرورتی به فراگيری جزئيات مربوط به نحوه پارسينگ ، نداشته و می توانند آن را به ابزارهای ارائه شده توسط توليدکنندگان واگذار نمايند . (در محيط های پياده سازی امکانات مربوطه در اين زمينه پيش بينی می گردد) . با مطالعه پارسر های XML ، شناخت مناسبی نسبت به امکانات و ويژگی های موجود، ايجاد خواهد شد . XML دارای دو اينترفيس برنامه نويسی DOM و SAX است .
DOM)Document Object Model) بر خلاف نام خود يک مدل واقعی نيست . DOM يک API ( اينترفيس برنامه نويسی ) برای نوشتن کدهای لازم بمنظور انجام عمليات دلخواه بر روی بخش هائی از يک سند XML پس از استقرار آن در حافظه است . رفتار استاندارد فوق با اطلاعات موجود در يک سند XML ، استفاده از يک ساختار درختی برای ذخيره سازی اطلاعات ، بهمراه دستوراتی برای حرکت در طول درخت و بازيابی اطلاعات مورد نظر است . دستورات بر اساس يک مدل شی گراء عمل می نمايند. مهمترين مزيت پارسرهای سازگار با DOM ، ارائه استانداردهای لازم API بمنظور انجام عمليات دلخواه در رابطه با اطلاعات است .
SAX)Simple API for XML) ، بر اساس يک مدل شی گراء رفتار نمی نمايد. در اينترفيس فوق ، از مجموعه ای رويداد استفاده می گردد . رويدادها، پس از خواند ن يک سند XML توسط پارسر های سازگار با SAX ، با توجه به شرايط مربوطه ، فعال خواهند شد. يکی از دلايل مطرح شدن SAX با توجه به وجود DOM ، عدم امکان استفاده از دستورات DOM تا زمانی است که تمام سند در حافظه مستقر گردد . استفاده و بکارگيری از دستورات DOM صرفا" پس از استقرار تمام سند XML در حافظه امکان پذير خواهد بود . بديهی است با توجه به رويکرد عملياتی فوق ، حجم بالای سندهای XML می تواند باعث بروز مسائل و مشکلاتی در اين رابطه گردد . مثلا" بمنظور دستيابی به يک المان خاص می بايست در انتظار استقرار تمام سند XML در حافظه گرديد .( از دست دادن زمان و مصرف بيهوده حافظه ) . با استفاده از تکنولوژی SAX می توان بسرعت يک سند را فعال و در ادامه المان های موجود را بمنظور استفاده از محتويات مورد نظر جستجو کرد .
قابليت SAX ، يک پيش نياز برای پارسرهای سازگار با DOM است ، چون يک پارسر DOM می بايست در ابتدا سند را خوانده و در ادامه از رويدادهای مشابه SAX بمنظورتشخيص المان ها استفاده و آنها را در حافظه ايجاد نمايد . بعنوان جمع بندی می بايست به اين نکته اشاره گردد که اغلب پارسرها امکانات مربوط به DOM و SAX را حمايت کرده و می توان از پارسر های مشابه بمنظور انجام هر يک از حالات پردازش استفاده کرد .
Transformation XSLT ( تبديل )
تبديل ، فرآيندی است که با استفاده از XSLT ، يک سند XML به يک فرمت ديگر ( XML و يا غير XML) تغيير می گردد . تبديلات، بمنزله بلاک های ايجاد برنامه های مبتنی بر XML مطرح می باشند. با استفاده از تبديلات ، امکان انجام عمليات دلخواه در رابطه با اطلاعات بصورت بهينه فراهم می گردد .
يک XSLT stylsheet ، شامل تمپليت ها و الگوها است . تمپليت ساختار تبديل مورد نياز را مشخص و الگوها ، تمپليت را به ساختار موجود در سند ، نسبت دهی خواهند کرد. مدل پردازش XSLT ، بصورت تعريفی و خود بازگشتی است . پردازنده StyleSheet ، بر روی سند XML پارس شده ، حرکت و در هر گره ، تمپليت را بکارگرفته تا بر اساس آن الگوهائی که واجد شرايط هستند، انتخاب گردند. دستورالعمل های موجود در تمپليت ها ،قادر به مرتب سازی ، سازماندهی مجدد و ساير عمليات مورد نياز بمنظور ايجاد خروجی مورد نظر می باشند . برنامه زير يک تمپليت ساده را نشان می دهد . فرض کنيد سند XML دارای دو المان <author> مشابه زير باشد .


مثال : يک سند ساده XML بهمراه دو المان

<author>
<firstname>Ali</firstname><lastname>Irani</surname>
</author>
<author>
<firstname>Reza</firstname><lastname>Tehrani</surname>
</author>


فرض کنيد StyleSheet ، شامل تمپليتی با الگوی مورد نظر برای تطبيق المان های <author> بصورت زير باشد :


مثال : تمپليت برای تطبيق المان های <author>

<xsl:template match="author">
<xsl:value-of select="lastname"/>, <xsl:value-of select="firstname"/>
<BR/>
</xsl:template>

زمانيکه پردازنده stylesheet بر روی سند حرکت می نمايد ، هر زمان که با يک المان جديد برخورد نمايد ، بررسی آن بمنظور تطبيق با شرايط موجود در تمپليت انجام خواهد شد. پردازنده در مواجه با المان <author> متوجه می گردد ، که يک مورد مطابقت وجود دارد . بدين ترتيب با تاکيد بر تمپليت تعريف شده ، خروجی مورد نظر ايجاد خواهد شد. بدين ترتيب خروجی بصورت زير خواهد بود . ( ترکيب عبارات موجود در تمپليت ، دو المان <xsl:value-of> بهمراه تگ </BR> ) .

Irani, Ali<BR/>Tehrani, Reza<BR/>
پردازش XSLT ، يک مدل قدرتمند و بسيار مفيد برای استفاده در برنامه های XML B2B است . در برنامه های فوق ، تبديلات متعددی صورت می پذيرد ( از يک فرمت XSLT به فرمت ديگر) . XSLT ابزاری مناسب بمنظور انجام عمليات فوق است .

خلاصه
استانداردهای اساسی بمنظور پردازش سندهای XML شامل DOM , SAX و XSLT می باشد.



پارسر های استاندارد شده امکان مبادله پردازنده های XML را فراهم می نمايند.

تبديلات ، بعنوان بلاک های ايجاد برنامه های مبتنی بر XML مطرح می باشند .



تاکنون با XML و استانداردهای اصلی آن آشنا شديم. در ادامه ، چهار دليل اهميت تکنولوژی XML اشاره تا تاکيدی مجدد بر تاثير تکنولوژی فوق در روش های طراحی و پياده سازی سيستم های اطلاعاتی باشد . تاثيری که فرآيند طراحی و پياده سازی سيستم های نرم افزاری را دچار تحولات فراوانی خواهد کرد.
دليل اول : مبادله اطلاعاتی فراگير
مبادله اطلاعاتی فراگير ، فرايندی بمنظور تبادل اطلاعات بين سيستم ها ويا عناصر با استفاده از فرمت های از قبل تعريف شده پيام ، بدون آگاهی از جزئيات ساير سيستم ها است . مفهوم تعريف فوق بدين منزله است که : " اگر شما يک پيام مشابه اين را به آدرس من ارسال نمائی ،من نيز يک پيام مشابه آن را به آدرس شما ارسال خواهم کرد ." بدين ترتيب مشکلی که طراحان و برنامه نويسان ساليان متمادی است با آن درگير بوده و همواره بدنبال حل اين مسئله مهم بوده اند ، برطرف می گردد .سيستم ها با استفاده از يک فرمت قابل قبول اطلاعاتی ، بيکديگر مرتبط خواهند شد . پيام های مبتنی بر XML ، مستقل از نرم افزار پردازش کننده بوده و بدين ترتيب می توان سيستم های بيشتری را در شبکه درگير و ماهيت اين نوع از سيستم ها را تغيير داد .( بدون نياز به اعمال تغيير در مکانيزم پيام ها )
XML ، بسرعت و در مقياسی گسترده بعنوان گزينه ای مناسب برای فعاليت های : B2B ، پيام شی به شی ، مطرح شده است . در سراسر دنيا ، سازمانهائی که نيازمند مبادله اطلاعاتی با يکديگر می باشند ، بهم ملحق وکميته های تجاری را ايجاد نموده اند . در کميته های فوق زبانهای XML تعريف و بر اساس آنها داده ها مبادله می گردند . در چنين مواردی Schema مربوطه ، بمنظور نشر بر روی وب سايت های اصلی و مرکزی قرار گرفته است . برای آگاهی بيشتر در رابطه با مفاهيم و کميته های مربوطه می توانيد سايت های http://www.xml.org و http://www.biztalk.org را مشاهده نمائيد .
دليل دوم : تشريح خودکار داده ها
يک سند XML شامل اسامی مربوط به اشياء/ ستون / المان ها بوده و بصورت اختياری ممکن است شامل Schema و يا مراجعه به آن باشد. بدين ترتيب يک سند XML بنوعی خود را تشريح می نمايد ، روشی که تاکنون در اين سطح استفاده نشده است . بدين ترتيب امکان پردازش های سمت سرويس گيرنده بر روی سندهای XML فراهم خواهد شد. زمانيکه يک سند XML برای يک دستگاه ارسال می گردد ، نرم افزار موجود بر روی دستگاه قادر به نمايش و پردازش اطلاعات خواهد بود . با ترکيب داده هائی که خود را تشريح می نمايند و پردازش های سمت سرويس گيرنده ، می توان برنامه های قدرتمندی را ايجاد و شاهد نسل جديدی از سندهای هوشمند با برنامه نويسی اندک ، باشيم .

دليل سوم : استاندارد جهانی
XML يک استاندارد جهانی بوده و بدين ترتيب صلابت و گسترش آن تضمين شده است . بدين ترتيب می توان :



بسادگی اطلاعات مورد نظر را بين سيستم های ناهمگن مبادله کرد .

ابزارهای توليده شده رقابتی را بر اساس نياز انتخاب کرد .

روتين هائی را با قابليت استفاده مجدد ايجاد کرد .

ويژگی جديدی را بدون درگير شدن با مسائل سازگاری اضافه کرد .


دليل چهارم : ابزاری مناسب برای ارائه اطلاعات
دليل نهائی در رابطه با اهميت XML ، قابليت استفاده XML برای انواع متفاوت اطلاعات با اهداف گوناگون است . XML در ابتدا از SGML بمنظور استفاده در وب طراحی گرديد ولی هم اکنون ، زمينه استفاده از آن در وب و ساير برنامه ها ئی که تحت وب نمی باشند ، نيز فراهم شده است . مبادله اطلاعات ، پيوستگی سيستم ها ، پردازش های توزيع شده ، ذخيره سازی محلی متاديتا ، نمونه هائی از ميدان وسيع استفاده از XML می باشند . علاوه بر موارد فوق ، لازم است به اين نکته مهم نيز توجه گردد که XML ، امکان استفاده از Unicode را نيز فراهم می نمايد ( بيش از 64.000 کارکتر ) .