شاخه و زیر شاخه ها

تصاویر تصادفی

  • پاییز هزار رنگ مازندران
  • مراسم دهه فاطمیه

مطالب تصادفی

SQL Server Browser چیست ؟

سرویس مرورگر SQL Server این سرویس روی همه نسخه های SQL Server پشتیبانی میشود ولی فقط در ویندوز قابل استفاده است. برنامه مرورگر SQL Server به عنوان یک سرویس ویندوزی اجرا می شود. م ...

يکشنبه 11 ارديبهشت 1401

جدید ترین مطالب

ایران دو ، ولز صفر

تاپای جان، برای ایران. جام جهانی فوتبال ۲۰۲۲ قطر

جمعه 04 آذر 1401

سه‏ شنبه 01 آذر 1401

محبوب ترین مطالب

نقطه ضعف آدم های دلپاک

آدم های دلپاک بزرگترین نقطه ضعفی که دارن، اینه که فکر میکنن اطرافیانشونم همه مثل خودشونن.

سه‏ شنبه 18 آبان 1400

بهترین خودت باش!

تو مسئول خوب زندگی کردن خودت هستی و این خوب زندگی کردن رو به خودت بدهکاری! تو باید تصمیماتی بگیری که بهت قدرت بده و کمک کنه تا خودت و زندگیت رو بهبود ببخشی … انسان موفق کسی است ک ...

يکشنبه 10 بهمن 1400

service
کاربرد XML و JSON در وب سرویس و API

از هر دو فرمت JSON و XML میتوان برای دریافت داده از سرور استفاده کرد. این دو فرمت توانایی کار با XMLHttpRequest را دارند و در اکثر زبان های برنامه نویسی مورد استفاده هستند. ساختاری کاملا درختی و قابل فهم برای انسان دارند.

XML چیست؟
XML مخفف Extensible Markup Language و به معنای زبان نشانه‌گذاری گسترش‌ پذیر است. از این جهت به این زبان گسترش‌ پذیر می‌گویند که شما به راحتی می‌توانید هر تگ دلخواهی را تعریف کنید. این ابزار برای دسته‌ بندی و انتقال داده‌ها استفاده می‌شود و در ظاهر سایت هیچ اثری ندارد.

 

تفاوت XML و HTML
هدف xml انتقال و جابه‌جایی داده با تمرکز بر مفهوم آن است. درحالی که html برای نمایش داده‌ها با تاکید بر ظاهر آن به‌وجود آمده است.
همچنین تگ‌های xml از قبل تعریف نشده‌اند و همین موضوع باعث شده این زبان بسیار منعطف و قابل توسعه باشد. برای مثال در HTML تگ‌های h1،p و… از قبل تعریف شده‌اند اما در xml شما می‌توانید تگ موردنیاز خود را ایجاد کنید.

 

کاربرد xml چیست؟
XML اطلاعات را بدون قالب‌بندی خاصی در خود ذخیره می‌کند. همین موضوع باعث می‌شود در هر سیستمی قابل حمل باشد و برای نمایش آن نیاز به سخت افزار یا نرم‌افزار خاصی نباشد. این انعطاف باعث شده در برنامه‌نویسی وب و موبایل مورد استفاده قرار بگیرد.

 

استفاده از XML : 

  • گرفتن سند XML
  • استفاده از XML DOM و حلقه تکرار برای پیمایش سند
  • استخراج مقادیر و ذخیره آن ها در متغیر ها

 

یکی دیگر از کاربرد‌ها، این است که شما می‌توانید متون دلخواه خود را در قالب یک فایل xml ذخیره کنید، سپس با کمک html بدون توجه به محتوا، به طراحی ظاهر بپردازید. در آخر با کمک چند خط کد جاوا اسکریپت، متن های xml را در قالب html نمایش دهید. این کار باعث می‌شود هر زمان که نیاز است بتوانید متن ها را بدون تغییر ظاهری و کدهای html تغییر دهید.

 

