Grids are often used through simplified job submission interfaces that abstract the underlying grid infrastructure as a black box. These interfaces suit well to developers of simple grid applications requiring the coordination of grid jobs, for which monitoring and error handling are done more or less manually.
However, developers of advanced grid applications such as grid portals need more flexible tools to develop efficient and robust applications with advanced capabilities such as monitoring, error handling, failure recovery, resource release, etc.
In this paper, we present through a typical application example a XML-based language designed to describe applications orchestrating grid jobs. We also present the execution environment supporting the proposed language and we show how even simple grid applications can be expressed in this language and benefit of the advanced capabilities of the execution environment.