Classes of Web Application Client

Andrew Hallam | | 21 July 2007, 05:58

The terms “thin client” and “thick client” are often used to distinguish between any application accessed via a web browser and native desktop applications respectively. This binary classification often results in all web applications being considered as “thin clients”, which is not the case. This article offers a more useful classification.

» Read more...

Google Gears

Andrew Hallam | | 31 May 2007, 20:42

At Google Developer Day 2007 in Sydney, Google have announced the early beta of Google Gears. Gears provides seamless offline storage for your browser-based applications. It’s an open source plug-in for browsers, available under a New BSD license.

Quick takeaways:

  • Uses SQLite for offline storage of millions of documents, and includes full text search.
  • Sits between your web app and the server and manages synchronisation.
  • Provides process worker for offloading JavaScript processing to worker threads.

This looks really interesting for data intensive mapping applications, although it’s not clear if you can use the database to store image tiles.

Google Developer Day 2007

Andrew Hallam | | 12 April 2007, 22:29

Google Developer Day is 31 May 2007. It will be hosted by Google offices around the planet, including Sydney. RSVP submitted? Check.

KML Adapter for ArcIMS

Andrew Hallam | | 13 May 2006, 03:38

Since announcing the existence of an application that makes ArcIMS image services available to Google Earth I’ve received regular emails asking if the software is available. It is now, and it’s open source.

In the grand scheme of things this application is trivial, so it’s somewhat less than a major contribution to the open source community. Still, it feels good to give something back, and as they say: “Release early, release often”.

I hope it is useful to you.

Details

KML Adapter is a Java servlet application that makes an ArcIMS image service available to Google Earth. Briefly, it:

  1. Receives requests from Google Earth Network Links,
  2. Converts each request to an ArcXML GET_IMAGE request,
  3. Sends the GET_IMAGE request to your ArcIMS server,
  4. Obtains an ArcXML IMAGE response from ArcIMS,
  5. Converts the IMAGE response to KML, and
  6. Ships the KML back to Google Earth. Simple really.

Note: If you already have the ArcIMS WMS Connector installed you can achieve a similar result using a simpler reflector script.

Download

The source code (including IntelliJ project and Ant build file) and WAR file can be obtained at:

KML Adapter v0.2.0 (40 KB Zip file)

Installation

See resources/WEB-INF/readme.txt in the Zip file. See also the section on limitations. There are “a few”.

Licence

Apache 2. See resources/WEB-INF/licence.txt in the Zip file. Use at your own risk, etc.

Feedback

Feedback welcome, and if you use the software in anger I’d appreciate an email, and a link if it is a public website.

[tags]arcims, kml, google earth[/tags]

Stripes 1.3 Rocks

Andrew Hallam | | 20 April 2006, 09:28

It has been quiet here in the Digital Earth Dungeon. I’ve been doing a lot of software development work. Apart from prototyping a Delphi desktop application, and gearing up for a VB.Net application, I’ve been working on a Java web application that uses the excellent Stripes framework and Hibernate object/relational mapper.

After a bad experience with JavaServer Faces (JSF) it was decided that JSF would be removed from this application, and that another web framework should not be introduced. A custom presentation layer was written using home grown controllers and JSP views. This worked reasonably well, but a lot of time was spent writing code to do mundane repetitive things. Copying parameter values from the HTTP request to backing beans, the associated conversions to non-String data types, and common validation routines come to mind.

Application developers should be focused on providing business value, not the plumbing. This sort of stuff should just work, or be dead simple to implement. As the application got larger more and more duplicate code appeared, and a lot of it was doing mundane stuff. The duplication should have been abstracted out, but the time was not available to write yet another web framework. Others have done a better job of that already.

So, it was off to the Web, yet again, looking for a suitable Java web framework. There are many to choose from, and there were two core criteria:

  1. Not having a learning curve that resembled Mt Everest. Immediate productivity was required.
  2. It had to be a request-based framework.

