Tools and Experiences in Implementing INSPIRE Data Specifications IV: Practical Schema Translation for INSPIRE. Eddie Curtis Snowflake Software

Similar documents
news from Tom Bacon about Monday's lecture

SQL Server Administrator Introduction - 3 Days Objectives

High Performance XML Data Retrieval

Performance Management Platform

Introduction to XML Applications

A Web services solution for Work Management Operations. Venu Kanaparthy Dr. Charles O Hara, Ph. D. Abstract

Implementing Data Models and Reports with Microsoft SQL Server 20466C; 5 Days

Developing XML Solutions with JavaServer Pages Technology

Adam Rauch Partner, LabKey Software Extending LabKey Server Part 1: Retrieving and Presenting Data

Microsoft SQL Database Administrator Certification

Microsoft Implementing Data Models and Reports with Microsoft SQL Server

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Implement a Data Warehouse with Microsoft SQL Server 20463C; 5 days

Portable Scale-Out Benchmarks for MySQL. MySQL User Conference 2008 Robert Hodges CTO Continuent, Inc.

Parco Nazionale della Silla, Calabria, Italia

East Asia Network Sdn Bhd

Outline. MCSE: Data Platform. Course Content. Course 10776C: MCSA: Developing Microsoft SQL Server 2012 Databases 5 Days

Build Your Knowledge!

Jet Data Manager 2012 User Guide

AppSense Environment Manager. Enterprise Design Guide

DBX. SQL database extension for Splunk. Siegfried Puchbauer

Transformation architecture. From production data base to INSPIRE data using WFS: potential methods

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.

The GeoMedia Architecture Advantage. White Paper. April The GeoMedia Architecture Advantage Page 1

Vendor: Crystal Decisions Product: Crystal Reports and Crystal Enterprise

Ficha técnica de curso Código: IFCAD320a

COURSE 20463C: IMPLEMENTING A DATA WAREHOUSE WITH MICROSOFT SQL SERVER

IBM DB2 XML support. How to Configure the IBM DB2 Support in oxygen

Implementing a Data Warehouse with Microsoft SQL Server

XAP 10 Global HTTP Session Sharing

NEW FEATURES ORACLE ESSBASE STUDIO

Semantic Stored Procedures Programming Environment and performance analysis

GIS Data Models for INSPIRE and ELF

MS-55052: SharePoint 2013 End User Level II

Windchill Service Information Manager Curriculum Guide

SAP Data Services 4.X. An Enterprise Information management Solution

Top 10 Oracle SQL Developer Tips and Tricks

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications

Geodatabase Programming with SQL

IMAN: DATA INTEGRATION MADE SIMPLE YOUR SOLUTION FOR SEAMLESS, AGILE DATA INTEGRATION IMAN TECHNICAL SHEET

Monitor and Manage Your MicroStrategy BI Environment Using Enterprise Manager and Health Center

SharePoint 2010 Performance and Capacity Planning Best Practices

Embarcadero DB Change Manager 6.0 and DB Change Manager XE2

Data Management in the Cloud

PeopleTools I & II v8.53. Training Guide

Building Views and Charts in Requests Introduction to Answers views and charts Creating and editing charts Performing common view tasks

INSPIRE Dashboard. Technical scenario

Functional Requirements for Digital Asset Management Project version /30/2006

Visualization Method of Trajectory Data Based on GML, KML

Cadastre in the context of SDI and INSPIRE

Oracle Database 11g: SQL Tuning Workshop Release 2

Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18)

A Dynamic, Runtime-Extensible, Client-Managed Service Framework

DataDirect XQuery Technical Overview

Data processing goes big

High-Volume Data Warehousing in Centerprise. Product Datasheet

Introduction to Big data. Why Big data? Case Studies. Introduction to Hadoop. Understanding Features of Hadoop. Hadoop Architecture.

Market Challenges Business Drivers

IBM Rational Web Developer for WebSphere Software Version 6.0

IBM Rational Asset Manager

An Oracle White Paper May Creating Custom PDF Reports with Oracle Application Express and the APEX Listener

Implementing a Data Warehouse with Microsoft SQL Server 2012

End the Microsoft Access Chaos - Your simplified path to Oracle Application Express

Tackling Big Data with MATLAB Adam Filion Application Engineer MathWorks, Inc.

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

How To Test For Performance And Scalability On A Server With A Multi-Core Computer (For A Large Server)

Software Development Kit

Building Java Servlets with Oracle JDeveloper

Ikasan ESB Reference Architecture Review

Day 1 - Technology Introduction & Digital Asset Management

CHAPTER 4: BUSINESS ANALYTICS

