IBM Bluemix Mobile Data Services, Loading data into the cloud - mobile

I want to create an android application, I want my application data to be persistent. There is a file that I want to save every time to the Bluemix server.
I want to confirm the following, for a situation in which a user "A" from my application saves the data to the IBM Bluemix Server, and if there are more than 2000 users saving the same user-related file in the server:
Will there be any differences between all the different user files?
Will there be any collisions?
Will I be able to differentiate the
files of other users?
Will I be able to save and retrieve the saved
file of only that particular user?
Thank you.

Using the Mobile Client Access (MCA) service you will be able to do exactly what you ask.
MCA can provide you with a unique identifier for each authenticated Facebook, Google+, or custom style user, enabling you to manage your data appropriately. I recommend the Cloudant NoSQL DB service for fast and easy database management.
See the MCA docs and Android sample for further information.

Related

Enable an asp.net core web application to work without internet and with internet?

I have been developing an asp.net core web application and published on the production mode (online server), the users can access it with the specific domain name and will log in and do data entry from three different countries.
But, the problem is sometimes, in one specific country there is no internet access, my client wants that this application should work online and offline, If there is no internet access the local branch must be able to do data entry, then when the internet gets connected data should send to the online server database,
What is the best way to achieve this goal?
Please write your view or add some good forum link below.
Rationally, it is not possible for you to access a Web App without internet. Web Apps are meant for network usage. However, I believe there is a workaround for such requirements. What you can do is that you can create a clone of your database for the third user, who has no internet access and perform all transactions within the local machine and when the connection comes back on line, you can replicate the data from the local SQL Server into the online server database.
And then there is something called Progressive Web Apps , which will allow you below privileges :
Reliable - Load instantly and never show the downasaur, even in uncertain network conditions.
Fast - Respond quickly to user interactions with silky smooth animations and no janky
Engaging - Feel like a natural app on the device, with an immersive user experience.
What are Progressive Web Applications, Google has something more to discuss here

Which database is best suitable to track users activity on website to know user interest

I want to build a system there I will store user all activity and group user to the segments based on their interest
It depents in how you will read data and how much of the work you want to do on database server or with your own application.
We use monitoring and logging with Elastic Search and have a separate service which handles logging messages posted to rabbitmq. A second service handles statistic messages and Stores it into a SQL Database so our web application can read it in realtime and Show some charts which are implemented in our backend system.
Just use the Repository/Service pattern with the use of a generic Repository and you can easy Switch your Database If you want after it dont fits your needs.

exporting data for analytics use in SaaS

We are a SaaS product and we would like to be able have per-user data exports that will be used with various analytical (BI) tools like Tableau or PowerBI. Instead of just managing all those exports manually, we thought of using some cloud database such as AWS Redshift (which will be part of our service). But then, it is not clear how is user will access those databases naturally, unless we do some kind of SSO integration with AWS.
So - what is the best practice for exporting data for analytics use in SaaS products?
In this case you can build your security in to your backend API layer.
First you can set up processes to load your data to Redshift, then make sure that only your backend API server/cluster has access to redshift (e.g. through a vpc with no external ip access to redshift)
Now you have your data, you can validate your user as usual through your backend service, then when a user requests a download through the backend API, the backend can create a query to extract from redshift only the correct data based upon the users security role. In order to make this possible you may need to build some kind of security column into your redshift data model.
I am assuming getting data to redshift is not a problem.
What you are looking for, if I understand correctly is a OEM solutions.
The problem is how does one mimic the security model you have in place for your SaaS offering.
That depends on how complex is your security model.
If it is as simple as just authenticate the user and he has access to all tenant data or the data can be easily filtered for user. Things are simple for you. Trusted authentication will allow you to authenticate that user and user filtering will allow you to show him all that he has access to.
But here is the kicker, if your security is really complex , then it can become really difficult to mimic it within these products.
Here for integrating tableau this link will help:-
https://tableau.github.io/embedding-playbook/#
Power BI, this product am not a fan off. I tried to embed a view in one my applications and data refresh was a big issue.
Its almost like they want you to be a azure shop for real time reporting.( I like GCP more )
If you create the api's and populate datasets then they have crazy restrictions like 1MB/sec etc.
On the other instances datasets can be refreshed only 8 times.
I gave up on them.
Very recently I got a call from Sisense and they seemed promising as well from a OEM perspective. You might was to try them.

Corona Mobile App Storage Solutions

I am currently developing a mobile app using the Corona SDK and Lua. I need to store information about each user and load the information for the current user when they load the app. What is the best method to store this information for each user, and how would I get this data on app load. I was thinking about using sqlLite and having a single row for each user. However when the user re loads the app I would have no way of accessing the data for the current user because when the app loads I would need something to index the database. Is there any way I can get some information from the mobile device on app load to index the database? Any ideas or suggestions?
I'm not clear on where the database is stored.
If it's remote on a server just use the device ID
system.getInfo( "deviceID")
If it's local and you have multiple local users then use a login.
You could use a registration process for either instance and store
The registration keys for automatic access when launching the app.
take a look at amazon's services.
like S3,simpleDB, dynamoDB..
Some implementations are already available in Code Exchange
http://developer.anscamobile.com/code/amazon-simpledb-api
http://developer.anscamobile.com/code/amazon-s3-rest-api-implementation-corona

Setup for server side for application which need easy acces to data source

I need to make a couple of mobile applications which will all access a shared online resource using e.g. REST API.
What is the cheapest/easiest setup for the server side resource?
The server should store data as either xml/json/sqlite and expose an API to access this data, preferably in a secure manner.
Is Google App Engine appropriate? Any others?
What would be a recommended way to implement?
What I want to do is to have a database online (not important which format - content will not bee too big, ~5000 records with around 5-10 text fields each), have a simple management console for editing this content and then let mobile devices connect in order to check if they have the latest data and update if required.
The data should not be publicly available but key may be hardcoded into device applications.

Resources