130 likes | 263 Vues
This presentation by Jeff Cahoon, Principal for CubeModel, explores the importance of model-driven application development (MDAD) using the Common Warehouse Metamodel (CWM). Emphasizing the concept of reuse, especially internal reuse across applications, it highlights how tools like MofEditor and NetBeans MDR can significantly speed up development processes. The session discusses overcoming challenges like object ID changes in XMI and the benefits of model-driven development, including reduced errors and adaptation to platform changes. Discover how modern free tools can transform your application development strategy.
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