B4J Question [BANanoVuetifyAD3] PWA, Backend, and Security

cklester

Well-Known Member
Licensed User
If a user is using the app and his PC goes offline for whatever reason, will the data be updated on the server once connectivity is restored? Is it saved locally until it can be synced to the server?

Is the backend a B4J server app (or BananoServer)? If not, can it be?

How secure is the whole system (assuming it's over SSL)?
 

Mashiane

Expert
Licensed User
Longtime User
Hi

First lets appreciate that BANanoVuetifyAD3 is just the front-end.

If a user is using the app and his PC goes offline for whatever reason, will the data be updated on the server once connectivity is restored?
This greatly depends on how your app is built. To sync offline one needs to add such functionality. CouchDB/PouchDB is a good alternative. Whilst BANano comes with a built in IndexedDB (browser db) wrap i.e. BANanoSQL, one will have to build/add sync functionality for it as it does not come out of the box. One can also use Firebase/FireStore. Whilst there is CloudKVS which could work perfectly on the BANanoServer, we have yet to test it.

Is the backend a B4J server app (or BananoServer)? If not, can it be?
Yes, we have already done some jrdc crud with the BANAnoServer, awesome stuff, here is the kitchen sink for that.
.

How secure is the whole system (assuming it's over SSL)?
This greatly depends on your security configurations and how you develop and distribute your app. Are you using encryption in your app and are you following best practice in terms of securing your app? The first point is your app, BANano will obfuscate your code when running in Release mode, so don't distribute BANano webapps "published" in debug mode. For databases, the jRDC alternative over PHP is far better. Your connection settings, sql commands are stored on the b4j web server.

On the PHP front, with the BANanoDataSource in use, also it means all of your CRUD sql commands are abstracted within the DataSource on your layout. Remember that the layout files are Random Access Files.

It could be nice if there could be some implementation for stored procedures and calling them with jRDC though.

Whilst running on top of SSL is secure, its secure to the maximum of what SSL can provide also. We can only be secure to the maximum of available tools and resources we have.

So far the implementations we have done, using MySQL and PHP on top of SSL are running smoothly without any issues, except off course the usual load-shedding (electricity cuts). There is nothing we have officially published without SSL, we wouldn't take such risks.

We had not developed or did anything before with BANanoServer because we only cracked how to use it with BANanoVuetifyAD3 just recently.

Hope it helps.
 
Upvote 0
Top