Monday, 21 September 2015

Basics to know about OSB11g

1.Why Oracle Service Bus 11g ? What are the Key Benefits and Advantages?

1. Service Virtualization : A core principle of SOA is to ensure that any service consumer can access any service provider - and from any platform. This has been considered as key principle in OSB and it provides robust way of Vitalizing the Service. It's a great value add in SOA Architecture.
2. Loose Coupling : OSB provides loose coupling by mediating between Service provided and Consumer. Without mediation Service consumer and provider will create dependency to each other. A change in single side provider/consumer will lead to the change dependent consumer/provider respectively. OSB bridges the gap of transport, message format, security technology etc.
3. Location Transparency : It's a strategy to hide physical location of actual physical location of service endpoints from the Service Consumer. All Service consumers should know only single logical machine & port name for each service. This allows for greater flexibility when managing your services. You can add, move, prioritize and remove service endpoints as needed without needing to recompile your service consumer again.
4. Seamless Connectivity : While newer applications may expose services over standard, easily consumable interfaces such as SOAP, an overwhelming majority of the services available in enterprises are still locked in legacy systems, from mainframes to custom applications. The first task of an OSB is to ensure that all these existing assets can be easily accessed and integrated. An OSB offers rich and comprehensive connectivity options to standard interfaces (SOAP, messaging, etc.) and also to packaged applications and legacy systems via adapters such Siebel Adapter, PeopleSoft Adapter etc.
5. Routing : After having a seamless connectivity next task is that data and messages need to flow reliably. OSB offers efficient, secure and reliable transport options. OSB also provides advance routing facilities to determine where the data needs to go. Such routing can be done based on headers, content or other external rules.
6. Performance : OSB is stateless & light weight; hence provide the excellent performance result under stress conditions as well.
7. Transformation : Oracle Service Bus provides run time transformation capability and support industry standard for middleware :XML, XSLT, XQuery & XPath.
8. Support for Event Driven Architecture : Oracle Service Bus support Oracle's latest Event Driven Architecture.
9. Security & Policy : OSB provides centralized way of implementing the Security for Integration which results into highest level of standardization and control on security issues. Security is best enforced using policy driven framework because it allows to implement security details outside of the Application & easy to maintain. This makes it complete pluggable component & highly Agile which can be changed without modifying the actual application as per the organization policy's and compliance.
10. Service Polling : Oracle Service Bus supports service polling. This allows to OSB to automatically detect live service and remove others from the list. This has a significant impact in performance.
11. Load balancing & Failover : Oracle Service Bus supports multiple load balancing algorithms to load balance between endpoints. It automatically detects a failover and removes it from Load balanced urls.
12. Service Throttling : Service throttling is a new feature in Oracle Service Bus which allows to restrict the load for particular service. This has great value when it comes to Service up time.
13. Monitoring : Oracle Service Bus provides two way monitoring.
Proactive Monitoring: Here Integrator can monitor the dashboard and check the performance of the service bus which can help to tune the server effectively. Tracking the server performance over time can help to plan capacity planning well in advance.
Reactive Monitoring: Here OSB will monitor the Server and look for specific conditions to occur and it will automatically sends the Alert to users, Admin etc. Alert can be in the form of Email, JMS, SMS etc.
14. Message Validation : Oracle Service Bus support normal data level value check validation as well as Schematron Validation.
15. Value Added Feature :
   a. Support for Domain Value Map
   b. Support for Cross Reference
   c. Support for Package application Adapters
   d. Support for Advance message formats such as SWIFT and FIX in financial Service Domain.

2.What is Proxy Service?
It is a service in OSB which is exposed to source system or calling applications or services. Proxy services are Oracle Service Bus definitions of intermediary Web services that Oracle Service Bus implements locally on Weblogic Server.

3.What is Business Service?
It is a service in OSB which is used to connect to target system.. Business services are Oracle Service Bus definitions of the enterprise services that exchange messages during business processes.

4.What is the EAI architecture OSB follows?
OSB follows the BUS architecture in EAI.

5.What does it mean by VETRO concept?
VETRO stands for
V - Virtualization
E - Enrichment
T - Transform
R - Route
O - Operate

6.What is the Difference between Route, Service Callout, Publish?
When you are first starting with OSB it can be a little tricky to determine when to use a Route, Service Callout or a Publish node. All three can be used to call either a Business service or a local Proxy service. You can use the following lists to determine which will best fit your needs.

   Route
      1. Last node in request processing. It can be thought of as a bridge between request pipeline processing and the response pipeline processing.
      2. You can only execute one route in your Proxy Service.
      3. Can only be created in a route node.
      4. OSB will wait for the Route call to finish before continuing to process.
       a. If you are calling a Business service and you specify Best Effort for QoS (Quality of Service), then OSB will release the thread it is holding while the business service executes.
         b. If you are calling a Business service and you specify Exactly Once or At Least Once for QoS, then OSB will hold onto the thread while the business service executes.
         c. If you are calling a local Proxy service, then OSB will hold onto the thread until the Proxy service finishes executing.

   Service Callout
      1. Can have multiple Service Callout nodes in a Proxy service.
      2. Pipeline processing will continue after a Service Callout.
      3. Can be invoked from the request and/or response pipelines.
      4. Used to enrich the incoming request or outgoing response. For example, a call to get a country code.
      5. Used for real time request/response calls (Synchronous calls).
      6. OSB will hold a thread and not continue until the Service Callout completes.
      7. Can tie up resources and degrade performance under heavy loads.

   Publish
      1. Can be synchronous or asynchronous
         a. If you are calling a business service with a Quality of Service of Best Effort , then it will be an asynchronous call.
       b. If you call a business service with a Quality of Service of Exactly Once or At Least Once, OSB will wait until the processing completes in the business service completes before proceeding and it is effectively a synchronous call.
         c. If you are calling a local proxy service, OSB will wait until the processing in the local proxy service completes and it is effectively a synchronous call.
      2. Can be invoked from the request and/or response pipelines.
      3. Best to use when you do not need to wait for a response from the process you are calling (Fire and Forget.... Asynchronous Calls)

6.To connect to source system which service we will use? To connect to target system which service we will use?
we will use Proxy service to connect to Source system. we will use Business service to connect to target system.

7.What is Message Flow?
Message flow is there in proxy service, We do all types of transformation, routing and other processing message flow only.

8.Do we have global variable in OSB (Can we access variable which is defined in proxy service message flow from other proxy service message flow)?
No, we can't access variable in proxy service message flow from other proxy service message flow.

9.Can we use direct bindings to call SOA composites?
Yes, we can direct binding-bindings to call SOA composites along with SOAP bindings.

10.Where the file will go if there is any error while polling the file?
During configuring file or ftp protocol in OSB, we need to specify error directory, so you can see file to that directory if file polling failed.

11.Why we use Split-Joins in OSB?
To do parallel processing.

12.How can you achieve parallel processing in Oracle Service Bus?
Oracle Service bus has the Split Join capability. A request can be broken to multiple child's each of which can be processed parallel and the results can be joined and then sent to requester.

13.Types of Split-Joins?
Static and dynamic.

14.How to call Java code from OSB?
By using Java callout activity.

15.Can we use more than one route node in message flow?
No, we can't we use more than one route node in proxy service message flow.

16.When we call asynchronous service from OSB then how to get response back from that asynchronous service to OSB?
Design the proxy service which in turn calls business service which in turn calls asynchronous service. In the message flow of this proxy change the message header to below. You need to specify ReplyTo value so that asynchronous service response came to CallSyncCompositeProxy proxy service.
     <soap-env:Header xmlns:ns1="http://schemas.xmlsoap.org/ws/2003/03/addressing">
        <ns1:MessageID>ws:uniqueAddress
        <ns1:ReplyTo>
          <ns1:Address>http://localhost:8011/CallAsyncService/proxyServices/CallSyncCompositeProxy
        </ns1:ReplyTo>
     </soap-env:Header>

Remember ReplyTo address refers to CallSyncCompositeProxy endpoints.

17.What is throttling in OSB?
Throttling means we want to process certain messages in one time, then we need to set some parameters in OSB to do the required task.

18.to transform from binary to XML or XML to binary format what we will in OSB?
we use MFL.

19.can we use MDS in OSB?
No, Oracle Service Bus does not support MDS.

20.Can we use DVM's in Oracle Service Bus11g?
No, we can't use DVM's in Oracle Service Bus11g.

21.How Security works in OSB?
Oracle Service Bus leverages Weblogic Security Framework.

22.Can we use OWSM to secure OSB services?
Yes, we can use OWSM to secure OSB services.

23.To secure OSB proxy service, which OWSM policy you will use?
To secure OSB proxy service, we use OWSM service side policy.

24.Can we invoke secure web service from OSB?
Yes, we can use OWSM client policy and invoke secure web service from OSB.

25.When we use service Account?
We use Service Account when we are invoking a service which required static authentication.

26.Can we re-use Service Account for other Business Services as well?
Yes, we can re-use the Service Account.

27.What is Transport-Level Security?
It refers to transport protocol security means secure the connection over which messages are transferred. E.g. HTTPS means HTTP over SSL.

28.What is Message-Level security?
Message level security is used when we want to protect the message exchanged between two applications.

29.What is Service pooling in OSB?
In OSB we can group together more than one service so that whenever one service goes down, request will route to next available service and end user can continue his work without any interruption. For more details, you can refer my below post. http://soawork.blogspot.com/2014/06/service-pooling-in-osb.html

30.How file pooling works in OSB?
There are two ways to poll a file in OSB.
Use OSB file protocol: We can use file protocol available in proxy service to poll the file.
Use File adapter: we can create file adapter in Jdeveloper and import JCA, WSDL & XSD file of that adapter into OSB and generate proxy service from that.

31.Types of pipeline available in OSB?
We have two pipelines in OSB, Request and Response pipeline.

32.Can we invoke Restful service from OSB?
Yes, we can invoke Restful service from OSB.

33.When we use service Account?
We use Service Account when we are invoking a service which required static authentication.

34.We don't have any DB protocol in OSB then how to read/write data from database using OSB?
We can use database adapter to read/write data from database. We can create database adapter in Jdeveloper, import adapter JCA,WSDL & XSD files to OSB and generate proxy or business service as per our requirement.

35.How to perform file listing in OSB?
To perform file listing in OSB, you need to create file adapter with file listing operation in Jdeveloper and use that only.

36.What is Service Result caching in OSB?
Service Result Caching is one of the options that you can use when you want to improve Oracle Service Bus performance. Service Result caching is used when we have business service which connects to external service which returns somewhat static response. So by using Service Result Caching we don't hit external service for same request instead it will take the response from cache which improve the OSB performance.

37.How to perform Service Callout in OSB?
We use Service Callout option inside Oracle Service Bus to call any service inside message flow to get the required data.

38.When we invoke proxy 2 from proxy 1 then which protocol we need use?
When there is internal proxy call in OSB then we use "local" transport instead of HTTP.

39.What is content based routing in OSB?
When we route the request message to different business services based on request message content, that is called content based routing.

40.What are the different options available in OSB to read flat file?
We can read flat file in two different ways. 
Using MFL: we can MFL in OSB to read flat files.
File Adapter: Create file adapter which read flat file in Jdeveloper, copy JCA, WSDL & XSD file of file adapter in OSB and create proxy service which will read that flat file.

41.What is SLA alert in OSB?
A service-level agreement (SLA) is a contract between a service provider and a service consumer. In OSB monitoring framework we have SLA alerts which come into picture when there is violation of service level agreements.

42.How to move large file without reading it in OSB?
In Oracle SOA Suite we use "Move" operation to move large files from one location to another. But in Oracle Service Bus we don't have that option available. But we can use Content Streaming option available for file protocol in OSB to move large files.

43.Can we expose any Business Service to external clients or subscribers?
No, we cannot expose Business Services to external clients or subscribers. We need Proxy Services to expose to external world.

44.Can we have Proxy Services without Business Services?
Yes we can have Proxy Services without Business Services , but that will be just a dummy service. EIS layer cannot be connected using that Proxy Service.

45.What is the message flow in Proxy Services ?
Message flow in OSB is the most important part. It defines the request message flow from Start Node to Route activity and also defines the response message flow from Route to Start Node. It contains Pipeline Pairs, Branch Nodes, Route Nodes , Stages, Actions etc.

46.What are stages ?
Stages are OSB Message Flow component to contain the actions.

47.How we can connect to Database from OSB?
We need to first create one JCA based DB adapter to connect to the database. Then we need to create that JCA based Business Service. We need to call that Business Service to perform database operations.

48.Is there any other way to connect to Database without using JCA adapters?
Yes we can use XQuery execute-sql() function to connect to database. But it is better to use JCA adapters.

49.How we can achieve parallel processing in OSB?
SPLIT JOINS are meant for parallel processing. So we need to implement Split - Join resources to achieve parallel processing.

50.What are the transformation resources available in OSB?
In OSB we can use XQuery or XSLT for transforming messages.

51.How to poll file in OSB?
The proxy service should be using file transport, and also define the required components like File Mask, Polling Interval, Read Limit, Post Read Action etc.

52.Can we achieve REST implementation in OSB?
Yes we can achieve REST service implementation in OSB. It can be implemented using Branch Nodes.

53.What is Pipeline Error Handler?
Pipeline Error Handlers are used to handle the errors occurred in Request or Response Pipeline.

54.How can you end a Proxy flow without using if then else logic ?
You have to use Reply (with Success)action to end the Proxy Flow where you want.

55.For a JMS Queue Subscriber Proxy Service how can you ensure that the JMS Message is retried if an error occurs during processing?
One XA Connection Factory should be created to access that JMS queue and that Connection Factory should be used in the URL.

56.How can you jump control from one stage to next stage without using if then else logic?
You have to use Skip action at the end of the stage.

Monday, 17 August 2015

SOA Internals

For personal use only...

What is SOA?
SOA is an architecture for building applications using reusable, interoperable services which have well defined business functionalities and can be orchestrated to achieve a specific functionality by utilizing them together.

4 facts you should know about SOA Services 
 1.       SOA separates business functions into services (endpoints), which are made accessible over a network in order to allow users to combine and reuse them in their applications.
 2.       The SOA services can be developed in different languages and OS’es as long as they follow the SOA principles. 
3.       Services are unassociated and loosely coupled units that do not directly rely on each other for their full functioning. Rather than services embedding calls to each other in their source code, they use defined protocols that describe how services pass and parse messages using description metadata.
 4.       Orchestration is a process where business functionality from various services are combined in a system fully aware of all available services and the associated metadata that defines these services and their characteristics.

SOA principles
SOA principles were first defined by Thomas Erl. These 8 principles are underlying to any good architecture that utilizes SOA design to build their products and services:

1.       Standardized service contract: Services adhere to a communications agreement, as defined collectively by one or more service-description documents. 
2.       Service loose coupling: Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other.  
3.       Service abstraction: Beyond descriptions in the service contract, services hide logic from the outside world.  
4.       Service reusability: Logic is divided into services with the intention of promoting reuse. 5.       Service autonomy: Services have control over the logic they encapsulate.
 6.       Service statelessness: Services minimize resource consumption by deferring the management of state information when necessary
 7.       Service discoverability: Services are supplemented with communicative meta data by which they can be effectively discovered and interpreted.
 8.       Service composability: Services are effective composition participants, regardless of the size and complexity of the composition.

Explain some of the common terms in a SOA based architecture
SOA registry is a metadata store for services which describes what each services can do, their location, and communication protocol.
 SOA workflow helps define work flow using the services in a SOA registry.
 Service broker reads the work flow and takes services from the SOA registry and ties them together.
 SOA supervisor ensures that services do not have issues. It deals mainly with performance issues of the system so that appropriate service levels are met.
Service Contract
Service Contract defines the “What” of a service. Think of it as a contract agreement (aka protocol) between the service and the consuming application (aka client). More specifically, it describes parameters and return values for a method.
Service Address
Service Address defines the “Where”. In other words, where can the clients find this service. Address is a URL, which points to the location of the service.
Service Binding
A Service can offer many different bindings. Bindings are the “How” you connect, access and communicate with the service. For example, SOAP over HTTP or BINARY over TCP.

What is singleton Property in SOA?
      In the clustered environment when the processing of the message should happen via only one SOA managed server, then the property singleton needs to be defined at the adapter level.
  
      What is a pick activity? Can I have a pick activity with no onMessage branch?  
     Pick activity picks the messages from service (Source) which has multiple operations or the BPEL process needs to receive the messages from multiple source system. Pick activity should have at least on Message branch.
      What is a flow activity? What is a flowN activity and how does it leverages the flow activity?
