([email protected]) Outline • Motivations • Research Issues • Architecture: Federated Service-Oriented Geographic Information System • Performance enhancing designs measurements and analysis • Conclusions.
Download ReportTranscript ([email protected]) Outline • Motivations • Research Issues • Architecture: Federated Service-Oriented Geographic Information System • Performance enhancing designs measurements and analysis • Conclusions.
([email protected]) 1 Outline • Motivations • Research Issues • Architecture: Federated Service-Oriented Geographic Information System • Performance enhancing designs measurements and analysis • Conclusions 2 Geographic Information Systems (GIS) • GIS is a system for creating, storing, sharing, analyzing, manipulating and displaying geo-data and associated attributes. • Inherently requires federation (see the figure) – Autonomy for scalability, flexibility and extensibility • Distributed data access for geo-data resources (databases, digital libraries etc.) • Utilizing remote analysis, simulation or visualization tools. • Open Standards – OGC and ISO/TC-211 3 Motivations • Requirements for – o Interoperable Service-oriented Geographic Information Systems – Necessity for sharing and integrating heterogeneous data and computation resources to produce knowledge. o Uniform data access/query, display and analysis from a single access point o Responsive and interactive information systems – GIS applications require quick response • Emergency early warning systems • Home-land security and natural disasters. 4 Research Issues • Interoperability – Defining component based Service-oriented GIS data Grid framework – Adoption of Open Geographic Standards -data model and services – Applying Web Service principles to GIS data services – Integrating Web Service and Open Geographic Standards • Federation – Capability-based federation of GIS Web Service components – Unified data access/query, display from a single access point through integrated data-views • Addressing high-performance support for responsiveness – Streaming GIS Web Services and Pre-fetching framework – Client-based caching – Parallel processing through attribute based query decomposition 5 Web Service components and data-flow Service-oriented GIS • • WMS are data rendering services providing human comprehensible data Built over: (binary map images) – are Web Services and • WFS data servicesstandards providing (WS-I+) data in common data model GML – Geographic Markup Language – Open Geographic Standards (OGC and ISO/TC-211) behavingofastwo mediator and services. • •Consists types ofannotation online services • WMS and WFS have their own typeand of capability metadata defined by Open – Web Map Services (WMS) Web Feature Services (WFS) Geographic specs. And two types of data:is done through “getCapability” service interface. • • Inter-service communication – Binary data –map images (provided by WMS), • UDDI based registry services. • Components are Web Services all control through SOAP messages – Structured-data –GML :and content (coregoes data) and presentation (attribute geometry elements) (provided by WFS) • XML-based queryand language (standard schema) Relation of the components and data flow: Binary data w s d l getCapability getMap getFeatureInfo WMS GML rendering GIS GML w s d l WFS (mediator) getCapability getFeature DescribeFeatureType 6 Capability-based Federation of Standard GIS Web Service Components WSDL Aggregating WMS (Federator) Web Map Client Interactive map tools Stubs Stubs HTTP SOAP WSDL Capability.xml WSDL Capability.xml WFS + Seismic Rec. WFS + State Bounds “REST” Capability.xml WMS … + OnEarth Google Maps • Built over the proposed standard Web Service components and common data models – MMS, WFS, and GML • Federation is done by aggregating GIS Web Services’ capabilities metadata – Inspired from OGC’s cascading WMS • Unified data access/query/display from a single access point • Providing application-based hierarchical data definitions – layer based data and service (WMS and WFS) compositions • Capability is basically a metadata about data+service: – Server’s information content and acceptable request parameter values 7 Unified Data query and display over integrated data-views •• Step-2: time – green and display Step-1: (Run (Before run time –lines) blueUsers lines access/query in the figure)Federator data sources from a single access point(WMS (federator) overproviding search for standard WS components or WFS) required layers and organize them one aggregated integrateddata data-views (multi-layered mapinimages). capability file. • Some layers are provided in binary map images (layers from WMS), and some – According layers are rendered to the from standard GML which WMSis capability provided by schema WFS. definition • Capability Users interact with the system through generic Interactive Map Tools. service – metadata are collected by getCapability standard • interface Enables users to query the map images based on their attributes and features – MapAccess: Tools There gets the from • Interactive On Demand Data is noaggregated copying of thecapability data at anymetadata intermediary Federator interface (1) Consistency and autonomy. places. Datathrough are kept atservice their originating sources. Aggregated Capability WMS Integrated data-view: b over a Browser Browser Events: - Move, - Zooming in/out - Panning (drag-drop) - Rectangular region - Distance calc. - Attribute querying Event-based Interactive Map-Tools b a JPL at California 1 WFS Federator 2 3 a. NASA satellite layer b a WFS b. Earthquake-seismic data CGL at Indiana 1. GetCapability (metadata data+service) 2. GetMap (get map data in set of layer(s)) 3. GetFeatureInfo (query the attributes of data) 8 Why Capability metadata • Web Services provide key low level capability but do not define an information or data architecture • These are left to domain specific capabilities metadata and data description language (GML). • Machine and human readable information – Enables easy integration and federation • Enables developing application based standard interactive re-usable tools – for data query display and analysis – Seamless data/access/query 9 Designs, measurements and analysis 10 Performance Investigation • Interoperability requirements bring up some compliance costs: – Common data model (GML) – Web Services (SOAP protocol for communication) • Approaches: Enhancing the GIS systems’ responsiveness – Data transfer and rendering • Streaming GIS Web Services (1) • Structured/annotated GML data rendering (2) – Federator-oriented approaches • Pre-fetching (3) • Client-based caching (4) • Query decomposition and parallel processing (5) • Testing with large scale Geo-science applications – Earthquake forecasting (PI), – Virtual California (VC) • Aim: Turning compliance requirements into competitiveness 11 (1) Streaming Data Flow Extension to GIS Web-Services • Concern is large-sized XMLstructured data transfer • Approach is that responses are chunked into parts and streamed to client as the answer comes. registry UDDI w s d l Web Services’ publish-find-bind triangle 2 Subscriber client GML 6,000 getFeature 35,000 (topic, IP, port) Time - msecs (A)WMS Average Response Times • Enables client to Streaming vs.DB Non-Streaming GML Data Capturing 1 4,000 4 w s WFS d l Publisher server GML 3,000 topic,ip,port Measured Avg. Response time 2,000 Narada Brokering Server 1,000 0 0 200 400 • render map images with partially returned data – no need to wait for whole data to be returned. Provides better performance results • Uses topic-based publish-subscribe messaging systems for exchanging SOAP messages and data payloads. • SOAP is used for negotiation (line-3) Streaming with standard “getFeature” request Non-Streaming – Publisher information in triple (topic, is1000 returned. 600 IP, port) 800 1200 • Data transfer is done between publisher and subscriber 12 GML Data Size -KB (2) GML Data Processing • Processing XML data: Parsing and rendering to create map images. • Two well-known approaches are document models (DOM) and push models (SAX). • We use pull approach for XML processing: – Parses only what is asked for – No support for document validation (major gains of performance) • Structural correctness of XML document – Doesn’t build complete object model in memory (unlike DOM) – Contents are returned directly to application from calls to parser (unlike SAX) Time - msecs [GML] [Parsing / Validation] [Geo-data extraction] [Plotting] GML rendering by using DOM vs. Xpp 5,000 4,500 4,000 3,500 3,000 2,500 2,000 1,500 1,000 500 0 (1GB allocated VM) DOM (dom4j) dom4j Data Size Xpp 0 2000 (KB) 4000 6000 8000 GML Data Size -KB 10000 12000 Parsing + Total pull (Xpp) Data Total Validation Rendering extraction Rendering 1 469.22 469.22 15.59 15.59 10 494.06 497.06 72.81 75.81 100 625.54 640.87 183.06 198.39 1,000 760.20 843.31 270.47 353.58 5,000 1,422.91 1,576.58 671.74 825.41 10,000 3,557.44 4,385.94 1,025.67 1,854.17 100,000 -- Out of Memory -- 7,059.72 10,797.97 Analyzing Conventional OGC-GIS systems and Baseline Performance Test • Common/straightforward approaches are characterized as – Stateless services – On-demand data access/rendering, – Single-threaded and no-caching • Systems developed with Open Geographic Standards have: – High degree of interoperability but poor performance results Sample data: Earthquake seismic data served in GML Test Setup: 70 Thousands (b). Map Rendering time 60 50 (a). Average Response time 40 (c). GML data capture time Time - msecs (d). Map images transfer time -Avg value is 48.53msec Avg Resp Time (a) 30 (c) map-rendering (b) data capture 20 10 0 0 2000 4000 6000 8000 GML Data Size -KB 10000 12000 a= b+c+d The performance cumbersome is -c> Query and data conversions and large size XML data transfer. (3) Pre-fetching • Performance bottleneck: – On-demand access to originating databases through WFS, – Transmitting XML-encoded GML representation of data • Solution: – Periodically fetching the whole data before it is needed (so called pre-fetching). – Databases are mapped to GML files and stored locally in the federator – Successive on-demand queries are served by using pre-fetched data (red-curve) • Pros/Cons: – Removes the repeated resource consuming query/data conversions at WFS and associated Databases. – Gives the best performance outcomes for the in-frequently changing archived data, – But, might cause consistency problem depending on the fetching periodicity and data update periodicity Users’ on demand access/query Event-based Interactive Map Tools Federator or WMS GML Represents all the data at the database and their associated attributes WFS Any-data GetData in GML FETCH Federator Local File System Temp Storage NB Periodically runs and maps databases into GMLs , and stores locally 15 Performance Comparison : Pre-fetching vs. Straightforward On-demand Fetching Map rendering over pre-fetched data at run-time: • 48.53msec (included into the table values) Time for rendering map from pre-fetched data -GML • Performance tests are done with earthquake seismic data records Pre-fetching (independent of runtime): – Earthquake data in Database is routinely Federator mapped to GML and kept at federator or WMS – Pre-fetched GML size is 127MB. Comparison of the Average Response Times Event-based Interactive Map Tools Pre-fetching systems vs. On-demand fetching systems • The response 70,000 Avg Response time 60,000 Time - msecs 50,000 GML Pre-fetched GML -in federator’s disk space Requested Avg. Resp.40,000 Time with Avg. Resp. Time with GML MB On-demand Pre-fetched data 30,000 0.01 1,808.13 7,576.46 • 20,000 0.1 2,635.46 7,426.86 • 0.5 5,001.29 7,537.04 10,000 1 8,225.73 7,742.04 0 5 33,419.31 8,460.56 • 0 2 4 6 8 10 64,506.78 8,480.46 GML Data Size -MB 50 316,906.00 11,197.08 100 643,344.00 12,304.99 Details for the on-demand performance analysis are given in Slide-14 times seem very close in case of pre-fetching – No matter how much the requested data sizes, Every time request comes, map is rendered from the same size of pre-fetched GML data stored at federator Pre-fetching – Dominating performance bottleneck is On-demand removed. No need to go through the WFS to get the data from database. Threshold value: 500KB of data For 100MB, pre-fetching is about 50 times faster. The larger the data size the higher 12 the 10 performance gains. Enhancements over On-demand Fetching and Rendering • Pre-fetching is very fast and a straightforward approach, BUT – Might cause inconsistency • Intermediary storage of data’s copies at federator, • On-demand (just in time) fetching enables – Keeping the data at their originating sources all the time – Scalability, autonomy and easy data maintenance. • It has performance bottleneck to access/query the federated heterogeneous data sources through WFS-based mediation. – Time consuming request/response conversion • (Request): GetFeature request to SQL, • (Response): Relational tables to GML – Transferring XML-encoded GML data • Enhancement Approaches: – Client-based caching – Parallel processing through attribute-based query decomposition. 17 (4) Client-based Caching • Makes stateless GIS Web Services stateful • Removes repeated time and resource consuming processes • Helps sharing the workload as equal as possible for the most efficient parallel processing • Each client has different interest of regions of data sets (formulated-queried as bbox), and separate caching area allocated. • Application of working-window and locality principles into map images rendering • Clients are differentiated according to the client assigned session-id parameter in the header of queries. • Federator always keeps the least recently-used data sets for each client separately. • Brings up some overhead to keep up working-window and for each client. 18 Brief Architecture Server-side Create identity card. Update at every request from the client • FormerRequest Class String uuid; /*unique-user-id*/ String bbox; /*bounding box of the user’s last request*/ Double density; /*data size falling into per unit square*/ Vector [] feature_data; /*geometry elements of the last request*/ Register to client table Client-side uuid-1 uuid-2 ….. FormerRequest-1 FormerRequest-2 …… Set identity to message header ClientWSStub binding; binding = (ClientWSStub ) new ServiceLocator().WMSServices( servaddress)); String sessionID = session.getid(); //uuid-1 String channel_name = “getMapChannel”; /*Add SessionID to the SOAP message’s header*/ binding.setHeader(service_address, channel_name, sessionID); 19 Map mymap = binding.getMap(request); Comparing with Google’s Caching and Map Rendering Approach • Google-like map servers are fast because – They replace computation with storage. – Pre-making all images and cut up into tiles – They formalize the accepted requests in terms of parameters, and responses in terms of the tile compositions. • Google’s approach is good for only the client-server based applications – – – – Their approach is static and central. In large scale applications it is impossible to cache whole data There is always a limit on storage and computation capabilities It can’t be applied to distributed dynamic data rendering and extensible applications. • We do fine-grained dynamic information presentation enabling attributebased data querying and interaction from a single access point over integrated data-views in multi-layered map images. • Client-based caching enables – Dynamic and flexible map rendering based on layer specific attribute-based querying/rendering of data(such as magnitude values of earthquake seismic data) – It enables autonomy of data sources and easy data maintenance 20 (5) Parallel Processing through attribute based query decomposition Attribute is BBOX defining the ranges for the requested data in the main query getMap DB DB WFS WFS 4 possible positions of main query to the cache: Step-4: Worker threads capturing the GML data in parallel GetFeature1 . . . . Step-3: Main thread distribute GetFeature-n the GteFeature requests to the worker threads 1 R1 R3 R2 R1 2 R4 bbox1 bbox2 . . . . bboxn Main query BBOX = bbox1+bbox2+…+bboxn Step-2: Bbox is an attribute defining range queries 3 Step-1: Cached data extraction and partitioning of the main query bbox Questions: 1. How to find best efficient partition-number 2. How to assign the partitions to worker nodes Cached Data Main Query R1 R2 4 Sample GetFeature request to get feature data (GML) from WFS. -110,35,-100,36 GFeature-1 -110,36,-100,37 GFeature-2 -110,37,-100,38 GFeature-3 -110,38,-100,39 GFeature-4 -110,39,-100,40 GFeature-5 Partition list as bbox values for sample case : - Pn=5 - Main query getMap bbox 110,35 -100,40 22 Challenge: Geo-Data Characteristic • Geo-data is characterized as un-evenly distributed and variable sized according to (c, (b+d)/2) their locations attributes. (c,d) R3 (c,d) R2 (c, (b+d)/2) R1 (a,b) R4 ((a+c)/2, b) (1) (a,b) – Ex. Human population ((a+c)/2, b) (2) • A point data is described with location attribute – (x, y) coordinates. • Need for advanced techniques for parallel processing and workload sharing ! • Linestrings, polylines, polygons etc are defined as set of points. • Data sets falling into a queried region is formulated as bounding box (bbox) – Coordinates of a rectangle (a, b, c, d) 23 Partitioning techniques for Query Decomposition • 1. Blind partitioning – – – – For the first time queries Uses static/default partitioning number Costs un-necessary partitioning overheads Not efficient • 2. Smart partitioning (next-slide) – – – – As a solution to the sharing of unpredictable workload Utilize client-based caching and FormerRequest Object giving session information Utilize locality principles and working-window to find out the best efficient partition number • Partitions’ assignment: Threads are assigned in round-robin fashion – Initially every worker node (WN) is assigned equal #of partition (share) – If partition number (PN) can not be divided evenly then the remaining partitions (rmg) are re-distributed to the worker nodes 24 Smart Partitioning through Client-based Caching • Aim: Determining the most efficient partition number to get best performance result from parallel processing • Based-on the locality principles. – Assumption: successive requests have similar data density – Data’s density is measure of data size falling into per unit square. – Example: Human population data : no population on the ocean, and urban areas have higher population than the rural areas. • Brief algorithm: – Each layer on which partitioning will be done has a threshold value predefined. – Threshold value helps finding the largest area in bbox to be assigned. – Largest area changes depending on the density of the data last time requested • Density is obtained from the FormerRequest object for that client Static – pre-defined From Client-based caching FormerRequest object If >= 2, then partition 25 Performance Test Setup • NASA Satellite maps are provided by WMS from NASA’s OnEarth project. • WFS servers, federator server and event-based interactive map tools are in Indiana University Community Grids Labs. • Tests are done in Local Area Network (LAN) by using grid-farm machines; gf12,15,16,17,18,19.ucs.indiana.edu. • Grid-farm machines have 2 Quad-core Intel Xeon processors running at 2.33 GHz with 8 GB of memory and operating Red Hat Enterprise Linux ES release. Binary map image 1 JPL California GetMap Binary map image Federator GML 2 1 1: NASA satellite map images 2: Earthquakeseismic records WFS-1 2 GetFeature Browser Eventbased dynamic map tools WMS NASA Satellite Map Images WFS-2 2 . . WFS-6 2 DB1 DB2 Earthquake Seismic records DB6 CGL Indiana 26 Parallel & On-demand Time - msecs Thousands With Blind Partitioning Comparisons of response times based on On-demand approach 70 • The larger the data size the higher the performance gains single-thread/mainquery 2-partitions 10-partitions 20-partitions 60 50 – As the data size falling in a specific range query increase, the possibility of equal sharing increases. 40 30 • From the figure it seems partitioning into 10 or 20 give the best results, but 20 10 0 0 2 4 6 8 GML Data Size -MB See next slide as an illustration of need of using smart partitioning The number of worker WFS : 6 10 12 – What about relatively small sized data rendering – What partition number gives the best result for a specific range and data sizes Partition Numbers : 2, 10, 20 27 Parallel & On-demand Response times with blind partitioning 9 Response times with smart partitioning 9 8 7 6 5 4 3 2 7 6 3 0 1.00 1.20 2 2 2 0 0.40 0.60 0.80 GML Data Size -MB no-cache 10 4 1 0.20 10 5 1 0.00 single-thread smart-partitioning processing from cache 8 single-thread/mainquery 2-partitions 10-partitions 20-partitions Time - msecs Thousands Time - msecs Thousands With Smart Partitioning full-cache 0.00 i 0.20 0.40 0.60 0.80 GML Data Size -MB 1.00 1.20 : Best partition/thread numbers Actual performance results are much better, because of the client-based caching. Depending on the cache and main query overlapping size, response times changes between orange-line and brown-line in the second figure Brown-line shows the best case in which the whole main query range falls in cached data ranges. The number of worker WFS : 6 Partition Numbers : 2, 10, 20 28 Overhead Timings resulting from parallelization 3. Merging 1. Partitioning into 5: 0-2, 2-4, 4-6, 6-8, 8-10 Query for Range:0-10 2. Query Creations for partitions: Q1, Q2, Q3, Q4, Q5 Queries/responses for partitioned ranges Time - msecs Overhead Timings : Range query: Sample range: 0 to10 Parallalization overheads based on different partitioning levels 2,000 1,800 1,600 1,400 1,200 1,000 800 600 400 200 0 1. 2. 3. 0 WFS WFS WFS partitioning subquery creation merging 5 10 15 20 Partition Number 25 30 35 illustration of overheads DB1 • • • • DB1DB1 Overheads: Query partitioning, sub-query creation, and merging results to sub-queries. Partitioning: Defining the partition number and cutting the main query range into that number of pieces in the form of bounding box (bbox) values (range query attribute) Sub-query creation: Create corresponding XML-based query (getFeature) for each partition in the partition list to fetch the remote GML data from WFS. Merging: Aggregating the results to sub-queries and creating one complete map images 29 as an answer to main query Conclusions – Performance • Streaming data transfer techniques allow data rendering even on partially returned data. • Pull parsing results in best outcomes for XML encoded GML data rendering Eliminating the requirement of data validation. • Federator’s natural characteristic allowed us develop advanced caching and parallel processing designs. • Pre-fetching and parallel-processing techniques are mutually exclusive. • Best performance outcomes are achieved through pre-fetching but can cause data inconsistency. – Triggering periodicity must be defined carefully. • Parallel-processing techniques’ success is based on how well we share the workload to worker nodes. – Un-evenly distributed and variable sized geo-data characteristics. • Client-based caching enables us efficient workload sharing for the best efficient parallel processing – Besides enabling removing time and resource consuming repeated jobs. • We saw that – Application of working-window and locality principles by means of client-based caching, and – Parallel processing through attribute-based query decomposition 30 Helped us increase the system responsiveness to a greater extent. Conclusions – Framework • Fine-grained dynamic information presentation through a federation framework enabled us heterogeneous data sources to be queried as a single resource over integrated data-view in multi-layered map images – Autonomous local resources controlling definition of data – Removing the burden of individually accessing each data source with ad-hoc query languages. • We showed that Open Geographic Standards (OGC) can be applied together with Web Service standards. – We converted HTTP/GET-POST based queries into XML-based queries by developing standard schemas --compatible with the standards. – We also extended the standard service definitions with streaming data transfer capabilities by using publish-subscribe based messaging middle. • Easy extension with new data and service resources – Open Geographic and Web Service standards • No physical data integration – Just-in-time or late-binding federation – Data always is kept at its originating resource – This enables easy data-maintenance and high degree of autonomy • Seamless interaction with the system through integrated data views in multi-layered map images – Enables interactive feature based querying besides displaying the data 31 Contributions • A federated Service-oriented Geographic Information Systems framework – Integrating Web Services with Open Geographic Standards to support interoperability at both data and service levels – Production of knowledge from distributed data sources in multilayered map images. • Hierarchical data definitions through capability metadata federations • Fine-grained dynamic information presentation • Enabling unified interactive data access/query and display from a single access point through federator. • Investigated performance efficient designs and did detailed benchmarking – Streaming GIS Web Services – Federator-oriented high-performance design techniques • Pre-fetching • Client-based caching : Working-window and locality principles • Parallel processing through attribute-based query decomposition over un-predictable workload sharing 32 Acknowledgement • The work described in this presentation is part of the QuakeSim project which is supported by the Advanced Information Systems Technology Program of NASA's Earth-Sun System Technology Office. • Galip Aydin: Web Feature Server (WFS) 33 Thanks!.... 34 BACK-UP SLIDES 35 • Capability-based Federation of the standard Web Service Components Application-based data: Built over the proposed standard hierarchical Web Service components and common data models [Application]- Pattern Informatics • Unified data access/query/display from a single access point – [Layer-1] State-boundary over Satellite • Providing application-based • [Data-1] hierarchical data definitions – layer based data and –service (WMS and WFS) compositions State-boundary (WFS-1) • Federation is done•by[Data-2] aggregating GIS Web Services’ capabilities metadata Satellite-Image(WMS-2) • Capability is basically a–metadata about data+service: – [Layer-2] – Server’s information content and acceptable request parameter values • Google map (WMS-1) Capability Federation a, b, c and d Map Rendering –User[Layer-3]Earthquake-Seismic Portal • [Data-1] WMS Federator WMS • Earthquake-Seismic(WFS-3) c 2 Interactive Map-Tools Browser 2 1 a 1 3 2 1 WFS WFS d WMS 1. GetCapability (metadata data+service) Sample Layers for PI: a. GIS Events: - Move, - Zooming in/out - Panning (drag-drop) - Rectangular region - Distance calc. - Attribute querying WFS b b. c. d. NASA satellite layer Earthquakeseismic layer Google Map Layer State-boundaries Layer 2. GetMap (get map data in set of layer(s)) 3. GetFeatureInfo (query the attributes of data) 36 Hierarchical data Integrated data-view 1 2 3 1: Google map layer 2: States boundary lines layer 3: seismic data layer Event-based Interactive Tools : Query and data analysis over integrated data views 37 38 Hierarchical data / Integrated data-view For IEISS Geo-science Application Application-based hierarchical data: [Application]- IEISS – [Layer-1] Gas-pipeline over Satellite • [Data-1] – Gas-pipeline (WFS-1) • [Data-2] – Satellite-Image(WMS-2) – [Layer-2] • Google map (WMS-1) – [Layer-3]- Electric-power • [Data-1] • Electric-power(WFS-3) 39 GetCapabilities Schema and Sample Request Instance 40 GetMap Schema and Sample Request Instance 41 42 Event-based Interactive Map Tools • <event_controller> – – – – – – – – <event name="init" class="Path.InitListener" next="map.jsp"/> <event name="REFRESH" class=" Path.InitListener " next="map.jsp"/> <event name="ZOOMIN" class=" Path.InitListener " next="map.jsp"/> <event name="ZOOMOUT" class="Path.InitListener" next="map.jsp"/> <event name="RECENTER" class="Path.InitListener“next="map.jsp"/> <event name="RESET" class=" Path.InitListener " next="map.jsp"/> <event name="PAN" class=" Path.InitListener " next="map.jsp"/> <event name="INFO" class=" Path.InitListener " next="map.jsp"/> • </event_controller> 43 Sample GML document 44 Sample GetFeature Request Instance 45 A Template simple capabilities file for a WMS 46 Generalizing the Problem Domain • Query heterogeneous data sources as a single resource Client/User-Query – Heterogeneous: local resource controls definition of the data – Single resource: remove the burden of individually accessing each data source Integrated View • Easy extension with new data and service resources • No real integration of data Mediator DB Mediator Files Mediator WWW Data in files, HTML, XML/Relational Databases, Spatial Sources/sensors – Data always at local source – Easy maintenance of data • Seamless interaction with the system – Collaborative decision makings 47 Generalization of the Proposed Architecture •• GIS-style information can be redefined We need to definemodel Application Specific: in any application areas such as Chemistry and Astronomy • Federator federating the capabilities of distributed ASVS – Application Specific Information Systems (ASIS). and ASFS to create application-based hierarchy of • We need to definedata Application Specific distributed and service resources. – Language (ASL) -> GML :expressing domain specific features, semantic of • Mediators: Query and data format conversions data –• Feature Service (ASFS) -> WFStheir :Serving data in common language (ASL) Data sources maintain internal structure –• Visualization Services (ASVS) -> WMS : Visualizes information and provide Large degree of autonomy a way of navigating ASFS compatible/mediated data resources No actualmetadata physicalfordata –• Capabilities ASVSintegration and ASFS. Such as filter, transformation, reasoning, data-mining, analysis Unified data query/access/display 1 Federator 2 ASVS 3 Capability Federation ASL-Rendering Standard service API 4 Standard service API 3 AS Services (user defined) Mediator Messages using ASL 2 Standard service API AS Repository 1 Mediator ASAS Sensor Sensor 48 Contributions (Systems Software) • Developing Web Map Server (WMS) in Open Geographic Standards – Extended with Web Service Standards and – Streaming map creation capabilities • Developing GIS Federator – Extended from WMS – Provides application specific layer-structured hierarchical data as a composition of distributed standard GIS Web Service components – Enable uniform data access and query from a single access point. • Interactive map tools for data display, query and analysis. – Browser and event-based. – Extended with AJAX (Asynchronous Java and XML) 49