Component/event-based frameworks like JSF do their best to abstract away the Web. This additional complexity was not wanted. A framework that worked with the web was the way to go.

After some late nights surfing the web, reading framework documentation, and sifting through the opinions and biases of many commenters on websites and blogs we had a winner: WebWork. What! Isn’t this about Stripes? Patience Grasshopper.

WebWork’s learning curve looked steeper than desired, but there were many positives. There were books available, indicating maturity and a solid community. The product seemed to have a good future, being slated as the basis for the next generation of Struts. Some well know web applications use WebWork. Etc.

At the last minute a post to a website was noticed, written by a guy named Tim Fennell, which mentioned a framework called Stripes. “Stripes? Haven’t heard of that one. Oh well, one more can’t hurt.”

The homepage of the Stripes website struck a chord. “The main driver behind Stripes is that web application development in Java is just too much work!” Exactly! Some more reading revealed that Stripes was definitely worth a decent look. Version 1.2.2 was downloaded. It was small, with minimal dependencies. A nice change. Exploration of the sample application began, along with some more reading of the well written online docs.

To cut a long story short (oops, too late, sorry) Stripes was implemented. It lived up to high expectations. The application developer (ahem) took a short while to get their head around some key concepts, and to work out how to best use Stripes with Hibernate, but after that it was plain sailing.

Stripes took care of all the mundane tasks and let the developer focus on business logic. It also gives the developer a bit of flexibility. It doesn’t force them to follow “the one and only true way”. In short, it was a pleasure to use. It also substantially reduced the amount of code in the presentation layer of this web application, and made it more maintainable.

While all this was going on Tim Fennell, and a growing developer community, were working on Stripes 1.3. It has just been released, so if you’re on the lookout for a Java web framework do yourself a favour and have a look at Stripes.

Very nice work, Tim!

[tags]java, stripes, web frameworks, hibernate[/tags]

NetKernel 3.0 Released

Andrew Hallam | | 30 March 2006, 00:21

Details on the NetKernel website. If you are doing any web application or web services development you should do yourself a favour and have a look at NetKernel.

JavaServer Faces Not So Tasty

Andrew Hallam | | 10 February 2006, 22:35

Tim Shadel, on the ZDot blog, has been doing a great job of listing issues that he has with JavaServer Faces (JSF). His efforts go way beyond my first impressions and includes detailed text plus podcasts (MP3 audio).

If you are looking at adopting JSF it would be worth reading the following posts and their comments:

NetKernel

Andrew Hallam | | 20 December 2005, 06:01

Tony Butterfield, CTO of 1060 Research, was in Sydney today. He was good enough to take some time to answer my questions about NetKernel.

From what I’ve seen so far NetKernel fits my view of what makes a good web application development platform better than the JSP/servlet based web application frameworks like Struts and JSF. It works with the Web, it’s REST friendly, and it’s based on the composition of services using declarative markup or procedural code. Lots to like.

ESRI Doing ESB

Andrew Hallam | | 15 November 2005, 06:06

According to an ADT Magazine article, ESRI are using the open source Mule Enterprise Service Bus (ESB) messaging framework to do some Service Oriented Architecture (SOA) work.

The remainder of this post is pure speculation:

The Mule licence is very unrestrictive so it could be embedded in a commercial product. Perhaps the “ability to work with multiple data sources” mentioned on Abstract Final is a clue. Given the number of time SOA was mentioned at OZRI I wouldn’t be surprised if the ArcGIS Server Application Developer Framework (ADF) is morphing into an enterprise framework.

RESTful Web Services

Andrew Hallam | | 10 October 2005, 08:13

Following on from the previous post, John Cowan has put together a presentation titled RESTful Web Services: An introduction to building Web Services without tears [251 KB, PDF]. Worth a read, especially if you are creating web services using SOAP.

Thanks to Paul James for the pointer.

« Previous |

Powered by Textpattern | Tranquility White made TXP-ready by Textpattern Templates