As a multi-channel application development toolkit, BTT implements
a set of common and reusable components for channel application development.
Furthermore, BTT provides tools and facilities for developers to implement
channel applications more efficiently and easily. At the same time,
for a channel application, there are some project specific reusable
components and facilities that need to be implemented. BTT provides
capability for application developers to implement project level reusable
components and integrate them with BTT framework. The figure below
shows the relationship of BTT, BTT extensions and channel application.

BTT classifies BTT application developers into 2 types according
to their roles.
- Infrastructure developer
- Infrastructure developers supposed to have deep knowledge on BTT
and related technologies such as OOP and Java EE. As Infrastructure
developers, they are responsible for designing and implementing project
specific common components and functions.
- Functional developer
- Functional developers supposed to have some knowledge on BTT and
related technologies. As Functional developers, they are responsible
for implementing specific transactions including user interface, operation
logic and transaction flow. Development productivity is one of major
consideration for Functional developers.
This development mode can be used to leverage reusable
components and improve productive of application development.
For a topical BTT project, it will have two development phases.
- Infrastructure development phase
- This phase requires Infrastructure developers to design and implement
project specific reusable components as BTT extensions, and customize
BTT tools for these extensions if needed.
- Incremental development phase
- This phase requires Functional developers to use tools provided
by BTT and infrastructure phase extensions to develop each transaction.
The figure below demonstrates skill distribution in infrastructure
development and incremental development phases.
In the infrastructure development phase, Infrastructure developers
are expected to consider the following possible BTT extensions for
a specific project.
- Widget extension
- Basic data type extension
- Web service connector extension
- JSP, UI and transaction template
- Transaction editor extension
- New BTT project wizard extension