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. 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
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)
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.
<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.
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.
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.