Neuron ESB 3.5 introduces Long Running Workflow capabilities!

Big Data Analytics - Accelerated. stream-horizon.com

Uninstallation Guide Funding Information System (FIS)

Product Overview. Payroll & Personnel Data Warehouse

Implementing a Data Warehouse with Microsoft SQL Server

Web Application Testing. Web Performance Testing

Performance Tuning and Optimizing SQL Databases 2016

Oracle TimesTen and In-Memory Database Cache 11g

RegoXchange Content List by RegoXchange

SQL Server 2012 Business Intelligence Boot Camp

MySQL Administration and Management Essentials

White Paper A Model Driven Approach to Data Migration

Oracle Database 11g: SQL Tuning Workshop

Capitalize on Big Data for Competitive Advantage with Bedrock TM, an integrated Management Platform for Hadoop Data Lakes

Resources You can find more resources for Sync & Save at our support site:

PERFORMANCE TESTING. New Batches Info. We are ready to serve Latest Testing Trends, Are you ready to learn.?? START DATE : TIMINGS : DURATION :

DATA MASKING A WHITE PAPER BY K2VIEW. ABSTRACT K2VIEW DATA MASKING

6.2 Reporting BIPublisher Improvements

SAP HANA In-Memory Database Sizing Guideline

Chapter 24: Creating Reports and Extracting Data

FOR SHORETEL CHAMPION PARTNERS ShoreTel Contact Center Workgroups vs. ECC 9 GENERAL SYSTEM OVERVIEW

Advancing Integration Competency and Excellence with the WSO2 Integration Platform

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE

Developing Microsoft SQL Server Databases 20464C; 5 Days

Transcription:

Tools and Experiences in Implementing INSPIRE Data Specifications IV: Practical Schema Translation for INSPIRE Eddie Curtis Snowflake Software

Agenda Background to the INSPIRE testing project The solution architecture The schema translation Model differences between HMLR and INSPIRE Schema translation patterns Quality of service issues Performance Scalability Extensibility

Background Land Registry of England and Wales (HMLR) Register title to land in England and Wales Record dealings with registered land Snowflake Software The Data exchange company specialising in XML and GML Provide solutions via consultancy, software and training INSPIRE Testing HMLR Data provider for Annex 1 Cadastral Parcels theme Snowflake Software provider for data translation

Approach Test the viability of using Commercial Off-The-Shelf (COTS) software for INSPIRE Develop the translation without software customisation Work quickly and productively to reduce costs Refine the translation over several iterations within a limited time period Implement Download and Direct Access Services to explore the practical issues of implementing real business requirements On-the-fly translation to avoid replicating database infrastructure Source data from the existing HMLR data model to avoid disruption to existing business processes Implement an industrial strength solution

Solution Architecture

Schema Translation GO Publisher Software Architecture Database to GML/XML translation Desktop Configuration of translation rules File export WFS configuration Agent configuration Agent Bulk file generation Chunking of output data WFS OGC compliant Web Feature Service 6

Schema Translation One Directional Translation - GO Publisher Desktop. Desktop Data Store SQL Query Database Records Schema Translation Configuration with GUI User XML/GML preview XML/GML. XML File. 7

Schema Translation Bulk data creation - GO Publisher Agent 8

Schema Translation Query Translation - GO Publisher WFS SQL Query Server Data Request GO Publisher can publish the same data in different XML formats for different clients. Database Records Schema Translation GML WFS Client Data Store SQL Query Database Records Schema Translation Data Request WFS Client Database table information Translation Configuration Desktop GML Translations are uploaded to the server. Graphical user interface is used to defined the translation from the storage model to the XML data model. 9

The Solution Architecture

Schema Translation 11

Translation Patterns Simple Translation BUILDING ID NAME GEOMETRY 1 Eastgate House 2 Villa Villekulla 3 West Quay <Building gml:id= b1 > <name>eastgate House</name> <geometry> <gml:polygon> </gml:polygon> </geometry> </Building> 12

13

Translation Patterns Grouping of Columns BUILDING ID NAME POSTCODE GEOMETRY 1 Eastgate House SO15 2NY 2 Villa Villekulla VI12 4KT 3 West Quay SO12 4KD <Building> <address> <name>eastgate House</name> <postcode>so15 2NY</postCode> </address> <geometry> </geometry> </Building> 14

15

Translation Patterns Concatenation BUILDING ID NAME Town GEOMETRY 1 Eastgate, House Southampton 2 Villa Villekulla Portsmouth 3 West Quay Southampton <Building> <address> Eastgate, House, Southampton </address> <geometry> </geometry> </Building> 16

