
เนื้อหาในหัวข้อนี้จะอธิบายถึง OData หรือ Open Data Protocol คืออะไร,นำไปใช้กับ
.Net อย่างไร สิ่งเหล่านี้ผมจะนำเสนอในหัวข้อนี้ (ทำความรู้จักกับ OData) ซึ่งเป็นหัวข้อแรก
ที่อยู่ใน Forum ชื่อ OData.Net
Open Data Protocol คืออะไร
Open Data Protocol หรือ เรียกสั้นๆว่า OData คือ Web Protocol (เว็ป โปรโตคอล)
ที่ใช้สำหรับการคิวรี่ (Querying) และ การอัพเดต( Updating) ข้อมูลต่างๆซึ่ง OData นี้รองรับเทคโนโลยี
ของเว็ป(Web Technologies) เช่น HTTP JSON , AtomPub เพื่อที่เข้าถึงข้อมูลหรือสารสนเทศจาก Application
และ Service ต่างๆ
***หมายเหตุ***
Querying หรือการคิวรี่ เป็นการประมวลผลหรือเรียกใช้ข้อมูลจากแหล่งข้อมูล
Updating หรือการอัพเดต ในที่นี้จะหมายถึงการแก้ไข เปลี่ยนแปลงข้อมูลใหม่จากข้อมูลเดิมที่มีอยู่
HTTP ย่อมาจาก Hyper Text Transfer Protocol เป็น โปรโตรคอลที่ใช้งานทางด้าน web
JSON ย่อมาจาก JavaScript Object Notation เป็นรูปแบบข้อมูลคอมพิวเตอร์ใช้สำหรับแสดงโครงสร้างข้อมูล โดยจะอยู่ในรุปของ Text-Based ที่สามารถอ่านได้(Human-Readable) และเขียนได้ (Writeable)
(http://www.json.org/)
AtomPub หรือ Atom Publishing Protocol เป็นโปรโตคอลในชั้น Application (Application-Level Protocol)
ที่อยู่บน HTTP ใช้สำหรับจัดการกับข้อมูลของ Web Resource เช่น Creating,Editing,Deleting,Reading เป็นต้น
ตัวอย่าง Application ที่สามารถใช้ OData Services
SharePoint 2010
IBM WebSphere
Microsoft SQL Azure
Windows AZure Table Storage
SQL Server Reporting Services
OpenLink Virtuose
Build your own
(ที่มา http://www.odata.org/producers)
การนำไปใช้งาน
เราสามารถนำ OData ไปใช้คู่กับภาษาคอมพิวเตอร์ได้หลายๆภาษาเช่น Java , Javascript, PHP
iPhone (Objecttive C), Windows Phone7 Series และ .Net ซึ่งใน
ส่วนนี้ผมจะอธิบายการใช้งาน OData กับ .Net เท่านั้น(ADO.NET Data Services) ส่วนภาษาอื่นๆสามารถเข้าไปดูและ
Download SDK มาใช้งานได้ที่ http://www.odata.org/developers/odata-sdk
สิ่งที่ควรรู้เกี่ยวกับ OData
เนื่องจากว่าสิ่งที่สำคัญของ OData เลยคือ Feeds (คล้ายๆกับ RSS) ซึ่งจะอยู่ในรุปแบบเอกสาร xml ที่ประกอบไปด้วย
โครงสร้างของข้อมูลต่างๆ ดังนั้นในการสร้างเอกสาร OData Service ก็สร้างเป็น xml ได้ ดังนี้
ไฟล์ http://services.odata.org/OData/OData.svc/
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<service xml:base="http://services.odata.org/OData/OData.svc/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app">
<workspace>
<atom:title>Default</atom:title>
<collection href="Products">
<atom:title>Products</atom:title>
</collection>
<collection href="Categories">
<atom:title>Categories</atom:title>
</collection>
<collection href="Suppliers">
<atom:title>Suppliers</atom:title>
</collection>
</workspace>
</service>
ที่มาของไฟล์ : http://www.odata.org/developers/protocols/overview
(การสร้างเอกสาร xml (Service Documents) ที่อยู่ในรูปแบบ AtomPub จะกล่าวถึงทีในหัวข้อถัดๆไป)
ซึ่งจากข้างต้นนี้ถ้าเรานำไฟล์นี้ไปเปิดใน OData Explorer(http://www.silverlight.net/content/samples/odataexplorer/) ดังรูป

ในหน้าดังรูป 2 นี้ให้คลิกที่ปุ่ม OK จากนั้นคลิกที่ Products ผลลัพธ์จะแสดงข้อมูลดังรูป

ในส่วนนี้ซึ่งเป็นส่่วนแรกของเนื้อหา OData ซึ่งถึงตรงนี้เราก็ได้ทำความรู้จักกับ OData มาคร่าวๆกันแล้ว โดย OData มีรายละเอียดค่อนข้างเยอะเราจะมาค่อยๆศึกษากัน
ในส่วนถัดไปครับ