written 8.6 years ago by | • modified 8.6 years ago |
written 8.6 years ago by |
An ESB is a software architecture that enables inter-operability among heterogeneous environments using service oriented architecture.
It is a system to which all services are connected and can be accessed. It acts as a central bridge or gateway to all applications exposing services underneath it.
- It provides following features :
It manages security aspects like authentication and authorization with Federated Identity and access control with .NET ACS, windows CardSpace, windows Identity Foundation(WIF) and Active Directory Federation Service(ADFS)
Consistent service and endpoint naming to simplify relaxing or routing of messages
Service registry to simplify discovery by NAT clients behind firewalls and other users.
A common messaging fabric, which offers multiple communication options, including publish/subscribe or send/listen features.
Messaging with RESTful HTTP Request/Response, SOAP, WS-* and windows communication Framework (WCF) protocols.
It is usually operating system & programming language agnostic; for e.g. it should enable inter-operability between Java and .NET applications.
- Key benefits of ESB:
Faster and cheaper accommodation of existing systems.
Increased flexibility , easier to change as requirements change
Standards based
Scale from point solutions to enterprise wide deployment(distributed bus)
More configuration coding than integration coding
- Key disadvantages:
ESB may become single point of failure. If the ESB is down, no communication between clients and services can take place.
Extra overhead, and increased latency caused by messages traversing the extra ESB layer, especially as compared to point communication.
- It provides 3 communication technologies:
Service Bus Relay- It enables to securely expose WCF services that reside within a corporate enterprise network to the public cloud, without having to open up a firewall connection
Service Bus Queue(Brokered Messaging)-Provides a durable first-in, first out data structures to which senders can add from which listeners can retrieve messages
Service Bus Router-handles delivery of durable messages to all (multicast) or individual subscribers. Listeners, including queues, can subscribe to these messages.