Fuse ESB Interview Questions
What is the full form of OSGi?
Open Source Gateway initiative
What is ESB?
An ESB is a standards based integration platform that combines messaging, webservices , datatrans formation, and intelligent routing to reliably connect and coordinate the interaction of significant numbers of diverse applications across extended enterprises with transactional integrity.
Name the different containers which Jboss Fuse support?
JBoss Enterprise Application Platform
Explain Apache Camel
Red Hat JBoss Fuse utilizes Apache Camel for building integration and routing solutions using Enterprise Integration Patterns (EIPs). Each route defines an integration path between endpoints, where a system can either send or receive messages, and while data is in these routes it may be transformed, validated, intercepted, and so on. Routes may change endpoints dynamically, either as additional bundles are activated, based on the content of the message, or through additional methods. With over 140 defined endpoints Red Hat JBoss Fuse allows for integration with a variety of services immediately upon deployment.
Name the different components of Jboss Fuse?
Explain Apache CXF
Red Hat JBoss Fuse's embedded Web and RESTful services framework is based on Apache CXF, and provides a small footprint engine for creating reusable web services along with service-enabling new and legacy applications as part of an integration solution. Red Hat JBoss Fuse supports a variety of standards and protocols for creating web services, such as SOAP and WSDL among others, and allows for Contract-first or Code-first development with JAX-WS. In addition, Red Hat JBoss Fuse provides a standard way to build RESTful services in Java with JAX-RS.
Explain Apache ActiveMQ
Red Hat JBoss Fuse's embedded messaging service is based on Apache ActiveMQ. It supports the standard JMS 1.1 features and provides a wide range of extended JMS features for building robust and reliable messaging applications. Red Hat JBoss Fuse consists of both a messaging broker and client-side libraries that enable remote communication among distributed client applications. Red Hat JBoss Fuse supports Point-to-Point and Publish/Subscribe messaging along with both persistent and nonpersistent messages; in addition, ActiveMQ can be scaled both vertically and horizontally to allow for processing of a large volume of messages for a large number of concurrently connected clients.
Fuse Fabric is a technology layer that allows a group of containers to form a cluster that shares a common set of configuration information and a common set of repositories from which to access runtime artifacts. This allows one to run several containers either on your own hardware or in the open hybrid cloud, and allows for configuration management, service discovery failover, load balancing, centralized monitoring among other benefits.
Switchyard is a lightweight service delivery framework providing full life-cycle support for developing, deploying, and managing service-oriented applications. It allows you to deploy and run services with limited dependencies, and consists of components such as composite services and composite references.
Explain Apache Karaf
Red Hat JBoss Fuse is based on Apache Karaf, a powerful, lightweight, OSGi-based runtime container for deploying and managing bundles to facilitate componentization of Red Hat JBoss Fuse
applications. Red Hat JBoss Fuse also provides native OS integration and can be integrated into the operating system as a service so that the lifecycle is bound to the operating system. Furthermore, Red Hat JBoss Fuse extends the OSGi layers with an extensible console for managing applications and administering instances, a unified logging subsystem supported by Log4J, both manual and hot deployment of OSGi bundles,and multiple mechanisms for installing applications and libraries among others.
Explain JBOSS EAP
Red Hat JBoss EAP 6 is a JEE certified container that leverages a flexible, modular architecture, and it integrates EJB components, web services, security, and clustering. By utilizing a JEE container you have full access to JEE components such as persistence and the injection framework.