Service Oriented Architecture (SOA) is not a single program or technology. It's really a matter of software architecture or design. Some of the basic principles of SOA are:
In hardware terms, a "bus" is a physical connector that ties together multiple systems or subsystems. Instead of having a large number of point-to-point connectors between pairs of systems, you connect each system to the bus once.
An Enterprise Service Bus (ESB) does the same thing, logically, in software. Instead of passing electric current or data over the bus to and from the connections (or "endpoints") on the ESB, the ESB logically sits in the architectural layer above a messaging system. The messaging system allows for asynchronous communications between services over the ESB. In fact, when you are working with an ESB, everything is either a service (which in this context is your application software) or a message being sent between services. It's important to note that a "service" is not automatically a web service. Other types of applications, using transports such as FTP or JMS, can also be services.
For more information on what an ESB is, a great resource is Enterprise Service Bus: Theory in Practice by David Chappell.
18.190.156.212