Q: What is an ESB? Have you deployed camel on any ESB?
A: 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. Have deployed JBoss Fuse
ESB for Apache Camel Deployement.
Code example for Apache Camel Deployment on JBoss Fuse are available here
Q: What is Apache Camel ?
A: In an enterprise, a number of systems of different types exist. Some of these may be legacy systems while some may be new. These systems often interact with each other,and need to be integrated. This interaction or integration is not easy as the implementations of the systems, their message formats may differ. One way to achieve this is to implement code which bridges these differences. However this will be point to point integration. If tomorrow again if there is change in a system the other might also have to be changed which is not good. Instead of this point to point integration which causes tight coupling we can implement an additional layer to mediate the differences between the systems. This results in loose coupling and not affect much our existing systems. Apache Camel is a rule-based routing and mediation engine that provides a Java object- based implementation of the Enterprise Integration Patterns using an API (or declarative Java Domain Specific Language) to configure routing and mediation rules.
Apache Camel Interview Questions
Q: What is OSGi?
A: OSGi stands for Open Source Gateway initiative. It provides the benefits-
A portable and secure execution environment based on Java
A service management system, which can be used to register and share services across bundles and decouple service providers from service consumers
A dynamic module system, which can be used to dynamically install and uninstall Java modules, which OSGi calls bundles
A lightweight and scalable solution
Q: How is OSGi implemented for Jboss Fuse?
A:By deplying the application as bundles.
Q: How is the application deployed as Bundles?
A:This is achieved by using the Apache Felix Plugin.
Example for deployment details as bundle using Apache Felix
Code example for Apache Camel Deployment on JBoss Fuse are available here
Q: What is Apache Camel ?
A: In an enterprise, a number of systems of different types exist. Some of these may be legacy systems while some may be new. These systems often interact with each other,and need to be integrated. This interaction or integration is not easy as the implementations of the systems, their message formats may differ. One way to achieve this is to implement code which bridges these differences. However this will be point to point integration. If tomorrow again if there is change in a system the other might also have to be changed which is not good. Instead of this point to point integration which causes tight coupling we can implement an additional layer to mediate the differences between the systems. This results in loose coupling and not affect much our existing systems. Apache Camel is a rule-based routing and mediation engine that provides a Java object- based implementation of the Enterprise Integration Patterns using an API (or declarative Java Domain Specific Language) to configure routing and mediation rules.
Apache Camel Interview Questions
Q: What is OSGi?
A: OSGi stands for Open Source Gateway initiative. It provides the benefits-
A portable and secure execution environment based on Java
A service management system, which can be used to register and share services across bundles and decouple service providers from service consumers
A dynamic module system, which can be used to dynamically install and uninstall Java modules, which OSGi calls bundles
A lightweight and scalable solution
Q: How is OSGi implemented for Jboss Fuse?
A:By deplying the application as bundles.
Q: How is the application deployed as Bundles?
A:This is achieved by using the Apache Felix Plugin.
Example for deployment details as bundle using Apache Felix
Q: What are the
differences between Camel Spring and Blueprint xml configuration?
A:
A:
Camel Spring
|
Blueprint xml
|
Spring DM is a framework defined
by Spring Source.
|
Blueprint is a framework defined
by the OSGi Alliance.
|
When new dependencies are
introduced in blueprint through XML schema namespaces, blueprint has the
capability to resolve these dependencies automatically at run time.
|
When packaging your project as an
OSGi bundle, Spring requires you to add new dependencies explicitly to the
maven-bundle-plugin configuration.
|
Default Configuration Location META-INF/spring.
|
Default Configuration Location OSGI-INF/blueprint.
|
Custom Locations Header Spring-Context.
|
Custom Locations Header Bundle-Blueprint.
|
different namespaces likehttp://camel.apache.org/schema/spring.
|
schema namespaces likehttp://cxf.apache.org/blueprint/core.
|
Q: What is Fabric?
A: Fuse Fabric is an open-source integration platform for deep management of Java Containers (JVMs). It is a supported component of the JBoss Fuse Platform. Fuse Fabric makes it really easy to provision, automate, configure, and manage from a central location with a consistent User Interface and User Experience.
Q: What is Switchyard?
A: SwitchYard is a component-based development framework focused on building structured, maintainable services and applications using the concepts and best practices of SOA. It works with Apache Camel to provide a fast, simple, flexible integration runtime with comprehensive connectivity and transports.
Q:What is Apache Karaf?
A: Apache Karaf is an OSGi based runtime, it is where our Application bundles run. Fuse uses Apache Karaf as its runtime in which bundles run and collaborate to provide business functionality.
Q: Have you exposed a webservice endpoint using apache camel and deployed it on JBoss Fuse?
A: Yes. Using Apache CXF exposed a webservice to be consumed. Used Contract first approach to generate the classes from wsdl.
Apache Camel + Apache CXF SOAP Webservices
Q: Have you exposed a REST webservice endpoint using Apache Camel?
A: Yes. Using Apache CXF exposed a REST Endpoint. This can be done using either JAX-RS or CXFRS
Apache Camel + JAX-RS REST Webservice
Apache Camel + CXFRS REST Webservice
No comments:
Post a Comment