Child pages
  • REST API notes
Skip to end of metadata
Go to start of metadata

Overall Considerations

  • 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.



The OData effort was led by Microsoft and IBM, so as would be expected, tooling and developer support is particularly strong for C++, and JavaScript in the MS .Net environment, and Java and JavaScript on the Java platform.  This includes IDEs, application server support, samples, and developer documentation.  Below is an evaluation for other languages and language independent tooling.

Platform Independent Tools

Summary:  Probably have to use tools that are language-specific.


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.


Summary: Not much help in creating providers.  Clients doable. 


  • OData Consumer for Ruby is a good and seemly popular client library for Ruby.  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.


Summary:  JavaScript is well supported. 

Objective C

  • 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.

Documentation Generation

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 -   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.


  • No labels