3/17/14 soa suite 11g/10g concepts and interview questions soa suite 11g/10g concepts and interview...
TRANSCRIPT
3/17/14 SOA SUITE 11g/10g Concepts and Interview Questions
girijeshverma.blogspot.com 1/10
SOA SUITE 11g/10g Concepts andInterview QuestionsSunday, 16 September 2012
Here are some interview questions which I faced during my interview on Oracle SOA 10g/11g,
Question 1:- What is a web service.?
:- The Web Services Description Language (WSDL) client interface, which defines the inputand output messages for this BPEL process flow, the supported client interface andoperations, and other features. This functionality enables the BPEL process flow to be calledas a service.
1. How to migrate ESB services.
Data sources and connection factories for both the 10g and 11g infrastructures can point to same
targets.
Turn off all services on the 10g infrastructure that does polling (e.g., JMS Adapter consume, AQ
Adapter dequeue, DB Adapter polling). If not, polling services will compete on both the old and new
infrastructures.
MDS Meta Data Services
AIA Components
Fault Plocies
Xref
WSDL
DVM Config
Ensure that the “Invocable from an external web service” is selected for all ESB routing services.
7. Open all .esbsvc files in a text editor.
a. Delete all “parent” lines that have lines similar to the following:
<parent guid="96DD76C0971311DABF1A87858E4395A7" qname="DefaultSystem"
type="system"/>
b. Change all remaining “qname” references and remove the system and service groups as follows:
OLD: qname="DefaultSystem.Accounting.HelloWorld"
NEW: qname="HelloWorld"
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.
WS AddressingWS Addressing defines the following information typically provided by transport protocols and
messaging systems. This information is processed independently of the transport or application:
Interview Questions for 10g and 11g Soa Suites▼ 2012 (1)
▼ September (1)
Interview Questions for 10g and11g Soa Suites
Blog Archive
Girijesh
View my complete profile
About Me
Share 0 More Next Blog» Create Blog Sign In
3/17/14 SOA SUITE 11g/10g Concepts and Interview Questions
girijeshverma.blogspot.com 2/10
Endpoint location (reply-to address)
The reply-to address specifies the location at which a BPEL client is listening for a callback
message.
Conversation ID
Use TCP tunneling to view SOAP messages exchanged between the BPEL process flow and the
Web service (including those containing the correlation ID). You can see the exact SOAP messages
that are sent to, or received from, services with which a BPEL process flow communicates.
You insert a software listener between your BPEL process flow and the Web service. Your BPEL
process flow communicates with the listener (called a TCP tunnel). The listener forwards your
messages to the Web service, and also displays them. Responses from the Web service are
returned to the tunnel, which displays them and forwards them back to the BPEL process.
WSDL Concept
http://predic8.com/wsdl-reading.htm
Understanding Queue.
http://www.wmoug.org/downloads/WMOUG_2011Spring_IPNWEB_Queues.pdf
SOA11g Topics to read.
1. Composite with BPEL
2. composite with Mediator
3. Bussiness Rules
4. Human Workflow
5. XML,XSLT,XSD,WSDL and WS addressing.
Why do message remain visible after being dequed.?and howto do manual Dequeue.
Check for retention Time
SELECT owner, name, retention FROM all_queues WHERE name LIKE 'WF%';
Fetch status of message.
SELECT msg_state, count(*) FROM applsys.aq$wf_deferred GROUP BY msg_state;
SELECT msg_state FROM applsys.aq$wf_deferred WHERE msg_id = <your message ID>;
http://www.workflowfaq.com/why-do-messages-remain-visible-after-being-dequeued
What is the difference between Queue and topic?
In queues, one message can be consumed by only one client. But in the topics, one message can
be consumed by many clients. Both are separate domains in MOM.
Queue represent Point-To-Point domain and Topic represent Pub/Sub domain
A point-to-point (PTP) product or application is built around the concept of message queues,
senders, and receivers. Each message is addressed to a specific queue, and receiving clients
extract messages from the queue(s) established to hold their messages. Queues retain all
messages sent to them until the messages are consumed or until the messages expire.
In a publish/subscribe (pub/sub) product or application, clients address messages to a topic.
Publishers and subscribers are generally anonymous and may dynamically publish or subscribe to
the content hierarchy. The system takes care of distributing the messages arriving from a topic's
multiple publishers to its multiple subscribers. Topics retain messages only as long as it takes to
distribute them to current subscribers.
3/17/14 SOA SUITE 11g/10g Concepts and Interview Questions
girijeshverma.blogspot.com 3/10
What type messaging is provided by JMS?
Both synchronous and asynchronous.
Imp Link for interview questions.
http://dev.fyicenter.com/Interview-
Questions/JMS/How_does_the_Application_server_handle_the_JMS_C.html
http://www.scribd.com/doc/78450001/SOA-11g-Interview-Questions
Activity sensors
Activity sensors are used to monitor the execution of activities within a BPEL process. For example,
they can monitor the execution time of an invoke activity or how long it takes to complete a scope.
Along with the activity sensor, you can also monitor variables of the activity.
Variable sensors
Variable sensors are used to monitor variables (or parts of a variable) of a BPEL process. For
example, variable sensors can monitor the input and output data of a BPEL process.
Fault sensors
Fault sensors are used to monitor BPEL faults.
What is ComponentType File?
The componentType file that describes the services and references for each service component. This
file ensures that the wiring you create between components works.
What is Contains in JCA Adapters?
Displays the JCA adapter (AQ, file, FTP, Database, JMS, MQ, Oracle Applications, Oracle BAM,
and EJB Service), B2B binding component, SDO binding component, and web service binding
component that can be dragged into the left or right swim lanes.
What is Compansate activity and pick activity.
What is difference Between Service and WebService.
ans:- The Web Services Description Language (WSDL) client interface, which defines the input and
output messages for this BPEL process flow, the supported client interface and operations, and
other features. This functionality enables the BPEL process flow to be called as a service.
What is Tab in Business .rules file?
Facts
Facts are the objects that rules reason on.
Functions
A function, in Oracle Business Rules, refers to the standard mathematical functions.
Globals
3/17/14 SOA SUITE 11g/10g Concepts and Interview Questions
girijeshverma.blogspot.com 4/10
A global, in Oracle Business Rules, is similar to a public static variable in Java.
Bucketsets
Bucketsets define the data types of fact properties.
Links
Links are used to link to a dictionary in the same application or in another application.
Decision Functions
A Decision Function is a function that is configured declaratively, without using RL Language
programming.
Rulesets with Rules and Decision Tables
A ruleset provides a unit of execution for rules and for Decision Tables. A Decision Table provides a
mechanism for describing data processing tasks.
What is .JWS file?
It is a Application WorkSpace. When you can fine many projects.
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.
Describe The available Services.
Web service
Create Web Service dialog: Creates a web invocation service.
Adapters
Adapter Configuration Wizard: Guides you through integration of the service with database tables,
database queues, file systems, FTP servers, Java Message Services (JMS), IBM WebSphere MQ,
BAM servers, sockets, or Oracle E-Business Suite applications.
ADF-BC Service
Create ADF-BC Service dialog: Creates a service data object (SDO) invocation service.
B2B
B2B Wizard: Guides you through selection of a document definition.
EJB Service
Create EJB Service: Creates an Enterprise JavaBeans service for using SDO parameters with
Enterprise JavaBeans.
3/17/14 SOA SUITE 11g/10g Concepts and Interview Questions
girijeshverma.blogspot.com 5/10
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.
What is a NameSpace?
What is inline schema?
<?xml version="1.0"?>
<catalog xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:x="urn:book">
<!-- START OF SCHEMA -->
<xsd:schema targetNamespace="urn:book">
<xsd:element name="book">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="author" type="xsd:string"/>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="genre" type="xsd:string"/>
<xsd:element name="price" type="xsd:float"/>
<xsd:element name="publish_date" type="xsd:date"/>
<xsd:element name="description" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<!-- END OF SCHEMA -->
<x:book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications with
XML.</description>
</x:book>
</catalog>
What is Dynamic Binding.Creating a dynamic binding in BPELhttp://www.oracle.com/technetwork/articles/carey-090553.html
Dynamic binding allows the developer to add new services through configuration or run-time inputs.
3/17/14 SOA SUITE 11g/10g Concepts and Interview Questions
girijeshverma.blogspot.com 6/10
To understand how this dynamic process works, it is first necessary to analyze the
DynamicPartnerLink.bpel file. The first interesting thing in this file is the loan service partner link:
<partnerLink name="LoanService" partnerLinkType="
services:LoanService"
myRole="LoanServiceRequester" partnerRole="LoanServiceProvider"/>
Rather than defining a specific loan service (like UnitedLoan), a generic loan service name and type is
specified (services:LoanService). The LoanService partner link is defined in the LoanService.wsdl
file; this file is imported by adding it to the bpel.xml file in the <partnerLinkBindings> section as shown
below:
<partnerLinkBinding name="LoanService">
<property name="wsdlLocation">LoanService.wsdl</property>
</partnerLinkBinding>
You'll observe in the LoanService.wsdl file that each of the available loan providers is defined as a
<service> within this single WSDL file, as shown below.
<service name="StarLoan">
<port name="LoanServicePort" binding="tns:LoanServiceBinding">
<soap:address location="http://localhost:9700/orabpel/default/StarLoan"/>
</port>
</service>
<service name="UnitedLoan">
<port name="LoanServicePort" binding="tns:LoanServiceBinding">
<soap:address location="http://localhost:9700/orabpel/default/UnitedLoan"/>
</port>
</service>
<service name="AmericanLoan">
<port name="LoanServicePort" binding="tns:LoanServiceBinding">
<soap:address location="http://localhost:9700/orabpel/default/AmericanLoan"/>
</port>
</service>
It is important to understand that there is no "real" service called "LoanService." Rather, LoanService is a
template from which you select one of the real loan provider services (UnitedLoan, AmericanLoan,
StarLoan). This approach works as long as the real services all support the same interface (same data
types, messages, roles, ports, and partner link types) as that defined in the template WSDL. It is important
to define this template interface carefully because a change here can affect many processes down the
line.
The LoanService.wsdl file defines all the service options, which the parent process can elect to call
dynamically. This model requires a redeployment of the WSDL file as each new service is added. This
approach represents a remarkable improvement over modifying the parent process to include new partner
links and routing logic for each new service. (Later you will see how to disassociate the service endpoints
from the WSDL file as well.)
Returning to the DynamicPartnerlink.bpel file, the next feature we want to look at is
the partnerReference variable:
<variable name="partnerReference" element="wsa:EndpointReference"/>
This variable is of the type EndpointReference. It has a namespace wsa: defined at the top of the BPEL file
as
xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing"
The WS-Addressing standard provides the schema for the EndpointReference type. You can <assign>
variables of this type to a partner link in order to modify the address and service information, thus providing
the ability to modify the partner link at runtime.
The DynamicPartnerLink process basically consists of a switch. It inspects the "provider" string passed in
by the caller. Then, it assigns an EndpointReference xml data structure to the partnerReference variable
3/17/14 SOA SUITE 11g/10g Concepts and Interview Questions
girijeshverma.blogspot.com 7/10
containing the information relevant to the service that you're requesting. After the switch,
the partnerReference variable is assigned to the LoanService partner link and the partner link is
invoked.
Here's how to accomplish this task when the input string (the service provider) is "united":
<assign>
<copy>
<from>
<EndpointReference xmlns="http://schemas.xmlsoap.org/ws/2003/03/addressing">
<Address>http://localhost:9700/orabpel/default/UnitedLoan</Address>
<ServiceName
xmlns:ns1="http://services.otn.com">ns1:UnitedLoan</ServiceName>
</EndpointReference>
</from>
<to variable="partnerReference"/>
</copy>
</assign>
Everything between the <from> and </from> tags is literal XML that you're assigning to
the partnerReference variable. This data will override the address and service specified in
the LoanService partner link when you assign the partnerReference variable to that link.
Now that you've explored the use of the LoanService partner link and LoanService.wsdl to invoke services
selected at run time, you can move on to building a dynamic process.
What is Fault Policy Management.
What is Difference between 10g and 11g of Soa.
What is SOA and SCA?Soa- Service Oriented Architecture and SCA is ServiceComponent ArchitectureSCA is assembly of artifacts.
How many ways to deploy a BPEL service?
what is ant script?
What is Concrete and Abstract WSDL?
The entire Structure of a WSDL Document
How to Migrate a BPEL Process?
What is MDS?What is configuration control? And its usage in your project?
3/17/14 SOA SUITE 11g/10g Concepts and Interview Questions
girijeshverma.blogspot.com 8/10
What are the activities which used to dehydrate automatically?What is dehydrate activity.
What is FlowNActivity.
What is Asynchronous and Syncronous Services?
callBack- Asynchronous. Two port.
ReplyOutPut- Synchronous.one port.
Business Scenario.
1. We have three service Flight Service Hotel Service andCab service, If any of them couldnt book so what you will dofor rollback all the action?
ans :- Compansate activity. And compensateScopeActivity
2. If A call B and B call C and Response would be inReverse manner. i.e. C respond to B and B respond to A, Sohow you will respod to A from C without responsding B?
Ans:-
Oracle BPEL Correlation Exemplified
Correlation is one of the important & tricky technique available within Oracle BPEL PM. In this blog, I
have taken a simple route to explain the correlation technique.
Synchronous & Asynchronous web services:
Whenever a synchronous web service is invoked from Oracle BPEL via a partnerlink, only one port is
established for communication with the exposed web service which is used by both request &
response messages.
However, when an asynchronous web service is invoked, two ports are opened for communcation:
one for request & one for response messages.
How does Oracle BPEL identify asynchronous responses?
As response from an asynchronous web service is not guaranteed to be received within a specified
time frame, and many instances of the same service might be invoked before even a response can
be obtained, how does Oracle BPEL identify and relate the responses to the appropriate requests
and proceed for completion of further activities that may be scheduled? The answer is "WS-
Addressing".
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.
For reference on WS-Addressing click here
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.
Correlation:
In short, Correlation is a BPEL technique which provides correlation of asynchronous messages
based on the content of the message.
Why & Where Correlation?
3/17/14 SOA SUITE 11g/10g Concepts and Interview Questions
girijeshverma.blogspot.com 9/10
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
Implementing Correlation:
a.) Creating Correlation Sets:
In Structure Window of the JDeveloper IDE, right click on the Correlation Sets and choose 'Create
Correlation Set'
Provide a name for your correlation set being created.
In the properties section, select 'Add' to display the property chooser window
Choose 'Create' to create a property on which the correlation has to be initiated. Provide a name and
type for the property.
b.) Associating the Correlation set on receive/invoke, pick activities
Go the the correlations tab on the activity (invoke/receive/pick) on which you need to set & validate
the correlation
Add the created correlation set to the activity
Initiate Attribute: (Value Set - yes, no)
When set to yes, correlation set is initiated with the values of the properties available in the
message being transferred
When set to no, correlation set validates the value of the property available in the message
Pattern Attribute: (Value Set - in, out, in-out)
When the value is 'in', it means that the correlation property is set/validated on the incoming
message
When the value is 'out', it means that the correlation property is set/validated on the message going
out of BPEL
In case of 'in-out', the property will be set/validated on both incoming & outgoing messages
c.) Creating Propery Alias:
In the Structure Window of the JDeveloper, right click on the 'Property Aliases' and select 'Create
Propery Alias'
Select the message type that you want to set to the correlation propery (already created)
Now, correlation design is complete. However, correlation will not be established unless we
reference the correlations on the WSDL file of the BPEL process. To do this, import the correlation
WSDL file (created under the project) in the BPEL process main WSDL.
Calling Secure Services from BPELThere are two popular ways of securing the so-called webservices and as to how do we invoke
them from BPEL???
BasicServices:
Basic services would require authentication information i.e., the username/password to be passed
in the HTTP Header.
Services Pertaining to WS-Security:
These services are required to send authentication information ( username / password) as WS-
Security tokens in SOAP Envelope to access.
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>
3/17/14 SOA SUITE 11g/10g Concepts and Interview Questions
girijeshverma.blogspot.com 10/10
Home
Subscribe to: Posts (Atom)
O, you can also go about like this;
<property name="basicHeaders">credentials</property>
<property name="basicUsername">manojnair</property>
<property name="basicPassword">hello@123</property>
Adding WS-Security tokens in BPEL:
Add the following properties in bpel.xml under the partner link for that service.
<property name="wsseHeaders">credentials</property>
<property name="wsseUsername">manojnair</property>
<property name="wssePassword">hello@123</property>
Dats it .... you are done once you embed this into your code.
This is how one can invoke secure services.
Posted by Girijesh at 11:27 1 comment:
Recommend this on Google
Ethereal template. Powered by Blogger.