Skip to content
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

Question: Data Provider and Persistence #24

Open
ramukima opened this issue Aug 14, 2016 · 6 comments
Open

Question: Data Provider and Persistence #24

ramukima opened this issue Aug 14, 2016 · 6 comments
Assignees
Labels
Milestone

Comments

@ramukima
Copy link
Contributor

I am not sure what do you plan to allow for model persistence in a yang-js based application, hence my question.

Do you have plans to support data provider APIs e.g. yang-js to allow custom data provider plugins to be able to load and store data directly from the provider using a standard provider API.

I see that the eventing mechanism can be used to persist data in a datastore. This applies to create/update/delete may be. However, I am not sure about your plans to support fetch on behalf of a GET. May be I am yet to understand how this currently happens.

@sekur
Copy link
Collaborator

sekur commented Aug 15, 2016

Yes absolutely - but likely not in open-source... except for maybe one such data provider as a way to demonstrate how such custom data provider can be created/used inside a yang-js enabled application.

We see this problem domain as an implementation-specific (platform) requirement and outside the scope of our community-supported open source library and tools.

Also, the hooks for this will be provided at the runtime/engine layer, such as yang-express, instead of being a facility at the yang-js layer.

The general philosophy/approach is to keep things highly modular with minimal dependencies so that during the application composition time, the necessary dependencies can be discovered and utilized on-demand as needed, based on availability.

@ramukima
Copy link
Contributor Author

@saintkepha Certainly makes sense to have such customization at the yang-express layer. It also makes sense to provide examples to plug in different data providers (just a howto will work with a sample).

@sekur
Copy link
Collaborator

sekur commented Aug 15, 2016

@ramukima - we're currently discussing such data provider integration for the yang-cord project - discussing different integration strategy for hooking into Postgres/Django/Synchronizer subsystem. Hopefully we'll have such an example available in the coming days.

@ramukima
Copy link
Contributor Author

ramukima commented Aug 16, 2016

@saintkepha Sure. Since we are talking about YANG model driven application, it makes sense to pick a datastore that is most suitable for such a data structure. Have a look at sysrepo (https://github.com/sysrepo/sysrepo) which is a YANG model based configuration datastore. Though the API they have is completely C, but looking at the Google Protocol Buffer spec they have (though proto2), implementing a Javascript client API using protobuff.js (or creating a swig and generating code) should not be very very difficult.

@sekur
Copy link
Collaborator

sekur commented Aug 16, 2016

@ramukima - that is a fantastic reference! Yes, proto2 support is on the
roadmap and it should integrate nicely. I'm also intimately familiar with C
(since most of my earlier work has been dealing with network protocol
analysis) and we also have a C data transformation library that we will be
integrating (also in our roadmap). We can discuss further on our upcoming
call. :-)
On Tue, Aug 16, 2016 at 10:31 AM ramukima notifications@github.com wrote:

@saintkepha https://github.com/saintkepha Sure. Since we are talking
about YANG model driven application, it makes sense to pick a datastore
that is most suitable for such a data structure. Have a look at sysrepo (
https://github.com/sysrepo/sysrepo) which is a YANG model based
configuration datastorage. Though the API they have is completely C, but
looking at the Google Protocol Buffer spec they have (though proto2),
implementing a Javascript client API using protobuff.js should not be very
very difficult.


You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub
#24 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA6KbOvIbSmVQPOHoLtEzlJZ5z7OM6Klks5qgfP3gaJpZM4Jj0D5
.

Peter Lee
Corenova Technologies
+1 310 400 6450
peter@corenova.com

@sekur sekur mentioned this issue Aug 24, 2016
@sekur sekur added this to the 0.16 milestone Aug 26, 2016
@sekur sekur self-assigned this Aug 26, 2016
@sekur
Copy link
Collaborator

sekur commented Aug 26, 2016

Will work on data persistence layer adapters by extending the new Store construct provided by #32 in the upcoming 0.16 milestone.

@sekur sekur modified the milestones: 0.17, 0.16 Jan 24, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants