Is there a port of Apache Shinding, Java version, that runs on Google App Engine?

438 Views Asked by At

I've been searching the web for a Apache Shindig Java port to Google App Engine, but I only found a Python version. Is there a Java port? or are there blocking dependencies that make it very hard to port Apache Shindig to Google App Engine (besides the database part)?

2

There are 2 best solutions below

0
On

There doesn't seem to be a project which specifically runs on Java on the Appengine. However it should be possible to port the current java version to Appengine as there is a python version which has the same limitations.

2
On

Unfortunately, there is currently no GAE Java port of Apache Shindig. However, you do have options:

  • If you consider porting to the Java port yourself, I also recommend starting from the existing Python-GAE port or the PHP-non-GAE port instead of from the Java-non-GAE port.
  • Additionally, you may consider running the Python-GAE port using Jython on the GAE Java SDK, instead of porting your own version from scratch.

Read below for more details:

Use Jython to port Python-GAE to java-GAE:

The main advantages of using the Jython abstraction are as follows:

  • You may have a working Java-GAE SDK version up and running sooner rather than later.
  • You will still have the option to port the Jython code to pure Java in the future, in small iterations, as your business goals allow.

On a side note, I have a version of the JQuery Form Builder Plugin running on the Java SDK:

  • Originally written in PHP for the LAMP stack
  • Running on the GAE-Java SDK
  • Using the Querces PHP Servlet to compile the PHP to Java.
  • The original Form Builder PHP code can access a Java DAO class that I wrote as a wrapper around the data store.

Jython is a similar abstraction that may help in a similar manner and avoid the need to rewrite most of the code. Read more below about Jython development on Google App Engine: Jython Development on Google App Engine

Avoid trying to port from Java-non-GAE to Java-GAE

The Java version of the OpenSocial application is multithreaded, so it will have a lot of trouble running on App Engine. Moreover, it's definitely easier to port the PHP version to Java, as App Engine doesn't support multi-threading at this time, and the PHP version is most likely not multi-threaded.

As a result, this is why the Python OpenSocial port's roots belong to the PHP version of Shindig/OpenSocial and not the Java port. I suggest following their lead and doing the same, if you do decide to port from the non-GAE version.