- MedBiquitous standards can be built from other specifications, but those should be standards. OData is an ANSI standard. JSON API is not.
- MedBiquitous APIs should be easily implemented by members and vendors with no preference for a particular technology platform or programming language.
Platform Independent Tools
- In principle Ogee, https://projects.eclipse.org/projects/technology.ogee, or tools like it can create OData Models independently of implementation language or platform. Ogee does what we want but the project seems to be dormant. Might still be useful, but not a general solution.
- Some vendor products will create platform independent model and code artifacts. An example is SAP OData Modeller. https://help.hana.ondemand.com/odata_modeler_documentation/frameset.htm.
Summary: Probably have to use tools that are language-specific.
- OData Producer for PHP and OData Connector for MySQL are cross platform tools for PHP that look complete and pretty well documented, but seem to be no longer updated. https://github.com/liuyu2016/odataphpproducer/tree/master/OData%20Producer%20for%20PHP and https://archive.codeplex.com/?p=odatamysqlphpconnect.
- OData for Poor PHP Devs is a branch from OData Producer for PHP and is where development is continuing. https://github.com/Algo-Web/POData. Does not yet support OData V4.
- Quite a few client libraries available, some very new.OData Client Library for PHP is just coming to first release, but small team. https://github.com/saintsystems/odata-client-php. Best is probably OData SDK for PHP which is MS sponsored but seems independent. https://archive.codeplex.com/?p=odataphp.
- An example of creating a PHP OData Provider. https://github.com/Qeti/OData-base-example.
Summary: Reasonable, not great, in PHP although this environment does not have the more advanced integrated tooling found in .Net and Java. Clients much easier than providers.
- OData Python Client - still under development but usable. https://github.com/odata/odatapy-client. Windows only so far.
- Python-Odata - 4.0 client support. https://github.com/tuomur/python-odata.
- Several possible providers but limited or focused capability.
Summary: Not much help in creating providers. Clients doable.
- OData Consumer for Ruby is a good and seemly popular client library for Ruby. https://github.com/visoft/ruby_odata. Well documented by Open Source standards. Not clear if it directly supports V4. Donated by Vsoft. Others are old or not complete.
- So far, cannot find a recently updated Ruby (or Rails) OData provider. Several that are older and looked like good starts.
Summary: Only one good option right now for clients.
- Sever example that could help developers in other languages get started as well - https://github.com/jaystack/odata-v4-server-example.
- Open Source options exist but are few and not keeping up.
- Apple has no support I can find.
Summary: Apple does not seem to care.
Swagger can be used to generate documentation. Prasad described on our last call how his team is using it within a Microsoft environment. The solution he was describing seems to be Swashbuckle - https://github.com/rbeauchamp/Swashbuckle.OData. The OData team also provides a V4-CSDL-to-OpenAPI.xsl that takes a V4 metadata XML file and translates it into OpenAPI 2.0 (Swagger) JSON.