1. A method for extending an existing object oriented programming language, comprising the steps of: extending an existing object oriented programming language with a workflow language including a plurality of workflow constructs provided as markup language commands; selecting a program source file including a source code and classes written in the existing object oriented programming language; extending the source code with a workflow definition including the plurality of workflow constructs of the workflow language, wherein the workflow constructs are specified in the form of annotations to the source code and the classes, the plurality of workflow constructs including an action construct representing an activity that allows a first software component to call an operation on a second software component; and using a workflow program according to the workflow definition, including processing, using a computer including a processing device operating thereon, the action construct to allow the first software component to call the operation on the second software component, and passing, according to the workflow definition in the form of annotations to the source code, information selected from one or more files, documents and/or tasks between system resources, according to a set of procedural rules to generate activities at the computer as defined by the workflow definition.