Basically for every non distributed data model type there will be a corresponding adapter type. Consider the following list of valid values for the storageType in the adapter definition (JSON).
DDM-adapter communicates with a remote Cenzontle server where a corresponding DDM is hosted,
SQL-adapter communicates with a local relational database,
generic-adapter creates the adapter with all required functions that throw Not implemented-Errors and have Put your code here comments. It is the adapter version of our web-service data model.
cenzontle-webservice-adapter communicates with a remote Cenzontle server that hosts the same data model. Note, that the data model on the remote server is not a DDM.
Implement the above cenzontle-webservice-adapter
A bit cleaning up
Teach the code-generators to recognize the above storageTypes for all that are implemented. Remove the no longer needed adapterType.
Support a remote Cenzontle server
Use as a template the non-distributed "cenzontle-web-service", remove all support for read operations that are based on limit-offset pagination. Add the "adapter overhead", which is recognizeIri and the respective regular expression. Do not send excludeAdapterNames, because the remote Cenzontle server is a "slave" and does not query other servers in the distributed network.
Observations
In order to introduce the above cenzontle-webservice-adapter adapter the template for the DDM-adapter can be reused, only the generated DDM module needs to differentiate. A DDM-adapter is sent a search argument including excludeAdpaterNames while the cenzontle-webservice-adapter is not sent excludeAdpaterNames. This is because the cenzontle-webservice-adapter connects to a Cenzontle slave server that is not aware of the network of servers it lives in and thus its GraphQL schema does not support the excludeAdpaterNames argument.
Documentation
Update the manual and documentation. Please do not forget this point.
Introduction
Basically for every non distributed data model type there will be a corresponding adapter type. Consider the following list of valid values for the
storageType
in the adapter definition (JSON).DDM-adapter
communicates with a remote Cenzontle server where a corresponding DDM is hosted,SQL-adapter
communicates with a local relational database,generic-adapter
creates the adapter with all required functions that throw Not implemented-Errors and have Put your code here comments. It is the adapter version of our web-service data model.cenzontle-webservice-adapter
communicates with a remote Cenzontle server that hosts the same data model. Note, that the data model on the remote server is not a DDM.Implement the above
cenzontle-webservice-adapter
A bit cleaning up
Teach the code-generators to recognize the above
storageType
s for all that are implemented. Remove the no longer neededadapterType
.Support a remote Cenzontle server
Use as a template the non-distributed "
cenzontle-web-service
", remove all support for read operations that are based on limit-offset pagination. Add the "adapter overhead", which isrecognizeIri
and the respective regular expression. Do not sendexcludeAdapterNames
, because the remote Cenzontle server is a "slave" and does not query other servers in the distributed network.Observations
In order to introduce the above
cenzontle-webservice-adapter
adapter the template for theDDM-adapter
can be reused, only the generated DDM module needs to differentiate. ADDM-adapter
is sent a search argument includingexcludeAdpaterNames
while thecenzontle-webservice-adapter
is not sentexcludeAdpaterNames
. This is because thecenzontle-webservice-adapter
connects to a Cenzontle slave server that is not aware of the network of servers it lives in and thus its GraphQL schema does not support theexcludeAdpaterNames
argument.Documentation
Update the manual and documentation. Please do not forget this point.