F   Flow activity is used, when parallel execution of the flow is needed and to use this property “non blocking invoke should be set as true “at the partner link level and no. of execution of parallel flow is defined and static. Where as in Flown the no. of execution of parallel flow is not static and it is determined during run time.
   What do you mean by non-idempotent activity? Which all activities are non-idempotent by default?   
    Activities like Pick, Wait, receive, reply and checkpoint() are called non-Idempotent activity and during the execution of the process whenever these activities are encountered then it gets dehydrated to the dehydration store.
      How can we embed or use a java code in BPEL?
      Using JAVA embedding activity in BPEL,Java code can be embedded in BPEL and can be used.
  
     How does pick activity differ from a receive activity?
     Pick activity can act as a multiple receive activity in some business scenarios.If we have two inbound operations and both can trigger the bpel process then we will go with pick activity as we can’t have two receive activity with create Instance box checked.
     How can we make a partner link dynamic?
      If we have to send the request to different service which has the same wsdl then dynamic partner link will be used and using addressing schema we can set the endpoint dynamic to send the request to the desired service.
     What is a nonBlockingAll property?
    Non- blocking invoke is used when Parallel flow needs to be executed where new thread will be created for each invoke a activity and which will execute simultaneously.
      What is getPreference property? How do we set it and what advantage it provides?
     Hard coding is not a good practice, so to avoid  hard coding preference variable can be used and the value of the preference variable is accessed using getPreference().The preference variable value can be changed without re-deploying the code via em console MBean property.
      How can we improve the performance of an XSL file?
     By avoiding use of various if statements and using choose, and by using for-each group in place of for-each.
      How do we handle transactions in BPEL?
      Property needs to be defined to start the new transaction/to continue with the same transactions
      Property Name: Transaction and if this has value as required then the BPEL process will be continued in the same transaction where as if the value is defined as requiresnew then it will start the new transaction.
     What are transient and durable BPEL processes?   
     Durable:-It is long running process and initiated through a one-way invocation and do  incur one or more dehydration points in the database during execution Ex: Asynchronous
    Transient:-It is short-lived process, request-response style processes and do not incur dehydration during their process execution Ex: Synchronous.
      When u will go for Sync process?
     Whenever the services returns the response in few seconds, it is recommended to go for synchronous BPEL process if not the BPEL process should be Asynchronous the reason is calling application can’t proceed further in case of synchronous process.
     What is a syncFileRead operation? Is a inbound or a outbound operation? Can my process begin with syncFileRead operation?
     When file has to be read in the mid of the BPEL process, then we will use syncFileRead Operation, means some process should initiate the file read process and it is an outbound operation and process can’t begin with Sync File read.
      Can we use a File Adapter to get a file without reading its content?
     Yes, by selecting the Do not read file content check box in the JDeveloper wizard while configuring the "Read operation."
      How to increase performance increase in bpel (Db Adapter/file adapter)?
      We can increase the performance by writing indexes and sequences.
      (Or) Go to application server --- >Configurations ----- > Change Xml file
    Explain error handling in BPEL and what is a error handling framework? How does a error handling  framework better than simple error handling in BPEL?   
     EHF –Whenever any error thrown by the BPEL process/Mediator then EHF will check whether exist in  Fault-Bindings.xml files and if  so  then the  action in the Fault-Policy.xml file will be taken and if the action is not found then the fault will the thrown and it will be handled in the catch block.
      How do we resubmit a faulted process?  
S  Scenario A: The BPEL code uses a fault-policy and a fault is handled using the “ora-human-intervention” activity, then the fault is marked as Recoverable and the instance state is set to “Running”.
    Scenario B: The BPEL code uses a fault-policy and a fault is caught and re-thrown using the “ora-rethrow fault” action, then the fault is marked as Recoverable and the instance state is set to “Faulted”; provided the fault is a recoverable one (like URL was not available).
       Predefined errors in BPEL?
·             Custom errors
·             Timed out errors
·             BPM errors
·             Validation Errors
      What is a throw activity? What it is ?
     Throw activity will explicitly throw the fault and this fault will get caught by the catch block and the corresponding actions will get executed.
     What is Web service?
    Web services are application components, which are self-contained and self-describing and provide services based on the open protocol communication (i.e. SOAP UI, HTTP over the net).
     Difference between URI and URL?  
     A URI is an identifier for some resource, but a URL gives you specific information as to obtain that resource. A URI is a URL and as one commenter pointed out, it is now considered incorrect to use URL when describing applications. Generally, if the URL describes both the location and name of a resource, the term to use is URI. Since this is generally the case most of us encounter every day, URI is the correct term.
     What is Mediator?
     The Mediator is in charge of interconnecting, within an SOA composite application, components that expose different interfaces. In addition, the Mediator can perform duties such as filtering and making routing decisions.
     The composite editor in JDeveloper gives you the flexibility to define the interface now, to choose an existing interface, or to define the interface later as you wire components to the Mediator.
     Transforming data from one representation to another is, along with routing, one of the key functions of the Mediator.
     Difference between ESB and Mediator?
