1. A method for executing a batch of one or more workflows on one or more domains, comprising the steps of: receiving a request for workflow execution; sending at least one of one or more individual jobs in each workflow and dependency information to a scheduler; computing, by the scheduler, one or more outputs, wherein the one or more outputs are based on one or more performance objectives; and integrating orchestration of one or more workflows and scheduling of at least one of one or more jobs and one or more data transfers, wherein the integrating is used to execute a batch of one or more workflows based on at least one of one or more outputs of the scheduler, static information and run-time information.