-
Notifications
You must be signed in to change notification settings - Fork 5
Design Philosophy_135856340
nxi edited this page Apr 9, 2015
·
1 revision
Created by Tony Lam, last modified on Dec 09, 2009
A GumTree based application typically consists of three major components:
Platform + Frameworks + Customisations
In summary, the design of GumTree is centered around three main concepts: reusability, scalability and reconfigurability:
Further Readings:
Platform + Frameworks + Customisations
- Platform - each GumTree application is built on an application platform, which includes a runtime kernel plus a number of application services. The GumTree platform itself is a fully functional application, where additional features are adding by installing plug-ins into the runtime kernel. Plug-ins can leverage application services such as logging and persistence to simplify the coding task. Further explanation on the concept of platform is available on the article "Creating Micro-platforms" (see further readings)
- Frameworks - framework is referred as a collection of reusable components to solve complex issues, for example, the data analysis framework is designed to help developers to glue existing algorithms in an easy way. GumTree applications can equip with one or multiple frameworks to address different needs of the users.
- Customisations - depending on your user requirement, an application may require little or significant customisation on the existing building blocks. In order to make good use of existing components, GumTree promotes two type of customisations: extension and integration. When a new behaviour is added within the context of an existing framework, we contribute this via extension. If possible, we implement more sophisticated features by integrating components from multiple frameworks.
In summary, the design of GumTree is centered around three main concepts: reusability, scalability and reconfigurability:
- Reusability- maximising code reuse can free developers from working on fundamentional features, and hence they can spend more time on writing more complex domain specific logics.
- Scalability -
- Reconfigurability -
Further Readings:
- Creating Micro-platforms - http://ianskerrett.wordpress.com/2006/05/23/creating-micro-platforms
- Object-Oriented Application Frameworks - http://www.cs.wustl.edu/~schmidt/CACM-frameworks.html
- GumTree - A Java Based GUI Framework for Beamline Experiments (Design Principle section) - http://lns00.psi.ch/nobugs2004/papers/paper00090.pdf
Document generated by Confluence on Apr 01, 2015 00:11
Home | Developer Guide | Copyright © 2013 ANSTO