RE: [OpenMap Users] Servlet environment - Beginner Question

From: Vitaly Khait <>
Date: Wed, 8 Feb 2006 18:10:25 +0200

Greetings, Don!

This one is really helpful!
Although I've discovered this approach a little before it is very
important for me to know that I understand the OpenMap architecture

As you said it's enough to extend the MapRequestHandler to handle a
Query type of request and fire a mouse events of new type, so that
they can be catched by appropriate layer.

This approach seems like working, but raises some scalability
concerns, at least in my case. Since the layer data is time-variant,
the image presented to user doesn't conform to the state of the
database (the location has changed since the image was rendered). So
far I've found several soultions, when each one seems a little bit

1. To store the state (rendered locations) per session
(space-consuming, what about multiple windows per session?)

2. To query the state from database with provided timestamp, which's
possible since the history is also stored (time-consuming, may require
locks on db)

3. To send a state to the client side and let the browser decide which
LocationID it wishes to request. In this case in order not to burden
the browser too much the state should be sent in some precomputed form
(i.e Voronoi diagram), which's CPU consuming.

All of theese are not really scalable, but I fail to find any more
efficient - I am not experienced in web programming at all.

The only escape I can see is to move a part of functionality to the
client side: javascript, AJAX, etc. Some threads ago there was
discussion of using an OpenMap as an image server coupled with some
client-side toolkit. This option I am now considering

If you have some hints on the usage of OpenMap for dynamic maps as a
part of web application I would be really thankful!

Thanks once more!
Best regards,

On 2/8/06, Don Dietrick <> wrote:
> Hi Vitaly,
> I'd think you want to do something similar to the pan requests that
> the MapRequestHandler deals with, extending the protocol to handle
> some kind of selection event. It looks like there is an
> unimplemented QUERY request type in ImageServerConstants that the
> MapRequestHandler.handleRequest(...) method doesn't deal with. You
> might be able to take advantage of that. You can get your image map
> in the browser to handle clicks on the map in different ways by
> sending requests back to the server. I think in the old .NET demo
> they were sent as RECENTER requests, but you would send them as say,
> a QUERY request - then, in your special MapRequestHandler that deals
> with QUERY requests and interacting with a particular layer (the
> MapRequestHandler would keep a special handle on layers dealing with
> queries), the appropriate response would be sent.
> Hope this helps,
> Don
> On Jan 15, 2006, at 7:56 AM, Vitaly Khait wrote:
> > Greetings!
> >
> > Sorry for rather not competent question but I am really beginner to
> > OpenMap and to web programming.
> >
> > What I am trying to do is to create an application running in a
> > servlet environment that uses OpenMap to present locations stored in
> > database and provides some additional functionality.
> >
> > I extend LocationLayer (as well as DBLocationHandler and some
> > OMGraphics) and MapRequestHandler serves just fine for creating images
> > according to the request.
> >
> > However, the additional requirement is to enable a user to select a
> > Location object by clicking on the image in a browser. I've seen the
> > examples implementing similar behaviour for application and applet
> > (using mouse events) but still cannot think of any proper design in a
> > servlet environment. Can you please give some hints for a correct
> > architecture?
> >
> > Thanks ahead,
> > Khait Vitaly
> >
> > --
> > [To unsubscribe to this list send an email to ""
> > with the following text in the BODY of the message "unsubscribe
> > openmap-users"]

[To unsubscribe to this list send an email to ""
with the following text in the BODY of the message "unsubscribe openmap-users"]
Received on Wed Feb 08 2006 - 11:11:33 EST

This archive was generated by hypermail 2.3.0 : Tue Mar 28 2017 - 23:25:07 EDT