What are the different Design Patterns in XML schema ?
Design Patterns in XML Schemas :
Russian Doll : Contains only one global element. All other elements are local.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.sun.com/point/russiandoll"
xmlns:tns="http://schemas.sun.com/point/russiandoll"
elementFormDefault="qualified">
<xsd:element name="Line">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="PointA">
<xsd:complexType>
<xsd:attribute name="x" type="xsd:integer"/>
<xsd:attribute name="y" type="xsd:integer"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="PointB">
<xsd:complexType>
<xsd:attribute name="x" type="xsd:integer"/>
<xsd:attribute name="y" type="xsd:integer"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Salami Slice : Contains all global elements, hence many potential root elements.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.sun.com/point/salami"
xmlns:tns="http://schemas.sun.com/point/salami"
xmlns="http://schemas.sun.com/point/salami"
elementFormDefault="qualified">
<xsd:element name="PointA">
<xsd:complexType>
<xsd:attribute name="x" type="xsd:integer"/>
<xsd:attribute name="y" type="xsd:integer"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="PointB">
<xsd:complexType>
<xsd:attribute name="x" type="xsd:integer"/>
<xsd:attribute name="y" type="xsd:integer"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="Line">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="PointA"/>
<xsd:element ref="PointB"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Venetian Blind : Is an extension of Russian Doll and contains only one global element. All other elements are local.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.sun.com/point/venetianblind"
xmlns:tns="http://schemas.sun.com/point/venetianblind"
xmlns="http://schemas.sun.com/point/venetianblind"
elementFormDefault="qualified">
<xsd:complexType name="PointType">
<xsd:attribute name="x" type="xsd:integer"/>
<xsd:attribute name="y" type="xsd:integer"/>
</xsd:complexType>
<xsd:element name="Line">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="PointA" type="PointType"/>
<xsd:element name="PointB" type="PointType"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Garden of Eden : Is a combination of Venetian Blind and Salami Slice. All elements and types are global, hence many potential root elements.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.sun.com/point/gardenofeden"
xmlns="http://schemas.sun.com/point/gardenofeden"
elementFormDefault="qualified">
<xsd:complexType name="PointType">
<xsd:attribute name="x" type="xsd:integer"/>
<xsd:attribute name="y" type="xsd:integer"/>
</xsd:complexType>
<xsd:complexType name="LineType">
<xsd:sequence>
<xsd:element ref="PointA"/>
<xsd:element ref="PointB"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="PointA" type="PointType"/>
<xsd:element name="PointB" type="PointType"/>
<xsd:element name="Line" type="LineType"/>
</xsd:schema>
Design Patterns in XML Schemas :
Russian Doll : Contains only one global element. All other elements are local.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.sun.com/point/russiandoll"
xmlns:tns="http://schemas.sun.com/point/russiandoll"
elementFormDefault="qualified">
<xsd:element name="Line">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="PointA">
<xsd:complexType>
<xsd:attribute name="x" type="xsd:integer"/>
<xsd:attribute name="y" type="xsd:integer"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="PointB">
<xsd:complexType>
<xsd:attribute name="x" type="xsd:integer"/>
<xsd:attribute name="y" type="xsd:integer"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Salami Slice : Contains all global elements, hence many potential root elements.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.sun.com/point/salami"
xmlns:tns="http://schemas.sun.com/point/salami"
xmlns="http://schemas.sun.com/point/salami"
elementFormDefault="qualified">
<xsd:element name="PointA">
<xsd:complexType>
<xsd:attribute name="x" type="xsd:integer"/>
<xsd:attribute name="y" type="xsd:integer"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="PointB">
<xsd:complexType>
<xsd:attribute name="x" type="xsd:integer"/>
<xsd:attribute name="y" type="xsd:integer"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="Line">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="PointA"/>
<xsd:element ref="PointB"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Venetian Blind : Is an extension of Russian Doll and contains only one global element. All other elements are local.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.sun.com/point/venetianblind"
xmlns:tns="http://schemas.sun.com/point/venetianblind"
xmlns="http://schemas.sun.com/point/venetianblind"
elementFormDefault="qualified">
<xsd:complexType name="PointType">
<xsd:attribute name="x" type="xsd:integer"/>
<xsd:attribute name="y" type="xsd:integer"/>
</xsd:complexType>
<xsd:element name="Line">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="PointA" type="PointType"/>
<xsd:element name="PointB" type="PointType"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Garden of Eden : Is a combination of Venetian Blind and Salami Slice. All elements and types are global, hence many potential root elements.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.sun.com/point/gardenofeden"
xmlns="http://schemas.sun.com/point/gardenofeden"
elementFormDefault="qualified">
<xsd:complexType name="PointType">
<xsd:attribute name="x" type="xsd:integer"/>
<xsd:attribute name="y" type="xsd:integer"/>
</xsd:complexType>
<xsd:complexType name="LineType">
<xsd:sequence>
<xsd:element ref="PointA"/>
<xsd:element ref="PointB"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="PointA" type="PointType"/>
<xsd:element name="PointB" type="PointType"/>
<xsd:element name="Line" type="LineType"/>
</xsd:schema>
What is SOA ?
SOA is an IT strategy that organizes the concrete functions contained
in enterprise application into interoperable, standards-based services that can
be combined and reused quickly to meet business rules. Considered to be a SCA
based architecture. Define assembly Model.
What is principle of SOA ?
Loose Coupling, Flexibility, Re-Usability, Interoperability.
What are the message exchange pattern in SOA ?
The SOAP specification mentions a concept called
"message exchange patterns" (MEP). There are two basic message
exchange patterns described in the SOAP specification:
1.
Request - Response
2.
Response
What and why Middleware ?
Middleware is the software that connects software
components or enterprise applications. Middleware is the software
layer that lies between the operating system and the applications on each side
of a distributed computer network. Typically, it supports complex, distributed
business software applications.
What is Web Service ?
Web service is a piece of code which is available on web
(internet). That code of piece can be developed in any language (java, .net
etc). A client invokes the web service by sending xml message and it wait for
xml response (synchronously or asynchronously).
What is WSDL ?
WSDL stands for Web Services Description Language. WSDL is a
document written in XML. The document describes a Web service. It specifies the
location of the service and the operations (or methods) the service exposes.
Elements of WSDL :
·
types - A container for abstract type
definitions defined using XML Schema
·
message - A definition of an abstract
message that may consist of multiple parts, each part may be of a different
type
·
portType- An
abstract set of operations supported by one or more endpoints (commonly known
as an interface); operations are defined by an exchange of messages
·
binding - A concrete protocol and data
format specification for a particular portType
·
service - A collection of related endpoints,
where an endpoint is defined as a combination of a binding and an address (URI)
What is UDDI ?
UDDI is an XML-based standard for describing,
publishing, and finding web services. UDDI stands for Universal
Description, Discovery, and Integration. UDDI is a specification for
a distributed registry of web services. UDDI is a
platform-independent, open framework.
What is SOAP ?
SOAP is a simple XML-based protocol to let applications
exchange information over HTTP. Or more simply: SOAP is a protocol for
accessing a Web Service. A SOAP message is an ordinary XML document containing
the following elements −
·
Envelope − Defines the start and the end of
the message. It is a mandatory element.
·
Header − Contains any optional attributes
of the message used in processing the message, either at an intermediary point
or at the ultimate end-point. It is an optional element.
·
Body − Contains the XML data comprising the
message being sent. It is a mandatory element.
·
Fault − An optional Fault element that
provides information about errors that occur while processing the message.
What is ws-security ?
Web Services Security (WS-Security, WSS) is an
extension to SOAP to apply security to Web services. It is a member
of the Web service specifications and was published by OASIS.
Difference between Authentication & Authorization ?
Authorization is a process by which a server determines
if the client has permission to use a resource or access a
file. Authorization is usually coupled
with authentication so that the server has some concept of who the
client is that is requesting access.
TRANSPORT LEVEL
|
MESSAGE LEVEL
|
·
Uses SSL
·
Point-to-Point: Protects the "pipe"
·
Does not work with Intermediaries
·
Ubiquitous
|
·
Dose not use SSL
·
Data Chunks are protected
·
Intended to work with Intermediaries
·
Standards still under development
|
- A persistent message is guaranteed to be delivered once-and-only-once. The message cannot be lost due to a JMS provider failure and it must not be delivered twice. It is not considered sent until it has been safely written to a file or database. WebLogic JMS writes persistent messages to a WebLogic persistent store (disk-base file or JDBC-accessible database) that is optionally targeted by each JMS server during configuration.
- Non-persistent messages are not stored. They are guaranteed to be delivered at-most-once, unless there is a JMS provider failure, in which case messages may be lost, and must not be delivered twice. If a connection is closed or recovered, all non-persistent messages that have not yet been acknowledged will be redelivered. Once a non-persistent message is acknowledged, it will not be redelivered.
Difference between Transport level & Message level
Security ?
What is SSL & certificate ?
Secure Sockets Layer (SSL) provides secure connections
by allowing two applications connecting over a network connection to
authenticate the other’s identity and by encrypting the data exchanged between
the applications. Authentication allows a server and optionally a client to
verify the identity of the application on the other end of a network
connection. Encryption makes data transmitted over the network intelligible
only to the intended recipient.
In order to configure SSL for a managed server, you are
going to need identity and trust keystores and a certificate. If you don't have
a real certificate, you can create a self-signed certificate. Establishing the
encrypted channel using certificate-based 2-Way SSLinvolves: A client
requests access to a protected resource. The server presents its certificate to
the client. The client verifies the server's certificate.
What is Canonical Model ?
A canonical model is a design pattern used to
communicate between different data formats. A form of enterprise application
integration, it is intended to reduce costs and standardize on agreed data
definitions associated with integrating business systems.
What are different OSB Messaging Patterns ?
Dynamic binding using OSB
Splitting out messages using OSB
Dynamic Split-Join in OSB
Fault handling in dynamic Split-Join in OSB
What is data-source ?
· Generic Data Sources—Generic data sources and their connection pools provide connection management processes that help keep your system running efficiently. You can set options in the data source to suit your applications and your environment.
· GridLink Data Sources—An event-based data source that adaptively responds to state changes in an Oracle RAC instance.
· Multi data sources—An abstraction around a group of generic data sources that provides load balancing or failover processing. Multi data sources are bound to the JNDI tree or local application context just like data sources are bound to the JNDI tree.
What is XA transaction?
It involves more than one resource (different databases,
queues, application servers) all participate in one transaction. It uses
two-phase commit to ensure that all resources either all commit or rollback any
particular transaction. When you have scenario like you need to connect to two
different databases, JMS Queue and application server, in this case you will
use XA transaction that means all resource participate in one transaction only.
What is non-XA transaction?
It involves only one resource. When you use Non-XA
transaction then you can’t involve multiple resources (different databases,
Queues, application servers etc), you can rollback or commit transaction for
only one resource. There is not transaction manager for this transaction as we
are dealing with only one resource at a time.
Difference between Queue and Topic ?
Queue:
·
Point-to-point model
·
Only one consumer gets the message
·
Messages have to be delivered in the order sent
·
A JMS queue only guarantees that each message is
processed only once.
·
The Queue knows who the consumer or the JMS
client is. The destination is known.
·
The JMS client does not have to be active or
connected to the queue all the time to receive or read the message.
·
Every message successfully processed is
acknowledged by the consumer.
Topic:
·
Publish/subscribe model
·
Multiple clients subscribe to the message
·
There is no guarantee messages have to be
delivered in the order sent
·
There are no guarantees that each message is
processed only once. -- As this can be sensed from the model
·
The Topic, have multiple subscribers and there
is a chance that the topic does not know all the subscribers. The destination
is unknown.
·
No, Every message successfully processed is not
acknowledged by the consumer/subscriber.
What is Persistence? What are the different type of
persistence can be used in JMS ?
The persistent store provides a built-in, high-performance
storage solution for WebLogic Server subsystems and services that require
persistence. For example, it can store persistent JMS messages or temporarily
store messages sent using the Store-and-Forward feature. The persistent store
supports persistence to a file-based store or to a JDBC-accessible store in a
database.
What is Connection Factory ?
What is Connection Factory ?
Connection factories are
objects that enable JMS clients to create JMS connections. A connection factory
supports concurrent use, enabling multiple threads to access the object
simultaneously.
If necessary, configure a
JMS system module for the connection factory.
What is Foreign JMS Server ?
A Foreign
JMS Server represents a JNDI provider that is outside the WebLogic
JMS server. It contains information that allows a local WebLogic Server
instance to reach a remote JNDI provider, thereby allowing for a number of
foreign JMS connection factory and destination objects to be defined on one
JNDI directory.
What is
UDQ ?
A
distributed queue is a set of physical JMS queue members. As such, a
distributed queue can be used to create a QueueSender, QueueReceiver,
and a QueueBrowser. The fact that a distributed queue represents multiple
physical queues is mostly transparent to your application. But Uniform
Distributed queue will created its own temporary queue destination on run time
whereas Distributed queue will required physical queue to assigned with in
clustere.
What is
SAF agent in Weblogic ?
There
are two sides involved in the process of storing and forwarding messages: a
local sending side and a remote receiving endpoint. SAF agents are responsible
for store-and-forwarding messages between these local sending and remote
receiving endpoints. A SAF agent can be configured to have only sending
capabilities, receiving capabilities, or both. JMS SAF only
requires a sending agent on the sending side for JMS messages. Whereas, WSRM
SAF requires both a sending agent and a receiving agent.
Sending agent — Used for JMS messages and WSRM. If message persistence is required, a sending agent stores messages to a persistent storage, forwards messages to the receiving side, and re-transmits messages when acknowledgements do not come back in time.
Receiving agent — Used only for WSRM. Receiving agents detect and eliminate duplicate messages sent by a sending agent, and delivers messages to the final destination.
What is BPEL ?
Sending agent — Used for JMS messages and WSRM. If message persistence is required, a sending agent stores messages to a persistent storage, forwards messages to the receiving side, and re-transmits messages when acknowledgements do not come back in time.
Receiving agent — Used only for WSRM. Receiving agents detect and eliminate duplicate messages sent by a sending agent, and delivers messages to the final destination.
What is BPEL ?
BPEL
enables organizations to automate their business processes by orchestrating
services. It forces organizations to think in terms of services: Existing
functionality is exposed as services. New applications are composed using
services. Services are reused across different applications. Services
everywhere!
What is
Mediator ? Difference between Mediator and BPEL ?
Oracle
Mediator is a service component of the Oracle SOA Suite that provides mediation
capabilities such as selective routing, transformation, and validation
capabilities, along with various message exchange patterns, such as
synchronous, asynchronous, and event publishing or subscriptions.
Difference between BPEL 1.1 & 2.0 activity :
· FlowN activity in BPEL 1.1 is replaced by <forEach> activity which can be invoked both serially and parallel.
· RepeatUntil activity is added. Use this activity if the body of an activity must be performed at least once. The XPath expression condition in the repeatUntil activity is evaluated after the body of the activity completes. The condition is evaluated repeatedly (and the body of the activity processed) until the provided boolean condition is true.(Same as do while in programming languages).
· The switch activity in BPEL 1.1 is replaced by <if> <elseif <else> activity in BPEL 2.0.
· Terminate activity is chqanged to Exit Activity.
· CompensateScope activity added - This activity enables you to start compensation on a specified inner scope that has already completed successfully. This activity must only be used from within a fault handler, another compensation handler, or a termination handler.
· A new activity Rethrow has been added to fault handlers.This activity enables you to rethrow a fault originally captured by the immediately enclosing fault handler
What is
dehydration store ?
BPEL
dehydration process is the action from the BPEL engine to compress and stored the
BPEL instances into the database. The incoming messages are store in the
database for processing later by worker threads. to automatically maintain
long-running asynchronous processes and their current state information in a
database while they wait for asynchronous callback :
· To preserve BPEL process and prevents any loss of state or reliability if a system shuts down or a network problem occurs.
· To increase both BPEL process reliability and scalability. But this might slows down the process if many instance are created at the same time, if the BPEL engine is not tuned correctly
· You can also use it to support clustering and failover
What are
the different type of dehydration store ?
· A mid-receive activities. Please note that the first receive activity will not automatically dehydrate the BPEL process. This depends on the pattern used and on the specific BPEL properties optimization.
· onMessage activity
· onAlarm activity
· Just before wait activity (depends on the duration)
· Dehydrate activity
· A (implicit) transaction is committed
Difference
between Sync & Async service ?
The
synchronous process defines one two way operation port to receive the request
and send the response. Using the invoke activity the client invokes the
Synchronous BPEL process on this port and waits to receive the response on the
same port. As soon as the client receives the response from the BPEL process it
continues with its flow. On the BPEL process side, the Synchronous BPEL process
gets instantiated on receiving the client request and sends back the reply
using the reply activity on the same port on which the Client is waiting.
In the
asynchronous process two one way operations ports are defined to receive the
request and send the response. On the client side, the client uses the invoke
activity to invoke the asynchronous BPEL process and continues with its flow.
It uses the receive activity to receive the response later in the flow. The
asynchronous BPEL process receives the request on one of the ports and sends
back the reply from another port (callback port). To send the response the
asynchronous BPEL process invokes the client on the callback port using the
callback activity.
What is
composite.xml ?
In order
to adapt deployments of SOA Suite 11g composites to specific environments,
configuration plans can be used to rewrite the composite.xml file. These
configuration plans can be used during deployment by the Oracle supplied ANT
scripts.
What is
SCA ?
Service
Component Architecture (SCA) provides a programming model for building
applications and systems based on a Service Oriented Architecture. SCA is a
model that aims to encompass a wide range of technologies for service
components and for the access methods which are used to connect them.
What are
the elements in composite.xml ?
· Import
· Component -> implementation -> property
· Reference
· Wire
What
config plan ?
Expand
to display details about the configuration plan. The configuration plan enables
you to define the URL and property values to use in different environments.
During process deployment, the configuration plan is used to search the SOA
project for values that must be replaced to adapt the project to the next
target environment.
Different
type of routing rule in Mediator ?
· Static Routing Rules - Static rules do not change depending on the invocation context and are applied consistently.
· Dynamic Routing Rules - Dynamic rules let you externalize the routing logic to an Oracle Rules Dictionary, which in turn enables dynamic modification of the routing logic. When you choose to create dynamic routing rule then it creates a new business rule service component that is wired to the Oracle Mediator service component within the SOA composite of the Oracle Mediator service component. The business rule service component includes a rule dictionary. The rule dictionary is a metadata container for the rule engine artifacts, such as fact types, rulesets, rules, decision tables and so on.
Difference
between sequential and parallel routing ?
Routing
rules can be executed sequentially or in parallel. This section describes the
basic principles of both types of execution. If an operation or event has both
sequential and parallel routing rules, first sequential routing rules are
evaluated and actions are performed, and then parallel routings are queued for
parallel execution.
Difference
between Read & Sync-Read ?
Read
is used when Polling is required to be done while SyncRead is used when you
need to read the file in between the flow i.e you want to have a synchrnous
communication.
What
are the different type of operation in DB adapter ?
· Call a Store Procedure.
· Perform an operation.
o Insert Or Update
o Insert Only
o Update Only
o Delete
o Select
o Query by Example
· Poll a new or changed records in DB
· Execute a Pure SQL
What is
Fault-Binding ?
The second policy file
that is required by the Fault Management Framework is
the fault-bindings.xml. This policy file will bind (or map) policies
defined in the fault-policies.xml file to levels within the
composite. These levels include:
· Composite Application
· Component
o Reference
o BPEL Process
o Mediator
· ora-retry
· ora-reply-scope
· ora-rethrow-fault
· ora-terminate
· ora-human-intervenction
How you
handle business fault & system fault ?
Business
faults are application-specific faults that are generated when there is a
problem with the information being processed (for example, when a social
security number is not found in the database). A business fault occurs when an
application executes a throw activity or when an invoke activity receives a
fault as a response. The fault name of a business fault is specified by the
BPEL process service component.A business fault can be caught with a
faultHandler using the faultName and a faultVariable.
Runtime
faults are the result of problems within the running of the BPEL process
service component or web service (for example, data cannot be copied properly
because the variable name is incorrect). These faults are not user-defined, and
are thrown by the system. They are generated if the process tries to use a
value incorrectly, a logic error occurs (such as an endless loop), a Simple
Object Access Protocol (SOAP) fault occurs in a SOAP call, an exception is
thrown by the server, and so on.
A bindingFault
is thrown inside an activity if the preparation of the invocation fails. For
example, the WSDL of the process fails to load. A bindingFault is not
retryable. This type of fault usually must be fixed by human intervention.
A remoteFault is also thrown inside an activity. It is thrown because the invocation fails. For example, a SOAP fault is returned by the remote service.
A replayFault replays the activity inside a scope. At any point inside a scope, this fault is migrated up to the scope. The server then re-executes the scope from the beginning.
A remoteFault is also thrown inside an activity. It is thrown because the invocation fails. For example, a SOAP fault is returned by the remote service.
A replayFault replays the activity inside a scope. At any point inside a scope, this fault is migrated up to the scope. The server then re-executes the scope from the beginning.
Throw Activity is used to generates a fault from
inside the business process.
Catch Activity is used to catch specific faults
indiviually such as business,runtime or binding fault.Catch All activity
catches all the faults that are not being catch in other catch activities.
What is the difference between Flow & FlowN
activity ?
Flow Activity :
This activity enables you to specify one or more
activities to be performed concurrently. A flow activity completes when all
activities in the flow have finished processing. Completion of a flow activity
includes the possibility that it can be skipped if its enabling condition is
false.
For example, assume you use a flow activity to enable
two loan offer providers (United Loan service and Star Loan service) to start
in parallel. In this case, the flow activity contains two parallel activities –
the sequence to invoke the United Loan service and the sequence to invoke the
Star Loan service. Each service can take an arbitrary amount of time to
complete their loan processes.You can also synchronize the execution of
activities within a flow activity. This ensures that certain actives only
execute after other activities have completed.
FlowN Activity :
This activity enables you to create multiple flows
equal to the value of N, which is defined at runtime based on the data
available and logic within the process. An index variable increments each time
a new branch is created, until the index variable reaches the value of N.
What is the difference between receive and pick
activity ?
Receive Activity: This is the first activity in most of the BPEL processes. As the name indicates, this construct receives information/message from a partner link.
Pick Activity: This activity is very similar to the receive construct. But unlike the receive activity which gets triggered only when a partner link invokes it, the Pick activity has 2 choices (On Message & On Alarm) - It waits for a message from a partner link or triggers another set of activities on timeout.
Pick Activity: This activity is very similar to the receive construct. But unlike the receive activity which gets triggered only when a partner link invokes it, the Pick activity has 2 choices (On Message & On Alarm) - It waits for a message from a partner link or triggers another set of activities on timeout.
partnerLink: Specifies which partner link will be used for the invoke, receive, or reply.
portType: Specifies the used port type
operation: Specifies the name of the operation whose invocation to wait for
variable: Specifies the variable name used to store the incoming message
What is the
performance difference between file store & JDBC store.
In addition to using the default file
store, you can also configure a file store or JDBC store to suit your specific
needs. A custom file store, like the default file store, maintains its data in
a group of files in a directory. However, you may want to create a custom file
store so that the file store's data is persisted to a particular storage device
or when you want a JMS service that accesses a file store to be able to migrate
with the store to another server member in a cluster. When configuring a file
store directory, the directory must be accessible to the server instance on
which the file store is located.
A JDBC store can be configured when a
relational database is used for storage. A JDBC store enables you to store
persistent messages in a standard JDBC-capable database, which is accessed
through a designated JDBC data source. The data is stored in the JDBC store's
database table, which has a logical name of WLStore. It is up to the
database administrator to configure the database for high availability and
performance. JDBC stores also support migratable targets for automatic or
manual JMS service migration.
What is Subdeployment ?
A Subdeployment is a mechanism by which JMS module
resources (such as queues, topics, and connection factories) are grouped and
targeted to a server resource (such as JMS servers, server instances, SAF
agents, or a cluster).
What is Large Payload Handing in JMS ?
If a composite is deployed to handle the large
payload, this is the only configuration needed. If B2B is not delivering the
payload to a composite, set Use JMS Queue as default to true
What is the difference between SOAP & REST ?
1) SOAP is a protocol here REST is an architectural style.
2) SOAP stands for Simple Object Access Protocol. But REST stands for Representational State Transfer.
3) SOAP can't use REST because it is a protocol. But REST can use SOAP web services because it is a concept and can use any protocol like HTTP, SOAP.
4) SOAP uses services interfaces to expose the business logic & REST uses URI to expose business logic.
5) JAX-WS is the java API for SOAP web services & JAX-RS is the java API for RESTful web services.
6) SOAP defines standards to be strictly followed but REST does not define too much standards like SOAP.
7) SOAP requires more bandwidth and resource than REST & REST requires less bandwidth and resource than SOAP.
8) SOAP defines its own security & RESTful web services inherits security measures from the underlying transport.
9) SOAP permits XML data format only & REST permits different data format such as Plain text, HTML, XML, JSON etc.
10) SOAP is less preferred than REST but REST more preferred than SOAP.
What is Ws-Addressing ?
WS-Addressing is a transport-neutral mechanism by
which web services communicate addressing information. SOAP envelopes &
headers used within web services for transporting data throught transport
layers like HTTP does not possess intelligence to specify unique addressing
information. Hence, WS-Addressing evolved which contained endpoint references
(EPR) and message information headers for identification. This information is
processed independently of the transport mechanism or application.
By default, Oracle BPEL PM implements WS-Addressing
for all asynchronous web service calls, hence we don't have to explicitly
implement identification relationship between the incoming & outgoing
messages.
When and Why Correlation ?
The following are few scenarios in which we would be
required to implement Correlation to identify & relate message
communication;
1. When the external web service called doesn't have WS-Addressing capability
2. When the message travels through several services and response is solicited by the initial service from the last service directly
For instance, request flow pro1 -> pro2 -> pro3 and response is received from pro3 ->pro1
1. When the external web service called doesn't have WS-Addressing capability
2. When the message travels through several services and response is solicited by the initial service from the last service directly
For instance, request flow pro1 -> pro2 -> pro3 and response is received from pro3 ->pro1
Which property we have to use to process JMS, AQ or MQ
messages on one node in cluster environment.
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. We use singleton property in composite.xml
file.
<property name="singleton"
type="xs:boolean" many="false"
override="may">true</property>
How to configure message aggregation ?
A typical messaging requirement is to
aggregate multiple related messages for processing within a single BPEL process
instance. There are two parts to this recipe; the first is to route related
messages through to the same instance of a BPEL process. This can be achieved
using a correlation set defined against a common value present in each message.
The second is to determine when we have
all the messages that belong to the aggregation. Typically, most use cases fall
into two broad patterns:
- Fixed duration: In this scenario, we don't know how many
messages we expect to receive, so we will process all those received
within a specified period of time.
- Wait for all: In this scenario, we know how many
messages we ...
How to refer another XSL from main XSL file ?
The <xsl:import> element is a top-level element
that is used to import the contents of one style sheet into another.
Note: This element must appear as the first child node
of <xsl:stylesheet> or <xsl:transform>.
Syntax: <xsl:import href="URI"/>
Why we use Call-template inside XSL ?
Call-template works similar to the apply-template
element in XSLT. Both attach a template to specific XML data. This provides
formatting instructions for the XML. The main difference between the two
processes is the call function only works with a named template. You must
establish a 'name' attribute for the template in order to call it up to format
a document.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
< xsl:call-template name="myTemplate">
< /xsl:call-template>
< stylesheet>
What is the difference between <xsl:include>
& <xsl:import> ?
The first is using
the xsl:include instruction, and you simply put it where you’d like
the included templates to be, if you were to just copy and paste them right
into the new file.
The <xsl:import> element is a top-level element
that is used to import the contents of one style sheet into another.
What is namespace ?
Namespaces are commonly structured as hierarchies to
allow reuse of names in different contexts. As an analogy, consider a system of
naming of people where each person has a proper name, as well as a family name
shared with their relatives. If, in each family, the names of family members
are unique, then each person can be uniquely identified by the combination of
given and family name; there is only one Jane Doe, though there may be many
Janes. Within the namespace of the Doe family, just "Jane" suffices
to unambiguously designate this person, while within the "global"
namespace of all people, the full name must be used.
What is resequencing in Mediator ?
The resequencing feature of the Oracle Mediator
reorders sets of messages that might arrive to the Oracle Mediator in the wrong
sequence. You can define resequencing for all operations in an Oracle Mediator
or for a specific operation.
Standard (based on input Id)
FIFO(based on time)
Best Efforts (Mainly used when large message came in
short time duration)
What is the difference between OSB & Mediator ?
While Oracle Service Bus provides enterprise service
re-use and management; the Mediator component provides certain localized
mediation capabilities with the Business Service Layer. Thus, the lifecycle of
a Mediator component is tightly coupled with that of the SOA composite
application that provides the application logic. Mediator provides the
following capabilities with the context of a single composite application:
·
Connectivity abstraction from a business process
·
Inline data transformation / mapping
·
Message filtering - Oracle Service Bus enables
effective de-coupling of systems and lifecycles within enterprise architecture.
Mediator provides any abstraction that the Business Process needs within the
context of a single composite. The key considerations for using Mediator
include:
·
The functionality is available within the
context of a single SOA composite application.
·
Mediator does not focus on key capabilities
required for the SOA Infrastructure category such as traffic shaping and
end-point management.
·
Mediator should not be used to share services at
an enterprise-wide level.Since the lifecycle of a Mediator component is tied to
the lifecycle of the underlying process logic, Mediator cannot effectively
separate the lifecycle of the service contract from the service implementation.
Choosing between route, service callout & publish
?
Choosing Between Route, Service Callout and 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
·
Last node in request processing. It can be thought of as a bridge between
request pipeline processing and the response pipeline processing.
·
You can only execute one route in your Proxy
Service.
·
OSB will wait for the Route call to finish
before continuing to process.
·
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.
·
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.
·
If you are calling a local Proxy service, then
OSB will hold onto the thread until the Proxy service finishes executing.
Service Callout
·
Can have multiple Service Callout nodes in a
Proxy service.
·
Pipeline processing will continue after a
Service Callout.
·
Can be invoked from the request and/or response
pipelines.
·
Used to enrich the incoming request or outgoing
response. For example, a call to get a country code.
·
Used for real time request/response calls
(Synchronous calls).
·
OSB will hold a thread and not continue until
the Service Callout completes.
·
Can tie up resources and degrade performance
under heavy loads.
Publish
·
Can be synchronous or asynchronous
·
If you are calling a business service with a
Quality of Service of Best Effort , then it will be an asynchronous call.
·
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.
·
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.
·
Can be invoked from the request and/or response
pipelines.
·
Best to use when you do not need to wait for a
response from the process you are calling (Fire and Forget.... Asynchronous
Calls)
Abstract and Concrete WSDL Documents
WSDL documents are described as either abstract or concrete:
- An abstract WSDL document describes what the web service does, but not how it does it or how to contact it. An abstract WSDL document defines:
- A concrete WSDL document adds the information about how the web service communicates and where you can reach it. A concrete WSDL document contains the abstract WSDL definitions, and also defines:
- the communication protocols and data encodings used by the web service.
- the port address that must be used to contact the web service
What is Oracle Service Bus and key benefits
Oracle Service Bus, aka OSB, is an Enterprise Service Bus implementation by Oracle. OSB, formerly known as Aqalogic Service Bus, was acquired when Oracle bought BEA Systems.
- Oracle Service Bus transforms architectures by connecting, mediating, and managing interactions between services and applications.
- Connects, mediates, and manages interactions between heterogeneous services, legacy applications, and multiple enterprise service bus (ESB) instances.
- OSB presents a communication backbone for transport and routing of messages across an enterprise. It is designed for high-throughput and reliable message delivery to a variety of service providers and consumers.
- It supports XML as a native data type, however, other data types are also supported. As an intermediary, it processes incoming service request messages, executes the routing logic and transforms these messages if needed. It can also transform between different transport protocols (HTTP, JMS, File, FTP, and so on.).
Key benefits and advantages of Oracle Service Bus1. 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 CouplingOSB provides loose coupling by mediating between Service provider 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 TransparencyIt’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 ConnectivityWhile 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. RoutingAfter 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. PerformanceOSB is stateless & light weight; hence provide the excellent performance result under stress conditions as well.7. TransformationOracle Service Bus provides run time transformation capability and support industry standard for middleware :XML, XSLT, XQuery & XPath.8. Security & PolicyOSB 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.9. Service PollingOracle 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.10. Load balancing & FailoverOracle Service Bus supports multiple load balancing algorithms to load balance between endpoints. It automatically detects a failover and removes it from Load balanced urls.11. Service ThrottlingService 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.12. MonitoringOracle 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.13. Message ValidationOracle Service Bus support normal data level value check validation as well as Schematron Validation.14. Value Added Feature- Support for Domain Value Map
- Support for Cross Reference
- Support for Package application Adapters
- Support for Advance message formats such as SWIFT and FIX in financial Service Domain
What is difference between Oracle SOA Suite and OSB
- OSB is an 'A proven, lightweight integration Enterprise Service Bus (ESB) specifically designed for the task of integrating, virtualizing, and managing services in a shared services infrastructure, Oracle Service Bus allows you to achieve value more quickly with simple, code-free, configuration-based service integration'Oracle BPEL (Business Process Execution Language) Process Manager is a tool for designing and running business processes. This product provides a comprehensive,standards-based and easy to use solution for creating, deploying and managing cross-application business processes with both automated and human workflow steps – all in a service-oriented architecture'
Oracle BPELOSBStateful and long-running processesStateless messaging capabilitiesService OrchestrationService virtualization, message throttling, configuration based service configuration, Service poolingComposite implementationMessage validation,content-based routing, transformation.Integration of Rules and Human WorkflowXQuery and XSLT based message transforms 3) What is Business Service ?
- Business services are Oracle Service Bus definitions of the enterprise services that exchange messages during business processes.
- Business service to connect to target system.
4) What is Proxy Service ?
- It is a service in OSB which is exposed to source system or application.
- A proxy service can route messages to multiple business services.
5) What is the difference between Business Service and Proxy Services ?
6) What is split join ?
Oracle Service Bus's advanced mediation feature, called Split-Join, helps you improve service performance by concurrently processing individual messages in a request.
Oracle Service Bus's Split-Join feature lets you split a service payload, such as an order, into individual messages for concurrent processing. Concurrent processing, as opposed to sequential processing, greatly improves service performance. Split-Join achieves this task by splitting an input message payload into sub messages (split), routing them concurrently to their destinations, and aggregating the responses into one overall return message (join). This process of payload splitting and response aggregation is called a Split-Join pattern.7) Types of Split-Joins?
There are two types of split join1) Dynamic: It is used when we don't know the number of operation/services at design time. For example we have a online shopping site and don't know the number of orders. In this case we will use dynamic split join.
2) Static: It is used when we know the number of operations/services at design time.8) What is throttling in OSB ?
- Throttling, which lets you control the amount of message traffic to a business service, helps improve performance and stability by preventing message overload on high-traffic business services.
- 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.
9) 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.18) What is Customization File ?
Customization files are XML files and you can open these files in any editor and substitute the required environment values.In addition, you can search for specific environment values (that are not complex XML types) in Oracle Service Bus Console or in a customization file and replace them with the new values. You can fine-tune the scope of the search by filtering these environment values based on variable type or project.
19) What is Message Context ?
All messages sent to and received by the proxy service are defined internally in the proxy service by a set of properties that holds the message data and meta-data related to that message. This set of properties is known as the Message Context (context) and is implemented using Context Variables.It is defined by an XML schema. Each Context Variable relates to a different property. Some Context Variables are predefined and others are user defined. The heart of the proxy service is the Message context.20) 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.- 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 provider 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 - Virtualisation
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 Bus?
No, we can't use DVM's in Oracle Service Bus.
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 can not 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 can not 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 Pipleline.
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.
OSB Performance Tuning :
JVM Tuning :
The two primary JVM tuning parameters to consider when optimizing OSB performance are heap size and garbage collection.
Production Tuning:
-Dweblogic.ProductionModeEnabled=true
Use of WorkManager:
JMS Tuning:
For non-persistent JMS scenarios:
Explicitly turn off persistence at the JMS server level by un-checking the "Store Enabled" flag from
the Advanced section of the General tab for the JMS server on the WebLogic Server console.
It is also possible to override the persistence mode at the JMS destination level.
For persistent JMS scenarios:
There are two choices: file store and JDBC store. Typically operations on a File Store perform
better than JDBC store. If there are multiple JMS servers involved, create each store on a
separate disk to lower I/O contention.
Cache enable:
Cache Tuning for Proxy Service Run-Time Data
Transport tuning:
Latency and throughput of poller based transports depends on the frequency with which a source is
polled and the number of files and messages read per polling sweep
Xquery Tuning :
avoid "//", use [1]
It 's an amazing and awesome blog
ReplyDeleteOracle SOA Online Training Bangalore
Casino Bonus Code - JTM Hub
ReplyDeleteA no deposit bonus for new players is 영천 출장샵 $500 at casino.ag. This 성남 출장안마 is only 강릉 출장샵 for new players who sign up 전라남도 출장안마 via a bonus code available on JTM Hub. 김포 출장마사지