OData is a HTTP based RESTful protoful that is useful for mobile and web apps. It has been developed by Microsoft and is also used by SAP and others. OData i based around the Entity Data Model which is the basis for realtional databases. It is easy to developed OData services using the tools that SAP, Microsoft and others provide. All that is needed in most cases is a mapping between OData EDM and the database structure. This can be as simple as exposing the tables and columns as OData entries and properties.
Get started right away
I’ve put together a docker container with everyhting you need to get started to play around with odata services. It is based on a MySQL database. Have a look at mysqlodata.
Specifications and articles:
- OData Specification - Start with the URI and JSON parts
- The OData standardization work has been taken over by OASIS
- OData in a nutshell
- Entity Data Model
- EDMX files
- Article about OData
- Search for OData on MDSN blog
- Search for OData on MS Codeplex
Migration to OData services
I’m currently running many solutions on PHP/MySQL. I’ve trying to figure out a good way to migrate to the odata protocol. JayData provides a OData server on MongoDB, see this article for instructions on hwoto setup. My first though was to create a read replica in MongoDB of MySQL in order to provide OData read services. Here is a docker setup with MongoDB, MySQL and replication. I’ve also put together a simple tool that exports MySQL databases to CSV and JSON files. This is needed when running MySQL in Amazon RDS since export to CSV files isn’t supported.
Then I found out that Microsoft has developed OData tools for PHP and MySQL. I’ll check these out next.