How To Create A Data Transformation And Data Visualization Tool In Java (Xslt) (Programming) (Data Visualization) (Business Process) (Code) (Powerpoint) (Scripting) (Xsv) (Mapper) (

Similar documents
10CS73:Web Programming

II. PREVIOUS RELATED WORK

Natural Language to Relational Query by Using Parsing Compiler

A Dataflow Graph Based Approach to Web Application Development

How To Use X Query For Data Collection

Citrix StoreFront. Customizing the Receiver for Web User Interface Citrix. All rights reserved.

Wrycan/Fitz and Floyd Customer Success Story

2. Distributed Handwriting Recognition. Abstract. 1. Introduction

An Approach to Eliminate Semantic Heterogenity Using Ontologies in Enterprise Data Integeration

Using Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms

Introduction to XML Applications

NASSI-SCHNEIDERMAN DIAGRAM IN HTML BASED ON AML

Sage CRM Connector Tool White Paper

Front-End Performance Testing and Optimization

Distance Examination using Ajax to Reduce Web Server Load and Student s Data Transfer

An XML Based Data Exchange Model for Power System Studies

Advantage of Jquery: T his file is downloaded from

Richmond SupportDesk Web Reports Module For Richmond SupportDesk v6.72. User Guide

Search Result Optimization using Annotators

Portals and Hosted Files

International Journal of Advance Research in Computer Science and Management Studies

Agents and Web Services

Oracle Service Bus Examples and Tutorials

WEBVIGIL: MONITORING MULTIPLE WEB PAGES AND PRESENTATION OF XML PAGES

Developer Tutorial Version 1. 0 February 2015

Firewall Builder Architecture Overview

Automated Test Approach for Web Based Software

Modeling Web Applications Using Java And XML Related Technologies

Data Driven Automation Testing Framework

NHS Education for Scotland Knowledge Services Design and Development Framework

Integration the Web 2.0 way. Florian Daniel April 28, 2009

From Desktop to Browser Platform: Office Application Suite with Ajax

Visualization Method of Trajectory Data Based on GML, KML

4PSA DNS Manager Translator's Manual

Effective feedback from quality tools during development

JavaFX Session Agenda

World-wide online monitoring interface of the ATLAS experiment

Internet Technologies_1. Doc. Ing. František Huňka, CSc.

REDUCING THE COST OF GROUND SYSTEM DEVELOPMENT AND MISSION OPERATIONS USING AUTOMATED XML TECHNOLOGIES. Jesse Wright Jet Propulsion Laboratory,

ClickSoftware Training Offering For Customers

XSLT Mapping in SAP PI 7.1

Design and Development of Website Validator using XHTML 1.0 Strict Standard

Using FGAG to export ETS data for Visualization

Design Approaches of Web Application with Efficient Performance in JAVA

Enforcing Data Quality Rules for a Synchronized VM Log Audit Environment Using Transformation Mapping Techniques

Rotorcraft Health Management System (RHMS)

XML Processing and Web Services. Chapter 17

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

Example. Represent this as XML

Mobile Performance Management Tools Prasanna Gawade, Infosys April 2014

JÁN LACKO, EUGEN RUŽICKÝ WEB TECHNOLOGIES AND DESIGN

Using Altova Tools with DB2 purexml

Developers Guide. Designs and Layouts HOW TO IMPLEMENT WEBSITE DESIGNS IN DYNAMICWEB. Version: English

DataDirect XQuery Technical Overview

Progressive Enhancement With GQuery and GWT. Ray Cromwell

Interactive Data Visualization for the Web Scott Murray

Oracle Banking Digital Experience

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

WhitePaper. Integration of Altova Tools with IBM DB2 9 purexml demonstrated via the Online Brokerage Application Scenario.

Cross Platform Applications with IBM Worklight

CSET 3100 Advanced Website Design (3 semester credit hours) IT Required

Presentation / Interface 1.3

Purpose What is EDI X EDI X12 standards and releases Trading Partner Requirements EDI X12 Dissected... 3

Chapter 13: Program Development and Programming Languages

The electronic the TTF VUV-FEL. Making the next step

Automated Model Based Testing for an Web Applications

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

Research on HTML5 in Web Development

PrintShop Mail Web. Release Notes

Secure Role-Based Access Control on Encrypted Data in Cloud Storage using Raspberry PI

Smart Security by Predicting Future Crime with GIS and LBS Technology on Mobile Device

Duplicate Detection Algorithm In Hierarchical Data Using Efficient And Effective Network Pruning Algorithm: Survey

Network Services Application to Controlling and Develop Institute Computer LABs

SQLMutation: A tool to generate mutants of SQL database queries

Identifying Peer-to-Peer Traffic Based on Traffic Characteristics

XFlash A Web Application Design Framework with Model-Driven Methodology

Automated Data Mapping Specification via Schema Heuristics and User Interaction

Authoring for System Center 2012 Operations Manager

MD Link Integration MDI Solutions Limited

Novel Data Extraction Language for Structured Log Analysis

Deferred node-copying scheme for XQuery processors

How to start with 3DHOP

Information Technology Career Field Pathways and Course Structure

GLOBAL JOURNAL OF ENGINEERING SCIENCE AND RESEARCHES

Altova partner OEMs MapForce to offer non-technical customers access to its powerful application development and integration technology.

Introduction to BlackBerry Smartphone Web Development Widgets

A Hybrid Visualization System for Molecular Models

Software Design April 26, 2013

Model Deployment. Dr. Saed Sayad. University of Toronto

Using SQL Server Management Studio

A LANGUAGE INDEPENDENT WEB DATA EXTRACTION USING VISION BASED PAGE SEGMENTATION ALGORITHM

Ficha técnica de curso Código: IFCAD320a

Terms and Definitions for CMS Administrators, Architects, and Developers

Preprocessing Web Logs for Web Intrusion Detection

HL7 and DICOM based integration of radiology departments with healthcare enterprise information systems

Evaluation of Nagios for Real-time Cloud Virtual Machine Monitoring

Simplifying e Business Collaboration by providing a Semantic Mapping Platform

Localizing dynamic websites created from open source content management systems

Data Mining & Data Stream Mining Open Source Tools

Deploying a distributed data storage system on the UK National Grid Service using federated SRB

Transcription:

A Generic, Light Weight, Pluggable Data Transformation and Visualization Tool for XML to XML Transformation Rahil A. Khera 1, P. S. Game 2 1,2 Pune Institute of Computer Technology, Affiliated to SPPU, Pune, Maharashtra, India Abstract: One of the biggest challenges these days is to write effective business process rules in an efficient manner. A business process rule is fetching of data in a particular format without failure of any constraints. The writing of such rules in the form of conventional programming is cumbersome because of the involvement of different and complex types & quantity of data, but this complexity can be reduced if the data involved in the whole process can be visualized. This work concentrates on development of tool, in which data can be visualized and code to transform from one form of data to another, can be generated, in such a way that, this tool is generic in nature, pluggable to a system where such feature is required with minimum overhead. Keywords: data transformation, data visualization, XSLT, XSD, Mapper, business process, business process rules. 1. Introduction A business process rule has to deal with a number of business processes, and there is always a possibility that the format of the output data of the one process is not that required at the input to the other process. Let s understand above scenario, using a real time example of fraud detection of an ATM transaction. During an ATM transaction, the process stores date and time of that particular transaction. So as a business process rule, for a single account holder of a single ATM access card, the difference between the timestamp of two ATM transactions carried out at two different ATM centers, which are geographically far away should be such that it will justify the authenticity of the transaction. For example, if the difference between two timestamps of ATM transactions is 15 minutes, but the ATM machine where these transactions are carried out are 15 KMS apart, then either of the transaction is a fraud transaction. In the above example, the fraud detection business process rule would probably require an XML which would be containing the difference between timestamps of ATM transactions in terms of seconds, geographical distance between the ATM center and a corresponding account number to detect a fraud. The XML created from an ATM transaction would probably be containing the account id, timestamp in the form of date and time, transaction amount and geographical location of ATM center. Hence, there is a requirement for transforming an XML to XML. From the above example, it is clear that, there is a relation between the timestamp received from ATM transaction and the timestamp difference in XML required for fraud detection. Hence, a mapping representing this relation can be generated. This is one of the simplest cases, while a rule can have complex cases which can include many conditions and operations on many elements of an XML to generate the required values for other XML. Hence, this generates the requirement for visualization of the data involved in the whole process, which will not only make the transformation process easier and faster but also less error prone. The remaining of the paper contains the following things: Section 2 contains the related work done in this field, section 3 depicts a mathematical model of the system, section 4 explains the proposed system with a block diagram, section 5 & 6 contains the experimental setup and results obtain after development of the proposed system. Further, conclusion and references are added. 2. Related Work There are many enterprises based data visualization and transformation tools are available and also a decent amount of research work is done in this field. As discussed in [1], in such type of tools, the basic objectives to be considered are the way data visualization is to be handled, the visualization of the relationship (mapping) between the data, types of the relationship handled, the transformation code or the output of the tools generated and user friendliness. In [2], the data are represented in the form of a tree, which best suits the XML, as it follows the tree structure. The relationship (mapping) between the data is visualized in the form of lines. These relationships are converted into XQuery [1]. In [3], a similar approach based on WYSIWYG, which means What You See Is What You Get is used for development of Extensible Stylesheet Language (XSLT) mapper [1]. In [4] [7], heuristics were developed to automatically generate mappings between the data elements. Hence increasing the user friendliness, as the probable list of connections/ mapping/ relationships is suggested to the user, and the user can choose from that list as per their requirement [1]. Paper ID: SUB157059 46

In [6] [7] [8] [9] [10] [11], all these data visualization and transformation tools represents the data in the form of a tree and the relationship/ mappings in the form of lines, the only difference between them is the equivalent code which is generated. It varies from C++, C##, J#, XSLT, JAVA etc.. All these tools were developed to work as a part of another system, like in [7], the TIBCO business event mapper was developed to work in conjunction with TIBCO studio, hence these tools cannot work as a standalone application. As a result, these tools cannot be plugged into the other system where such feature is required [1]. The tools discussed in [6] [9] [10], were developed to work only for windows based operating system, hence these tools was of no use if mapping feature is required on other platforms such as Linux. 3. Mathematical Model The mapper can be represented in the mathematical set form as follows:- S = {s, e, I, O, Fs, DD, NDD, Фs, Su, Fa} Where S represents proposed system. s = start state = load and import the required files. e = end state = generation of xslt and updated source and target xsds. I = input set = {sxsd, txsd, es, fp, pxslt} sxsd = source xml schema definition. txsd = target xml schema definition. es = external schema. fp = function provider. pxslt = previously generated xslt with the same set of sxsd txsd and es. O = Output set = {xsltequivalent, updatedsxsd, updatedtxsd}. xsltequivalent = XSLT code generated from the relationships / mapping created by the user. updatedsxsd = updated source xml schema definition. updatedtxsd = updated target xml schema definition. Fs = set of supporting functions of the mapper, exposed to the user = {createmapper(), displaymapper(), generatexslt(), destroymapper(), fetchupdatedxsd()} DD = Deterministic Data = {sxsd, txsd, es, fp, pxslt} NDD = Non Deterministic Data = {connections, operations}. connections = mapping / relationships generated by user between source tree node and target tree node. operations = various operations applied by the user. Фs = basic functions of the system = { parseinputxsd(), generatejstreeobject(), generatejstreeobject(), traversetree(), parsejstreeobjecttogeneratexslt(), searchnode(), generatexpath(), createconnections(), applyfunction() }. Su = Success state / condition of the mapper. Generated syntactically correct XSLT code. Generated logically correct XSLT code. Generation of update source XSD and external schemas as per the modifications performed by the user. Fa = Failure state / condition of the mapper. Generation of Invalid XSLT. Improper visualization of data. Improper visualization of connections while expanding or collapsing tree nodes. Generation of invalid source or target XSD. 4. Proposed System The proposed system is responsible for generating a data visualization and transformation tool which generates visualization of the input data in the tree format and XSLT code which would be used for transformation of one xml into another xml. It has following three stages: 1) Pre processing of the data. 2) Generation of mapping/relationship between tree nodes. 3) Validation. 4) Generation of transformation code. 5) Generation of new source and target XML schema definitions. Paper ID: SUB157059 47

Figure 1: Block diagram of proposed system 1) Pre processing of the data: - This system accepts the input in the form of a Java script object, which has following key value pairs. o Source tree: - Xml Schema Definition (XSD) of source tree. The generated XSLT will be applied on xml which satisfies this XSD. o Target tree: - Xml Schema Definition (XSD) of target tree. The xml generated after applying generated XSLT on an xml which satisfies source XSD, would require to satisfy target XSD. o External Schema: - The source and target XSDs could contain external reference schema. Hence, these are required to be resolved, this key will contain the locations from where external schemas can be resolved. o The source and target XSDs are resolved using external schemas and parsed to generate the equivalent Java script object. Using this Java script object, equivalent trees in the form of HTML is generated that is XSD s are represented in the form of HTML trees. o There is a possibility that there is an XSLT code previously generated using this tool with the same set of source and target XSDs. So it would be required to generate Java script object on the basis of this XSLT and use it to generate mapping / relationship between the source and target tree nodes. 2) Generation of the mapping / relationship between the nodes: - The elements and attributes of the XSD will be represented in the form of nodes of the tree. For example the first element node will be acting as root node. The mapping will be represented by connecting lines between the source tree nodes to the target tree node. For generating the relationship, it may be the requirement to apply some operations over the source node and the results of those operations given to the target node. Hence, in the input one of the key value pair would be function provider XML which would be containing the definitions of the function which can be applied. The example of such operations is the concatenation of string, finding maximum of two numbers, etc. The function provider may contain other user define functions. The user would be able to create relations between source and the target node as per his requirements. There could be a possibility of the presence of an any element in source XSD. Hence, this any element can be replaced by element of another complex type or by another XSD. So as shown in the diagram, there is an option to apply the complex type element or new XSD in the form of apply coercion. 3) Validation: After applying generation of the relationship between the nodes, it is required to validate those. The first case of validation is in the case, if the coercion is applied, it would have modified the source XSD. Hence it is required to check whether updated XSD is valid or not. Another case is when XSLT statements such as if, for each or choice is applied to the target node, in such case validation is required to be done. The validation system would not only be checking for errors and warnings, but also giving possible reasons and the steps to be taken to Paper ID: SUB157059 48

