ESB is an SOA implementation. ESB stand for Enterprise Service Bus is a computer software architecture used for designing and implementing communication between software applications.

What is SOA? There is much description about SOA. IMO, SOA (Service Oriented Architecture) is an architectural pattern in computer software design which application components provide services to other components (usually enterprise software) via communications protocol, typically over a network.

In this post, I want to share about ESB implementation on Bank.

In Bank usually there is ESB implementation for communicating many enterprise software applications such as Internet Banking Server, EDC/POS Server, Mobile Banking Server, SMS Banking Server, ATM Server, Core Banking Server, or even HSM (Hardware Security Module). All mentioned server can be developed by different programming-languages, or even can deployed on different operating-systems. ESB should do communicate all of internal server in Bank.

Wait what? Internal Server? Are there external server? Yeah. There will be Payment Gateway server for multipurpose transactional such as Bill Electricity, Phone Bill, TV Cable, and any other payment. ESB may communicate with more than one Payment Gateway. Note that Payment Gateway is external server, not in the Bank; they may have different communication protocol.

In my experience (well I’m not the expert anyway), ESB may have capabilities as below: Continue reading