In this article, we will discuss interview question with their justification on Oracle OSB, SOA and BPEL
This is part-14 of Oracle OSB-SOA-BPEL interview question series
Q) What are the types of Rejection Message Handler ?
- Web Service Handler
- Custom Java Handler
- JMS Queue
- File
Q) Difference between queue and topic in JMS ?
Q) What is the difference between topic and queue ?
- A topic is typically used for one-to-many messaging i.e. it supports publish subscribe model of messaging
- While queue is used for one-to-one messaging i.e. it supports Point to Point Messaging
Q) Explain JMS Queue & JMS Topic ?
JMS queue:
- A staging area that contains messages that have been sent and are waiting to be read
- Note that, contrary to what the name queue suggests, messages have to be delivered in the order sent
- A JMS queue only guarantees that each message is processed only once
JMS topic:
- A distribution mechanism for publishing messages that are delivered to multiple subscribers
Q) Explain JMS Adapter ?
JMS adapters used one client interface to many messaging servers
JMS supports two messaging paradigms :
- point-to-point (queues) and
- publish/subscribe (topics)
Point-to-Point :
- In point-to-point messaging, the messages are stored in a queue until they are consumed
- One or more producers write to the queue and one or more consumers extract messages from the queue
- The JMS consumer sends an acknowledgment after consumption of a message;
- this results in purging of the message from the queue.
Publish/Subscribe :
- In publish/subscribe messaging, producers publish messages to a topic and the consumer subscribes to a particular topic
- Many publishers can publish to the same topic, and many consumers can subscribe to the same topic
- All messages published to the topic by the producers are received by all consumers subscribed to the topic
- By default, subscribers receive messages only when they are active
- However, JMS API supports durable subscriptions that ensure that consumers receive messages that were published even when they are not up and running
- The durable subscription involves registering the consumer with a unique ID for retrieving messages that were sent when the consumer was inactive
- These messages are persisted by the JMS provider and are either sent to the consumer when it becomes active again or purged from storage if the message expires
- The JMS producer can be set either to persistent or non-persistent mode
- The messages are not persisted in the latter case and can be used only for nondurable subscriptions
Q) What are the steps in configuring JMS Adapter ?
Before using JMS Adapter in the SOA Composite (message producer & message consumer), you have configure
- JNDI name such as Queue or Topic (Destination)
- Connection Factory
- JMS Connection pool & associate this with above connection factory
Destination & Connection Factory:
- The destination property contains the addressing information for a JMS queue or topic. The connection factory is used to create JMS connections.
JNDI name & Connection Factory configuration steps:
- Login to console
- Go to Services –> Messaging –> JMS Modules
- Select one of the three options and details such as JNDI name
- Connection factory eg.; jms/demoCFactory
- Queue eg.; jms/demoTopic
- Topic eg.; jms/demoQueue
Connection Pool:
- Connections represent a physical connection to the JMS provider
Step1: JMS Adapter Connection Pool configuration steps:
- Login to console
- Locate/select/click JmsAdapter under Deployments
- Select new under oracle.tip.adapter.jms.IJmsConnectionFactory
- Provide the JNDI name e.g.; eis/demo/Queue
Step2: Associating JMS Connection Pool with Connection factory
- Follow the above steps
- Locate the connection pool for which you want to associate the connection factory
- In the Outbound Connection Properties set Connection Factory JNDI name (created under Connection Factory configuration) in the property “ConnectionFactoryLocation”
Configuring JMS Adapter :
In the JMS Adapter configuration wizard, set Destination name such Queue/Topic & JNDI name of the JMS Connection Pool.
Operation Type under this wizard is:
- Consume Message
- Produce Message
- Request/Reply
NOTE: all adapters in Oracle SOA suite are based on JCA framework
Q) Why do we use a JMS queue? What is the benefit of using it over a simple AQ queue ?
- Maintain JTA transaction capability and to ensure one and only one message delivery
Q) How will use Database adapter in OSB? Configuration details ?
- As such directly you don’t have the DB adapter in OSB
- First you need to create a DB Adapter in JDeveloper & then in OSB import (either all projects or simply the required files such .jca, .wsdl, .xsd files)
- AND later you implement/create Business Service using these details and in the end create an intermediary interface i.e.;
- proxy service & configure your message flow definition
Folks, it’s your turn to comment & suggest for improvement
Note: We have taken inputs from various folks and other weblog for making this comprehensive set of Oracle SOA-OSB interview & answers
Related Articles :
- Oracle OSB-SOA-BPEL Interview Question Index
- Oracle OSB Tutorials Index
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 1
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 2
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 3
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 4
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 5
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 6
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 7
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 8
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 9
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 10
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 11
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 12
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 13
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 15
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 16
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 17
Happy Coding !!
Happy Learning !!