Geospatial Web Interoperability of distributed systems requires that the systems are able to communicate and understand each other. Even simple latitude and longitude coordinates can be encoded in many different ways. Such inter-system communication typically depends on open standards, like TCP/IP and HTTP, as well as other standards at a higher level that help communities of practice to better share data in their domain. If the community is in the realm of geospatial, it most likely uses a standard from the Open Geospatial Consortium (OGC). When properly implemented by developers, OGC standards enable different location-aware software systems to interoperate, despite the complexity and heterogeneity of the geoprocessing systems. Geoprocessing systems include geographic information systems, navigation systems, Earth imaging systems, spatial databases, climate models, sensor webs, location services, map browsers and others.
In 2004 there was a need to develop tests that would help check conformance of implementations to OGC standards. At that time, there were no tools available to perform the testing of OGC standards. A committee was created and decided to write the tests in a XSLT based language called Compliance Testing Language (CTL). A tool (Engine) was developed at the same time that allowed running the tests, managing users and providing test reports. This tool is TEAMEngine.
The OGC provides a web testing capability, based on TEAMEngine to help developers better implement OGC standards and to give OGC the proof of correct implementation when giving a compliance certificate. Hundreds of implementations have been certified based on this tool. TEAMEngine is also being setup by other organizations to provide help on community compliance (e.g. German SDI).
TEAMEngine provides a test harness for tests that check conformance of implementations to OGC standards. The following items are within scope for the project:
- Execute tests written in the OGC Compliance Test Language (CTL).
- Execute tests written in TestNG.
- Execute tests written in SOAPUI.
- Execute tests to monitor and report service compliance and performance.
- Allow management (registration and testing) of profiles.
- Allow plugins for different user authentication mechanisms.
- Provide reporting following W3C EARL standard.
- Allow execution of tests via REST, user interface, command line and API.
- Provide easy customization (welcome page, logos etc.).
- Multilanguage support.
Outside of the projects scope would be the development of software that implements the standards.
TEAMEngine (Test, Evaluation and Measurement Engine) is a Java-based test harness for testing web services and other resources. It executes test scripts written in the OGC Compliance Test Language (CTL), TestNG, and other languages. It is lightweight and easy to run as a command-line or web application.
TEAMEngine can be used to test any type of service, encoding or (meta)data resource. It is the official test harness used by the Open Geospatial Consortium's (OGC) compliance program. Visit the project documentation website for more information at http://opengeospatial.github.io/teamengine/.
OGC mainly develops standards and not software. . The Eclipse Foundation and LocationTech develop software, which often implements OGC standards. These interests are complementary.
Many of LocationTech and Eclipse's values and principles--such as good governance, vendor neutrality, and consensus based decision making--are values held jointly at OGC.
The combination of services and infrastructure that LocationTech offers through LocationTech were comprehensive, attractive, and clearly distinguished compared to other project hosting options.
We believe these factors, and others will help provide a good environment for the project, encourage engagement, and that benefits evolution and adoption of OGC standards.
Code is in Mozilla Public License 1.1 (MPL 1.1) but changing to Apache 2.0. Might need to contact all commiters.
The code is currently 4.0.5
Expected release for 5.0 is early 2015
2-3 more minor releases are expected in 2014
- Update dependencies. TEAMEngine has been around for many years but has not been maintained for some periods of time. Update of some of dependent libraries is important (e.g. Saxon-B 9.0).
- The user interface requires an uplift to be more modern and fast responsive.
- Update of the framework. TEAMEngine is not based on any web application framework. JSPs are loaded with logic. Sometimes hard to debug, in particular the sessions.
- Improvement of Reporting. Currently they are two types of reports (CTL and TestNG). It is requires a common reporting format and view (e.g. using W3C EARL).
- Add an adminstrative interface to allow easy customization for any community. Including web appearance, registration of profiles and management of users.
- Develop a new testing type to monitor servers. Currently implementers do a one-time testing. Some communities required frequent testing to check the availability of the server, its performance, conformance and changes.
The code is in GitHub:
The code is currently maintain by one commiter.
TEAMEngine uses the following open source tools: