Taverna does not support looping in the sense that there can't be cycles within a workflow graph - output from a service can only be connected to "downstream" inputs.
Taverna 2.x supports looping (i.e. "while loop") in the sense that it allows you to invoke a service repeatedly until a particular condition is satisfied. For example, it allows you to poll an asynchronous service until the result is available.
To create a loop on a service in Taverna 2.x:
Details of how to configure looping are in the looping section of the user manual.
Taverna also supports implicit iteration (e.g. for-loop) - if a list of values is presented to an input port that takes a single value (or list of list to a port taking a single list), then Taverna will repeatedly call the service to produce a new list ov all the results at the output ports. If iteration on a service happens over multiple ports, the way of iteration can be configured in the List handling.