Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is core difference between Java for Google App Engine and Java EE?

What is core difference between Java for Google App Engine and Java EE? (I am not familiar with Java at all so can you please explain me what is diference in general and in what to learn is better for resume)

like image 400
Rella Avatar asked Jun 20 '10 17:06

Rella


People also ask

What is the difference between core Java and Java EE?

The short answer is that core Java is the language itself, while Java EE is a framework that extends upon the core language. The reason to have a framework, such as Java EE, is that it has a lot of functionality that is commonly needed for software applications.

What is Java on Google App Engine?

Java on Google App Engine. App Engine offers you a choice between two environments for Java applications: standard environment and flexible environment. Both environments have the same code-centric developer workflow, scale quickly and efficiently to handle increasing demand, and enable you to use Google’s proven serving technology to build your...

What is the Java EE platform?

The Java EE platform is built on top of SE platform, used especially for large-scale applications. SE defines everything from the basic types and objects of the Java programming language, hence provides all core functionalities. The Java EE platform provides an API and runtime environment for developing and running large-scale applications.

What is the difference between J2EE and enterprise version of Java?

The Enterprise version of Java has a much larger usage of Java, like development of web services, networking, server side scripting and other various web based applications. J2EE is a community driven edition, i.e. there is a lot of continuous contributions from industry experts, Java developers and other open source organizations.


2 Answers

Google App Engine for Java is built upon a webapp container (Jetty) so it obviously offers only a subset of Java EE with some restrictions (but also additions to leverage their infrastructure using standardized APIs):

  • Servlets 2.4, JSP 2.0
  • Partial support of JDO & JPA for the Datastore
  • JavaMail for... mail
  • JAXB
  • DOM, SAX, and XSLT for XML processing APIs

Java EE APIs and technologies not supported include:

  • Enterprise Java Beans (EJB)
  • JAX-RPC
  • JAX-WS
  • Java Database Connectivity (JDBC)
  • Java EE™ Connector Architecture (JCA)
  • Java Management Extensions (JMX)
  • Java Message Service (JMS)
  • Java Naming and Directory Interface (JNDI)
  • Remote Method Invocation (RMI)

More details in Will it play in App Engine.

By the way, we don't say J2EE anymore, it's Java EE since 2005 :)

like image 152
Pascal Thivent Avatar answered Oct 13 '22 01:10

Pascal Thivent


The first anwser saying that Appengine is a Subset of Java EE is true, but it misses some information.

Google Appengine indeed supports a Subset of Java EE, but Java EE also supports a subset of Appengine technology.

Appengine comes with a High Replication Data Store, and elastic scaling. So you dont pay for servers that are idle. Appengine supports Web Hooks, this is a new technology, which can be used to do similar things as JMS. JNDI is not supported for a reason, because getting services in Google Appengine is done via a simple Java API. Thus simplifying the model. RMI is used a lot in the internals of appengine, and you can use it yourself if needed. However using RMI in appengine does not make a lot of sense, since the inter machine communication can be done via XMPP, or via the High Replication.

So with Appengine you can develop similar applications as with Java EE, however you are bound to Googles Infrastructure. A lot of the heavy lifting, such as machine config, network config, scaling, is done automatically. Thus there is no need for a big system engineering team.

All in all, Java EE, is the old way, used by big corporate companies. Appengine is used by startups that expect to grow very quickly and need to scale, but also not minor startup costs.

like image 38
TjerkW Avatar answered Oct 13 '22 01:10

TjerkW