110 likes | 218 Views
XMI2SQL. Capstone Presentation Principal Investigator: Eric Hartford Committee Chair: Sam Chung, Ph.D. Committee Member: Isabelle Bichindaritz, Ph.D. Overview. Background Problem Solution Methodology Progress. Background. What do all these acronyms mean? XML
E N D
XMI2SQL Capstone Presentation Principal Investigator: Eric Hartford Committee Chair: Sam Chung, Ph.D. Committee Member: Isabelle Bichindaritz, Ph.D.
Overview • Background • Problem • Solution • Methodology • Progress
Background • What do all these acronyms mean? • XML • Extensible Markup Language • Standardized hierarchical data format • Maintained by World Wide Web Consortium (W3C) • UML • Unified Modeling Language • Standardized language for modeling object-oriented software • Maintained by Object Management Group (OMG)
Background • CASE • Computer Aided Software Engineering • Software tools • Implement modeling languages like UML • Intended to make development less risky and more effective. • XMI • XML Metadata Interchange • Used to encode metadata, including UML diagrams. • Standard export format for many CASE tools. • Maintained by OMG
Background • RDBMS • Relational Database Management System • database system • implements relational data model. • Example: • MS SQL Server • Oracle • MySQL • PostgreSQL • SQL • Structured Query Language • Standard language for interacting with RDBMS. • Maintained by • American National Standards Institute (ANSI) • International Organization for Standardization (ISO).
Problem • Data Modeling • Created using CASE tools • Implementation-neutral • Graphical format • Proprietary format
Problem • Once modeling is complete, how is the design transferred into implementation? • Manual transcription • Custom script • Proprietary automated database insertion • What is wrong with these methods? • Redesigning the wheel • Tightly coupled with software vendors • User has less freedom
Solution • XMI2SQL • Input • XMI encoding of UML model of the data to be implemented • Output • List of SQL commands used to implement the model encoded by the XMI input file • Web Service Interface for cross platform compatibility
Methodology • Analyze similar solutions • Determine / design data model encoding protocol • Determine or design conversion algorithm • Implement web service interface • Test and deploy
Analyze Similar Solutions • UML2SQL • Inserts data directly into database from model. • Uses similar parsing / conversion algorithm to mine • Defines its own data modeling standard • I opted not to use it • I wanted to use Agile Data’s UML Profile (next slide) • I preferred to design my own algorithm • Author of UML2SQL expressed doubt as to viability of the idea.
Data model encoding protocol • Two real standards at this point • Rational’s UML for Data Modeling Profile • Agile Data’s UML Profile for Data Modeling • I chose Agile Data’s profile. • Rational was recently bought out – I’m nervous about trusting IBM to upkeep Rational’s work. • I liked Agile Data’s casual style • Rational’s approach to Keys is not slick. It seems to be proprietary to Rose rather than oriented to OMG UML.