Google App Engine's Web Application server and Apache Tomcat - google-app-engine

I read this sentence in google resources for GAE : "Google App Engine has it's own Web Application Server for simulating in desktop environment", so, my question is: Can I deploy Google App Engine apps (in .war format) on TomCat?
Thanks for any help!

the short answer is: it depends
according to the app engine doc:
App Engine Java applications use the Java Servlet standard for
interacting with the web server environment.
so for a simple servlet app, it can be run on tomcat
but
The App Engine runtime environment imposes some constraints to ensure
that your app can be scaled to multiple instances on App Engine's
distributed infrastructure
if you have used apis from app engine such as UserService, or Datastore then you are not able to run it on tomcat. in this case, you can use the development web server from app engine sdk for dev and test purpose.

Related

Using Amazon SDK on Google App Engine

We are using amazon sdk for sns push notifications. We deployed our app on Google App engine. While using amazon sdk we are getting following exception
Could not initialize class com.amazonaws.ClientConfiguration
at com.amazonaws.services.sns.AmazonSNSClient.<init>(AmazonSNSClient.java:128)
Looks like is it because of Sockets/Threads using by Amazon SDK.
Is there anyway to use amazon sdk on google app engine application.
Which App Engine environment are you using? (standard or flex). App Engine standard may require the use of the Sockets API or UrlFetch for outbound connections, which won't always work with open source libraries (today).
One option here is to deploy your app to App Engine Flexible, which won't have the same requirements.

Google App Engine vs Tomcat

I was able to create the basic 'hello world' program.
When I tried to understand the difference between a cloud and a server I learned that Cloud is where you have an access to virtual instance created exclusively for you and you are free to choose and install software of your choice.Why Google App Engine(GAE) is used widely where as tomcat is not used. What are major differences between GAE and Tomcat?
Cloud is Google Cloud Platform at this case. App Engine is just one of their services.
App Engine is a platform to build your apps on top of it. A Platform As A Service or PaaS. It simplifies the process of building a scalable application, and you should use it when you understand what you really need and understand principles of scalable application.
Tomcat is a Java web container, and there're many alternatives. Google App Engine is using Jetty. You could actually use it with Tomcat by using Flexible VM, though it doesn't make much sense.
App Engine is not about web server, it's a set of services that helps you to build a scalable app. It includes Memcache, Datastore, Task Queue, Images API, deployments tools and versioning, CDN for static files, and most important automatic scale.
Actually you aren't limited to App Engine on Google Cloud Platform. There is more traditional service, like own server in the cloud, called Compute Engine. There you can run your Tomcat or anything else.

Deploy existing Java web application on Google App engine or Amazon AWS

We have a Java web application developed locally without using any GAE components / AWS components (GAE/AWS SDK etc.,).
We used the following technologies: Java, Spring framework, MySQL Database, Hibernate ORM, Jersy REST library, Tomcat web server.
Our application is up & running fine on our local server.
Now my question is
If I deploy the existing WAR to Google App Engine/ Amazon AWS will it start working right away OR Do I have to make extra changes to my code and deploy new WAR file in order to make it working on Google App Engine / Amazon AWS?
If I want to start a new java web project(using same configuration I mentioned above) that will eventually run on Google App Engine / Amazon AWS, What is the best strategy:
Should I start my development using Google App Engine / Amazon AWS from the beginning ? or just deploy when everything is done?
EDIT : I just wanted to know about GAE and/or AWS in general.
It looks like Google Computer Engine is more suited if you rely on a relational database. Google app engine uses a NoSQL datastore that is not compatible with your relational scheme.

can i upload a web app programmed with google app engine on aws amazon?

Hello i want to know can i upload a web app programmed with python on google app engine on a host but not the host of google app engine i have heard about hosts like A W S amazon can i upload my web app on it ?
and also can i upload it on an ordinary host like go daddy ?
i have tried to read but i didn't found a useful information
now i am using this method to upload my file to google app engine cloud
google_appengine/appcfg.py update apps/appname
note i am on linux and can i use this method to upload it to amazon ?
Thank you
From the Appscale docs: AppScale is a platform that allows users to deploy and host their own Google App Engine applications. It executes automatically over Amazon EC2, Rackspace, Google Compute Engine, Eucalyptus, Openstack, CloudStack, as well as KVM and VirtualBox. It has been developed and is maintained by AppScale Systems, Inc., in Santa Barbara. It supports the Python, Java, Go, and PHP Google App Engine platforms.
More:
https://github.com/AppScale/appscale/wiki
List http://www.appscale.com/

Executable from Google App Engine project

Is it possible to create an executable file from a Google App engine project in Python?
Well... no. But there are open-source projects available that allow you to run your App Engine application locally, and that attempt to be compatible with Google's App Engine API.
For example, check out typhoonae:
http://code.google.com/p/typhoonae/
You could develop your application using the Google SDK, and then deploy it on a local machine using the TyphoonAE app server.

Resources