Translation Patterns Translating Table Joins - Database vs. XML Relationships Relational Relationships (joins) are two directional Identifiers essential to maintaining relationships Relationships can be discovered through queries. XML Relationships are inherently directed Identity of objects does not have to be explicit Relationships are explicit parent/child previous/next sibling Xlink/Xpointer references 18

Translation Patterns Translating Table Joins BUILDING ID NAME GEOMETRY 1 Eastgate House 2 Villa Villekulla 3 West Quay BUILDING_EXTENSION BLDG_ID TYPE GEOMETRY 1 Garage 1 Shed 2 Shed <Building gml:id= b1 > <name>eastgate House</name> <geometry> <gml:polygon> </gml:polygon> </geometry> <extension> <BuildingExtension> <type>garage</type> <geometry> </geometry> </BuildingExtension> </extension> <extension> </extension> </Building> 19

20

Translation Patterns Filtering TOPOGRAPHIC_AREA ID DESRCIPTIVE_GROUP GEOMETRY 1 Building 2 Natural Environment 3 Road Or Track <Building gml:id= id1 > <geometry> </geometry> </Building> 21

22

Translation Patterns Fan-Out Translation TOPOGRAPHIC_AREA ID DESRCIPTIVE_GROUP GEOMETRY 1 Building 2 Natural Environment 3 Road Or Track <Building gml:id= id1 > <geometry> </geometry> </Building> <NaturalEnvironment gml:id= id2 > <geometry> </geometry> </NaturalEnvironment> <RoadOrTrack gml:id= id3 > <geometry>..</geometry> </RoadOrTrack> 23

24

25

Translation Patterns Fan-In Translation ID 1 2 ID 3 ID 4 PYLON GEOMETRY CRANE GEOMETRY BRIDGE GEOMETRY <Structure gml:id= id1 > <geometry> </geometry> </Structure> <Structure gml:id= id2 > <geometry> </geometry> </Structure> <Structure gml:id= id3 > <geometry>..</geometry> </Structure> <Structure gml:id= id4 > <geometry>..</geometry> </Structure> 26

27

Translation Patterns Constants PYLON ID GEOMETRY 1 2 CRANE ID GEOMETRY 3 BRIDGE ID GEOMETRY 4 <Structure gml:id= id1 > <type>pylon</type> <geometry> </geometry> </Structure> <Structure gml:id= id2 > <type>pylon</type> <geometry> </geometry> </Structure> <Structure gml:id= id3 > <type>crane</type> <geometry>..</geometry> </Structure> <Structure gml:id= id4 > <type>bridge</type> <geometry>..</geometry> </Structure> 28

29

Translation Patterns Relationships Between Patterns 30

Advanced Scenarios SQL processing Using integrated XSLT engine XSLT processing of the entire output XSLT processing of fragments of output Java processing 31

Advanced Scenarios Most translations are covered by the translation patterns For very complex cases programming or scripting is needed Several approaches are available The choice of approach is based on Limitations of the approaches Performance and scalability considerations Availability of programming/scripting skills. 32

Advanced Scenarios SQL Processing Applies functions to data values e.g. Mathematical functions Lookups for coded values Coordinate system transformations Applies before XML creation Functions can have Single output value Multiple input values 33

Advanced Scenarios XSLT Processing Applies after initial XML creation Create additional XML child element Delete elements Modify data values Can be applied to whole output stream Can transform entire document structure Can carry out XML to non-xml conversion May require whole output in memory fragments of output Can change data structure or values of fragment Only requires fragment to be held in memory 34

Advanced Scenarios Java Processing Applies after initial XML creation Create additional XML child element Delete elements Modify data values Standard java interface (XMLFilter) SAX stream processing Requires additional programming tools Typically higher performance than XSLT processing 35

Quality of Service

Quality of Service Performance Response Time Throughput Request Throughput Data Volume Resilience Failover Graceful Degradation Scaling Concurrent Requests Data Volume Response Size Extensibility Additional Schemas Additional Interfaces

Quality of Service Streaming vs. In-memory Processing Streaming Data returned piece by piece only part of the data in memory at once Low memory footprint Large number of concurrent requests No limit on size of data returned Suitable for large XML documents (like GML) Typically SAX based In-memory Data loaded into memory for processing Higher memory footprint Smaller number of concurrent request Size of data returned limited by memory Typical implementation for small XML files Typically based on DOM, XSLT or static binding

Quality of Service On-the-fly translation Re-uses existing database infrastructure No disruption to existing business processes Extra translations added at low cost Low initial investment - costs scale with increasing levels of data traffic

Thank you! Eddie.Curtis@snowflakesoftware.com www.snowflakesoftware.com