مفاهیم اولیه ارتباط ADO.NET و XML
در این مقاله به بررسی پتانسیل های ADO.NET که در ارتباط با XML و سرویس های وب XML می باشند ، پرداخته می گردد .
مقدمه XML در دات نت یکی از مهمترین عناصر محسوب و دارای نقشی کلیدی است ( قلب دات نت ) . ASP.NET و سرویس های وب از XML بعنوان روشی ذاتی برای دستیابی به داده ها استفاده می نمایند . سرویس های وب از پروتکل SOAP که خود مبتنی بر XML روی HTTP است ، استفاده می نمایند . پیکربندی و تنظیمات دات نت با فرمت XML ذخیره می گردند . ADO.NET از طریق چندین سطح متفاوت با XML مرتبط می گردد که این پیوستگی و ارتباط دارای یک مزیت بزرگ خواهد : ارتباط بین داده های رابطه ای و سلسله مراتبی . بنابراین ، می توان XML را نظیر چسبی در نطر گرفت که تمام اجزای دات نت را بیکدیگر متصل می نماید. برنامه ها و عناصری که با استفاده از دات نت ایجاد می گردند ، قادر به برقراری ارتباط بکمکXML می باشند . بمنظور کار با XML در دات نت، بیش از دویست کلاس ایجاد شده که در Namespace با نام System.Xml مستقر می باشند . XML با ADO.NET بطور واقعی مرتبط و از این طریق پلی بین داده های رابطه ای و سلسله مراتبی ایجاد می گردد .
بقیه در ادامه مطب.....................
ADO.NET و XML
ADO.NET ، بصورت کامل با XML مرتبط است . مدل اشیاء ADO.NET ، بگونه ای طراحی شده است که XML را بعنوان هسته اساسی خود ، نه بعنوان یک چیز اضافه نظیر ADO 2.x ، پذیرفته است . تکنولوژی ADO.NET ، این امکان را فراهم می نماید که داده های رابطه ای سنتی را بسادگی به فرمت XML تبدیل کرد.در این راستا ، همچنین امکان تبدیل داده ها از XML ، به مجموعه ای از جداول و رابطه ها نیز وجود دارد. XML ، یکی از روش های قابل حمل و قدرتمند برای ارائه داده در محیط ها ی ( پلات فرم ) مستقل و باز است. یکی از خصایص مهم داده های XML ، ماهیت مبتنی بر متن آنان است . بدین ترتیب داده های XML ، بسادگی بین برنامه ها و سرویس ها ارسال خواهند شد.( در ADO Recordset داده ها بصورت باینری ارسال می گردند) . بمنظور پردازش داده های مبتنی بر XML ، می بایست برنامه مورد نظرنوشته گردد . داده های XML ، ممکن است از طریق یک منبع خارجی ( یک بنگاه تجاری خاص ) ، یک سرویس وب XML ، پست الکترونیکی (Email) ، سرویس دهنده Microsoft Biztalk و یا منابع دیگر ، توزیع شوند.
مدل اشیاء ADO.NET ، امکانات حمایتی متعددی را در رابطه با XML ارائه می نماید. قوانین و توصیه های زیر در زمان استفاده از XML بهمراه ADO.NET ، پیشنهاد می گردد :
امکان خواندن داده ازیک DataSet با فرمت XML ، وجود خواهد داشت. روش فوق، زمانی مفید خواهد بود که بخواهیم داده هائی را بین برنامه ها و یا سرویس ها در یک محیط توزیع شده ارسال نمائیم .
امکان پرنمودن (Fill) یک DataSet با داده ها ی XML وجود خواهد داشت. روش فوق، زمانی مفید خواهد بود که داده های XML را از طریق برنامه و یا سرویس دیگر دریافت و بخواهیم یک بانک اطلاعاتی را با استفاده از آنان ، بهنگام نمائیم .
می توان یک XML Scehma را بمنظور ارائه داده ها در یک DataSet ایجاد نمود. از XML Schema ، بمنظور انجام عملیاتی نظیر سریال سازی داده های XML به یک Stream و یا یک فایل استفاده می گردد.
می توان داده های XML را از طریق یک فایل و یا یک Stream ، درون یک درخت DOM)Document Object Model) لود و در ادامه ،امکان انجام عملیات بر روی داده ها بصورت XML و یا یک DataSet ، وجود خواهد داشت .بدین منظور لازم است از یک XML Schema ، برای تشریح ساختار داده ها جهت DataSet استفاده کرد .
امکان ایجاد Typed Dataset وجود خواهد داشت . Typed DataSet ، یک زیر کلاس از DataSet بوده که بهمراه آن خصلت ها و متدهائی بمنظور بکارگیری ساختار DataSet اضافه شده است .
مثال در این مثال نحوه استفاده از XML در مدل غیر متصل ADO.NET تشریح می گردد . در مثال فوق ، از XML بمنظور ارسال داده بین بخش های متفاوت سیستم استفاده می شود :
مرحله یک : برنامه سرویس گیرنده ، یک سرویس وب XML را بمنظور درخواست داده از بانک اطلاعاتی فرا می خواند .
مرحله دو : سرویس وب XML ، یک Query به یک منبع داده را انجام تا داده های مورد نظر را بدست آورد .
مرحله سه : سرویس وب XML ، نتایج را در یک DataSet لود می نماید.
مرحله چهار : سرویس وب XML ، داده ها را به فرمت XML ترجمه و داده های XML را برای برنامه سرویس گیرنده برمی گرداند .
مرحله پنج : برنامه سرویس گیرنده ، پردازش های لازم در رابطه با داده های XML را انجام می دهد. مثلا" سرویس گیرنده می تواند داده XML را در یک DataSet لود و آنها را به کنترل های رابط کاربر نظیر یک DataGrid نسبت دهد. پس از آمادگی برنامه سرویس گیرنده ، یک سرویس وب XML ، بمنظور بهنگام سازی منبع داده با داده های تغییر یافته فعال و فرا خوانده می گردد.
مرحله شش : سرویس وب XML ، داده های XML جدید را درون یک DataSet لود و از داده های جدید ، بمنظور بهنگام سازی منبع داده استفاده می نماید.