GAE or just simple Tomcat Server, which should I take? - java

I have been working on a small Web RESTfull APP that will provide urls to create user to a database and offer signing procedure (validate email/password against database). The target client to this web app will be Android devices, from my mobile application. Once the mobile app invokes the AP and response(in JSON format is received), I parse the response, and the user proceeds with the rest of the mobile app.
At the moment I am thinking deployment. For my development, the app is deployed to a Tomcat server but I know war archives can also be deployed to Google App engine.Being a newbie in webapps, I kindly need your suggestions.Should I deploy to a Tomcat server or to Google App Engine? Is any of these methods better than the other and why?
Thanks.

Related

How to import my own android application project into IBM Bluemix?

Can someone help me use the new PaaS - IBM Bluemix?
I faced a dilemma that I want to import my android application project which was developed on my local computer into the IBM Bluemix and run on the platform ,but I didn't know how to use it.
I have search on Internet about this ,I still cannot find the solution.
Does IBM Bluemix support this kind of service?
I just want to debug or test on this cloud platform.
You don't deploy an android application to bluemix as the android application exists on the actual mobile device (or emulator) and not in the cloud. What Bluemix offers you is the ability to have services running on the cloud that can work with your android application on the mobile device. This is called MBaaS (Mobile Backend as a Service).
For example you can have a MobileData service that allows you to store data in the cloud that your mobile device(s) (iOS, android or web) can access (think of having a game save that can then be picked up by another user device to resume playing at the same point). Bluemix provides an SDK to access these services on Bluemix from your android application source code.
IBM Bluemix is a cloud platform where you can build web applications / mobile back end services utilizing a wide range of services.
Lets say you are building a weather app. This app will require two components
1. a server side web application
2. a mobile application (lets say android)
The server side component does only one thing, it constantly collects weather forecast from multiple data sources (eg www.data.gov, forecast.io etc). This app has restful apis exposed to internet which can be invoked by mobile app to request weather forecast for a particular geo cordinates (E.g http://weatherapp.mybluemix.net/getForcast/122.20,-100.20). The server app responds to get requests in JSON format.
The Mobile app, detects current location's geo co-ordinate using mobile phone's GPS and request weather forecast of the location from server component using a HTTP get (GET:http://weatherapp.mybluemix.net/getForcast/122.20,-100.20) . The mobile app then parse the response JSON data and display information on a neat elegant screen.
If you want to port this app onto IBM bluemix, you can build the server component using, NOde.js or JSP or PHP etc, use mMongoDB,mySQL DB or Postgresql databases, use twillio for text messaging/mms or voice call, use IBM Push for notifying user about weather forecast etc.
Using Android SDK, IBM Cloud services SDk (Mobile data, push notification etc) and sell it on Google play.
Hope this helps
-Keep coding-
We have sample applications for Bluemix which can be deployed on Android. See the "boilerplate" app in the Bluemix catalog named "Mobile Cloud". Head to the Bluemix console [1], click on "CATALOG" at the top. The Mobile Cloud docs [2] reference several applications for iOS, Android, etc with server-side pieces can be deployed on Bluemix.
[1] https://bluemix.net/
[2] https://www.ng.bluemix.net/docs/#starters/mobile/index.html
you can refer developerwork article to get started to use Bluemix services for your andriod app.
First ,you need to login to bluemix and create a new account in ther,
There u have create an application in ur dashboard,where the runtimes in node.js,and add the following services namely,push,mobile data and mobile security application.
Then u need to download the android SDK available in it and add to ur android app all the jar files in the libs folder.
U need to save the app id,secret id and the link in order to connect it from local android app to bluemix.
Hope this was useful,if any doubt further,let me know

How can i deploy two separate projects (client and server side) to the same Google App Engine project?

I'm developing an enrollment application. The client side is an Android application enabling the client to enter their information which are stored using the data storage service of the Google cloud and the images are entered are stored using the blob storage service.
The server side is J2EE application extracting the data and blobs entered previously and doing some tests such as face recognition, alphanumeric matching etc. These tests are done asynchronously.
The problem is that these 2 processes are independent. How can I deploy these two projects (client and server) to the same Google project, because the applications should use the same data?
From your application, it is clear that you have 2 projects:
Android application
Server application (written with and for deployment to Google App Engine)
For the Android application, you need to publish the application to the Google Play Store or if you want to not go via the Play Store, you could look at pushing the APK in one of the static web folders inside your GAE Application.
The Google App Engine application can be deployed using its tools and hosted on .appspot.com or your own custom domain. The assumption here is that you have done the integration between your Android application and Google App Engine application via Web Services and that data entered/captured in the Android application is sent across via Web Services that are running in your App Engine application.

how to publish web services and database

**..I creat database mysql and web service by eclipse and android app and I publish it on tomcat 7 on local network.
I need to know if it can be publish my database and web service over the internet.
i.e( I need my android app access tha database and webservic online) .
i am using tomcat 7
android 2.3.3
eclipse juno**
I don't know what "publish over the internet" means. I'm guessing that you want to deploy your web service on a server where it's visible on the internet, and you want to give that service access to a MySQL database in a secure way but not let unwanted users get at it.
You could try Amazon Web Services for a low-cost start on this. You'll just pay for what you use that way. Set up an EC account with them and install Tomcat and MySQL.

How to transfer iPad images data to a web server?

I am using google app engine and eclipse to do up the web server and capture images and images data from an iPad app, it means when the user use the iPad app to upload images and it can be save on a web server instead of saving on the iPad. So How do I do up a web service in eclipse using java and it can be link to google app engine and the google app engine can link to the iPad App? I really appreciate that someone could help. Thanks.
Read up about RESTful web services. Basically make an HTTP request from your iPad app to get data from the server or put data on the server.

I want to Authenticate in a Web Application & use the Same Credentials for Desktop Application. How do I do that?

I want to invoke a Desktop Application. Before invoking that Desktop App the user should login to the Web Application & the same credentials to be used in Desktop App. The Web Application is ASP.NET & Desktop App is a SWING based Java Application. Is it possible to authenticate in that case ?
If you're saying you want to automatically log the user into your system from the desktop application if they're already logged in to the web application, this is going to be tricky.
If you're just asking for a way to ensure the user that logged into the desktop app used the same details as the web app, I'd consider just using IP address as authentication.
I'm not sure if I have understood your question correctly, but it seems like you want to share the same authentication source between a desktop app and a web app. This should be possible depending on what that authentication source is. For example if the web app does a look up on LDAP or on a database table, then there's nothing stopping you from doing that from the desktop application, assuming that you can get a database connection, or access the directory server.
If the authentication source of the web app is not available to the desktop app then you might want to consider writing an authentication web service and deploying this alongside your web application. This web service should be able to access the same authentication source as the web application and can be called by your desktop application.

Categories

Resources