An ad-hoc meeting was held at the June 2004 Technical Committee meeting to discuss the issue of GeoAPI Management as it applies to geospatial data and services. Discussion at this meeting focused on the management and direction of GeoAPI. After discussion, the ad-hoc approved a motion to establish the GeoAPI working group within the Open GIS Consortium Technical Committee for the purpose of addressing GeoAPI Management and the related OGC Specifications and Recommendation papers implemented in GeoAPI that apply to geospatial applications.
This document establishes an operational Charter for a GeoAPI Working Group within the Open GIS Consortium, Inc. (OGC) Technical Committee devoted to management and implementation of applicable geospatial specifications.
The development community in building GIS solutions is sustaining an enormous level of effort. The GeoAPI project aims to reduce duplication by providing a neutral, interface-only Java API based upon existing and proposed OGC Standards, that GIS projects can use to interoperate. While the current GeoAPI project is primarily interested in Java, this does not preclude the use of other languages in the future.
A wide range of GIS solutions are available in Java, but each of them uses their own API. This leads to vendor and version lock-in situations, in which clients have to develop against a particular implementation and cannot easily switch implementations. The variety of APIs is also a barrier to interoperability at the Java object level. A set of interfaces accepted by major vendors would help to free the client from lock-in, and would help to increase interoperability.
The JDBC framework in Java 2 Standard Edition (J2SE) is a successful example of an interface-only specification. Vendors provide implementations of those interfaces for their particular database product. The same vendor can even provide many implementations targeting the same database, with different performance, security and ease-of-deployment tradeoff. The clients interact through the interfaces, no matter which particular implementation is actually used. The goal of GeoAPI is to achieve for GIS what JDBC achieved for databases.
UML models provided in abstract specifications are the starting point, but they are not directly useable in Java programs. Therefore UML must be expressed as Java interfaces. Since there is not always a one-to-one relationship between entities found in abstract specifications and Java concepts, some interpretations and manual re-work are required. Practical consideration related to interoperability with existing libraries (e.g. Java2D, Java3D, Java Advanced Imaging) as well as performance issues (e.g. avoiding garbage collection overhead) infrequently lead to minor departure and/or extensions to the abstract specifications. At this point in time, projects perform their own interpretation of abstract specifications, resulting in varying interpretations of the UML when it is rendered to API form.
The objectives for the GeoAPI Working Group are:
As a Working Group of the Open GIS Consortium Technical Committee, the GeoAPI Working Group will be organized and operate in accordance with the Standard Operating Procedures of that body. Activities of the GeoAPI Working Group related to the organization, coordination, and execution of interoperability experiments will be performed in accordance with the Standard Operating Procedures of the Open GIS Consortium Interoperability Program.
GeoAPI is an umbrella API incorporating several specifications and working groups. Progress in this domain will be achieved as follows:
Membership in the GeoAPI SourceForge project is encouraged, but not limited to OGC members. This is to allow broader participation, and reflects the existing membership that is a cross section between OGC, ISO, and non-member academics and organizations. The GeoAPI project is also related to a number of existing open source GIS initiatives, including but not limited to GeoTools, degree, uDig, GeoServer, Gnumeric, Seagis, and OpenMap. Coordination between this working group and these projects is planned.
The OGC GeoAPI Working Group is open for participation by all interested OGC members.