WEB BASED DATA TRANSFORMATION USING XML JAVA Group

WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith

Idea Web application that acts as an intermediary among several databases in exchanging data l • highly customizable • dynamic • platform independent

Background – technology used l l XML SOAP HTTP Java Server Pages (JSP)

XML - e. Xtensible Markup Language l l called extensible since it is not a fixed format e. g. HTML XML is a ‘meta-language’ – a language for describing other languages - e. g. Wireless Markup Language (WML) l l designed to describe any structured data “universal format for structured data on the Web” – W 3 C web site When should I use XML? When you need a buzzword in your resume. W 3 SCHOOLS. COM

XML l l vs. designed to describe data & focus on what data is No predefined tags No inherit structure of your tags used for data manipulation and transfer HTML l l designed to display data & focus on how it looks Predefined tags Inherit structure built into tags e. g. <h 1> used for displaying that same data XML is not a replacement for HTML

XML Simple Example HTML <? xml version="1. 0"? > <CATALOG> <CD> <TITLE>Empire. Burlesque</TITL E> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMP ANY> <PRICE>10. 90</PRICE> <YEAR>1985</YEAR> </CD> </CATALOG> l l <html> <h 2>Catalog</h 2> <body> <table width=“ 100%”> <tr> <td>Empire. Burl</td> <td>Bob Dylan</td> <td>USA</td> </tr> <td>Columbia</td> <td>10. 90</td> <td>1985</td> </tr> </table> </body></html>

Advantages of XML l data exchange between incomparable systems – Software independent – Hardware independent – plain text files • data is stored outside of HTML • can code documents more precisely - reflects structure and semantics of that document

Transforming XML l l l DTD – document type definition - defines tags in XML - number, sequence, attributes, and values of those tags XSL – e. Xtensible Style Sheet - browsers can’t display XML - transforms XML into HTML CSS – Cascading Style Sheet - less control than XSL

SOAP – Simple Object Access Protocol XML and HTTP based Protocol - protocol for exchange of information decentralized environment - defines a framework for describing what is in a message & how to process it All SOAP messages encoded in XML

Java Server Pages (JSP) servlet = server side applet - Java’s answer to CGI - no GUI l static HTML with dynamic content from servlets and/or Java. Beans l some Java advantages l – – Platform independent Can utilize Java API for XML Processing (JAXP), Java API for XML Messaging (JAXM), and Simple Access API for XML (SAX).

XML & Java Application l l XML document is parsed, data becomes available to application DOM (Document Object Model) – – l represents elements as tree nodes use if need random access to data SAX (Simple API for XML) - fires events based on what it encounters - write code to make sense of these events

XML & Java l l l Java is portable code, XML portable data Applications completely portable Java provides most robust set of - API’s - processors - parsers

Why XML & JSP ? l can use SAX l 3 main steps Create object model Create parser Create handler 1. 2. 3.

Overall Approach Web app. that is intermediary between 2 databases • User can select source data and transfer it to different database(s) l • 2 distinct process - configuration - transformation

System Overview

Configuration Process l l User driven - user selects source data - user selects destination database User select transformation options, if any - direct mapping of data - string manipulations - simple calculations

Use Case Model

Example Interface

Transformation Process l System driven - takes user specified configurations and performs actual data transformation l How? - System sends SOAP request to the module controlling the source database. - Module connects to database and receives the data tuple. - System sends data to the interpreter which transforms the data. - Data is sent to the module controlling the destination database. - Module loads the data into the database.

Use Case Model

Costs l l Time - done by April 2002 Money – can vary greatly 1. 2. Software - currently, none Hardware - none other than available on campus

Performance Requirements • handle large databases 10, 000+ records • less than 1 sec per record

Constraints Environmental • Unknown bandwidth between system and source/destination • Unknown database optimizations System • Bandwidth • Processor power • Code optimization
![Constraints [cont’d] User • Access Privileges • Security Maintenance • Basic code/server maintenance • Constraints [cont’d] User • Access Privileges • Security Maintenance • Basic code/server maintenance •](http://slidetodoc.com/presentation_image_h2/1920f1d65471247ee9356e5a0fe9aa37/image-24.jpg)
Constraints [cont’d] User • Access Privileges • Security Maintenance • Basic code/server maintenance • Updating database specific modules • Optimization

Alternative Designs 1. Application server using Enterprise Java Beans l l 2. Adv: any application environment, direct transformations Dis: complex, expensive, unreliable Microsoft. NET platform l l Adv: based on XML, any language Dis: documentation, Beta version

Testing Methods Testing Methodology: Rational Unified Process l User Interface Testing the user interface against necessary functionality. l Unit Testing the classes as individual components. Development and implementation of test cases. l System Testing the classes as components in the system. Development and implementation of test scenarios.
![Scheduling Diagram [First Semester] Scheduling Diagram [First Semester]](http://slidetodoc.com/presentation_image_h2/1920f1d65471247ee9356e5a0fe9aa37/image-27.jpg)
Scheduling Diagram [First Semester]

Scheduling Diagram (Second Semester)
- Slides: 28