Oracle Soa
Interview/Conceptual Questions With Answers
What is SOA?
SOA stands for service oriented architecture. Before we define SOA lets
first define a service. In real world service is what we pay for and we get the
intended service. For instance you go to a hotel and order food. Your order
first goes to the counter and then it goes to the kitchen where the food is
prepared and finally the waiter serves the food.
In the same manner in software world these services are termed as
business services. They are self contained and logical.
Why Oracle SOA?
Oracle SOA transforms complex application integration into agile and
reusable service-based connectivity by mediating, routing, and managing
interactions between services and applications in the enterprise and in the
cloud. Requirements for application
integration have significantly expanded over the last decade to include support
for business activity monitoring, event processing, business rules, B2B
integration, and more. Organizations now need a unified development, runtime,
monitoring, and management interface across these components. Only Oracle SOA
provides a unified approach with a single interface for all of your current and
future integration requirements to reduce risk, speed time to market, respond
faster to business requirements, and lower total cost of ownership
Definition Of SOA?
SOA is a architecture for building business applications using
loosely coupled services which act like black boxes and can be
orchestrated to achieve a specific functionality by linking together.
Features of SOA?
1>SOA components are loosely coupled- When we say
loosely coupled means every service is self contained and exist in alone
logically. For instance we take the 'payment gateway' service and attach it to
a different system
2>SOA services are black boxes. In SOA services hide
there are inner complexities. They only interact using messages and send
services depending on those messages.
3>SOA service should be self defined: - SOA services should be
able to define themselves.
4>SOA Services are maintained in a listing: - SOA services are
maintained in a central repository. eg:UDDI registry.
5>SOA components can be orchestrated:- SOA services can
be used/orchestrated in a plug and play manner. For instance eg
'Orchestration' has two services 'Security service' and 'Order processing
service'. You can achieve two types of orchestrations from it one you can check
the user first and then process order or vice-versa.
What's the
difference between services and components?
Services are logical grouping of components to achieve business
functionality. Components are implementation approaches to make a
service. The components can be in JAVA, C#, C++ but the services will be
exposed in a general format like Web Services.
Benefits of using
SOA.
1>SOA can help you get better reuse out of your existing IT
investments.
2>SOA helps create greater alignment between IT and line of business
while generating more flexibility - IT flexibility to support
greater business flexibility.
3>SOA also provides an architectural model for integrating business
partners’, customers’ and suppliers.
4>Reduces cost and improves customer satisfaction.
What is a reusable
Service?
1>It is an autonomous, reusable, stateless functionality
that has the necessary granularity, and can be part of a composite application
or a composite service.
2>A reusable service should be governed at the enterprise level
throughout its entire lifecycle, from design-time through run-time.
3>A service's security, SLA, usage policies, may
be defined by multiple run-time contracts, multiple interfaces (the
WSDL for a SOAP Web Service), and multiple implementations (the code).
How can you achieve
loose coupling in a soa ?
One strategy for achieving loose coupling is to use the service
interface (the WSDL for a SOAP Web Service) to limit this dependency, hiding
the service implementation from the consumer.
How do I integrate
my legacy applications in SOA?
Legacy applications are frequently at the core of your IT environment.
With the right skills and tools, you need to identify discrete elements within
your legacy applications and "wrap" them in standards-based
interfaces and use them as services within your SOA.
What are ends, contract, address, and bindings?
Contract is an agreement between two or more parties.
An Address indicates where we can find this service.
Bindings determine how this end can be accessed. It determines how communications
is done.
What is the most
important skill you need to adopt SOA ? technical or cultural ?
Surely cultural. Instead of thinking of technology first
(e.g., If we implement this system, what kinds of things can we do with it?),
practitioners must first think in terms of business functions, or services.
Can you explain
business layers and plumbing layers in SOA?
No. If you need to integrate or make an existing system as a business
service, you just need to create loosely coupled wrappers which will wrap your
custom systems and expose the systems functionality.
Is SOA a product?
SOA is not a product, but an architecture approach and set of patterns
for implementing agile, loosely coupled dynamic applications
The Service of a
SOA should be engineered as stateless or stateful ?
Service should be stateless. It may have a context within
its stateless execution, but it will not have an intermediary state waiting for
an event or a call-back. The retention of state-related data must not extend
beyond a request/response on a service.
Do you recall any
pattern which could be use to leverage loose coupling ?
The Mediation pattern, using an enterprise service bus
(ESB), will help in achieving this.
Mediation will take loose coupling to the highest level. It will establish independence between consumers and providers on all levels, including message formats, message types (including SOAP, REST, XML, binary) and transport protocols (including HTTP, HTTPS, JMS).
Mediation will take loose coupling to the highest level. It will establish independence between consumers and providers on all levels, including message formats, message types (including SOAP, REST, XML, binary) and transport protocols (including HTTP, HTTPS, JMS).
How does pick activity differ from a receive activity?
Pick activity can act as a multiple recieve activity in some business
scenarios.If we have two inbound operations and both can trigger the bpel
process then we will go with pick activity as we cant have two recieve activity
with createInstance box checked.
What is a XA datasource?How it differs from a non-XA datasource?
An XA transaction, in the most general terms, is a "global
transaction" that may span multiple resources. A non-XA transaction always
involves just one resource.
An XA transaction involves a coordinating transaction manager, with one
or more databases (or other resources, like JMS) all involved in a single
global transaction. Non-XA transactions have no transaction coordinator, and a
single resource is doing all its transaction work itself (this is sometimes
called local transactions).
XA gets involved when you want to work with multiple resources - 2 or
more databases, a database and a JMS connection, all of those plus maybe a JCA
resource - all in a single transaction
What all errors can't be handled by a BPEL process?
With the catch and catchAll branches, Oracle BPEL Process Manager can
catch and handle almost all business and runtime exceptions. However, there are
conditions that the fault handler cannot handle:
1>Some Oracle BPEL Server internal errors.
2>Lower level JVM error.
3>If the transaction is set to roll back only or the transaction is
rolled back at commit time because of a timeout
Difference between URI and URL?
URL stands for Uniform Resource Locator and it is supposed
to be used only for identifiers that point out a location. In the general
public, any hyperlink is called a URL even if it is not necessarily a URL
The URI or Uniform Resource Identifier was created as the name for
anything that points to a resource
What is the difference between concrete and abstract wsdl?
Abstract WSDL contains only messages and operations. Abstract WSDL is
used by web Server where as concrete WSDL contains messages, operations and binding/transport
specific information i.e. SOAP over Http/HTTPS/JMS having wsdl style i.e.
RPC/DOC literal.
What is the difference between xsd:import and xsd:include?
The fundamental difference between include and import is that you must use
import to refer to declarations or definitions that are in a different target
namespace and you must use include to refer to declarations or definitions that
are (or will be) in the same target namespace
What is SOAP and what are the binding protocols available?
SOAP, originally defined as Simple Object Access Protocol, is a protocol
specification for exchanging structured information in the implementation of
Web Services in computer networks.
It relies on Extensible Markup Language (XML) for its message
format, and usually relies on other Application Layer protocols, most notably
Hypertext Transfer Protocol (HTTP) and Simple Mail Transfer Protocol (SMTP),
for message negotiation and transmission.
Difference between abstract and concrete wsdl?
Abstract WSDL consists of the structure of the message that is; what
operation, what is the input and what is the ouput . Whereas in concrete WSDL
has all the things that the abstract wsdl has in addition it has
transport(http,jms) details.
Abstract wsdl:-Used on server side,contains request,response and type of
operation performed.
concrete wsdl:-used on client side,contains abstract wsdl and transport
used.
What is targetNamespace's function?
The targetNamespace declares a namespace for other xml and xsd documents
to refer to this schema.
The target prefix in this case refers to the same namespace and you
would use it within this schema
definition to reference other elements, attributes, types, etc. also
defined in this same schema definition.
Difference between import and include namespace:
Including brings in definitions that belong to the same target namespace
as the enclosing schema element.
Importing brings in definitions that belong to a different target
namespace from the enclosing schema element.
What is the difference between file adapter and ftp adapter ?
File Adapter is used when we read or write files from same server,that is the location where soa server is installed.
On the other FTP server is used when we read or write data from different servers.
What are the different operations that can be performed on File Adapter ?
Readfile -> It is used for polling files to invoke file adapter.
Write File -> It is used for writing a file into a directory.
Synchronous Read File -> It is used when we want to read a file in middle of a process.
What is the difference between file adapter and ftp adapter ?
File Adapter is used when we read or write files from same server,that is the location where soa server is installed.
On the other FTP server is used when we read or write data from different servers.
What are the different operations that can be performed on File Adapter ?
Readfile -> It is used for polling files to invoke file adapter.
Write File -> It is used for writing a file into a directory.
Synchronous Read File -> It is used when we want to read a file in middle of a process.
List Files -> lets you use a BPEL activity to retrieve a list of
files from a target directory. This list of files is returned as an XML
document and contains information such as file name, directory name, file size,
and last modified time.
State whether Bpel is stateful or stateless service?
Bpel is stateful service.
What is WSDL?What are its different parts ?
WSDL is web services description language.It provides service invocation property.
Different Parts:
It constitutes :Message,Porttypes,Bindings,Services.
What are the different service components that can be used in Soa Composite Applications ?
BPEL process: For process orchestration of synchronous and asynchronous
processes
BPMN process (if Oracle BPM Suite is installed): For creating and modeling
business processes using Business Process Management Notation and Modeling
(BPMN)
Oracle Mediator: For content transformation and routing events (messages)
between service producers and consumers
Human task: For modeling a human task (for example, manual order approval)
that describes the tasks for users or groups to perform as part of an end-to-end
business process flow
Spring: For integrating Java interfaces into SOA composite applications
What are the different actions that can be performed on life cycle administration of Soa composite application?
Create an instance.
■ Stop and restart application revisions. An application revision is typically started
instantly after deployment.
■ Retire and activate application revisions. Application revisions are instantly
activated upon deployment.
■ Set an application as the default version.
■ Deploy, undeploy, and redeploy application revisions.
■ Delete specific instances of an application revision.
What are the different type of logger availaible ?
The Oracle Application Integration Architecture (AIA) enables you to generate trace and error log files that provide a detailed view of services :
Trace
Trace logs capture chronological recordings of a service's general activities. The trace log is created by configuring the service to make an explicit call using the trace logging custom XPath or Java API.
Error
Error logs capture a recording of errors that occur during a service's activities. No specific configurations are required to make BPEL and Mediator services eligible for error logging
What is UDDI registry ?
The UDDI registry provides a standards-based foundation for
locating published services and managing metadata about services (security,
transport, or quality of service). You can browse and select published services that
meet your needs.
The User and Password properties are applicable if the UDDI registry is secured.
The Inquiry URL property is public
What is Mbean Browser ?
The Oracle Fusion Middleware System MBean Browser is a part of Oracle Fusion Middleware Control, and it is used to update configuration settings for middle tier components.
What is Administration Server?
The Administration Server operates as the central control entity for the configuration
of the entire domain. It maintains the domain's configuration documents and
distributes changes in the configuration documents to Managed Servers. The
Administration Server serves as a central location from which to manage and monitor
all resources in a domain.
Each domain must have one server instance that acts as the Administration Server.
What is Middleware Home?
A Middleware home is a container for the Oracle WebLogic Server home, and,
optionally, one Oracle Common home and one or more Oracle homes.
A Middleware home can reside on a local file system or on a remote shared disk that is
accessible through NFS.
What is Weblogic Server Home?
A WebLogic Server home contains installed files necessary to host a WebLogic Server.
The WebLogic Server home directory is a peer of Oracle home directories and resides
within the directory structure of the Middleware home.
What is Oracle Common Home?
The Oracle Common home contains the binary and library files required for Fusion
Middleware Control and Java Required Files (JRF). There can be only one Oracle
Common home within each Middleware home.
What is Oracle Home?
An Oracle home contains installed files necessary to host a specific component or
software suite. For example, the SOA Oracle home contains a directory that contains
binary and library files for Oracle SOA Suite.
What is Oracle Mediator?
Oracle Mediator provides a lightweight framework to mediate between various components within a composite application. Mediator converts data to facilitate communication between different interfaces exposed by different components, which are wired together to build a SOA composite application. For example, a Mediator can accept data contained in a text file from an application or service, transform it to a format appropriate for updating a database that serves as a customer repository, and then route and deliver the data to that database.
What is Business Events?
Business events are typically a one-way, fire-and-forget, asynchronous way to send a notification of a business occurrence. The business process does not:
State whether Bpel is stateful or stateless service?
Bpel is stateful service.
What is WSDL?What are its different parts ?
WSDL is web services description language.It provides service invocation property.
Different Parts:
It constitutes :Message,Porttypes,Bindings,Services.
What are the different service components that can be used in Soa Composite Applications ?
BPEL process: For process orchestration of synchronous and asynchronous
processes
BPMN process (if Oracle BPM Suite is installed): For creating and modeling
business processes using Business Process Management Notation and Modeling
(BPMN)
Oracle Mediator: For content transformation and routing events (messages)
between service producers and consumers
Human task: For modeling a human task (for example, manual order approval)
that describes the tasks for users or groups to perform as part of an end-to-end
business process flow
Spring: For integrating Java interfaces into SOA composite applications
What are the different actions that can be performed on life cycle administration of Soa composite application?
Create an instance.
■ Stop and restart application revisions. An application revision is typically started
instantly after deployment.
■ Retire and activate application revisions. Application revisions are instantly
activated upon deployment.
■ Set an application as the default version.
■ Deploy, undeploy, and redeploy application revisions.
■ Delete specific instances of an application revision.
What are the different type of logger availaible ?
The Oracle Application Integration Architecture (AIA) enables you to generate trace and error log files that provide a detailed view of services :
Trace
Trace logs capture chronological recordings of a service's general activities. The trace log is created by configuring the service to make an explicit call using the trace logging custom XPath or Java API.
Error
Error logs capture a recording of errors that occur during a service's activities. No specific configurations are required to make BPEL and Mediator services eligible for error logging
What is UDDI registry ?
The UDDI registry provides a standards-based foundation for
locating published services and managing metadata about services (security,
transport, or quality of service). You can browse and select published services that
meet your needs.
The User and Password properties are applicable if the UDDI registry is secured.
The Inquiry URL property is public
What is Mbean Browser ?
The Oracle Fusion Middleware System MBean Browser is a part of Oracle Fusion Middleware Control, and it is used to update configuration settings for middle tier components.
What is Administration Server?
The Administration Server operates as the central control entity for the configuration
of the entire domain. It maintains the domain's configuration documents and
distributes changes in the configuration documents to Managed Servers. The
Administration Server serves as a central location from which to manage and monitor
all resources in a domain.
Each domain must have one server instance that acts as the Administration Server.
What is Middleware Home?
A Middleware home is a container for the Oracle WebLogic Server home, and,
optionally, one Oracle Common home and one or more Oracle homes.
A Middleware home can reside on a local file system or on a remote shared disk that is
accessible through NFS.
What is Weblogic Server Home?
A WebLogic Server home contains installed files necessary to host a WebLogic Server.
The WebLogic Server home directory is a peer of Oracle home directories and resides
within the directory structure of the Middleware home.
What is Oracle Common Home?
The Oracle Common home contains the binary and library files required for Fusion
Middleware Control and Java Required Files (JRF). There can be only one Oracle
Common home within each Middleware home.
What is Oracle Home?
An Oracle home contains installed files necessary to host a specific component or
software suite. For example, the SOA Oracle home contains a directory that contains
binary and library files for Oracle SOA Suite.
What is Oracle Mediator?
Oracle Mediator provides a lightweight framework to mediate between various components within a composite application. Mediator converts data to facilitate communication between different interfaces exposed by different components, which are wired together to build a SOA composite application. For example, a Mediator can accept data contained in a text file from an application or service, transform it to a format appropriate for updating a database that serves as a customer repository, and then route and deliver the data to that database.
What is Business Events?
Business events are typically a one-way, fire-and-forget, asynchronous way to send a notification of a business occurrence. The business process does not:
· Rely on any service
component receiving the business event to complete.
· Care if any other
service components receive the business event.
· Need to know where
subscribers (if any) are and what they do with the data.
· Mainly two types of
events : subscribe and publish
What is re sequencer concept in mediator ?
A Resequencer is used to rearrange a stream of related but out-of-sequence messages back into order. It sequences the incoming messages that arrive in a random order and then send them to the target services in an orderly manner. The sequencing is done based on the sequencing strategy selected.”
For the resequencer to work we need to have 2 values in the source payload. The first one is a sequenceID, and the next one is a groupdID. The sequenceID will be used as identifier for the message itself. The groupID will be used to group the messages in which the resequencer will rearrange the messages based on the sequenceID. Different groups will have seperate processing, so they won’t have any influence on each other.
The mediator supplies us 3 types of resequencers :
· Standard
Resequencer
· FIFO Resequencer
· BestEffort
Resequencer
For resequencing messages, you must perform the following tasks:
· Configure the
worker thread count
· Configure the
maximum number of groups that can be locked by a thread
· Configure the sleep
interval and the maximum number of messages retrieved in one iteration
What is parallel
process in bpel flow?
Parallel flows enable a BPEL process service component to perform
multiple tasks at the same time. Parallel flow is especially useful when you
must perform several time-consuming and independent tasks.
Why we use parallel
flow?
A BPEL process service component must sometimes gather information from
multiple asynchronous sources. Because each callback can take an undefined
amount of time (hours or days), it may take too long to call each service one
at a time. By breaking the calls into a parallel flow, a BPEL process service
component can invoke multiple web services at the same time, and receive the
responses as they come in. This method is much more time efficient.
What are the fault handling concepts ?
Faults:
• Are returned by Web Services instead of response data to indicate an
error condition
• Are categorized either as business faults or run-time faults
• Can be managed or handled by using fault handlers and fault policies
• Are notified and handled differently based on the type of
intercation(synchronous or aynchronous)
Types of service faults?
Synchronous faults are defined in the WSDL operation.
• Asynchronous faults are not defined in the WSDL and can be returned by
using callback operations.
What is singleton Property in SOA?
What is singleton Property in SOA?
In the clustered environment when the processing of the message should
happen via only one SOA managed server, then the property singleton needs to be
defined at the adapter level.
example :
Suppose mediator picks up a text data and dumps to jms server,suppose there are two jms targets so in both
data will be replicated.
So instead of 1 instance for consumer,it will create redundant ones.
So solution to this problem is :apply property :< property name ="singleton">true</singleton> in composite.xml
This happens :
Test #1 : Policy Replicated / No Singleton
Basically, this is what happens:
example :
Suppose mediator picks up a text data and dumps to jms server,suppose there are two jms targets so in both
data will be replicated.
So instead of 1 instance for consumer,it will create redundant ones.
So solution to this problem is :apply property :< property name ="singleton">true</singleton> in composite.xml
This happens :
Test #1 : Policy Replicated / No Singleton
Basically, this is what happens:
1. Mediator produces a
single message
2. Message is
replicated across both JMS Servers on both nodes
3. Since the code
physically resides on 2 SOA servers, each SOA server will create an instance,
consuming the message from each of the JMS Servers, resulting in 4 instances
and 4 messages consumed total
case 2 : Forwarding Policy Partitioned / Singleton
1. Mediator produces a
single message
2. Message resides on
only a single JMS Server
3. Though the code
physically resides on 2 SOA servers, only one of the JMS Servers will have the
message, and the singleton property will enforce only a single instance
consumption as shown, resulting in 1 instance and 1 message consumed total
What is a flow activity? What is a flowN activity and how does it
leverages the flow activity?
Flow activity is used, when parallel execution of the flow is needed and
to use this property “non blocking invoke should be set as true “at the partner
link level and no. of execution of parallel flow is defined and static. Where
as in Flown the no. of execution of parallel flow is not static and it is
determined during run time.
How does pick activity differ from a receive activity?
Pick activity can act as a multiple recieve activity in some business
scenarios.If we have two inbound operations and both can trigger the bpel
process then we will go with pick activity as we can’t have two recieve
activity with create Instance box checked.
Non- blocking invoke is used when Parallel flow needs to be executed
where new thread will be created for each invoke a activity and which will
execute simultaneously.
Types of Transactions in SOA?
Types of Transactions in SOA?
· Inbound transaction: A transaction
initiated by an inbound adapter. For example, a transaction entering the SOA
system from a JMS system.
· Outbound
transaction: A transaction outbound from the SOA system (and hence from an
adapter). For example, a transaction that is made against a database outside
the SOA system.
· JTA transaction: Every step of a
process is executed within the context of a JTA transaction. A JTA transaction
ensures that one or more operations execute as an atomic unit of work. ,the
concept of XA transaction.
· Asynchronous
transaction: A composite transaction composed of sub-transactions. However, these
sub-transactions are consecutive and serialized, that is, some sub-transactions
may have been committed while others may be still executing or have not yet
executed. Asynchronous transactions are guaranteed to be propagated once and
only once. When an update at the source is committed, the transaction commits
and expects that the update is propagated to the target appropriately.
· Synchronous
transaction: These are transactions that execute in one thread from one endpoint to
another, without intermediate processes, and which are not serialized.
What is CAVS?
Composite Application Validation System (CAVS) is part of the Application Integration Architecture Foundation Pack and with CAVS you can test your SOA Composites like SOAPUI or the SOA Test Suite
What is dehydration storage tables?
Dehydration store is the database where BPEL engine stores all BPEL processes meta data and run time instance data. This data store is installed under db schema- ORABPEL
Meta data includes bpel process descriptor (bpel.xml), human task modelling data etc..
Run time instance data includes process instance records, process activities execution data, invoke and call back xml messages etc.
What is event delivery network ?
Event Delivery Network allows publish-subscribe type of loose coupling between SCA components. This is similar to JMS/AQ model except that user is spared from remembering and using low level JMS connectivity details. Instead, SOA framework neatly abstracts these details in the Even Delivery Network so that users can purely focus on publishing and subscribing to events.
This approach is highly useful when an event publisher doesn’t know about the number or type of potential subscribers beforehand. Events can be published/subscribed from both BPEL as well as Mediator components.It is fully declarative and does not require wiring between components.
In the present example, we will discuss about an event published from BPEL and subscribed by Mediator component. Mediator component shall write the event information to a File on SOA Server to make sure event subscription has successfully been processed.
What is the difference between topic and queue?
A topic is typically used for one to many messaging i.e. it supports publish subscribe model of messaging. While queue is used for one-to-one messaging i.e. it supports Point to Point Messaging.
What is synchronous file read ?
Sync Read option in BPEL file adapter allows us to read the file from the middle of the process, this is different from the Read option which polls for the new files and is the start of the BPEL process.
Correlation ID
When an asynchronous service is initiated with the invoke activity, a
correlation ID unique to the client request is also sent (using WS Addressing).
Because multiple processes may be waiting for service callbacks, Oracle BPEL
Server must know which BPEL process instance is waiting for a callback message
from the loan application approver Web service. The correlation ID enables
Oracle BPEL Server to correlate the response with the appropriate requesting
instance.
How can one add the HTTP Authentication in BPEL:
Add the following properties in deployment descriptor i.e., the bpel.xml, under the partner link for that service.
<property name="httpHeaders">credentials</property>
<property name="httpUsername">manojnair</property>
<property name="httpPassword">hello@123</property>
O, you can also go about like this;
<property
name="basicHeaders">credentials</property>
<property name="basicUsername">manojnair</property>
<property name="basicPassword">hello@123</property>
<property name="basicUsername">manojnair</property>
<property name="basicPassword">hello@123</property>
How to pass Header in bpel ?
Double click on invoke activity,select header tab and from there choose header variable which contains header xsd details.
Double click on invoke activity,select header tab and from there choose header variable which contains header xsd details.
What is Service Components.
BPEL Process
Create BPEL Process dialog: Enables you to create a BPEL process
that integrates a series of business activities and services into an end-to-end
process flow.
Business Rule
Create Business Rules dialog: Enables you to create a business
decision based on rules.
Human Task
Create Human Task dialog: Enables you to create a workflow that
describes the tasks for users or groups to perform as part of an end-to-end
business process flow.
Mediator
Create Mediator dialog: Enables you to define services that
perform message and event routing, filtering, and transformations.
What are two configuration settings for auditing?
Answer :: auditLevel: • off - absolutely no logging performed
whatsoever; may result in a slight performance boost for processing instances.
• minimal - all events are logged; however, no audit details are logged.
• production - all events are logged. The audit details for assign activities are not logged; the details for all other nodes are logged.
• development - all events are logged; all audit details for all activities are logged.
auditDetailThreshold:
The maximum size (in bytes) ....
• minimal - all events are logged; however, no audit details are logged.
• production - all events are logged. The audit details for assign activities are not logged; the details for all other nodes are logged.
• development - all events are logged; all audit details for all activities are logged.
auditDetailThreshold:
The maximum size (in bytes) ....
What are the types of events supported in bpel?
Message events and alarm events.
List some of extension types to perform various operations on
XML data.?
Answer :: You may want to perform various operations on XML data in assign activities. The following bpelx extension types provide this functionality:
• bpelx:append
• bpelx:insertBefore
• bpelx:insertAfter
• bpelx:remove
• bpelx:rename and XSD Type Casting
• bpelx:copyList
When we use mediator?and when we use osb?
The main difference two is, we go for Mediator when we want to route information between different components inside composite and go for OSB when we want to route the information between composites. Mediator is used light weight mediation and OSB is used for heavy weight
The main difference two is, we go for Mediator when we want to route information between different components inside composite and go for OSB when we want to route the information between composites. Mediator is used light weight mediation and OSB is used for heavy weight
What is resequencing in Mediator ?
Answer: 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.
Can you interact directly with Database from Service Bus?
Yes by using the BEA XQuery method execute-sql
Difference
between RPC and Document styles?
In RPC there is predefine standard for soap message but in Doc there is
no restriction for the soap message It allows you to include whatever XML data
you want and also to include a schema for this XML
Non Blocking Invoke activity what it is ?
Normally when executing a synchronous (two-way) invoke activity, Oracle BPEL
Server waits for the response from the endpoint before executing the subsequent
activity. This behavior can present problems when synchronous invoke activities are
placed inside a flow activity, because Oracle BPEL Server executes the flow using
pseudo-parallelism.
The second invoke activity is not executed until the response from the
first invoke activity is received. If the number of branches in the flow is large, the
delay before the final invoke activity is executed is the sum of all the preceding
synchronous invoke activities.
Solution :
With a nonblocking invoke, the execution of the
synchronous invoke activity is scheduled to be performed by a separate thread in the
background. With this change, the initial execution time of the invoke activities is reduced.
The sequence of events for a nonblocking invoke call is as follows:
1. The first synchronous invoke activity sends a message to a JMS queue. This
activity now waits for the asynchronous response and relinquishes control to the
next activity.
2. The second synchronous invoke activity sends a message to a JMS queue.
3. Since there are no additional activities to execute, the instance now dehydrates.
The invoke activities cannot complete until they receive their callbacks.
4. Two InvokerBean instances pick up the messages in the JMS queue and execute
the synchronous invoke against the partner endpoint.
5. The response from the endpoint is cached and a callback message is scheduled
with the dispatcher module.
6. The first invoke activity receives its callback. The instance is rehydrated during
this step.
7. The second invoke activity receives its callback. The instance is rehydrated during
this step.
What is Idempotent Bpel Property:
A BPEL invoke activity is by default an idempotent activity, meaning that the BPEL process does not dehydrate instances immediately after invoke activities.
if idempotent is set to true-- Oracle BPEL Server fails right after an invoke activity executes, Oracle BPEL Server performs the invoke again after restarting. This is because no record exists that the invoke activity has executed. This property is applicable to both durable and transient processes.
If idempotent is set to false- the invoke activity is dehydrated immediately after execution and recorded in the dehydration store. If Oracle BPEL Server then fails and is restarted, the invoke activity is not repeated, because Oracle BPEL Process Manager sees that the invoke already executed.
A BPEL invoke activity is by default an idempotent activity, meaning that the BPEL process does not dehydrate instances immediately after invoke activities.
if idempotent is set to true-- Oracle BPEL Server fails right after an invoke activity executes, Oracle BPEL Server performs the invoke again after restarting. This is because no record exists that the invoke activity has executed. This property is applicable to both durable and transient processes.
If idempotent is set to false- the invoke activity is dehydrated immediately after execution and recorded in the dehydration store. If Oracle BPEL Server then fails and is restarted, the invoke activity is not repeated, because Oracle BPEL Process Manager sees that the invoke already executed.
Values:
· false: activity is dehydrated immediately after execution and recorded in the
dehydration store
· true (default): If Oracle BPEL Server
fails, it performs the activity again after restarting. This is because the
server does not dehydrate immediately after the invoke and no record exists
that the activity executed.
What is RCU?(multiple defns)
-->The RCU is simply the "Repository Creation Utility". Simply put, the RCU lets you install certain schemas in a database that are required by Fusion Middleware products like Oracle BI EE. These schemas can be installed onto any certified version of database like Oracle Database, IBM DB2, or Microsoft SQL Server. There are schemas that are required by the
core components of Oracle Fusion Middleware.
--> Repository Creation Utility is tool to
create schema and load repository in existing database for Fusion Middleware
components.
--> Metadata Repository - contains metadata for Fusion Middleware Components (SOA, Webcenter, Identity Management) . There are various types of Repository – Metadata Services (MDS), Audit Services (IAU), Oracle Internet Directory (OID), Single Sign-On (SSO), SOA Infrastructure (SOAINFRA), Business Activity Monitoring (BAM) , User Messaging (ORASDPM) , Oracle WebCenter (WEBCENTER) , WebCenter Portlets (PORTLETS) , Oracle Content Server (OCSERVER) , Portal (PORTAL), Discoverer (DISCOVERER), Oracle Identity Federation (OIF) , Discussions (DISCUSSIONS) and Wiki and Blog (WIKI)
--> Metadata Repository - contains metadata for Fusion Middleware Components (SOA, Webcenter, Identity Management) . There are various types of Repository – Metadata Services (MDS), Audit Services (IAU), Oracle Internet Directory (OID), Single Sign-On (SSO), SOA Infrastructure (SOAINFRA), Business Activity Monitoring (BAM) , User Messaging (ORASDPM) , Oracle WebCenter (WEBCENTER) , WebCenter Portlets (PORTLETS) , Oracle Content Server (OCSERVER) , Portal (PORTAL), Discoverer (DISCOVERER), Oracle Identity Federation (OIF) , Discussions (DISCUSSIONS) and Wiki and Blog (WIKI)
What is sensor?
Sensor is an Oracle construct that enables user to monitor key execution points or data in their
composite applications.There are two types of sensors :
Bpel sensors .
Composite Applications.
Sensor has sensor actions that can send data to different publish types
Database
JMS.
Custom.(java).
Types of Bpel sensors :
Activity Sensors : Monitor the execution of activities within a bpel process.
Variable sensors :Monitor bpel process variables.
Fault Sensors :Monitor bpel faults
Composite Sensors:
Composite sensors are defined on service and reference binding components.They provide a method
of implementing trackable fields on incoming and outgoing messages.
Supports two types of sensor actions :
Em and JMS.
Difference between bpel 1.1 and 2.0?
Sensor is an Oracle construct that enables user to monitor key execution points or data in their
composite applications.There are two types of sensors :
Bpel sensors .
Composite Applications.
Sensor has sensor actions that can send data to different publish types
Database
JMS.
Custom.(java).
Types of Bpel sensors :
Activity Sensors : Monitor the execution of activities within a bpel process.
Variable sensors :Monitor bpel process variables.
Fault Sensors :Monitor bpel faults
Composite Sensors:
Composite sensors are defined on service and reference binding components.They provide a method
of implementing trackable fields on incoming and outgoing messages.
Supports two types of sensor actions :
Em and JMS.
Difference between bpel 1.1 and 2.0?
Oracle SOA 11g provides the option to use both the BPEL 1.1 and BPEL 2.0
versions.
If we are migrating the BPEL process from 10g to 11g version the BPEL 1.1
version will be used in the migrated process but new processes can be developed
in BPEL 2.0.
New Activities 2.0
· <forEach>
activity to repeat the set of activities . Replace the FlowN activity in BPEL
1.1 version.
· <repeatUntil>
- 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.
· <if>-<elseif>-<else>
- Replaces the switch activity in BPEL 2.0 - This activity enables you to
define conditional behavior for specific activities to decide between two or
more branches. Only one activity is selected for execution from a set of
branches.
· Changed
<terminate> to <exit>
· <compensateScope>
- to compensate the specified child scope
· A <rethrow>
activity has been added to fault handlers this activity enables you to rethrow
a fault originally captured by the immediately enclosing fault handler.
Performance Tuning Tips :
1. Logging: Set Audit
Level to Production
2. Disable sensor and
composite audit collection.(This may not be possible when BAM is being used.
So, use JMS based BAM data insertion instead)
3. Increase the Invoke
Threads ( if there are more invokes than Callbacks), increase Engine Threads (
if there are lots of Asynchronous activities that create separate threads like
onMessage,Alarm,Wait, etc)
4. Set a small value
for the AuditDetailThreshold so that large payloads are not loaded and replaced
with link that gets from the dehydration store when the BPEL instance is inspected
in EM
5. Decrease incoming
message persistence to the dehydration store by setting oneWayDeliveryPolicy to async.cache ( needs more memory ), or sync(
provided the providers are fast). The default is async.persist which stores the
payload in the dehydration store ( provided the payloads are really small and
the database in tuned)
6. Tune the
Datasources Connection Pool. Keep warm threads.
7. Set the timeout
parameters such that syncMaxWaitTime < BPEL ejb timeout < JTA Timeout.
Also, if there are Database Queries involved, set the Timeout to none so that
this becomes same as the JTA Timeout.Also make sure that httpConnection and httpRead timeouts are set for service
invocations to make sure slow providers cannot create hogging threads.
8. If the BPEL Process
does not contain any dehydrating activities like wait,onAlarm, onMessage, etc.,
keep the Service as transient via inMemoryOptimisation=true (requires more
memory, make sure the payload is small) and set completionPersistPolicy = Faulted
so that only faulted instances are dehydrated. Stateless Entity Services are
good candidates for this.
9. Use Events instead
of request/response patterns wherever possible. The only exception is when
there is a single transaction required between the requestor and the provider.
10. Set activity
idempotent= false. This has two benefits, an activity is not immediately
dehydrated(requires more memory) so is faster, and secondly, on restart faulted
activities are not retried automatically( this might actually create stress on
the Application). Transient services are a good fit for this setting.
11. Use
nonBlockingInvoke = true for achieving correct parallelism in flow activities.
12. Tune mediator
parallel worker threads and use parallel routes if possible.
13. Wherever
possible, use small invoke payloads.
14. If there is an OSB
Façade , use throttling and load balancing. Also, set the Accept Backlog
Parameter to a higher values with load balancing turned on.
What is compensate activity?
Compensation occurs when the BPEL process cannot complete a series of operations after some of them have already completed, and the BPEL process must backtrack and undo the previously completed transactions.
The goal of compensation is to reverse the effects of previous activities that have been carried out as a part of business process that has been abandoned.
Example :
if a BPEL process is designed to book a rental car, a hotel, and a flight, it may book the car and the hotel and then be unable to book a flight for the right day. In this case, the BPEL flow performs compensation by going back and unbooking the car and the hotel.
You can use compensate-> either adding Compensate Handler in fault handling or using compensate activity from bpel constructs.Check the below diagram for reference :
Domain Value Map?
Domain value maps enable you to map values from one vocabulary used in a given domain to another vocabulary used in a different domain. In earlier releases, for editing a domain value map at runtime, you first had to make the changes in Oracle JDeveloper, and then redeploy the domain value map in the application server. Oracle SOA Composer now offers support for editing domain value maps at runtime. Oracle SOA Composer is an EAR file, which is installed as part of Oracle SOA Suite installation. It enables you to manage domain value maps at runtime.
What are MCF properties?
MCF stands for "Managed Connection Factories".
When configuring a Database Adapter or AQ Adapter via the Adapter Configuration Wizard, a Database Connection is required to configure the adapter (this is already defined in your project). The Connection Information listed is actually pulled from your JDeveloper Database Connection information.
Once the adapter is created, a WSDL file is automatically created that includes the adapter definition. This includes the Managed Connection Factory (MCF) properties as well as the Java Naming and Directory Interface (JNDI) name, as shown below:
Domain value maps enable you to map values from one vocabulary used in a given domain to another vocabulary used in a different domain. In earlier releases, for editing a domain value map at runtime, you first had to make the changes in Oracle JDeveloper, and then redeploy the domain value map in the application server. Oracle SOA Composer now offers support for editing domain value maps at runtime. Oracle SOA Composer is an EAR file, which is installed as part of Oracle SOA Suite installation. It enables you to manage domain value maps at runtime.
What are MCF properties?
MCF stands for "Managed Connection Factories".
When configuring a Database Adapter or AQ Adapter via the Adapter Configuration Wizard, a Database Connection is required to configure the adapter (this is already defined in your project). The Connection Information listed is actually pulled from your JDeveloper Database Connection information.
Once the adapter is created, a WSDL file is automatically created that includes the adapter definition. This includes the Managed Connection Factory (MCF) properties as well as the Java Naming and Directory Interface (JNDI) name, as shown below:
<service
name="UpdateCustTable">
<port name="UpdateCustTable_pt"
binding="tns:UpdateCustTable_binding">
<jca:address
location="eis/DB/LocalDBScott"
UIConnectionName="LocalDB"
ManagedConnectionFactory="oracle.tip.adapter.db.DBManagedConnectionFactory"
mcf.DriverClassName="oracle.jdbc.OracleDriver"
mcf.PlatformClassName="oracle.toplink.platform.database.oracle.Oracle10Platform"
mcf.ConnectionString="jdbc:oracle:thin:@//127.0.0.1:1521/orcl"
mcf.UserName="scott"
mcf.Password="9469F498BD53204FCC2CC246769B23C3"
/>
</port>
</service>
|
XA transaction what it is ?
XA stands for "eXtended Architecture" and is an X/Open group standard for executing a "global transaction" that accesses more than one back-end data-store. XA specifies how a transaction manager will roll up the transactions against the different data-stores into an "atomic" transaction and execute this with the two-phase commit (2PC) protocol for the transaction.
Thus, XA is a type of transaction coordination, often among databases. ACID Transactions are a key feature of databases, but typically databases only provide the ACID guarantees for activities that happen inside a single database. XA coordination allows many resources (again, often databases) to participate in a single, coordinated, atomic update operation.
What is JCA?
(JCA) is a Java-based technology solution for connecting application servers and enterprise information systems (EIS) as part of enterprise application integration (EAI) solutions. While JDBC is specifically used to connect Java EE applications to databases, JCA is a more generic architecture for connection to legacy systems. JCA was developed under the Java Community Process as JSR
The Oracle Database Adapter is a JCA 1.5 connector, which runs on the Oracle Application Server. It relies on an underlying JDBC connector/driver to enact the database communication. In contrast to JDBC, it is non-programmatic. The interaction (series of SELECT, UPDATE, INSERT) is loosely modeled using the Adapter Configuration Wizard.
Transient Processes:
Transient processes
do not incur dehydration during their process execution. If an executing
process experiences an unhandled fault or the server crashes, instances of a
transient process do not leave a trace in the system. Thus, these instances
cannot be saved in-flight regardless if they complete normally or abnormally.
Transient processes are typically short-lived, request-response style
processes. Synchronous processes are examples of transient processes.
Durable Processes
Durable processes
incur one or more dehydration points in the database during execution.
Dehydration is triggered by one of the following activities:
· Receive activity
· OnMessage branch in a pick activity
· OnAlarm branch in a pick activity
· Wait activity
· Reply activity
· checkPoint() within a <bpelx:exec> activity
Mediator Error Handling ?
Mediator provides sophisticated error handling capabilities that enable you to configure a Mediator service component for error occurrences and corresponding corrective actions. Error handling enables a Mediator to handle errors that occur during the processing of messages and also the exceptions returned by outside web services. You can handle both business faults and system faults with Mediator.
Fault policies enable you to handle errors automatically or through human intervention. Mediator fault policy-based error handling consists of the following three component.
->Fault policies,fault bindings,error groups.
Dynamic Routing Rule in Mediator?
A dynamic routing rule lets you externalize the routing logic to an Oracle Rules Dictionary or Domain Value Map (DVM), which in turn enables dynamic modification of the routing logic in a routing rule. Dynamic routing enables you to dynamically route messages at runtime from a mediator to multiple target services, based on the message content.
Sequential Routing Rule in Mediator?
· Mediator evaluates
routings and performs the resulting actions sequentially. Sequential routings
are evaluated in the same thread and transaction as the caller.
· Mediator always
enlists itself into the global transaction propagated through the thread that
is processing the incoming message. For example, if an inbound JCA adapter
invokes a Mediator, the Mediator enlists itself with the transaction that the
JCA adapter has initiated.
Mediator propagates the transaction through the same thread as the target components while executing the sequential routing rules.
How Java Callouts work in Mediator?
Java callouts enable you to use external Java classes to manipulate messages flowing through the Mediator. Only one Java callout is supported per operation or event subscription. The callout class must implement the oracle.tip.mediator.common.api.IjavaCallout interface. Callouts are available for both static and dynamic routings.
To make Java callout classes available:
You must ensure that the Java callout class is available on the server. You can use any of the following methods for this:
· Copy the Java class
to the SCA-INF/classes folder.
· Copy the JAR file
containing the Java class to the SCA-INF/lib folder.
· Copy the JAR file
containing the Java class to the $DOMAIN_HOME/lib folder.
If you want to make the Java
callout class available to multiple Mediators, copy the JAR file containing the
Java class to the $DOMAIN_HOME/libfolder.
What is Bpel Dehydration store?
1.Oracle BPEL PM utilizes a database to store metadata and instance data during runtime.
The process of updating process state in the database is called Dehydration.
This data is stored in what is known as the Dehydration store, which is simply a database schema
The Dehydration Store database is used to store process status data, especially for asynchronous BPEL processes, like BPEL’s metadata and instance data. This exists in x_SOAINFRA schema created by running RCU.
2. The Dehydration Store database is used to store process status data, especially for asynchronous BPEL processes.
3.A very important to remember if a BPEL process fails without reaching a
dehydration point then the instance will not show up on the BPEL console.
This instance never gets stored to the database.
Below are the main Dehydration tables for BPEL:
1.CUBE_INSTANCE
2.CUBE_SCOPE
3.AUDIT_TRAIL
4.AUDIT_DETAILS
5.DLV_MESSAGE
6.DLV_MESSAGE_BIN
7.INVOKE_MESSAGE
8.INVOKE_MESSAGE_BIN
9.DLV_SUBSCRIPTION
10.TASK
11.WORK_ITEM
Following are processes state codes and their meaning
State Code
Closed and Aborted 8
Closed and Cancelled 7
Closed and Completed 5
Closed and Faulted 6
Closed and (Pending or Cancel) 4
Closed and Stale 9
Initiated 0
Open and Faulted 3
Open and Running 1
What is Bpel Dehydration store?
1.Oracle BPEL PM utilizes a database to store metadata and instance data during runtime.
The process of updating process state in the database is called Dehydration.
This data is stored in what is known as the Dehydration store, which is simply a database schema
The Dehydration Store database is used to store process status data, especially for asynchronous BPEL processes, like BPEL’s metadata and instance data. This exists in x_SOAINFRA schema created by running RCU.
2. The Dehydration Store database is used to store process status data, especially for asynchronous BPEL processes.
3.A very important to remember if a BPEL process fails without reaching a
dehydration point then the instance will not show up on the BPEL console.
This instance never gets stored to the database.
Below are the main Dehydration tables for BPEL:
1.CUBE_INSTANCE
2.CUBE_SCOPE
3.AUDIT_TRAIL
4.AUDIT_DETAILS
5.DLV_MESSAGE
6.DLV_MESSAGE_BIN
7.INVOKE_MESSAGE
8.INVOKE_MESSAGE_BIN
9.DLV_SUBSCRIPTION
10.TASK
11.WORK_ITEM
Following are processes state codes and their meaning
State Code
Closed and Aborted 8
Closed and Cancelled 7
Closed and Completed 5
Closed and Faulted 6
Closed and (Pending or Cancel) 4
Closed and Stale 9
Initiated 0
Open and Faulted 3
Open and Running 1
awesome collection............thanks...........!!!!!!!!!
ReplyDeletebrilliant collection. Much thanks !!
ReplyDelete
ReplyDeleteIt's very nice post,keep update at
Oracle SOA Online Course
ReplyDeleteThanks for sharing this great information I am impressed by the information that you have on this blog. Same as your blog i found another one Oracle SOA Training
. Actually, I was looking for the same information on internet for Oracle SOA Interview Questions and Answers
and came across your blog. I am impressed by the information that you have on this blog. It shows how well you understand this subject, you can learn more about Oracle SOA Tutorial also.
cami avizesi - no deposit bonus forex 2021 - takipçi satın al - takipçi satın al - takipçi satın al - takipcialdim.com/tiktok-takipci-satin-al/ - instagram beğeni satın al - instagram beğeni satın al - google haritalara yer ekleme - btcturk - tiktok izlenme satın al - sms onay - youtube izlenme satın al - google haritalara yer ekleme - no deposit bonus forex 2021 - tiktok jeton hilesi - tiktok beğeni satın al - binance - takipçi satın al - uc satın al - finanspedia.com - sms onay - sms onay - tiktok takipçi satın al - tiktok beğeni satın al - twitter takipçi satın al - trend topic satın al - youtube abone satın al - instagram beğeni satın al - tiktok beğeni satın al - twitter takipçi satın al - trend topic satın al - youtube abone satın al - instagram beğeni satın al - tiktok takipçi satın al - tiktok beğeni satın al - twitter takipçi satın al - trend topic satın al - youtube abone satın al - instagram beğeni satın al - perde modelleri - instagram takipçi satın al - takipçi satın al - instagram takipçi satın al - betboo
ReplyDeleteMMORPG
ReplyDeleteİnstagram Takipçi Satın Al
Tiktok Jeton Hilesi
tiktok jeton hilesi
antalya saç ekimi
referans kimliği nedir
instagram takipçi satın al
METİN2 PVP SERVERLER
instagram takipçi satın al
tül perde modelleri
ReplyDeletesms onay
mobil ödeme bozdurma
nft nasıl alınır
Ankara Evden Eve Nakliyat
Trafik Sigortasi
dedektör
web sitesi kurma
aşk kitapları
Good content. You write beautiful things.
ReplyDeletemrbahis
mrbahis
sportsbet
sportsbet
vbet
korsan taksi
hacklink
vbet
taksi
canlı sex hattı
ReplyDeleteheets
salt likit
salt likit
puff bar
YMG0Tİ
canlı sex hattı
ReplyDeleteheets
salt likit
salt likit
puff bar
NN7LRE
adana
ReplyDeleteadıyaman
afyon
ağrı
aksaray
GWF
dijital kartvizit
ReplyDeletereferans kimliği nedir
binance referans kodu
referans kimliği nedir
bitcoin nasıl alınır
resimli magnet
TYHCS0
malatya
ReplyDeleteelazığ
kadıköy
istanbul
şişli
Y0O
hatay
ReplyDeletekars
mardin
samsun
urfa
XVYK
https://saglamproxy.com
ReplyDeletemetin2 proxy
proxy satın al
knight online proxy
mobil proxy satın al
2UP7GF
https://saglamproxy.com
ReplyDeletemetin2 proxy
proxy satın al
knight online proxy
mobil proxy satın al
GQG7