DDR Simple API Implementation Report

This is a summary of the status of known implementations of the W3C MWI DDWG DDR Simple API as at 19 June 2008. The list of features in the test summary includes all those for which an executable implementation must provide working classes/methods. The specification language is Java, and all Java implementations are expected to use the interface source code referenced by the specfication.

At the time of this report, six (6) implementations were presented, of which three (3) were bound to executable solutions:

In addition a version of the API has been made available in Perl.

Presentations and demonstrations were witnessed by DDWG participants [member-only minutes], group chair (Rotan Hanrahan) and by members of W3C Team (Matt Womer, Philipp Hoschka).

Telefonica dotMobi MobileAware CTIC CTIC CTIC
Implementation MyMobileWeb
online demo
DeviceAtlas
site
MIS
presentation
C# IDL WSDL
Language Java Java Java C# IDL WSDL
Verification (1) Compile, Test, Inspect Compile, Inspect Compile, Test Compile, Inspect Compile, Inspect Compile, Inspect
Executable (2) Yes Yes Yes No No No
Product Open Source Commercial & Free Commercial Public Public Public
Tested Yes Yes Yes No No No
TESTABLE RESULTS:
#sec-Evidence Pass Pass Pass n/a n/a n/a
#sec-Evidence-exists Pass Pass Pass n/a n/a n/a
#sec-Evidence-get Pass Pass Pass n/a n/a n/a
#sec-Evidence-put Pass Pass Pass n/a n/a n/a
#sec-PropertyName Pass Pass Pass n/a n/a n/a
#sec-PropertyName-getLocalPropertyName Pass Pass Pass n/a n/a n/a
#sec-PropertyName-getNamespace Pass Pass Pass n/a n/a n/a
#sec-PropertyRef Pass Pass Pass n/a n/a n/a
#sec-PropertyRef-getAspectName Pass Pass Pass n/a n/a n/a
#sec-PropertyRef-getLocalPropertyName Pass Pass Pass n/a n/a n/a
#sec-PropertyRef-getNamespace Pass Pass Pass n/a n/a n/a
#sec-PropertyValue Pass Pass Pass n/a n/a n/a
#sec-PropertyValue-exists Pass Pass Pass n/a n/a n/a
#sec-PropertyValue-getPropertyRef Pass Pass Pass n/a n/a n/a
#sec-PropertyValue-getXXX (3) Pass Pass Pass n/a n/a n/a
#sec-PropertyValues Pass Pass Pass n/a n/a n/a
#sec-PropertyValues-getAll Pass Pass Pass n/a n/a n/a
#sec-PropertyValues-getValue Pass Pass Pass n/a n/a n/a
#sec-Service Pass Pass Pass n/a n/a n/a
#sec-Service-getDataVersion Pass Pass Pass n/a n/a n/a
#sec-Service-getImplementationVersion Pass Pass Pass n/a n/a n/a
#sec-Service-getPropertyValue-1 Pass Pass Pass n/a n/a n/a
#sec-Service-getPropertyValue-2 Pass Pass Pass n/a n/a n/a
#sec-Service-getPropertyValue-3 Pass Pass Pass n/a n/a n/a
#sec-Service-getPropertyValue-4 Pass Pass Pass n/a n/a n/a
#sec-Service-getPropertyValues-1 Pass Pass Pass n/a n/a n/a
#sec-Service-getPropertyValues-2 Pass Pass Pass n/a n/a n/a
#sec-Service-getPropertyValues-3 Pass Pass Pass n/a n/a n/a
#sec-Service-getPropertyValues-4 Pass Pass Pass n/a n/a n/a
#sec-Service-initialize Pass Pass Pass n/a n/a n/a
#sec-Service-listPropertyRefs Pass Pass Pass n/a n/a n/a
#sec-Service-newHTTPEvidence-1 Pass Pass Pass n/a n/a n/a
#sec-Service-newHTTPEvidence-2 Pass Pass Pass n/a n/a n/a
#sec-Service-newPropertyName-1 Pass Pass Pass n/a n/a n/a
#sec-Service-newPropertyName-2 Pass Pass Pass n/a n/a n/a
#sec-Service-newPropertyRef-1 Pass Pass Pass n/a n/a n/a
#sec-Service-newPropertyRef-2 Pass Pass Pass n/a n/a n/a
#sec-Service-newPropertyRef-3 Pass Pass Pass n/a n/a n/a

Notes:

(1) The means of verification include:

(2) The implementation is executable if it is accompanied by a back-end solution that interacts via the API in the specified manner.

(3) At least four of the data types are retrieved in the test, one of which must be the Enumeration type.