What kind of server and software would it be necessary to create an app (Android/iOS) that could make requests to a server, which would run a machine learning algorithm on each request while using data/images stored in a database(MySQL?) ?
That is to say, the user would send some data to the server, which would run some machine learning algorithm on this data and some other data obtained from a database, and then send a response to the user.
The algorithm on the server should run in some language like C/C++, and use some library like or software like OpenBR.
PS: could something like Microsoft Azure or Amazon web services be useful?
You could use Google App Engine for running machine learning algorithm and use that as a backend to your mobile application. You can use this tutorial on how to do this.
Related
I have my application in Delphi with MySQL as a database. This is a Desktop application with local Database connected using ADO components.
I have another web application done in PHP and MYSQL.
I want to merge both databases and connect the Delphi application to the cloud MySQL database.
Do I need to put all my logic in PHP scripts and access them from Delphi?
How Delphi to cloud connection can be established?
You can use FireDAC to connect to a database located in the cloud, as soon as your provider allows that connectivity.
But exposing you database to the internet is not the best secure architecture. As you suggest yourself with naming it, a much better architecture is REST. The idea is to write server side software - could be PHP - to accept REST requests from a client, execute it (access the database) and send a reply to the client.
Today's, the REST requests are frequently using JSON to pass requests and receive replies. JSON is supported by Delphi. In short, this is an ASCII representation for object properties.
If accessing the database directly is what you really want, look at this video by Stephen Ball showing how to access an MS-SQL database on Azure cloud. This would be pretty well the same with mySQL.
Quick bit of advice if i may. I'm a startup company and developing a new mobile app that i intend to query and update data from a cloud MYSQL database, using a restful webservice and JSON. I am pretty new to this, but ok on the theory.
I originally thought i could use Dropbox to host the database and somehow install a Tomcat server also, to act as the http server, but i cant find anything online that says this is achievable. I've now found a temporary site heliohost.org, which offers free hosting, so i'm looking into that.
Does anyone have advice on a [low cost] longer term production cloud service for MYSQL database? And am i right that a good approach is to create a restful webservice in Eclipse and then somehow deploy that to the Tomcat server in the cloud, so that my app can then issue calls to it via the CN1 available methods.
There is quite a lot out there and much of it is self-promoting their own sites so was after some independent advice please.
Many thanks in advance.
You can't host and access an SQL server over the network from a device as access is remarkably unreliable and insecure. You will need some form of hosting. I used Linode for our online course since they are very affordable (5USD per month) but I've used AWS, Digital Ocean and others. They are all good.
You are correct that you will need to create a webservice, I used tomcat in the past but for the latest course I chose SpingBoot which is easier and more modern.
Using a mobile backend to store and retrieve data is a vast topic to discuss where different tools and services can be leveraged based on your application use cases.
However directly accessing MySQL server from your mobile client wouldn't be a recommended approach both in term of security as well as performance at scale.
Few options you can consider.
Developing the mobile backend with Amazon Mobile Hub where you can find different architectures and services. For example.
Using AWS DynamoDB as a Mobile Backend tightly controlling access permissions with AWS Cognito and DynamoDB Fine Grained Access Control.
Using Cognito Sync as a storage medium to Synchronize data from Mobile App to AWS and then using triggers to share and push data & etc.
Developing a REST API for the mobile backend using AWS Services such as API Gateway, Lambda & DynamoDB(Or Relational Databases like MySQL, Postgres SQL & etc. with RDS)
I have been searching this topic for a long time but I haven't found the answer I wanted. I want to connect to a MySQL database on a client-server and insert some info on a table using an app I made using PhoneGap. I found things like that but didn't seem to do what I want them to do: http://docs.phonegap.com/en/2.7.0/cordova_storage_storage.md.html#SQLTransaction
This documentation page doesn't make any sense to me.
Does anyone know how can I solve my problem? Thanks in advance.
You normally don't access database on your server dirrectly from the app in your phone.
The doc you saw about SQLTransaction is about writing data to the SQLite database that is inside your device, not to write to a remote database.
What is usually done to communicate with a remote database is we perform http requests to a web server (php, java, .net, ruby, perl or whatever you like) and that server will communicate with the database server.
If you really want to communicate with your mysql server from your phonegap app, you would have to include native mysql libraries in your project and write native code to communicate with the mysql server. And I don't think it woule work very well through a data connection...
I'm attempting to write a Windows Phone 7 application which needs to connect to a remote data source, in this case it's a MySQL database on a Linux server. I'm not able to move this over to MSSQL, nor to build any kind of windows-based solution (like a WCF web service on the server).
Is there a way for me to use my MySQL database from my Windows Phone 7 application? The MySQL assemblies don't seem to work on the phone. If not, what would the best solution for me to use this database from the phone?
You could build your self a service which would send you json or xml. this can easily be built using mono, python, Ruby, php or any technology that you are comfortable with.
You can build it in a restful manner where all you have to do is call urls in a HTTP GET to retreive data which you handle with the services.
and use the HTTP POST to submit changes to your service.
you can then from WP7 make calls to this service and consume the data.
WP7 does not support sockets at the moment. So your best bet is transfering your payloads over HTTP.
As I mentioned before, if you have access to the machines configuration. You could run Mono which isn't too far off of .Net in terms of language and functionality.
further more, from the phone you can use the Rx library to make these calls Async and keep your application responsive.
We have an android app that currently sends data to a php script which writes to a mysql DB on the same server. We are thinking of using a scalable DB server e.g. FathomDB (which is just based on amazon RDS & rackspace) so that we can handle load increases easily.
The question is how does our android app write to these remote DBs? Do they have some kind of rest API, or allow you to have a php script similar to the one we have in place at the moment?
I'd say most of services like these have a connector running on the web, like the one you are using. But some of the services you mention (for example amazon rds) have a native mysql connection. So you can connect using mysql to the server and run queries like you currently do in php. You can use ACL to ensure security in your application :)