Enterprise Service Bus / ESB
ESB adalah sebuah platform untuk meletakan abstraksi service / service wrapper, sehingga service-service tersebut nantinya dapat digunakan BPM untuk membentuk bisnis proses yang menggunakan banyak service. Selain menyediakan service wrapper, sebuah ESB dapat pula memiliki event raiser dan messaging service.
Sebuah ESB memiliki Bus, dimana Bus tersebut bertugas untuk menyalurkan informasi antara client, server, dan device yang terhubung.
Aplikasi yang menggunakan arsitektur SOA tidak berhubungan langsung dengan service-service yang ada, tetapi melewati ESB. Tugas utama dari ESB adalah untuk saling menghubungkan service dengan aplikasi yang ada, dengan demikian dapat menghilangkan ketergantungan komunikasi point-to-point antara service dengan aplikasi.
ESB menggunakan WebService untuk mengirim data dari service ke aplikasi yang memanggilnya.
ESB juga dapat men-transform protokol data yang diterima / dikirim dari client / service sehingga dapat saling berkomunikasi. Kemampuan ini diperlukan karena ada kemungkinan protokol service-service yang terhubung tidak menggunakan standar yang sama, misalnya protokol yang digunakan terdiri dari JMS (Java Message Service), SOAP, dan SMTP (protokol Email).