Mar 30, 2008

Design a customizable service oriented framework to manipulate GIS data

Project Name

Design a customizable service oriented framework to manipulate GIS data (Map Integration and Customization Framework)

Project Description

Geographical Information Systems are found in all over the world. The services provided by each of these systems may vary according to the purpose of service providers and as well as the community they intend too serve. In most of these services, there is an underlying mechanism of manipulating geographic data and presenting processed information over those data to outside world.

There are numerous kinds of frameworks and services designed by various interested groups around the world to support geospatial data. These frameworks may vary from white box frameworks to black box frameworks. In white box frameworks, it is essential to understand thoroughly the mechanisms behind framework classes and libraries and user should program him/her self in order to come with a product where as in black box frameworks, the framework users do not need to learn about the framework internals in detail.

When concerning the existing GIS frameworks, most of them are provided by proprietary organizations. Further, these proprietary frameworks are expensive, have various limitations, and are capable in utilizing only the products belong to corresponding organization

On the other hand even there are frameworks designed by open source communities, dealing with those software is quite hard. Hence users have to get over a lot of difficulties when customizing existing functions to be suited to their needs. Further, still there is no a satisfactory framework for the sake of building geospatial services as web services, to enable geospatial services to be integrated with large array of web services available over the internet.

Therefore, it is clear that there is a need of a customizable framework which can be used with both proprietary and open source GIS products to manipulate GIS data and exposing those facilities by mean of a web service.

In this project it is intended to design a customizable framework, where the capabilities of certain GIS tools and utilities are wrapped into functions and procedures and then make available through web services. Hence the opportunity of utilizing these functions is offered to users via web instead of working with a stand alone application. User will be able to sort out the most appropriate service among available services and customize his/her application in an easier manner.

In addition, service could be further extended a business service. By making the framework service oriented, the available facilities could be combined to make large number of business applications on the top of available services by searching a directory service in which users could deploy and publish their own GIS business services.


Benefits to the Community

The main concept behind the Map Integration and Customization Framework is it is services oriented. Then existing capabilities of the other GIS software can be easily integrated into this framework as new services. When adding new service, service provider will write a new driver for his/her new service and then plug it into the service layer.

From the end users perspective, they could consume varies GIS capabilities through a single framework where in the previous time they had to use separate GIS software to accomplish their task. In the meantime this project does not propose to build global software framework by replacing existing efforts of the community. Instead it acts as an intermediate layer between end users who prefer to consume multiple services and services providers who have established their services on top of existing GIS software and frameworks.

In addition through this project we intend to develop a XML parser with geospatial specific grammar, which might be useful when processing GML data. Further as part of the project we have planned to design a UDDI framework which could be operated through PHP scripting. This UDDI registry will be mainly focused on handling GIS related services. Since this registry exists as a separate module, any other developer who needs UDDI functionality solely will be able to use our registry in his/her own framework. The AJAX library we intend to develop will be a Map API which supports significant key functionalities derived from other existing Map Frameworks such as Google Maps, Ka-Map and Yahoo Maps etc.


Design

As the initial step the framework will be designed to wrap tools and utilities provided with UMN Map Server package such as gdal-ogr, mapserver, shapelib etc. Then the framework will be evolved to plug additional packages equipped with other different tools such as ArcIMS etc.

Server side functionality is mainly handled through PHP scripting and in order to establish functions written in PHP as web services, capabilities of the existing WSO2 PHP Web Service Framework will be used. Client side functionality will be handled through an AJAX library which works as a Map API. The spatial data support is available through both MySQL and PostGIS.

The users of the framework can be categorized into two classes, Service Providers and Service Consumers. Service Providers may establish and define their services utilizing the framework capabilities and Service Consumers will consume those services according to levels defined in the business.

The technology stack of the project architecture is briefly as follows:



Following diagram shows the components proposed architecture of the Map Integration and Customization Framework.




1 comment:

Anonymous said...

Hello. This post is likeable, and your blog is very interesting, congratulations :-). I will add in my blogroll =). If possible gives a last there on my blog, it is about the Câmera Digital, I hope you enjoy. The address is http://camera-fotografica-digital.blogspot.com. A hug.

Have a nice day!

Thanks for visiting my blog :)