-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Decision Proposal 003 - Extensibility Model #3
Comments
I agree with "Option 2 - In Place Extension" being the better of the two approaches, but I have some concerns with the details.
|
As I understand it Option 1 involves having a common "generic" data model interface + a URI path that is potentially versions/implementation specific. This would imply a master data model that is extended but only scoped once the implementation specific path is hit? Option 2 would imply that the data model can be extended from an end point at any point in time but would discount custom modifications? I think there's two separate components here:
I'll point out here that scoping doesn't implicitly need to be solved in the URI path because the SAML/OAUTH/Swagger layer provides a scoping capability that is probably preferable given the potential data flow.
I personally would say that this should primarily be focused on that generic namespace but that there is a facilitation to allow custom methods with the idea being that they may eventually be adopted into the generic namespace if applicable. That could start out as easily as saying:
RE: x-[functionname] or /[functionname] aside, that's a style guide thing. OpenBankingUK (and most of OBP) uses /[functionname]. Not sure I agree with it entirely (locks you in) but it's what is there now? |
I think the preferred Option 2 is the more workable solution. I agree with @perlboy that an implementer must still provide the generic methods relating to the entity they are extending (ie a specific Bank account product). There may be cases where the response they want to provide is not one that falls under an existing one, but the established pattern would need to be followed. With regards to extending within an existing payload, would we consider a grouping of the implementer specific data. eg |
The key piece of feedback seems to relate to the "-" concept versus "x-". The reason that I introduced the concept of the three letter acronym that is provider specific for extension is that most customers will be multi-banked. In many scenarios a client will be calling multiple providers to obtain data on the same customer. It is possible that there will be many scenarios where the same APIs, with extension data, are obtained from multi-providers. In these scenarios, some form of name spacing would definitely assist with the client implementations, especially if the data is being persisted. For example, I can imagine a situation where an array of account data is held from multiple Banks that creates a full view of a customer financial position and each entry in the array has different extension fields based on who the provider is. That was the key driver for the PID concept. I do acknowledge the management overhead it would entail if the string for each provider needed to be registered. We could manage it without that requirement I guess. This could also be decided later as it doesn't technically change the standard. Any additional feedback is welcome. -JB- |
COBA supports Data61’s proposed introduction of a Provider Identifier (PID) to distinguish proprietary extensions and that the PID should be prefixed to proprietary end-points and fields. However, COBA suggests that the PID should also be prefixed to proprietary API paths, not as proposed as part of a standardised URI, but as part of a dynamic discovery document structure. |
I have now closed consultation on this decision. A recommendation incorporating feedback will be made to the Chair in due course. -JB- |
The finalised decision for this topic has been endorsed. Please refer to the attached document. -JB- |
This decision proposal outlines a recommendation for how the standards can be extended to incorporate provider specific fields, end points or API categories. The detail for the proposal is in the attached PDF.
This proposal is closely aligned to the proposal for the URI parameters so substantial change to that proposal will impact this one. For this reason the feedback dates have been aligned. If this timing creates a problem please indicate such in your feedback.
Feedback is now open for this proposal. Feedback is planned to be closed on the 17th August.
Decision Proposal 003 - Extensibility Model.pdf
The text was updated successfully, but these errors were encountered: