Le attività script vengono utilizzate per eseguire il codice Java in linea come attività del processo. Il codice Java può accedere a tutte le variabili BPEL, alle proprietà di correlazione e ai collegamenti partner, oltre ai contesti del processo e dell'attività.
Inoltre, è possibile utilizzare il codice Java in linea per le condizioni. Ciascun frammento del codice Java per le attività o condizioni viene eseguito nel relativo metodo Java. Tali metodi appartengono ad un bean enterprise creato per il processo. L'ambiente di runtime del codice Java è un ambiente J2EE (Java 2 Platform Enterprise Edition) di EJB (Enterprise JavaBeans) regolare.
<bpel:invoke ....> <wpc:script> <wpc:javaCode> EObject myCustomer = getPurchaseOrder().eGet("customer") ; EObject account = getAccount() ; account.eSet("ID", myCustomer.eGet("accountID") ) ; setAccount(account) ; </wpc:javaCode> </wpc:script> <!-- standard activity elements go here --> </bpel:invoke>
<bpel:while> <wpc:condition> <wpc:javaCode> return getCounter().getValue() > 0 ; </wpc:javaCode> </wpc:condition> <!-- loop activity goes here --> </bpel:while>