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.