Recommendations Service Oriented Architecture SOA

Copyright © 2015 Open Geospatial Consortium. 33

11.2.2.3 Lack of reuse of existing vocabularies

In order to make it as easy as possible for client applications to process NEO data, the ontology should reuse terms from well-known vocabularies wherever possible. New terms should be defined only when required terms cannot be found in existing vocabularies. Using an automated process to generate ontology from UML model goes against this best practice.

11.3 Recommendations

The approach taken in NEO to convert code lists as taxonomies is sound and can be fully automated following the guidelines of ISO 19150-2. However the ontology for NFDD and NES requires a careful choice of micro-theories such as the geospatial micro-theories contributed to OGC by Image Matters and the ones currently under work in the Spatial Data on the Web OGC-W3C Working Group. The reuse of well-established vocabularies would facilitate the processing of NEO by software agents that understand these core ontologies. This work requires subject-matters expertise to carefully choose the micro- theories and carefully define the sub-properties hierarchies for example for physical properties. Annotating existing UML models with these additional semantic information with the aim to automate the conversion to OWL could be achieved, but the cost of doing it will not outweigh the benefit of doing it using a manual process. 12 OGC Web Services

12.1 Service Oriented Architecture SOA

A Service Oriented Architecture SOA is based on the concept of a service. Depending on the service design approach taken, each SOA service is designed to perform one or more activities by implementing one or more service operations. As a result, each service is built as a discrete piece of code. This makes it possible to reuse the code in different ways throughout the application by changing only the way an individual service interoperates with other services that make up the application, versus making code changes to the service itself. SOA design principles are used during software development and integration. SOA generally provides a way for consumers of services, such as web-based applications, to be aware of available SOA-based services. For example, several disparate departments within a company may develop and deploy SOA services in different implementation languages; their respective clients will benefit from a well-defined interface to access them. 34 Copyright © 2015 Open Geospatial Consortium. SOA defines how to integrate widely disparate applications for a Web-based environment and uses multiple implementation platforms. Rather than defining an API, SOA defines the interface in terms of protocols and functionality. An endpoint is the entry point for such a SOA implementation.

12.2 Resource Oriented Architecture