My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Wiki pages

Navigation

  • Home - Getting the basic sample running
  • RichMap - A richer example using geo-faces components
Geo-faces is now seeking Contributors

Here is a Presentation about the vision for Geo-Faces http://docs.google.com/Presentation?id=dgbnvrhd_140f4xpb4g3

Here is the Google Groups for development http://groups.google.com/group/geo-faces-dev?hl=en

Introduction

Geo-faces is a set of JSF components that you can use to add an OpenLayers map into an existing JSF application taking a server-centric approach. It is built using the RichFaces CDK.

Geo-Faces are a free and open source JavaServer Faces (JSF) components library for incorporating modern mapping interfaces into Java Enterprise Edition (Java EE) applications. Its purpose is to provide common and reusable map interfaces components that can be tailored to any specific project requirements. These components allow very rapid development of online applications with embedded mapping capabilities. Geo-Faces also aims to be able to provide rich mapping functions without the development complexity of other mapping frameworks.

“A Java developer with no previous GIS development skills should be able to build an interactive mapping application, with data from a variety of sources, within one week or less and in less than 100 lines of declarative code.”

The project will be appropriate under the following conditions:

  • The project is to be Java-based
  • The project seeks to offer compliance with open mapping standards and be based entirely on Open Source and free software
  • A clean, highly maintainable application is desired
  • The project desires a lightweight, high-performance mapping architecture with reduced hardware needs and no license costs
  • The project desires to remain vendor-neutral in all aspects of the application stack

Business Benefits

The primary business need satisfied by Geo-Faces components is to reduce the time to incorporate customized map displays into enterprises applications. This time savings translates into reduction or elimination of development and maintenance costs. The solution providers no longer have to have a specialized staff, hardware, software, and data storage to using mapping components. This downsizing can be achieved because component library design follows the best practice of enterprise Java applications to separate the development and deployment of the UI component (i.e., "widget). The basic philosophy behind this design is to keep it simple and favor configurable features as opposed to having to custom code them. This philosophy is especially important in Ajax applications because it eliminates the need to develop and maintain JavaScript, which is an extremely time consuming, fragile, and hard to read. The JavaScript is generated by the framework and interactions between components are controlled at the level of the UI component tags. The product of this declarative approach is that rich mapping application can be quickly incorporated into legacy or new enterprise applications.

The Open Source license means that there are no restrictions on how the components are used as stand alone or embedded applications. The community driven development approach means a reduction in risk from dependence on obsolete or no longer supported vendor provided technologies. New features and enhancement can be developed in accordance with the project’s timeline not the vendor software release cycles.

Features available directly from Geo-Faces components or in conjunction with other industry standard technologies such as Hibernate, Seam, Richfaces etc.

Technical Benefits

  • Follows open standards to combine data from open standards-based sources ("mash up")
  • Supports “mash up” approach to geospatial data
  • Eases creation of reusable mapping components
  • Encapsulates complexity for UI and logic into a packable framework
  • The framework is based on declarative methods, which allows us to configure features as opposed to coding them which reduces time and complexity for re-use
  • First class Ajax support for rich user interaction, without low level programming
  • The mapping component itself is a part of a larger Java EE application framework that allows for rich and easy map-application communication
  • Facilitates upgrading mapping module without modification to core application, through consistent tag API
  • Ability to rapidly create reusable components for things like service components (GeoRSS, KML, geospatial processing)
  • Independent of server side geo-spatial technologies which allows for the use of light weight (low computing requirements) and low cost map and geoprocessing servers
  • Loosely coupled map components that can be mixed and matched with existing JSF components
  • Development of extension components is straightforward thanks to an organized build system based on the Ajax4jsf CDK
  • Geo-Spatial architecture is the same as the enterprise application architecture
  • Reduce risk from dependence on obsolete or no longer support vendor provider technologies

See the wiki for more information.

Example screen showing a basic implementation of the RichMap controls

Roadmap

Component Description Status Tutorial Available
Open Layers Enhanced OpenLayers tag that provide a layer of abstraction been OpenLayers JavaScript. Layers are registered declaratively in faces-config.xml.CompleteYes
Rich Map Enhanced Open Layers tag that provide a layer of abstraction been Javascrip (here OpenLayers).Initial development complete. Enhancements plannedYes
Rich Map Managed Beans Predefined configurable JSF managed beans to quickly add business domain content on Internet map service provider base mapsBasic implementation done. Enhancements plannedYes
Table of Contents Map layer controlBasic implementation done. Enhancements plannedNo
Coordinate Display Mouse move coordinate displayPlannedNo
Scale Bar Map display scale barPlannedNo
Feature selection Single feature selection to trigger single event (identify or select)PlannedNo
Identify Single event, identify all features at locationPlannedNo
Use JPA for persistence Incorporate the ability to use industry standard persistence specifications for the storage and retrieval of map layer definitions and geographically referenced business data.Under consideration. No

Powered by Google Project Hosting