More of a long comment...
You can easily write a function that will enable your end users to Import data from your custom backend.
customData[param1_]:= Import[...]
customData[param1_, param2_]:= Import[...]
customData[param1_, param2_, param3_]:= Import[...]
Using different parameter sets in your function definition can give you all the kinds of flexibility you see in CountryData
or FinancialData
.
Placing you functions in an automatically loaded package would make the user experience even better.
I/we would really need some better idea of what you have tried to provide a more complete and useful answer.