We found ourselves looking for a way to stop writing the same derived classes, with slight variations, over and over again. We wanted to introduce a level of quality and consistency across all of our views and dialogs that we found difficult to achieve by a team of people. Most declarative GUI builders simply generate the containers for content. We focused on generating the content. Without writing code.
This presentation describes a declarative GUI infrastructure built originally to host a software configuration management system based on JSR-147 (WVCM). WVCM describes a generic mechanism to retrieve properties on server resources. Using this generic mechanism, we built a GUI infrastructure in which the objects and properties to be retrieved could be defined declaratively in XML files, and then displayed in widgets, specifically trees, tables, and forms. Each widget populated by this infrastructure has a single XML file associated with it defining how its content is retrieved from the server and organized within the widget. The infrastructure was extended further to support any Java API by using reflection.
Mia Stern received a Ph.D. in Computer Science from the University of Massachusetts at Amherst in 2001. She joined IBM Research as a post doc, where she worked on collaboration technologies. Mia transferred to IBM Rational Software 3 years ago to work on a new software configuration product built using Eclipse technologies.
Howie Bernstein is a Senior Software Engineer at IBM Rational Software. He has been working professionally in the software industry for over 25 years, the last 17 years working primarily in user interface architecture, engineering and design with a focus on workflow, activity management, software configuration management and software process tools. Howie holds a B.A. in Computer Science from the State University of New York at Buffalo.