1. A non-transitory computer readable medium having instructions stored thereon that, when executed by a processor, causes the processor to orchestrate a business process, the orchestrating the business process comprising: receiving from an interface a definition of the business process; generating metadata from the definition; generating an abstract syntax tree from the metadata, wherein the tree includes a plurality of nodes, wherein one or more of the nodes correspond to a predefined template comprising an orchestration code construct associated with a defined business process pattern, wherein the orchestration code construct comprises orchestration code that invokes one or more services; generating executable orchestration code based on the abstract syntax tree and the predefined template; and determining an orchestration sequence for an executable process of invoking one or more services based on the metadata; wherein the predefined template comprises one of a composite template, a parallel template, a conditional template, a split template or a change management template.