multiple different applications access one odb file

#1

Hi, is it possible to access one odb file from different applications?

What we would like to accomplish. We have one app (runs on Wildlfy server) and it uses xyz.odb DB file. The other two apps would be for API and BI, one would need to read data from the xyz.odb and the other one would be for exposing the DB data via web services.

Do all these apps need to have the same DB schema. The BIRT addon connects to the odb file, could it be adapted to make queries to the database.

The customer would like to use our APP but he asks how the data from the DB can be used to fill its DWH and how  can he integrate (since there is no JDBC or ODBC drivers) with other DB/systems (we have some Web Services within the APP but he would like to do some integration directly)

Does anybody have experience with this.

thanks

#2

If you can run all these 3 applications on your web server you should be able to use ObjectDB in embedded mode to access the same database file (because there is only one process).

If your applications run in separate processes and need to access the same database file, you have to use either client-server mode or embedded-server mode.

ObjectDB Support
#3

Thanks, but does this means that all three apps need to be the same version since, for example, different POJO classes in one APP would result in DB schema change. Actually, we have tried this and it works as you suggested but the problem we have is different as I explained.

When working with Oracle or MS SQL you simply have a JDBC or ODBC driver and can query the database from virtually anywhere. ObjectDB, as it is, is great but only if you treat it as a single app and interact with data through your APPLICATION. In Enterprise environments there are different expectations from a database especially the one who is a central data store.

Is there any plans to create a JDBC driver. Or as a thought could it be possible to wrap the birt addon within a java app and enable through it queries to the database. I think the community would be happy do contribute to the development of this APP.

thanks.

#4

Basically, ObjectDB doesn't support using different versions of the same entity class with different database schemas on the same database at the same time.

You may, however, try an undocumented system property:

    System.setProperty("objectdb.temp.no-schema-downgrade", "true");

(set this property before accessing ObjectDB or when running the JVM with -D).

It tells ObjectDB to avoid endless updates of the schema when different applications use different versions of the class.  It may or may not work in your specific use case.

ObjectDB Support
#5

Thanks for the suggestion, altough it only partialy solves the problem

Are there any plans for JDBC driver, or any other type of general type of quering the database directly and whe  do you plan to have it.

It would make ObjectDB realy enterprise grade solution.

Regards

#6

We consider a JDBC driver as a nice to have feature that may be implemented in the future but no concrete plans to implement it yet.

ObjectDB Support
#7

Hi, sorry to reopen this discussion again. We have another request from a customer to migrate an oracle DB based app to our (java based) app and we would like to use objectDB of course as it is our native database.

Thing is that the customer is using its oracle db for BI purposes as well. 

Can you please advise on how can we fit objectdb for BI tools (BIRT is not an option, it will have to be an enterprise tool).

thanks

#8

We can investigate the option to work on a very basic read-only JDBC driver for ObjectDB, if it helps.  It will support running SELECT queries in JPQL syntax only (not SQL, except SQL queries that are also valid in JPQL), and then iterating over a result sets, as in ordinary JDBC.

Please advise whether you think it may be useful for your needs, and if you are willing to try or maybe even contribute code if necessary (it could possibly be open source) to such JDBC driver.

ObjectDB Support
#9

Hi, thanks this would be a great step forward. We would like to try it. We can contribute code as well but can't at the moment commit much time to the project, will need to wait for the new project to start to commit more resources.

Please advise on next steps. 

Kind regards.

#10

A new feature request thread was created for this purpose (issue #2536). This will now be under consideration and we hope to provide updates until April 2020.

Please use the new thread for any further discussions regarding the JDBC driver.

ObjectDB Support

Reply