Summary This thesis presents a method for the development of distributed geo-information systems. The method is organised around the design principles of modularity, reuse and replaceability. The method enables the modelling of both behavioural and informational aspects of geo-information systems in an integrated way. This thesis introduces the concept the Geo-information Service Infrastructure (GSI). The GSI concept adheres to the characteristics and needs of modern geo-information processing. The GSI builds on the existing principles for data sharing of the Geospatial Data Infrastructure concept. The term GSI is used to refer to a type of geo-information provision system from which specialised information products and services can be obtained by exploiting the elementary services (resources, processes and data) of a set of collaborating geo-service providers. This thesis presents a supporting architecture for the deployment of GSI services. An important idea underlying a GSI system is that services available in an information infrastructure should be composable. The method presented in this thesis is used to describe these elementary services and their interfaces, such that they can be accessed, combined and managed to create compound required services. These later services are defined to handle elaborated and specialised geo-processing tasks. Services are specified according to two perspectives namely the external perspective and the internal perspective. The external perspective specifies the observable behaviour of a service. This specification is used by designers for the development of the internal perspective and for the assessment of the resulting internal service specification. A service specification according to the external perspective also provides potential users with a description of the service functionality and its interfacing mechanisms. The internal perspective describes internal structure of a required service in terms of compositions of simpler or more elementary services. This internal structure is defined in terms of architectural elements. Three types of architectural elements are distinguished, viz. data elements, processing elements and connecting elements. The data elements represent the information that is used, manipulated and/or generated by the system. The process elements represent the geo-processing capabilities of
189
Summary the system, which can perform transformations on data elements. The connecting elements or mediators coordinate the interactions between the other architectural elements, and provide an interface to the service user. All specifications, according to both the external and the internal perspectives, are defined using ISDL (Interaction Systems Design Language) concepts. At the centre of a GSI system lies the repository service. The repository allows to organise the creation, updating, validation, accessing and sharing of service models and service instances. We emphasise the use of models as the mechanism to disclose information about services and to design more elaborated services out of combinations of existing elementary services. The repository is defined according to a metamodel on which all service models are based. The metamodel provides a rigourous abstract syntax for defining models. The metamodel is used here to define a set of design concepts and their relationships, which one can use to produce models according to the GSI specific objectives. This thesis introduces and motivates the so-called mediator pattern to be used to structure compositions of architectural elements. This results in the organisation of a set of services into a behaviour definition that has a single coordinating element. One of the benefits of this approach is that it makes the service realisation accountable for the user. Another benefit is that it facilitates the use of workflow languages to implement the mediator behaviour, which choreographs the use of third-party services.
190
Samenvatting Dit proefschrift presenteert een methode voor het ontwikkelen van gedistribueerde geo-informatie systemen. Deze methode is gebaseerd op ontwerpprincipes zoals modulariteit, hergebruik en onderhoudbaarheid. De methode ondersteunt het gecombineerd modelleren van zowel gedrags- als informatieaspecten van geo-informatie systemen Dit proefschrift introduceert het begrip ‘Geo-information Service Infrastructure’ (GSI). Het GSI begrip sluit aan op de eigenschappen van en de eisen aan geavanceerde geo-informatie verwerking. GSI steunt op bestaande principes voor ‘data sharing’ zoals toegepast in een traditionele ‘Geospatial Data Infrastructure’. De term GSI wordt gebruikt om een geo-informatie dienstensysteem aan te duiden waarmee gespecialiseerde informatieproducten en -diensten verkregen kunnen worden door elementaire diensten (middelen, processen en data) van een verzameling samenwerkende geo-dienstenaanbieders te exploiteren. Dit proefschrift presenteert een ondersteunde architectuur voor het uitrollen van GSI diensten. Een funderende notie voor een GSI systeem is dat beschikbare diensten van een informatie infrastructuur compositioneel moeten zijn. De methode gepresenteerd in dit proefschrift is gebruikt om deze elementaire diensten en hun interfaces te beschrijven, zodat ze toegankelijk zijn, en gecombineerd en beheerd kunnen worden voor het samenstellen van de vereiste diensten. De resulterende diensten kunnen complexere en gespecialiseerde geo-verwerkingstaken ondersteunen. Diensten worden gespecificeerd volgens twee gezichtspunten, namelijk het externe en het interne gezichtspunt. Het externe gezichtspunt definieert het observeerbare gedrag van een dienst. Deze specificatie wordt gebruikt door ontwerpers als uitgangspunt voor het ontwikkelen van het interne gezichtspunt, en voor de evaluatie van de resulterende dienstspecificatie volgens het interne gezichtspunt. Een dienstspecificatie volgens het externe gezichtspunt voorziet tevens de potenti¨ele gebruikers van de beschrijving van de functionaliteit en de interface mechanismen van de dienst. Het interne gezichtspunt beschrijft een interne structuur van de vereiste dienst als een samenstelling van eenvoudiger en meer elementaire diensten. Deze interne structuur wordt gedefinieerd in termen van architecturale elementen. Drie soorten architecturale elementen worden onderscheiden, namelijk data elementen, verwerkingselementen
191
Samenvatting en verbindingselementen. Data elementen representeren informatie die gebruikt, gemanipuleerd en/of gegenereerd wordt door het systeem. Verwerkingselementen representeren de geo-verwerkingsmogelijkheden van het systeem, waarmee transformaties uitgevoerd kunnen worden op data elementen. Verbindingselementen of ‘mediators’ co¨ ordineren de interacties tussen de andere architecturale elementen en bieden een interface aan de dienstgebruiker. Alle specificaties, volgens zowel het externe als interne gezichtspunt, worden gedefinieerd met gebruik van de specificatietaal ISDL (‘Interaction Systems Design Language’). De kern van een GSI systeem wordt gevormd door de ‘repository’ dienst. Deze dienst ondersteunt het cre¨eren, verversen, valideren, toegankelijk maken en delen van dienstmodellen en -instanties. Wij benadrukken het gebruik van modellen als mechanismen om informatie over diensten beschikbaar te stellen en om complexere diensten samen te stellen uit combinaties van bestaande elementaire diensten. De ‘repository’ is gedefinieerd op basis van een metamodel waarop tevens alle dienstmodellen zijn gebaseerd. Dit metamodel biedt een precieze abstracte syntaxis voor het defini¨eren van modellen. Het metamodel wordt hier gebruikt om een verzameling ontwerpconcepten en hun relaties te defini¨eren, zodat deze gebruikt kunnen worden voor het produceren van modellen voor GSI-specifieke doeleinden. Dit proefschrift introduceert en motiveert het zogenaamde ‘mediator’ patroon, dat gebruikt wordt voor het structureren van composities van architecturale elementen. Dit resulteert in een structuur waarin een verzameling diensten worden geco¨ordineerd door een enkel co¨ ordinerend element. Een van de voordelen van deze benadering is dat de verantwoording aan de gebruiker ten aanzien van de dienstrealisatie wordt gegeven via een enkel element. Een ander voordeel van deze benadering is dat ‘workflow’ talen op een natuurlijke manier toegepast kunnen worden voor het implementeren van het ‘mediator’ gedrag dat het gebruik van diensten van derden regisseert.
192
Curriculum Vitae Javier Marcelino Morales Guarin was born on the 16th January, 1968, in Bogot´a, Colombia. In 1992 he obtained his bachelor’s degree in forestry engineering from the Distrital University ‘Francisco Jos´e de Caldas’ in Bogot´a, Colombia. In 1998 he obtained his Master of Science degree in Geo-information Science from the International Institute for Geo-Information Science and Earth Observation in Enschede, the Netherlands. He was part-time lecturer at the faculty of civil engineering of the University of Santo Tom´ as in Bogot´a. He has worked as a consultant in the areas of GIS and information technology, and he has also worked for more than 14 years in the geo-information industry with the national mapping organisation of Colombia in the areas of data acquisition, geographic information systems, map production and geo-information infrastructures. He is also member of the Architecture Group of the Telematics Services and Systems cluster of the faculty of Computer Science at the University of Twente. His present research interests are in design methods, architectures for distributed (geo-information) systems and spatial data infrastructures.
193