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.
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.
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
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.
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).
OMA structure is composed with following 4 module.
ORB(Object Request Broker)
CORBA Facilities - Vertical Common Facilites - Horizontal Common Facilites
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.
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].
[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.
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.
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.
[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))
[Figure 4] Interworking Mapping
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.
Figure 5 explains each module that developed under OpenGIS suggestion item.
[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.
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.
 Open GIS Consortium, Inc., ¡°OpenGIS Simple Feature Specifiacation For OLE/COM Revision 1.0¡±, 1998.
 Open GIS Consortium, Inc., "The OpenGISTM Abstract Specification, Topic:11 Metadata, Version 3.1", 1998.
 Open GIS Consortium, Inc., "The OpenGISTM Abstract Specification, Topic:13 Catalog Services, Version4", 1999.
 Open GIS Consortium, Inc., ¡°OpenGIS Catalog Interface Implementation Specification", 1999.
 Doo-Whan Bae, ¡°Component-Based Software Development", '99 Korea Information Processing Society Tutorial, 1999.
 Bong-Hee Hong, ¡° Metadata Query Processing for Spatial Data Distribution¡±, Korea Information Science Society, 1997.
 Kun-Ho Ryu, ¡°GIS Metadata Management¡±, ¡®99 Korea Open GIS Society Journal, 1999.
 Orfali Harkey, Client/Server Programming with JAVA and CORBA, 2nd, 1999.
 Inprise, Inprise VisiBroker, Traning Services, 1999
 Byung-Ik Ahn, "The interoperability of Spatial Data using COM-CORBA Link in DCP Environment", Korea Information Science Society Conference, 1999.
 Byung-Ik Ahn, "A Design of Open GIS Specification based Spatial Distribution Model", Korea Information Processing Society Conference, 1999.
 OMG,"CORBA IIOP Specification 2.3", 1999.
 Richard Grimes, "Professional DCOM Programming", Wrox, 1997.
 Robert Orfali, Dan Harkey and Jeri Edwards, "Instant CORBA", Wiley, 1998.
 Robert Orfali and Dan Harkey, "Client/Server Programming with Java and CORBA", 2nd Ed. John Wiley and Sons, INC., 1998.
 Ronan Geraghty, Sean Joyce, Tom Moriarty and Gary Noone, "COM-CORBA Interoperability", Prentice Hall, 1999.
 Jae-Hyun Park, ¡°Core CORBA¡±, YoungHan Printing Corp, 1998.
 Michi Henning and Steve Vinoski, "Advanced CORBA Programming with C++", Addison Wdsley, 1999.
 Michael Rosen and David Curtis, "Integrating CORBA and COM Application", Wiley, 1998.
 Microsoft, "Microsoft Data Access SDK 2.1 MSDN Help", 1997.
 Kraig Brockschmidt, "Inside OLE 2nd Edition", Microsoft Press, 1995.
 John W. Fronckowiak, "Teach yourself OLE DB and ADO in 21 days", SAMS, 1997.
 DARATECH, Inc., Geographic Information Systems Markets and Opportunities, 1997.