130 likes | 228 Views
Explore the benefits, approach, and implementation of integrating XML and relational databases for dynamic applications. Learn about the Rainbow system architecture and evaluation results. Discover the challenges and advantages of re-engineering existing code. Future works include further research and development.
E N D
Rainbow: XML and Relational DatabaseDesign, Implementation, Test, and Evaluation Project Members: Tien Vu, Mirek Cymer, John Lee Advisor: Prof. Elke A. Rundensteiner PH. D Student: Xin Zhang Sponsor: GE Laboratories
XML and Relational Database: What and Why? • Benefits: • Efficient query and analysis tools. • Matured Data Warehousing support. • Easy Integration with existing business database. • Applications: • E-commerce • Web-based industries
XML and Relational Database • Problem • Many Application usually change its data very frequently. • e.g., flight reservation, online billing, inventory. • Current Solution • Reloading the complete XML document when changed which is very expensive. • Rainbow Solution • Incrementally propagate XML Document Updates to Stored XML Data. • Goal: XML Repository Implemented using RDBMS • Approach: Flexible Mapping • Features: • DTD Metadata Management in RDB • Automatic Schema Creation • Incremental Update Propagation • XML Query Optimization
Goals of our MPQ • Learn about the database technology • Translate abstract research ideas into actual software system design • Implement large-scale Rainbow software system • Practice good software engineering: UML, re-engineering and reuse • Design an experimental test plan and test bed • Conduct extensive performance study and analysis
Rainbow System Architecture Overview XMLQuery XML Legend User XML QueryWork-load XML Model XML Query Engine Internal Process Restructuring DBA Subsystem Schema Creator DTDM Repository Clock Relational Model DTDM Manager Loader Dumper XML DTD
Java Object-Oriented Design • Reuse and Re-engineering • Difficulties and advantages of using existing code • Time span of design vs. implementation • Design Tools used in Re-engineering • Unified Modeling Language (UML) • Object Domain – Class Diagrams, Activity Diagrams, Sequence Diagrams
Rainbow Implementation • Development Tools • Java: Visual Café2, Javadocs • Oracle 8i, XML 4J, JDBC1.2, SQL Queries • Code Facts • 22,991 lines of system code • 7,253 lines of Rainbow code • 15,738 lines of code reused • 100 total system classes • 17 Rainbow system classes • 83 classes reused • Re-engineering success
Rainbow Evaluation & Test • Experiment Setup • Oracle 8i • Win NT • Randomly generated data
Rainbow Conclusions • Accomplishments • Built complex Object Oriented design • Fully functional • Feasibility improvements to Rainbow concept • Automated test bed • Performance evaluations • Knowledge gained • OO, Java, JDBC • SQL, DBMS • Software reuse & re-engineering • Teamwork & S/W Engineering Project • Future works:
Rainbow: XML and Relational DatabaseDesign, Implementation, Test, and Evaluation Project Members: Tien Vu, Mirek Cymer, John Lee Advisor: Elke A. Rundensteiner PH. D Student: Xin Zhang Visit Rainbow at http://davis.wpi.edu/dsrg/TJM/