Architecture of iphone app with amazon web service backend - iphone

I am creating an iphone app that will connect to a web server for login and for viewing videos.
Here is the workflow for sending a video to another user using the app:
The iphone app will connect to a ec2 instance (multiple instances can be launched and destroyed based on traffic) where a php script will get information about the video (video sender, video recipient, assign video unique id, etc) and store this information in an amazon RDS instance. The actual video will then be stored in amazon s3 with the same unique id that was stored in the RDS.
Is this a good way to go about this or would another way be better?

If I understood your application will be uploading and streaming videos.
I would start with 3 layers, Web, App and DB. In the web and app layer, one ELB and 1+N instances behind it using Auto Scaling. In the DB layer RDS is fine, but depending on the load I would migrate to some flavor of NoSql (DynamoDB, MongoDB, etc). For serving the content I would definitely use CloudFront as CDN to provide a better user experience on the video streaming.
Anyway, I suggest you to take a look at the AWS reference diagrams (http://aws.amazon.com/architecture/), to begin, more specifically the Web Application Hosting and Content and Media serving diagram.
Hope this helps.

Related

Electron app that opens a server or using sockets over the web

Im making an app that multiple players can connect to, but im brainstorming the best approach.
Im going to be using electron for the interface and then be able to use other computers to log in to website to join the game with multiple players.
I will use sockets to connect to each player, but what i am trying to figure out is whats the best approach for the interface.
Should i use express with electron to somehow connect to the same website the players are on?
Is it possible to make the electron app start up a server and have my website direct to the computer that is running the electron app?
Or my other option was to just continuously upload and download from a database, but I feel like that would not be very efficient.
You're on the right track. I would suggest using a WebSocket based server / client architecture.
The server application is continuously running and handles inter-player communication as well as providing a database. The database could be integrated in the server application as a starting point, and, depending on your needs concerning scalability, be extracted as a standalone service in the long run.
Client applications could then come in many forms (a website, a desktop application, a mobile app). Using electron is a great way to enable cross-platform desktop application development that is adaptable to any of these scenarios, possibly also enabling to extract the contained web application as either a hosted website or even mobile application (using, for example, react-native or nativescript).
Good luck!

Remote MS SQL or MySQL Database on iOS

I currently have a website that uses MS SQL and I am interested in creating an iOS client for that website. I would the app to connect to a remote SQL database that is hosted on my website and then I could pull information from that database and display it locally on the device. I would like to also publish information to the database. I am open to use MySQL.
Is this possible and if so does anyone know of any good tutorials that I could check out?
I'd highly recommend placing a thin web layer between your database and your iOS client. You don't want iOS apps connecting directly to your database (unless this is for your own personal use for limited to a handful of people you really trust).
You could write the web layer in PHP (or whatever you fancy). At that point you can use HTTP and JSON between your iOS app and your database.
Put a web service between the phone and the DB.
There are two options :
You can develop webservices/scripts or whatever server side solution that will make your database talk "publicly"
Use a third-party library (like this) that will make your app communicate with the MySQL database.

Database in Phonegap Blackberry

I am new to phonegap - blackberry. I am using Apache ANT, BBWP. I want to connect the database. I refer http://docs.phonegap.com/phonegap_storage_storage.md.html but i cant understand fully. Can any one send me step by step to connect database and its operations. I have some more doubts, How to access access phone music player, and how to read read phone memory / SD card.
Thanks in advance.
As far as I can see, this storage tutorial is about creating your own SQLLite like database. To connect to an existing database on a server, web services with JSON would be a way.
http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/How-quot-I-quot-would-call-a-web-service-from-a-WebWorks-App/td-p/519745/highlight/false

iphone XCode-Wifi connection

I am a beginner in iPhone development. I have a single static IP server in my company. I have one web service on that server which gets data from an intranet MSSQL server. I would like to get that data over WiFi to an iPad app, but only over our intranet.
Have any useful links or a sample project? I am using XCode 3.2.6.
It sounds like this is a simple web service consumption scenario, so I would start with consuming it using JSON as the transfer data format and using NSUrlRequest.
Here is an article that walks you through everything you need to know in almost painful detail. It should get you where you wish to go.

How & where to set up DB Server and communicate with iPhone

I'm working on iPhone app that will let users upload/download photos to/from a DB server along with some data associated with each photo.
While I do have experience with iPhone programing, I do not have much experience with DB and server side programing.
Does anyone have any tips on what would be the easiest way to set up DB server and handle requests and responses coming from the iPhone. This server may be potentially required to handle large amount of traffic and preserve data integrity. Several iPhone users might be attempting to upload and modify data associated with each photo at the same time.
I'm thinking of opening a hosted server account so I don't have to purchase hardware and run it from home. Any tips on a company that provides quality and affordable server and DB hosting would be much appreciated.
If you know some Python or Java, you could take a look at Google AppEngine.
It is designed to scale and the entry costs are very low (i.e. free).
You do not have to worry about any infrastructure hosting as it is all provided for you.
The only catch is that it is:
Harder to get data out of the platform if you decided to move off it to another system
Does not support push notifications (However there are a lot of push notification providers out there you can hire)