نمونه‌ای از کد XML
در ادامه نمونه‌ای از کد XML را مشاهده می‌کنید. همانطور که گفته شد، نویسنده به راحتی می‌تواند تگ‌های دلخواهی با توجه به نیاز خود ایجاد کند.
 

 

کافیست notepad را باز کرده و کد بالا را در آن بنویسید. سپس کد را با پسوند xml. ذخیره کنید. این کد در همه‌ی مرورگرها قابل اجراست.
در این کد به کمک تگ دلخواه breakfast_menu یک منو برای صبحانه ایجاد شده است. نکته ای که باید به آن توجه کنید این است که کدهای xml خروجی خاصی ندارند.


جیسون چیست؟
جیسون معادل اختصاری عبارت JavaScript Object Notation به معنی «نمادگذاری اشیا در جاوا اسکریپت» است. جیسون یک قالب استاندارد باز است که امکان تبادل داده‌ها در وب با استفاده از جفت‌ های خصوصیت و کلید را ممکن ساخته است. این توضیح ممکن است تا حدودی پیچیده به نظر بیاید؛ پس در ادامه آن را اندکی بیشتر توضیح می‌دهیم.

 

فرض کنید که شخصی یک بالون دارد و شما آن را می‌خواهید. یکی از روش‌های ارسال بالون این است که فرد دیگر عملاً آن را بسته‌بندی کند و از طریق پست برای شما ارسال نماید. اما یک روش دیگر آن است که فرد خصوصیات بالون خود را برای شما توضیح دهد تا شما بتوانید همان بالون را بدون دسترسی عملی فیزیکی به آن، به طور دقیق بازسازی نمایید.

 

بالون آن فرد می‌تواند خصوصیاتی از قبیل جنس: پلاستیک، رنگ: قرمز، قطر: 25 سانتی‌متری، گاز: هلیوم داشته باشد. این چهار جفت خصوصیت: کلید برای این که بتوانید بالون را تجسم کنید کافی هستند.
جیسون نیز در زمان ارسال داده‌ها بر روی اینترنت به همین ترتیب عمل می‌کند.

 

استفاده از JSON:

 

  • گرفتن رشته JSON
  • ریختن مقادیر در شی
  • کار با json.parser در جاوااسکریپت و …

 

مزیت جیسون چیست؟
 

جیسون نخستین قالبی نیست که از جفت‌ های خصوصیت و کلید برای تبادل داده‌ها بر روی اینترنت استفاده می‌کند. فناوری‌های مختلفی در این زمینه وجود دارند که ممکن است حتی برخی از آن‌ها مانند XML را نیز بشناسید. جیسون و ایکس‌ام‌ال تقریباً به روش مشابهی عمل می‌کنند. پس چرا باید جیسون را بر ایکس‌ام‌ال ترجیح بدهیم؟

 

در وب امروز بارگذاری asynchronous (غیر همزمان و یا در مواردی نامتقارن نامیده می‌شود) داده‌ها بسیار مهم است. به بیان دیگر صفحه‌های وب می‌خواهند قادر باشند تا داده‌ها را بدون نیاز به بارگذاری مجدد کل صفحه به کاربر ارسال نمایند. نتیجه چنین امکانی، ایجاد تجربه مرور روان‌تر و مطلوب‌تر برای کاربر است. جیسون برای ارسال و دریافت غیر همزمان داده‌ها عالی است، زیرا ساده است و استفاده از آن آسان است.

 

اما ایکس‌ام‌ال نیز همین کار را انجام می‌دهد! پس چرا برخی افراد جیسون را به آن ترجیح می‌دهند؟
یکی از پاسخ‌های ممکن به این سؤال شاید در نام جیسون نهفته باشد: نمادگذاری اشیای جاوا اسکریپت. جیسون معمولاً همراه با جاوا اسکریپت شناسایی می‌شود که یکی از رایج‌ترین زبان‌های برنامه‌نویسی دنیا است. از آنجا که جیسون زیرمجموعه‌ای از جاوا اسکریپت است، برای کسانی که جاوا اسکریپت را می‌دانند نیاز به یادگیری موارد زیادی در زمان استفاده از جیسون وجود نخواهد داشت.

 

