What do you think, is it possible to integrate Oracle Maps with Google Maps? I mean, is it possible to use Google Maps as topographical base map and using Oracle Maps Ajax client manage spatial geometry saved in Oracle Spatial in the same JSF application.
In theory it should be possible. You(or we) need to write an external map provider adapter for google maps. To do it, you(or we) need to figure out the google's map tile requests api, how their coordinate system and zoom levels are defined.
"... need to figure out the google's map tile requests api... "
I looked into this before and calculating which tiles are required and directly requsting these tile images from Google (via their URL), is expressly against the terms and conditions of Google Maps.
We looked into this briefly. It is ok for you to pass a set of coordinates to google and they will send you back the tiles. When the tiles are passed back you can query them for the top left and bottom right coordinates (WGS 84 - srid 8307) and you can get your own data and render it above theirs. This is possible either by drawing a polyline using their api, or it will accept a tile (or set of tiles) which can be transparent. Basically you can create your own map type with its own server i.e. Oracle maps and tell their api to get googles tiles and your own and draw the two together. This is very much like their own hybrid tile/satellite map. You can find full details of this in the API documentation. If oracle were able to find a way to incorporate this directly into their viewer with google permission then I would very interested to hear about it.
I have found an article about JSF and Google integration in The Oracle Java Developer Newsletter for this month: http://ajax.sys-con.com/read/204707.htm
So, I'm sure it is possible to build very attractive public service using JSF (for UI framework), Oracle Maps (for spatial data) and Google Maps (for topographical data).
the best possible integration really is pulling google maps/yahoo maps/msn maps tiles into Oracle Maps, as Oracle Maps provides richer types of client interactive objects and functions than the hosted ones. For instance points, lines and polygons can all become interactive Feature of Interest in oracle maps
the bigger road block, as you mentioned, is really the TOS imposed by those hosted map services. and to a lesser degree, figuring out the nuances of the tiling mechanism used by each hosted services. Now an industry standard of tileing scheme and tile-requesting protocol will be real nice here. With such a standard, Mapviewer or any other AJAX mapping client can just implement one generic 'tile viewer' and use that to access the tiles from different vendors. sort of like an extension of the OGC WMS spec.
Finally, i would like to point out that MapViewer is a product that needs to work with any and all type of spatial data (utility networks, building floor plans, different projected/geodetic maps, etc etc). As such I'm not sure if a nicer integration with such hosted map service should be high on our priority list.
Probably this is good enough for many applications, and fully compatible with the Google Maps legal issues.