A method for designing software components for integration into any system
without additional coding is provided. The method includes adopting a
uniform application programming interface that breaks down external
objects to include the characteristics of object, attribute, and method.
Ideally, the characteristics include create object, delete object, read
attributes, write attributes, and invoke behavior. A software tool is
provided for communication between an API and a data source, the tool
including a join engine adapted to provide communication between at least
one view and at least one base source associated with the data source,
the join engine further adapted to update the at least one base source in
response to updates to the view. Ideally, the tool is further configured
to support on the at least one base source operations of create object
and delete object on the at least one view. The software tool is also
configured to map events in the at least one base source to the at least
one view, and can be configured to create virtual attributes based on the
view through operations or expressions performed on the view, including,
but not limited to algebraic expressions, names, strings, and functions.