دلیل دیگر برای این محبوبیت جیسون آن است که خوانایی آن بالاتر از ایکس‌ام‌ال است. البته وقتی برای مدتی برای با ایکس‌ام‌ال کار کنید، استفاده از آن را نیز آسان خواهید یافت؛ اما نگاهی گذرا به فایل ایکس‌ام‌ال کاربر را با انبوهی از تگ‌ها و موارد توضیحی روبرو می‌کند. در مقابل جیسون تمیزتر است و افراد مبتدی آن راحت‌تر درک می‌کنند. از طرف دیگر با انواع داده‌های مقدماتی خود تا حدودی انعطاف‌پذیری بیشتری ارائه می‌کند.
 

ظاهر جیسون چگونه است؟
جیسون تنها یک سری از جفت‌ های خصوصیت و کلید است که می‌توان در صورت لزوم آن‌ها را به صورت تو در تو نوشت. برای مثال اگر داده‌های ما در مورد یک شخص باشند، این شخص را می‌توان به وسیله داده‌های جیسون زیر نمایش داد:

هر خط با یک خصوصیت آغاز می‌شود و با علامت دو نقطه (:) ادامه می‌یابد، سپس مقدار خصوصیت ذکر می‌شود. این مقدار همان طور که در مورد خصوصیت شماره تلفن در مثال فوق مشاهده می‌کنید، می‌تواند یک آرایه باشد. همچنین مقدار یک خصوصیت همان طور که در مورد خصوصیت آدرس در مثال فوق می‌بینید، می‌تواند خود جفت‌هایی دیگر از خصوصیت-کلید باشد. این حالت یک شیء نامیده می‌شود.

 

برای مقایسه در ادامه همان داده‌ها با استفاده از زبان XML تنظیم شده‌اند: 


XML و JSON
از هر دو فرمت JSON و XML میتوان برای دریافت داده از سرور استفاده کرد. در نمونه مثال هایی که در زیر آورده شده است (یکی با JSON و دیگری با XML) هر دو یک شی employees را تعریف میکنند که اطلاعات سه کارمند در آن قرار گرفته است :

 

 شباهت های JSON و XML

دو فرمت JSON و XML دارای نقاط اشتراکی هستند که آنها را بهم شبیه کرده است :

  • هر دو فرمت از قابلیت خوانایی خوبی برخوردار هستند و برای انسان قابل فهم هستند
  • هر دو فرمت دارای ساختار درختی برای اطلاعات هستند
  • هر دو فرمت به سادگی میتوانند در اکثر زبان های برنامه نویسی مورد استفاده قرار بگیرند
  • تمامی داده های موجود در این دو فایل از موارد اضافه خالی هستند و هدف از آنها نگهداری داده است.
  • هر دوی آنها با XMLHttpRequest توانایی کار دارند.

 

تفاوت های JSON و XML 
دو فرمت JSON و XML در بعضی موارد با هم متفاوت اند. این تفاوت ها عبارت اند از :

 

  • JSON از تگ استفاده نمیکند
  • JSON به نسبت XML کوتاهتر است
  • JSON برای خواندن و نوشتن ساده تر است
  • JSON میتواند از آرایه ها استفاده کند
  • در json تگ بسته نداریم.
  • فایل های json زمان خواندن و نوشتن کمتری را طی می کنند.
  • در فایل های xml امکان ذخیره سازی آرایه ها نیست.
  • فایل های json تنها توسط javascript استفاده می شوند.


چرا JSON از XML بهتر است ؟
XML در مقایسه با JSON تجزیه آن دشوارتر است. این در حالی است که JSON را میتوان به سادگی به شی ایی در جاوا اسکریپت تبدیل کرد. برای اپلیکیشن هایی که از AJAX استفاده میکنند JSON سریعتر از XML است.

 

XML بسیار سخت تر از JSON تجزیه (parse) می شود.
همچنین JSON می تواند به شی جاوا اسکریپت تبدیل شود.
برای برنامه های AJAX، فرمت JSON سریع تر و راحت تر از XML است.


