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)?
-
Did you have a chance to look into the answers to this question? – jamesmortensen Jan 17 '11 at 10:31
2 Answers
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.

- 1
- 1

- 33,636
- 11
- 99
- 120
-
Porting from php/phyton is an option. The disadvantage is that I need to maintain the code whenever changes are made to opensocial. If I started with the Java version I get a large code base, but it needs to be modified to remove the threading and probably also implement a GAE compatible database layer. I just don't know if it's more work to port or rewrite from php and if a port deviates so much from the original implementation that a rewrite will get as much maintenance as a port for future changes. So far it seems I just have to go and start somewhere. – Hilbrand Bouwkamp Jan 18 '11 at 10:29
-
Did you ever get a satisfactory resolution on this? What did you do? – Pandalover Oct 31 '11 at 16:45
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.

- 5,386
- 1
- 29
- 41