1. A method of designing integration software to perform a specified data transfer between different specified application software systems, the method comprising specifying an integration design that accomplishes the specified data transfer and that is made up of at least one integration design pattern, in response to receiving a user input 1) that selects, from a repository that identifies various standard processes used in data transfers, the integration design patterns needed to accomplish the specified data transfer, and 2) that specifies a sequence by which the selected integration design patterns are to be performed.