130 likes | 259 Views
Faster Development Through Modeling. Free tools meet MDA Jeff Cahoon Principal for CubeModel September 27 th , 2006. The CWM is Very Useful. Makes tools interoperable Useful beyond the scope of tools Useful beyond the scope of data warehousing. The Key to Speeding Development **REUSE**.
E N D
Faster DevelopmentThrough Modeling • Free tools meet MDA • Jeff Cahoon • Principal for CubeModel • September 27th, 2006
The CWM is Very Useful • Makes tools interoperable • Useful beyond the scope of tools • Useful beyond the scope of data warehousing
The Key to Speeding Development**REUSE** • Kinds of Reuse • Internal to an application • Significant speed improvement • Across Applications • Extreme speed improvement • Not Data Warehouse Specific • Not all applications fit • Repetitive structure important
Tools Required • mofEditor • http://www.fing.edu.uy/inco/ens/aplicaciones/MofPlaza/web/mofplaza/mofeditor.htm • NetBeans MDR • http://mdr.netbeans.org • XMI Diff/XSLT • Example at http://www.cubemodel.com
MofEditor • Creates models readable by both Humans and Machines • Allows Modeling with any MOF Metamodel • Provides Objects of the Right Context • Only allows Sensible Associations • Still an early release
NetBeans MDR • Imports XMI models from other tools • MofEditor • Oracle Warehouse Builder • Provides JMI interface to the model • Very powerful and flexible interface • Provides Browser for checking model • Much to be discovered using this tool
XMI Diff/XSLT tools • XMI Diff/XSLT are needed for joining models created in different tools. • Object Ids change in XMI every time the model is changed. Associating objects by Id becomes a problem. • XMI Diff supports relative refs, but the tools do not. • The solution is not complicated.
Benefits Besides Faster Development • Fewer typos with generated code • Small model changes are easy • Some people think better graphically • The code matches the model • Modeling is easier in the right context • Potential for surviving platform changes
? How do I get reuse where tasks are not identical? Does reuse mean that the code will be inefficient? How do I make changes once the application is deployed? Your question goes here. Interesting Questions
Conclusions: • CWM is useful beyond tools and data warehouses • Free tools are available today to do everything you need • Model driven application development is often faster