In 10g for routing, separate router need to keep along with ESB for routing and filter expressions. Where as in 11g mediator contains routing rules and filter expressions itself.

      What is the difference between concrete and abstract wsdl?
     Concrete: Besides the information about how to communicate to the web service, it the information on where the service exist. It has Bindings (Protocol the message should be sent) and Services(has endpoint for each bindings) .
   Abstract: It has information about how to communicate to the web service like types (Schema), Message (input and output messages service accepts) ,Operations (operation that can be performed on this service) and port Type.
     What is SOAP and what are the binding protocols available?
    Simple object access protocol and it is a protocol specification for the communication happens between the web services over the network and binding protocol is HTTP.
     What is the difference between Async and Sync activity on wsdl level?
·               Async wsdl-It has only input messages for the operation and it has 2 operations one for sending the request and other for call back.Sync wsdl-It has 2 messages input and output messages for the wsdl operation.
    What are the WSDL structure?
    Following are the wsdl structure
·                definitions
·                Types
·                Messages
·                Operation
·                Port type
·                Bindings
·                Services
·               
      What is the significance of target Namespace in a wsdl?
     It is the one which uniquely identifies the WSDL and when the WSDL is used it should be identified using its Target Namespace.
      What is structure of SOAP message?
     The structure of a SOAP message: A SOAP message is encoded as an XML document, consisting of an element, which contains an optional element, and a mandatory element. The element, contained within the , is used for reporting errors.
     The SOAP envelope-The SOAP is the root element in every SOAP message, and contains two child elements, an optional and a mandatory.
     The SOAP header-The SOAP is an optional sub-element of the SOAP envelope, and is used to pass application-related information that is to be processed by SOAP nodes along the message path.
    The SOAP body-The SOAP is a mandatory sub-element of the SOAP envelope, which contains information intended for the ultimate recipient of the message.
     The SOAP fault-The SOAP is a sub-element of the SOAP body, which is used for reporting errors.
     Why do we need to have messages in WSDL, aren't operations and types enough to describe the parameters for a web service?
    Messages consist of one or more logical parts. Each part is associated with a type from some type system using a message-typing attribute. The set of message-typing attributes is extensible.
·   The element describes the data being exchanged between the Web service providers and consumers.  Each Web Service has two messages: input and output.
·    The input describes the parameters for the Web Service and the output describes the return data from the Web Service.
·    Each message contains zero or more parameters, one for each parameter of the Web Service's function.
·   Each parameter associates with a concrete type defined in the container element. So describing the parameters cannot performed by operations and types this is the main need of Messages.
      What is a inline schema?
      Schemas can be included inside of XML file is called Inline Schemas.
      What is the difference between xsd:import and xsd:include?
    The fundamental difference between include and import is that you must use import to refer to declarations or definitions that are in a different target namespace and you must use include to refer to declarations or definitions that are (or will be) in the same target namespace.
      What is BAM?
     Business Activity Monitoring is a tool that is useful in monitoring business services and processes. It actively collects data, applies rules and reports information to users. When something goes wrong in business processes, BAM can be configured to take corrective measures such as emailing administrators/support team.
      How to send the data to BAM from SOA?
    The Oracle BAM Adapter is a Java Connector Architecture (JCA)-compliant adapter which can be used from a Java EE client to send data and events to the Oracle BAM Server. Oracle BAM Adapter is configured in Oracle Weblogic Server Administration Console to provide any of these connection pools. Oracle BAM Adapter provides three mechanisms by which you can send data to Oracle BAM Active Data Cache from an SOA composite application.
     What are the ways to publish the data to BAM?
     There are two ways to publish the data to BAM
·            BAM Adapter.
·            BAM Sensor activity level.
     What are the roles in BAM?
·            Architect
·            Administrator
·            Active Viewer
·            Active Studio
     What is forward delay in JMS Queue?
    In the clustered environment where JMS queues are used, when for the queues in any one of the Managed server doesn’t have the consumer, once messages reaches  the forward delay time it gets moved  to the other managed server where consumer is present.
      What is redelivery limit in JMS Queue?
     When the message gets failed to get processed ,then it will be re-tried will the redelivery limit exhausts and once after the redelivery limit the message can b e either moved to the error Queue are it can be discarded.
      What is timetodeliver in JMS Queue?
    When Messages enqueued to the JMS queue, it will be immediately consumed by the JMS Subscribers, if any delay needs to be induced for the message consuming by the Subscribers then timetodelivery needs to set. The JMS message will not be subscribed until timetodelivery exhausts.
      Difference between JMS Queues and Topics?
      Queue-Message will be subscribed by one subscriber.
      Topic-Message will be subscribed by more than one subscriber.