A technology that enables applications to provide objects in a consistent way to other applications, development tools, and macro languages.