: API
API مخفف application programming interface (رابط برنامه‌نویسی نرم‌افزار) واسطه‌ای است بین یک کتابخانه با برنامه‌هایی که از آن کتابخانه تقاضای سرویس می‌کنند .


به صورت ساده و قابل فهم، API ها مثل function هایی هستند که در یک سرور (یا سیستم عامل) وجود دارد و یک برنامه نویس در برنامه خود می‌تواند آنها را فراخوانی و استفاده کند بدون اینکه به سورس و نحوه عملکرد آن دسترسی داشته باشد.

 

وب سرویس و API چیست؟
وب سرویس به زبان ساده یعنی با استفاده از یک یا چند خط کدنویسی به زبان های برنامه نویسی مختلف، می توان دستورات متنوعی را به صورت آرگومان ارسال نمود و درخواست انجام کاری را کرد.

 

SOAP یا Simple Object Access Protocol
یکی دیگر از استانداردهای مهم و کاربردی در وب سرویس ها استاندارد SOAP میباشد که این پروتکل نیز همانند XML قادر است بصورت مشترک باعث اتصال موفق برنامه ها با وب سرویس گردد. در واقع پیغام های ایجاد و ارسال شده SOAP عامل اصلی و ایجاد کننده اتصال وب سرویس میباشند. بعد از اتصال پیغام بر روی بستر SOAP در صورتی که پیغام برای وب سرویس دارای مفهوم عملیاتی باشد با توجه به توابع تعریف شده دستور اجرا و نتیجه آن مجددا بر روی قالب پیغام SOAP به درخواست کننده ارسال میگردد.

 

UDDI یا Universal Description – Discovery and Integration
این استاندارد حاوی یک فایل مبتنی بر XML میباشد که توسط آن شرکت ها به معرفی  اتصال وب سرویس ها اقدام میکنند. از معروفترین شرکت هایی به استفاده و توسعه این استاندارد میپردازند مایکروسافت میباشد. شرکت های استفاده کننده از این فایل و استاندارد میتوانند سطح دسترسی آن را به راحتی حتی جهت معرفی در اختیار عموم قرار دهند یا شرکت های خاص.

 

WSDL  یا Web Service Description Language
از دیگر استاندارد های مهم که کاربرد بسیار فراوانی در وب سرویس ها دارد استاندارد WSDL میباشد. این استاندارد نیز همانند UDDI دارای یک فایل برای هر وب سرویس میباشد که این فایل با فرمت XML بوده و به صورت کلی نحوه استفاده از وب سرویس را شرح میدهد. در این فایل عناوین مهمی از جمله اینکه پورتهای خروجی و وردی وب سرویس چه پورت تعیین شده است، وجود دارد. استاندارد WSDL در کنار تمامی وب سرویس ها این فایل را ایجاد و در اختیار کاربر قرار میدهند تا به راحتی به مستندات وب سرویس دسترسی داشته باشند و بتوانند از آن استفاده کنند.
 

تولید فایل  xml  روی سرور با   PHP

 

تولید فایل  xml  روی سرور با  ASP
برای ساخت یک XML response سرور – به سادگی کد زیر را بنویسید و آن را به عنوان یک فایل ASP در سرور وب ذخیره کنید:

 

تولید XML از یک پایگاه داده
XML را می توان با استفاده از یک پایگاه داده بدون هیچ نرم افزاری XML نصب کرد.
برای ایجاد یک XML database response از سرور، به سادگی کد زیر را بنویسید و آن را به عنوان یک فایل ASP در سرور وب ذخیره کنید:

سید احمد ایمانی
ارسال توسط : سید احمد ایمانی

سرپرست تیم، مدیر پروژه و برنامه نویس ارشد. بیش از 20 سال تجربه فعالیت در زمینه های مختلف برنامه نویسی و تولید نرم افزار. سرپرستی واحد های پشتیبانی، IT، مالتی مدیا، نرم افزار. مدیریت پروژه های چند رسانه ای، تعاملی، آزمون، وب سرویس، وب سایت و برنامه های ویندوزی. برنامه نویسی سمت سرور، کلاینت، پایگاه داده، سرویس و چند رده