eradicate those errors and warnings. 4) Generation of transformation code: - If the generated relationships are valid, then user can fetch the XSLT code. This XSLT code should be applied to an XML which satisfies the source XSD to generate an XML which satisfies the target XSD. 5) Generation of new source and target XML schema definitions: - As discussed earlier, the source and target trees can be modified by the user at run time. Hence, to generate the same state of the system, it may be required to get updated source and target XSD. 5. Algorithm Hence, from this it can be said that, this tool is pluggable in any web based system where such visualization and transformation feature is required. Light weight: The algorithm to populate a web based system with this mapper tool is as follows: 1) Create a div element tag with a unique id on the web page where the mapper has to be populated. 2) Include jquery, jstree and jsplumb source files & corresponding stylesheets. 3) Import the js file of the tool and its style sheet. 4) Select the DOM of the div created in the first step using jquery. 5) On selected Dom, create a new instance of the mapper by calling the widget. During this step, pass the parameters required for initialization of the system such as input XSDs, XSLT (if existing with same set of XSDs), required size of the parameter, locations of external schemas if available. 6) Call display function of the widget on the instance created in step 5 to populate the system with this tool. 6. Experimental Setup The system was developed using Java script and Java script based frameworks. To use this system, the browsers should support Java script and Java script frame works. The framework and technology specifications are as follows: jquery 1.11.1 jstree 3.0.8 jsplumb 1.4.1 Languages: HTML, CSS, Java Script. Browsers: IE11, FireFox 34.0.5, Chrome 39 and higher versions. 7. Results Generic: All the existing browsers running on any of the operating systems, supports HTML, CSS and Java script. Hence, these browsers will support frameworks mentioned in section 5. Hence, this system can be utilized without taking into consideration the browser or the operating system on which the browser is running. Pluggable: As discussed in the algorithm section, the only requirement for populating a web based system with this tool is to create a unique html DIV element and a java script function call to create and display the mapper. Figure 2: Size of minified java script file and.css file. As shown in figure 2, the size of the minified version of the developed system is 182.84 kb and that of the cascading style sheet (.css) is 8.97 kb. Hence the overall, size of the system is 191.81 kb i.e. less 200 kb, which means that the overhead, which a system will incur by plugging this tool, will be only 191.81 kb while the size of mapper tool from the stylus studio of version 15r2 is about 87,163 kb i.e. 8.7 MB. The other data visualization and transformation tools are available as part of development platforms and not as standalone plugins, hence it is ought to have large size compare to this tool. 8. Conclusion In this paper, a system is discussed which is capable of generating an XSLT code that is used to transform an XML to another XML. The data formats were represented in the form of trees while the relations between them, i.e. the transformation rules were represented using lines and on the basis of this graphical representation, transformation (XSLT) code was generated. References [1] Rahil A. Khera, P.S.Game, A Survey of Data Visualization and Transformation Tools, International Journal of Science and Research, Volume 4 Issue 4, pp. 2315 2317, Jan 2015. [2] Alessandro Raffio, Daniele Braga, Clip: a Visual Language for Explicit Schema Mappings, in IEEE ICDE 2008, 978-1-4244-1837-4 [3] Tae-Jin Ha, Hye-Ja Bang, Implementation of XSLTbased Schema Mapper using RCP, in IJCSNS International Journal of Computer Science and Network Security, VOL.9 No.5, May 2009 [4] Sebastian Bossung, Hermann Stoeckle Automated Data Mapping Specification via Schema Heuristics and User Interaction in Proceedings of the 19th International Conference on Automated Software Engineering 2004. [5] Lucian Popa, Yannis Velegrakis, Translating Web Data in Proc. 2002 Very Large Databases Conference (VLDB 02), pp. 598-609. Paper ID: SUB157059 49

