An application is seen as a set of interacting components. A component is a unit of development as well as deployment. A component may depend on another component to fulfil its functional requirements. This dependency is explicitly modeled. The versioning system will allow the user to define the configuration, check out and check in a configuration, tag a configuration and maintain multiple configurations.
Development is carried out through different roles.
A user can play one or many roles on one or many components. The Integration Framework provides an independent workspace for each component. The operational details of individual tools are hidden from the application developer by providing development process specific abstractions. The Integration Framework also provides the facility to define new roles, to allow a developer to customise the development process. As a result, developers need not be familiar with details regarding tool invocations and the domain of development for the application.