Hi -- I'm researching how to implement a database for my Smartclient app. Based on my research so far, I think a NoSQL database will work best for me because I like working with JSON directly on the server in python. It looks like MongoDB will work better than CouchDB. I'm intending to use this database for file uploads/downloads as well as my scientific data which will not necessarily be formatted uniformly (hence the NoSQL appeal). Right now, my Smartclient site is the only tool for accessing the database.
Are there any recommendations on how to integrate MongoDB with Smartclient which minimize the code I'd have to write as well as maximize the number of SmartClient features I can use hassle-free? There seem to be two approaches:
1) Use a RestDataSource. It looks like this might be the easiest to set up (pending further research into the glitch mentioned involving binary data), but your Quick Start Guide *highly* recommends using the SmartClient Server instead...
2) Use a JDBC driver and a DataSource. Which serverType should I use? I'd rather not write boiler-plate code...
2a) "sql". MongoDB is not an SQL database, but there is a mapping that could potentially be exploited for the purpose of a Smartclient interface:
http://docs.mongodb.org/manual/reference/sql-comparison/
2b) "hibernate". I'm seeing "beta" release on the downloads:
http://hibernate.org/ogm/
But this description of the configuration is encouraging:
https://docs.jboss.org/hibernate/ogm/4.0/reference/en-US/html_single/#ogm-mongodb
2c) "jpa". Looks like I could use Spring for this:
http://projects.spring.io/spring-data-mongodb/
2d) "generic". Looks like I don't want to go this route, but I can't rule it out either.
I hope this post convinces you I'm trying to do my own research on this... but if anyone can offer advice on which routes might work best I'd appreciate it. Thanks!
Are there any recommendations on how to integrate MongoDB with Smartclient which minimize the code I'd have to write as well as maximize the number of SmartClient features I can use hassle-free? There seem to be two approaches:
1) Use a RestDataSource. It looks like this might be the easiest to set up (pending further research into the glitch mentioned involving binary data), but your Quick Start Guide *highly* recommends using the SmartClient Server instead...
2) Use a JDBC driver and a DataSource. Which serverType should I use? I'd rather not write boiler-plate code...
2a) "sql". MongoDB is not an SQL database, but there is a mapping that could potentially be exploited for the purpose of a Smartclient interface:
http://docs.mongodb.org/manual/reference/sql-comparison/
2b) "hibernate". I'm seeing "beta" release on the downloads:
http://hibernate.org/ogm/
But this description of the configuration is encouraging:
https://docs.jboss.org/hibernate/ogm/4.0/reference/en-US/html_single/#ogm-mongodb
2c) "jpa". Looks like I could use Spring for this:
http://projects.spring.io/spring-data-mongodb/
2d) "generic". Looks like I don't want to go this route, but I can't rule it out either.
I hope this post convinces you I'm trying to do my own research on this... but if anyone can offer advice on which routes might work best I'd appreciate it. Thanks!
Comment