[6] BizTalk Mapper, Using BizTalk Mapper https://msdn.microsoft.com/enus/library/aa547076.aspx., Dec 25, 2014. [7] ALTOVA Map Force, MapForce Graphical Data Mapping, Conversion, and Integration Tool Available: http://www.altova.com/mapforce.html, Jan, 05,2015 [8] TIBCOMapper,https://docs.tibco.com/pub/businesseven ts_process_orchestration/1.1.2/doc/pdf/tib_be_process _developers_guide.pdf, Oct 18,2014 [9] David Handlos, BizTalk Mapper 2004 V/s Map Force 2004, http://www.osnews.com/story/6809, Jan, 10,2015. [10] XML Editor, XML Tools and XQuery Stylus Studio http://www.stylusstudio.com, Jan, 30, 2015. [11] Transforming Data Using XQuery Mapper, http://docs.oracle.com/cd/e13171_01/alsb/docs21/dtg uide/dtguidemapper.html, Jan, 31, 2015. Author Profile Rahil Khera is pursuing a Master of Engineering in Computer Engineering from Computer Dept. of Pune Institute of Computer Technology, under the affiliation of Savitribai Phule, Pune University. He received his B.E degree in Computer Engineering in 2010. Prof. P.S. Game is an Assistant Professor in the computer department of Pune Institute of Computer Technology. Paper ID: SUB157059 50