3/17/14 soa suite 11g/10g concepts and interview questions soa suite 11g/10g concepts and interview...

10
3/17/14 SOA SUITE 11g/10g Concepts and Interview Questions girijeshverma.blogspot.com 1/10 SOA SUITE 11g/10g Concepts and Interview Questions Sunday, 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 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. 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 Addressing WS 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 and 11g Soa Suites Blog Archive Girijesh View my complete profile About Me Share 0 More Next Blog» Create Blog Sign In

Upload: independent

Post on 19-Jan-2023

0 views

Category:

Documents


0 download

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.