Oracle OSB-SOA-BPEL Interview Question and Answer – Part 14

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 :

Happy Coding !!
Happy Learning !!

Oracle OSB-SOA-BPEL Interview Question and Answer - Part 15
Oracle OSB-SOA-BPEL Interview Question and Answer - Part 13