I'm very new to this and a little confused. i need to connect a number of applications and put some intelligence in a central tool. for example the first application send a push to a device and my solution wich be based on a bpm or esb will check if the device received the push, if not it will send an email. so here i think i have to use an esb because i need to connect my application with something else. Eventually I want to model this process so that the user of my application can view the progress of sending email. is that possible if i'm using esb.
It depends which ESB you are using.
Some ESBs are very complicated to use, while others have a more visual, and flow based interface which would make your requirements easy to handle. A lot of ESBs are built with BPM tools as part of the package so you don't need choose between them.
We use Warewolf ESB which handles both of these very well.