معرفی ODATA

سه شنبه 25 خرداد 1395

در این مقاله به معرفی OData می پردازیم. Open Data Protocol یک open protocol است که برای به اشتراک گذاری داده ها استفاده می شود. این پروتکل بر اساس استاندارد OASIS است که بهترین روش برای ساخت و استفاده از REST API ها به شمار می رود.

معرفی ODATA

مقدمه

Open Data Protocol یک open protocol (پروتکل باز یا آزاد )است که برای به اشتراک گذاری داده ها استفاده می شود. این پروتکل بر اساس استاندارد OASIS کار می کند که بهترین روش برای ساخت و استفاده از REST API ها به شمار می رود.

هدف اصلی Open Data protocol این است که دسترسی همه ی برنامه ها به یکدیگر را فراهم کند. (به عبارتی از هر برنامه ای بتوانیم به سایر برنامه ها دسترسی داشته باشیم.) امروزه بسیاری از برنامه ها مانند مرورگرهای وب ، برنامه های بر روی دستگاه های تلفن همراه و ابزار BI  نیاز دارند تا به منابع اطلاعاتی مشترکی دسترسی داشته باشند. هر برنامه ای روش و استایل خاصی برای منبع داده ای که استفاده می کند دارد، بنابراین ایجاد یک  منبع داده که به وسیله ی همه برنامه ها قابل دسترسی باشد کار سختی است . راه حل این مساله این است که یک سری قواعد و روش های مشترک تعریف کنیم و همه ی صاحبان برنامه ها بپذیرند که از این قواعد و روش های مشترک برای دسترسی به داده ها پیروی کنند.

OData یک بخش توسعه یافته از Atom است و تعریف آن به صورت داده هایی با ساختار خاص بیان می شود. OData یک فرمت استاندارد محسوب می شود و استفاده کنندگان از آن هر روزه در حال افزایش هستند. 

در حال حاضر OData به صورت گسترده برای نمایش اطلاعات استفاده می شود . برنامه هایی مانند Facebook و eBay برای نمایش اطلاعات خود از OData استفاده می کنند. OData ترجیح می دهد از برنامه های شرکت ها و موسسات خاصی برای نمایش اطلاعات استفاده کند. به همین منظور کتابخانه های OData برای انواع مختلف پلتفرم های توسعه ی برنامه ها مانند .net و java  در دسترس و موجود هستند . Cloud storage ها مانند Windows Azure و   relational data در  SQL Azureدارای پشتیبانی تعبیه شده برای OData هستند. همچنین مشابه این عمل برای نرم افزار های مدیریت محتوا و SharePoint نیز برقرار است .

منبع داده ی OData می تواند به وسیله ی کدهای JavaScript که بر روی مرورگرهایی مانند IE ، FF و غیره اجرا می شوند قابل دسترسی باشد. OData client library بر روی Android ، iOS و Windows phone نیز در دسترس و موجود هستند. همچنین بسیاری از ابزار های Bi از OData پشتیبانی می کنند.

فرمت های خروجی ای که توسط OData پشتیبانی می شوند

 OData   از دو فرمت خروجی مختلف پشتیبانی می کند:

Atom XML

Java Script Object Notation (JSON)

در زیر یک مثال از Atom XML نشان داده شده است :

<?xml version="1.0" encoding="utf-8"?>  
<feed xmlns="http://www.w3.org/2005/Atom">  
<link href="http://example.org/feed/" rel="self" />  
<link href="http://example.org/" />  
<id>urn:uuid:78FFE95A-9AB4-4258-B46B-DF6F0A33A0D6</id>  
<updated>2015-05-19T03:38:50Z</updated>  
<entry>  
<title>OData</title>  
<link href="http://example.org/2003/12/13/atom03" />  
<link rel="alternate" type="text/html" href="http://example.org/2003/12/13/atom03.html"/>  
<link rel="edit" href="http://example.org/2003/12/13/atom03/edit"/>  
<id>urn:uuid:89DC38BA-098F-4134-AE41-11246FD82997</id>  
<updated>2015-05-19T03:38:50Z</updated>  
<author>  
<name>Test Users</name>  
<email>test@gmail.com</email>  
</author>  
<content type="application/xml">  
<m:properties>  
<d:ID m:type="Int32">1</d:ID>  
<d:ItemName>aa</d:ItemName>  
<d:Description>aa item</d:Description>  
<d:ReleaseDate m:type="DateTimeOffset">2015-05-19T03:38:50Z</d:ReleaseDate>  
<d:DiscontinuedDate m:null="true"/>  
<d:Price m:type="Double">25</d:Price>  
<d:Rating m:type="Int16">3</d:Rating>  
</m:properties>  
</content>  
</entry>  
</feed>  

کد زیر یک مثال از JSON است :

{  
   "@odata.context": "http://services.odata.org/V4/OData/OData.svc/$metadata#Products",  
   "value": [  
     {  
       "ID": 1,  
       "Name": "aa",  
       "Description": "aa Item",  
       "ReleaseDate": "2015-05-19T03:38:50Z ",  
       "Rating": 2,  
       "Price": 23  
     },  
     {  
       "ID": 2,  
       "Name": "bb",  
       "Description": "bb Item",  
       "ReleaseDate": "2015-05-19T03:38:50Z",  
       "Rating": 3,  
       "Price": 3.5  
     },  
   ]  
}  

یکی از مزایای  فرمت پیام رسانی JSON این است که سایز  آن بسیار کوچک است و نسبت به پیام های XML برای درک، ساده تر می باشد.

چه زمانی از OData استفاده کنیم؟

اولین سوالی که مطرح می شود این است که : چرا ما از OData به جای SOAP (که مبتنی بر فرمت XML است ) استفاده می کنیم؟ OData یک استاندارد جدید برای برقراری ارتباط است و توسط اغلب کاربران پذیرفته شده است.اکنون  OData از پشتیبانی .NET framework و Excel 2010 for Pivot Table نیز برخوردار است . ما همچنین می توانیم LINQ query ها را بر روی سرویس های OData اجرا کنیم. بسیاری از ابزارهای BI از منابع داده ی OData پشتیبانی می کنند. همچنین OData می تواند داده ها را از پایگاه داده های رابطه ای ، فایل های سیستمی و سرویس ها نیز استخراج کند و نمایش بدهد.

بنابراین OData یک روش مشترک برای کاربران فراهم می آورد تا به منابع داده دسترسی پیدا کنند .  همپچنین OData به ما اجازه می دهد تا یک سرویس را یک بار بنویسیم و کاربران زیادی از اطلاعات آن به شیوه های مختلف استفاده کنند.

آموزش سی شارپ

ایمان مدائنی

نویسنده 1299 مقاله در برنامه نویسان
  • C#.net
  • 4k بازدید
  • 8 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید