GeoComputation Logo

GeoComputation 2000 HomeConference ProgrammeAlphabetical List of Authors

The Development of Spatial Information Distribution Component Model based on OpenGIS

Byung-Ik Ahn, Sung-Ho Woo, Seong-Bong Yang
Dept. of Computer Science, Yonsei University , 134 Sinchon-Dong, Seodaemoon-Ku, Seoul, Korea
E-mail: biahn@pointi.com

Abstract

In this paper, we present a solution of the sharing and integration of spatial information problem in a distributed computing environment and a method for spatial information distribution component implementation based on OpenGIS by using platform independent component technology.

Moreover, we design a spatial information distribution basic model and develop a prototype for data provider. We applied UML to system design and used the standard specification of OpenGIS for user in various platform environment and develop the technology of COM-CORBA interoperability.

We classify the Spatial Information Distribution Model according to the actor and the internal usage to efficiently distribute the geographical information and then we design the internal detail architecture of the system. We assort the actor as the following. The actor of the system is data producer and user of the data provider. The Spatial Information Distribution Model consists of (Spatial Information) Distribution Server and (Spatial Information) Distribution Basic Component.

Distribution Basic Component supports interoperability between platforms when it will provide the spatial information and geoprocessing services in distributed computing environment. Particularly when COM-based data provider, which isn't compliance with OMG CORBA standard specification, wants to provide the spatial information to the user in heterogeneous distributed computing platform, it is required for inter-working between CORBA and COM interfaces. In order to use Rowset object obtained through COM interface regardless of heterogeneous distributed computing platform, we suggest the following process.

First, we transform Rowset object obtained using OpenGIS standard COM interface into OpenGIS CORBA's Simple Features. Then we provide the Simple Features to data consumer. In order to convert Rowset object into CORBA Simple Features, we require COM-CORBA inter-working and should comply with OpenGIS CORBA specification and implement them. Distribution Basic Component is a essential component to distribute the spatial information. It's core function is one that provides the data and services, which are offered by Data Provider Component, MapBase Component and Application Component based on Microsoft COM, by means of mapping between COM interfaces and CORBA interfaces.

To obtain Rowset object after accessing data source in Distribution Basic Component we use OpenGIS OGISDataProvider component. In this paper especially we use standard OLE/DB Interface supported by extended OGISDataProvider, which is extended for OGIS. OLE/DB interfaces which we used are DataSource, Session, Command, Rowset interfaces. We put to use CORBA so that we distribute Rowset object obtained as the result. So we implement the OpenGIS CORBA Simple Features specification. We implement the Feature module, Geometry module and WKB(Well-Known-Binary) - which are parts of OpenGIS CORBA Simple Features specification - to transfer result Rowset object. Anyone who follows the OpenGIS standard specification can use Spatial Information Distribution Component.

Chapter 1. Introduction

The development of new information technologies occurs so fast today and the life cycle of computer hardware products and some related software such as DBMS and GIS software has been continuously shortening as a result of new applications of these technologies, and a new added values are created by the continuous extension of spatial information volume. The spatial information should be constructed without interference of any types of GIS engine and spatial DBMS to utilize the spatial information, but a duplicated investment in using spatial information since the current situation are not yet fully developed.

AS a part of efforts to enable the full interoperability of spatial information, International Standardization Organization Technology Committee(ISO/TC 211), OpenGIS Consortium(OGC), Federal Geographic Data Committee(FGDC), and The European Committee for Standardization(CEN) are keep working on the development of various standardizing for metadata as well as model suggestion method and the data format. Especially, OpenGIS presented by OGC, for example, has Abstract Specification which is based on object oriented technology for the interoperability in the heterogeneous distributed computing environment and Implementation Specification for some related platform such as CORBA and OLE/COM and they are provided to software developers in the form of shared standard interface.

This provides common interfaces to software developer as comprehensive specification for spatial information process in distributed environment. Open spatial information process specification is currently Version4, and the specification is composed of abstract specification and implementation specification.

The abstract specification provides conceptual model and is constructed of 16 topics. The latter, for system development, supplies standard interfaces supported platform such as OLE/COM, CORBA, SQL using IDL (Interface Definition Language). Through this specification spatial information and services are applied mutually and platform-independently.

In the paper, we present a spatial information distribution component model based on OpenGis by using platform independent component technology for a solution of the sharing and integration of spatial information problem in a distributed computing environment and the reusability of software.

Chapter 2 Related Works

2.1 Metadata

Metadata increases the understanding about information and promotes the usability of information during spatial information distribution as a "data for data" which is detail information of data. Metadata provides detail information such as contents, quality, use, and sale price of spatial data to allow easy access of matched information to the customer's need and increase the efficiency of geographic spatial information distribution by simplifying the unnecessary transmitting process of data.

Based on international standard ISO/TC211 15046-15 Geographic/Geometric Metadata Standard (version 4.4), and standardization defines as follows for about constructing metadata.

Essential and conditional metadata section, individual metadata, and metadata element - Providing at least essential information to apply geographic spatial information such as retrieval of data, decision of suitability data use, data access, data conversion Selectable metadata element - In case of necessarily, providing comprehensive geographic spatial information Extension of metadata - Providing a rule for adding metadata to support various customer's needs

2.2 Spatial information distribution server

[Figure 1] depicts the service process through service distribution network between data provider and producer of spatial information.

SID

Spatial Information Distribution Server is like kind of information search system that Distribution server manages the metadata and processes retrieval and querying of the metadata and returns its result if service producers register it following by defined metadata categories. Also, it connects client to the system that has actual location information of resource.

2.3 Spatial Data Transfer

The of data transfer component should be constructed that connects data users to the system directly to get resource after confirmation of system location that has necessary information from retrieval and querying component. This can allow to actively access database system that has real information when data users need it.

Through this, the converted objects to Simple Feature can be transferred to data users by basic distribution component that provides CORBA implementation specification of OpenGIS to use objects based on COM independently with platform in distributed environment. The basic structure to transfer spatial data is also defined WKB(Well-known Binary) in CORBA implementation specification of OpenGIS, and the related attribute data is WKT(Well-known Text).

Example)

SID2

2.4 The Basic Spatial Information Distribution Component

Distribution Basic Component supports interoperability between platforms when it will provide the spatial information and geoprocessing services in distributed computing environment. Particularly when COM-based data provider, which is not compliance with OMG CORBA standard specification, wants to provide the spatial information to the user in heterogeneous distributed computing platform, it is required for inter-working between CORBA and COM interfaces. In order to use Rowset object obtained through COM interface regardless of heterogeneous distributed computing platform. We suggest the following process. First, we transform Rowset object obtained using OpenGIS standard COM interface into OpenGIS CORBAs Simple Features. Then we provide the Simple Features to data consumer. In order to convert Rowset object into CORBA Simple Features, we require COM-CORBA inter-working and should comply with OpenGIS CORBA specification and implement them.

2.5 CORBA

OMG announced OMA(Object Management Architecture) to achieve apply and increase of object intention method and provide integrated application flame work without effect of H/W platform and OS in distributed computing environment.

OMA structure is composed with following 4 module.

ORB(Object Request Broker)

CORBA Service

CORBA Facilities - Vertical Common Facilites - Horizontal Common Facilites

Application Objects

CORBA ORB normally communicates by using IIOP(Internet Inter-ORB Protocol). IIOP is developed to work on TCP/IP protocol with GIOP(General Inter-ORB Protocol) for mutual communication between ORB. CORBA can communicate on different network protocol since it is independent with network protocol.

CORBA is distinguishing interface declaration with development by using interface define language, IDL(Interface Definition Language). It provides to access interface independently in any environment and any language.

Firstly, define business logic that developed with IDL then compile IDL through CORBA IDL compiler that match each language. The code part, stub and skeleton code in object developing part of server and client is formed if compile IDL. Among of these, develop server-developing part with C++, Java, COBOL language and client developing part with applicable language. Then connect server part and client part after compile each developed code through applicable language compiler.

Chapter 3 The Design of Spatial Information Distribution Model

The former spatial information has constructed with various formats, and the spatial information processing service is developing as system dependent data type and interface. Moreover, additional work to use COM based spatial information and service in information distribution system which operating under CORBA distribution environment is needed to link CORBA and COM for each information provider.

Distribution Basic Component is a essential component to distribute the spatial information. Its core function is one that provides that data and services, which are offered by Data Provider Component, MapBase Component and Application Component based on Microsoft COM, by means of mapping between COM interfaces and CORBA interfaces.

The overall integrated Architecture of Data Provider component, MapBase Component, and Application Component is showed in [Figure 2].

SID3

[Figure 2] Architecture of Spatial Data Distribution Model

The basic information distribution component is essential to the spatial information users who are willing to use Data Provider component, MapBase component, and Application component providing data ad service.

3.1 The basic information distribution component

We classify the Spatial Information Distribution Component as the following for data and service provider in OLE/COM environment.

Distribution Basic Component for Data Provider Component

Distribution Basic Component for MapBase Component

Distribution Basic Component for Application Component

The Distribution Basic Component for Data Provider Component is using by data providers who use Data Provider Component to provide Spatial Data. The Distribution Basic Component for Data Provider Component function is as the following.

Have certification process of user ID and Password.

Form Rowset result by accessing Data Source.

Convert formed Rowset result to OpenGIS based CORBA Simple Feature. (COM-CORBA link)

Transfer converted Simple Feature through transfer component.

In order to use Rowset object obtained through COM interface regardless of heterogeneous distributed computing platform. We suggest the following process. First, we transform Rowset object obtained using OpenGIS standard COM interface into OpenGIS CORBAs Simple Features. Then we provide the Simple Features to data consumer. In order to convert Rowset object into CORBA Simple Features, we require COM-CORBA inter-working and should comply with OpenGIS CORBA specification and implement them.

Converted Simple Feature is transferred to client through the transfer component. If the standard interface of Simple Feature is observed that suggested OpenGIS CORBA specification in the client, Simple Feature would be used in any kinds of platform.

3.2 COM-CORBA Link

The COM-CORBA link is essential to distribute spatial data with CORBA using by OLE/DB that is provided by COM based Distribution Basic Component for Data Provider Component.

How such inter-working can be practically achieved is illustrated in an Inter-working Model, shown in [Figure 3]. It shows how an object System B can be mapped and represented to a client in Object System A.

SID4

[Figure 3] B/A Interworking Model

The View is an object in system A that presents the identity ad interface of the target system B mapped to the vernacular of system A, and is described as an A View of a B target. The View exposes an interface, called the View Interface, which is isomorphic to the targets interface in system B. The methods of the View Interface convert requests from system A client into requests on the targets interface system. The View is a component of the bridge. A bridge may be composed of many Views. The bridge maps interface and identify forms between different object systems. Conceptually, the net effect is that a request made on an interface in a is transparently delivered to the intended instance in B.

There are 4 case of Interworking mapping as the following(Figure 4).

COM View for CORBA object. (Figure 4 (a))

CORBA View for COM object. (Figure 4 (b))

Automation View for CORBA object. (Figure 4 (c))

CORBA View for Automation object. (Figure 4 (d))

SID5

[Figure 4] Interworking Mapping

3.3 Data Type Mapping

The effort to integrate OLE/COM and CORBA is leading by OMG. Among of this activity, official name of the OLE/COM and CORBA integration is COM-CORBA Interworking. The basic object of this activity is mutually connecting OLE/COM and CORBA without changing of object model.

To connect OLE/COM and CORBA, following facts should be applied.

Mutual method call function

COM object and CORBA object has native call method. But in the connection of OLE/COM and CORBA, OLE/COM object should be able to call CORBA method and also CORBA object should be able to call OLE/COM method.

Data type mapping

OLE/COM data type and CORBA data type should be able to mapping mutually. In this case, there is no problem with basic type such as number, but high technique is needed to convert CORBA any type and OLE/COM Variant type.

Mapping between CORBA IDL and COM IDL

The application writing language of CORBA is IDL. For the same, COM uses MIDL(Microsoft IDL), OLE uses ODL to write interface. Consequently, the mapping between those languages is essential. Especially, the methods should be developed to express relationship in MIDL and ODL which does not have succession concept since CORBA IDL supports muti succession.

Exceptional condition Mapping

The method of exceptional codition processing is different in CORBA and OLE/COM. So, appropriate method is essential by transferring each exceptional condition to another.

Object creation process mapping

In case of CORBA, object is created and terminated automatically by user or server program. But incase of OLE/COM, object is created by Factory class and terminated by variables of object. Accordingly, a cosistent method should be applied to creat and terminate object between each other.

object registering mapping

All information of OLE/COM object is stored at registry, window information storage. On the contrary, all information of CORBA object is stored at developing storage and interface storage. So, the method is essential to store CORBA and OLE/Com object in registry, developing storage, and interface while they are working together.

3.4 Consistence with OpenGIS

We develop the Spatial Information Distribution Component compliance with the OpenGIS OLE/COM Simple feature implementation specification and OpenGIS CORBA Simple Features implementation specification.

Figure 5 explains each module that developed under OpenGIS suggestion item.

SID6

[Figure 5] Relation of OpenGIS Specification

To obtain Rowset object after accessing data source in Distribution Basic Component we use OpenGIS OGISDataProvider component. Here especially we use standard OLE/DB Interface supported by extended OGISDataProvider, which is extended for OGIS. OLE/DB interface which we used are DataSource, Session, Command, Rowset interface.

We put to use CORBA so that we distribute Features specification. We implement the Feature module, Geometry module and WKB(Well-Known-Binary) - which are parts of OpenGIS CORBA Simple Features specification - to transfer result Rowset object.

Anyone who follows the OpenGIS standard specification can use Spatial Information Distribution Component.

Chapter 4 Conclusion

In distributed environment, the spatial information distribution component is essential to use spatial data and service that independently existing in remote with platform. Among of this, Distribution Basic Component is a essential component to distribute the spatial information. It's core function is one that provides the data and services, which are offered by Data Provider Component, Mapbase Component and Application Component based on Microsoft COM, by means of mapping between COM interfaces and CORBA interfaces.

The Spatial Information volume is keep increasing with various geographic information system development and raising as new national infra. The remote civil and administrative service are asked to provide Spatial Information service such as topographic map, thematic map, and cadastral map through network along with extension of Internet. For this, The effort should be made to establish and utilize of the Spatial Information distribution system based on the Spatial Information distribution technology. Through this, we can avoid wasteful duplicate investment to build spatial information and integrate and share various spatial information efficiently, so provide specification spatial information and services that applied mutually and platform-independently to Spatial Information users.

In this paper, we present Basic model of spatial information distribution using distribution server and distribution basic component based on retrieval and querying component and data transfer component that would be able to transfer spatial information on distributed network of Internet and IIOP(Internet Inter ORB Protocol) along with OGIS developing direction to provide and distribute data that need to acquire applying mutually between each spatial information processing system in distributed environment for the spatial Information Distribution.

Reference

[1] Open GIS Consortium, Inc., ¡°OpenGIS Simple Feature Specifiacation For CORBA Revision 1.0¡±, 1998.

[2] Open GIS Consortium, Inc., ¡°OpenGIS Simple Feature Specifiacation For OLE/COM Revision 1.0¡±, 1998.

[3] Open GIS Consortium, Inc., "The OpenGISTM Abstract Specification, Topic:11 Metadata, Version 3.1", 1998.

[4] Open GIS Consortium, Inc., "The OpenGISTM Abstract Specification, Topic:13 Catalog Services, Version4", 1999.

[5] Open GIS Consortium, Inc., ¡°OpenGIS Catalog Interface Implementation Specification", 1999.

[6] Doo-Whan Bae, ¡°Component-Based Software Development", '99 Korea Information Processing Society Tutorial, 1999.

[7] Bong-Hee Hong, ¡° Metadata Query Processing for Spatial Data Distribution¡±, Korea Information Science Society, 1997.

[8] Kun-Ho Ryu, ¡°GIS Metadata Management¡±, ¡®99 Korea Open GIS Society Journal, 1999.

[9] Orfali Harkey, Client/Server Programming with JAVA and CORBA, 2nd, 1999.

[10] Inprise, Inprise VisiBroker, Traning Services, 1999

[11] Byung-Ik Ahn, "The interoperability of Spatial Data using COM-CORBA Link in DCP Environment", Korea Information Science Society Conference, 1999.

[12] Byung-Ik Ahn, "A Design of Open GIS Specification based Spatial Distribution Model", Korea Information Processing Society Conference, 1999.

[13] OMG,"CORBA IIOP Specification 2.3", 1999.

[14] Richard Grimes, "Professional DCOM Programming", Wrox, 1997.

[15] Robert Orfali, Dan Harkey and Jeri Edwards, "Instant CORBA", Wiley, 1998.

[16] Robert Orfali and Dan Harkey, "Client/Server Programming with Java and CORBA", 2nd Ed. John Wiley and Sons, INC., 1998.

[17] Ronan Geraghty, Sean Joyce, Tom Moriarty and Gary Noone, "COM-CORBA Interoperability", Prentice Hall, 1999.

[18] Jae-Hyun Park, ¡°Core CORBA¡±, YoungHan Printing Corp, 1998.

[19] Michi Henning and Steve Vinoski, "Advanced CORBA Programming with C++", Addison Wdsley, 1999.

[20] Michael Rosen and David Curtis, "Integrating CORBA and COM Application", Wiley, 1998.

[21] Microsoft, "Microsoft Data Access SDK 2.1 MSDN Help", 1997.

[22] Kraig Brockschmidt, "Inside OLE 2nd Edition", Microsoft Press, 1995.

[23] John W. Fronckowiak, "Teach yourself OLE DB and ADO in 21 days", SAMS, 1997.

[24] DARATECH, Inc., Geographic Information Systems Markets and Opportunities, 1997.