Enterprise Service Bus- ESB Interview Questions | JavaInUse

Enterprise Service Bus- ESB Interview Questions.

In this post we will look at ESB Interview questions. Examples are provided with explanations.

Q: What is an ESB?
ESB stands for Enterprise Service Bus. It can be defined as a tool designed to help implement an application using SOA principles. Not for all projects projects is the use of ESB an optimum solution ESB should be used when projects involve integrating a number of Endpoints like Webservices, JMS, FTP etc. The core concept of the ESB architecture is that you integrate different applications by putting a communication bus between them and then enable each application to talk to the bus. This decouples systems from each other, allowing them to communicate without dependency on or knowledge of other systems on the bus.

Q: What are the advantages of using an ESB ?
  • Provides a way for end points to connect to each other without having to directly talk to each other. It simplifies the communications for the end points as they only have to conform to a standard communication interface, the bus.
  • An ESB provides a single place to get some key end point metrics: frequency, availability, and performance.
  • An ESB tends to provide more than one communication interface. However, a developer only needs to choose the easiest one to get and receive the data from the bus.

Q: What are ESB Integration core principles?
  • A: Orchestration-Composing several existing fine-grained components into a single higher order composite service. This can be done to achieve appropriate "granularity" of services and promote reuse and manageability of the underlying components. Transformation-Data transformation between canonical data formats and specific data formats required by each ESB connector.
  • Transportation-Transport protocol negotiation between multiple formats (such as HTTP, JMS, JDBC).
  • Mediation-Providing multiple interfaces for the purpose of a) supporting multiple versions of a service for backwards compatibility or alternatively, b) to allow for multiple channels to the same underlying component implementation. This second requirement may involve providing multiple interfaces to the same component, one legacy interface (flat file) and one standards compliant (SOAP/XML) interface.
  • Non-functional consistency-For a typical ESB initiative, this can include consistency around the way security and monitoring policies are applied and implemented.

Q: How to find if project needs ESB?
ESB implementation is not suitable for all projects. Proper analysis should be done if the use of ESB will really benefit the project. Some of the points to be considered while analyzing the need of ESB are as follows-
  • If project requires integrating 3 or more applications/services. If the need is to communicate between 2 applications, using point-to-point integration would suffice.
  • If the project would need to be scaled in future where it might be needed to interact with more services in future. Not all projects need this as they may perform not that big a task.
  • If the project needs message routing capabilities such as forking and aggregating message flows. Such features are not required by all projects.
  • Is the architecture of what is to be achieved clear. Its much better to do simple POCs integrating small parts to evaluate the benefits.
  • Most ESBs are a costly affair. Does the project budget allow use of ESB.

Q: How to select an ESB?
  • A: Usability: How complicated is the installation process? The learning curve of the ESB should not be long.
  • Maintainability: How to monitor the product? If any GUI terminal is available for monitoring the services.
  • Community- Is there active community for the ESB. Various discussion forums, tutorials etc.
  • Enterprose Support- Is the product support reliable. What services are available.
  • Flexibility- Can the ESB be configured to meet the business requirements.
  • Reliability- The reliablity of the ESB. Its current users and various case studies if available.
  • Cost- The cost of the ESB. Its Licence policies. Support cose. etc.

Q: Different ESBs in the market? You have worked on which?
There are various ESB's available in the market. Some are opensource, some licenced
  • 1. Talend
  • 2. Mule ESB
  • 3. JBoss Fuse ESB
JBoss Fuse Interview Questions

See Also

Spring Boot Interview Questions Apache Camel Interview Questions Drools Interview Questions Java 8 Interview Questions JBoss Fuse Interview Questions Top ElasticSearch frequently asked interview questions Angular 2 Interview Questions