I'm part of a two-person team that is building a web-based virtual tour application with specific extra functionality that doesn't exist in current applications. This is a summer school project.

The team lead wants this application to be as platform and dependency-agnostic as possible. To do this, we're using Google's Fusion Tables and StreetView APIs to display the images and serve as a database. This way, a client installing this application on their server doesn't have to worry about configuring and maintaining a local database and all that is necessary on their end is a Google Apps account and the images themselves.

My issue is how does the client make requests for images and data without a server-side language? Most, if not all of the data will be textual, and thus be able to render as JSON and parsed as such. However, that leaves the issue of the images themselves. They will be hosted on a to-be-determined location, and I need some way to access them.

Using Ajax, I can execute a PHP call to load an image easily, and I already know how to do this. Its been suggested that I use the Java client library to interface with GData services, but I think this is overcomplicating things.

My arguments for including PHP as an application requirement are

PHP is synonymous with hosting. I've yet to run across a commercial host that doesn't offer PHP

I already know how to implement the Ajax calls to the PHP function.

As this application has a 6 week deadline, I'd like to stick with what I know rather than learning a whole new methodology

His arguments for looking somewhere else are

No guarantee that PHP will be loaded on the server to be used. Our school's CMS is based in Java, and PHP is not installed

Java is a standard inclusion in server and client configruations

The application should be server and dependency agnostic in the sense that it can be uploaded to a folder and accessed without any configuration

Honestly, if I had the time, it would be an interesting side project to include this type of functionality, especially since I've never done it before and it sounds interesting. But I keep thinking about that 6 week deadline, and as I'm the one that will be doing the majority of the coding, I just don't think I can do it in time without PHP.

You've got 6 weeks, stop wasting time on stack exchange. Build something simple, and iterate it. If you find an issue that can only be solved by switching, then switch. Keep your dependencies isolated if practical and you shouldn't find it hard to switch.
–
jasonkMay 17 '12 at 23:39

1 Answer
1

You can't be platform and dependency agnostic as possible, and then demand Java be used.

If I were you, I'd push the issue back on him and explain the situation, he should either provide you with sample code to do this (at least) or go with the tooling that you already know. Trying to shoehorn training and development into a short deadline doesn't go. If he cannot do either, then inform him you cannot do it and he should find a java engineer.

Ps. Java is not a standard inclusion on all clients, many people won't bother installing it so you cannot depend on it being there. Javascript on the other hand will be present in all but the most primitive browsers.

PPS. the way the browser grabs images is very simple: you need a web server that holds the images as static files (gninx is good for this), then you just request them as http urls inside your html page that you're displaying in the browser.

I think Java is the way to go for platform and dependency agnostic deployment. Consider, if you will, the ease of use for deploying wars vs copying PHP files that may or may not rely on the configuration of the server. Also, you can use Java only on the server-side, removing the need for client support.
–
K.SteffMay 18 '12 at 0:47