1. A system for designing and executing processes, said system comprising: an introspection module in a generic introspection framework that automatically generates a catalog of generic components by introspecting a set of exposed application programming interfaces (APIs) of a plurality of heterogeneous applications created in different programming languages and transforming a plurality of implementation-specific components of said heterogeneous applications into the generic components of said catalog by binding identifiers of the generic components with identifiers of the implementation-specific components wherein the catalog contains a series of entries in a binding table automatically created during the introspection of the APIs, each entry representing a generic component which, when invoked, is bound to at least one of the implementation-specific components of said heterogeneous applications upon execution of the processes, the catalog further containing a module comprising the generic components associated with a folder comprising an XML file when the implementation-specific components are saved in the catalog as the generic components; an implementation module that includes procedures to access the APIs and maps the implementation-specific components to the generic components by using its own introspection mechanism and sends the mapped implementation-specific components to the generic introspection framework; a component manager coupled to the introspection module and configured to manage said catalog automatically generated by the introspection module by defining and organizing the generic components in said catalog; and a process designer coupled to the component manager and configured to: select at least one of the generic components from said catalog managed by the component manager; and graphically construct a process definition for the processes that includes a series of graphically represented activities linked by one or more transitions and associated with abstract roles specified for the activities wherein at least one activity of said process definition invokes the selected generic component from said catalog; whereby a single process is assembled from the implementation-specific components of the different programming languages, the implementation-specific components being compiled modular routines of the heterogeneous applications that have been previously created in different programming languages; and a repository for storing the process definition; and one or more process engines that execute said process definition to instantiate a process instance, wherein the process instance interacts with the plurality of heterogeneous applications by invoking the generic components in said catalog and wherein the process instance integrates the plurality of heterogeneous applications into the single process by invoking services from the plurality of heterogeneous applications during execution of the activities of said processes; wherein during execution of the process instance, the compiled modular routines of the heterogeneous applications are invoked in order to complete the activities of said process instance.