JBI components are typically used to handle high-level business operations. The Java EE Service Engine becomes necessary in situations where complex Java EE-based business logic needs to communicate with JBI components. In these situations, the Java EE Service Engine facilitates the transfer of data between components. Some examples of this data exchange include:
BPEL Service Engine calling an Enterprise Java Bean (EJB) web service
Message-driven bean (MDB) or servlet calling a BPEL process
EJB web service called through a JMS transport using the JMS Binding Component
Java EE components calling web services using the FTP Binding Component
Java EE components making web service calls through SMTP transport using the SMTP Binding Component