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 highly customizable dynamic platform independent
Background – technology used XML SOAP HTTP Java Server Pages (JSP)
XML - eXtensible Markup Language 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) designed to describe any structured data “ universal format for structured data on the Web ” – W3C web site When should I use XML? When you need a buzzword in your resume. W3SCHOOLS.COM
XML vs. HTML designed to describe data & focus on what data is No predefined tags No inherit structure of your tags used for data manipulation and transfer designed to display data & focus on how it looks Predefined tags Inherit structure built into tags e.g. used for displaying that same data XML is not a replacement for HTML
Simple Example EmpireBurlesque Bob Dylan USA Columbia Catalog EmpireBurl Bob Dylan USA Columbia XML HTML EmpireBurlesque Bob Dylan USA Columbia
Advantages of XML 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 DTD – document type definition - defines tags in XML - number, sequence, attributes, and values of those tags XSL – eXtensible Style Sheet - browsers can ’ t display XML - transforms XML into HTML CSS – Cascading Style Sheet - less control than XSL
SOAP – Simple Object Access Protocol - defines a framework for describing what is in a message & how to process it - protocol for exchange of information decentralized environment All SOAP messages encoded in XML XML and HTTP based Protocol
Java Server Pages (JSP) servlet = server side applet - Java ’ s answer to CGI - no GUI static HTML with dynamic content from servlets and/or JavaBeans some Java advantages – 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 XML document is parsed, data becomes available to application DOM (Document Object Model) – 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 Java is portable code, XML portable data Applications completely portable Java provides most robust set of - API ’ s - processors - parsers
Why XML & JSP ? can use SAX 3 main steps 1. Create object model 2. Create parser 3. Create handler
Overall Approach Web app. that is intermediary between 2 databases User can select source data and transfer it to different database(s) 2 distinct process - configuration - transformation
System Overview
Configuration Process 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
System driven - takes user specified configurations and performs actual data transformation 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. Transformation Process
Use Case Model
Costs Time - done by April 2002 Money – can vary greatly 1. Software - currently, none 2. 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 Updating database specific modules Optimization
Alternative Designs 1. Application server using Enterprise Java Beans Adv: any application environment, direct transformations Dis: complex, expensive, unreliable 2. Microsoft.NET platform Adv: based on XML, any language Dis: documentation, Beta version
Testing Methods User Interface Testing Testing the user interface against necessary functionality. Unit Testing Testing the classes as individual components. Development and implementation of test cases. System Testing Testing the classes as components in the system. Development and implementation of test scenarios. Testing Methodology: Rational Unified Process
Scheduling Diagram [First Semester]
Scheduling Diagram (Second Semester)