Patent ID: 7562347

Claim:
A computer program product, tangibly embodied in a machine-readable storage device, comprising instructions operable to cause data processing apparatus to: define a component having an external interface and an internal interface for embedding external components into the component, each external component being a reusable software component encapsulating functionality, wherein multiple instances of each external component are usable at the same time, the external interface comprising: an external programming interface for programmatic interaction with the component, an external data-binding interface for data communication with the component, and an external visual interface for access to a visual representation of a state of the component; and the internal interface comprising: an embedding interface for specifying one or more external interfaces of the external components to be embedded and a number of instances of each external component to be embedded; an internal programming interface for programmatic interaction with the external components to be embedded, an internal data-binding interface for data communication with the external components to be embedded, and an internal visual interface for access to a visual representation of a state of the external components to be embedded.