Sunday 16 September 2012

Oracle Fusion Middleware (SOA,OSB,BPM,AIA,ADF) Concepts




========================================================================

What is a Web Service?

:- Basically Service itself is a self  explanatory word which means to serve something to the caller party. It can be anything. For Example :- A Vending Machine, which gives you desired product in return of your money or In a restaurant where waiter used to serve you food which you have ordered. Every service follows the request/response model. Request and response can be in any form or medium.    
In Our SOA world, Web Service can be defined as below. 
  
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.

There are two types of service available in SOA.
1. Soap Based Service.
2. Restful Service or Rest Service.

========================================================================

What is a SOAP Based Service?

:- Soap based services are mainly deals with XML messages. WSDL represents SOAP based service. 

========================================================================

What is a Restful  Service?
:- Restful service used the HTTP verb, For example Get, Post, Put, Delete.
It mainly deals with both type of message format JSON and XML. Searching any video on YouTube is a perfect example of restful service or liking/commenting/posting some information on Face book is also an example of restful service.
WADL represents the restful service.


Note :- Soap - UI is a tool which is useful to test both type of services.


========================================================================

Difference between XML & JSON ?
:- XML and JSON are the data exchange formats used in development of Web Applications/Web Service. Both are different from each other are used at their right place. JSON is extended from the  JavaScript while that XML has been extended from SGML(Standard Generalised Markup Language). Syntax of JSON is lighter than XML as JSON does not contain start and end tags but XML do have start and end tags. JSON supports data type and arrays while XML does not provide data type and does not support array. XML support for Namespaces and Comments while JSON does not support Namespaces and comments.
  • JSON is extended from the JavaScript while that XML has been extended from SGML.
  • XML stands for “Extensible Markup Language” while JSON stands for “JavaScript Object Notation”.
  • Syntax of JSON is lighter than XML
  • JSON does not contain start and end tags but XML do have start and end tags.
  • JSON supports data type and arrays while XML does not provide data type and does not support array.
  • XML support for Namespaces while JSON does not support Namespaces
  • XML support for Comments while JSON does not support Comments.
  • JSON is better for web services while XML is better for configuration.
  • JSON data cannot be changeable to other formats while XML data can be changed into other formats like plain text, JSON.
  • Mapping is quite easy in JSON than in XML as JSON is data oriented while XML is document oriented.
Sample JSON  and XML :-




========================================================================
Difference between SOAP & REST ?
:- In the world of integration and web services, SOAP and REST has their own significance.
Both are having their advantages and disadvantages.
SOAP is a protocol and REST is an architecture.

SOAP
REST
It's a protocol
It's an architecture
It has its own web service security standards
It relies on HTTP security(Browser Security)/Certificate Level security (TLS,SSL)
When any machine to machine or application to application integration required, SOAP is best.
For Building Public Facing API or doing any CRUD operation, Rest is the undisputed Champion.
Data exchange format is xml
Data exchange format can be XML,Json,Text,Csv etc
End point of SOAP based service is WSDL
Endpoint of Rest Based Service is WADL
Uses only Post HTTP verb
Uses all the features of HTTP verbs(Get,Post,Put,Delete)
Url based testing cannot be done.
Url Based Testing can be done.



========================================================================
Difference between Mediator & OSB ?



========================================================================
What is a SOAP Message ?
:- A SOAP message is XML-based formatted structure for Input and output messages.
soap message have one soap envelope which consist of below part.
1.         Soap Header(optional). It contains multiple entries of soap header. It mainly contains information about security, token, ws addressing etc.
2.         Soap Body (Mandatory). It contains main element of message.
3.         Soap fault(Optional). It contains fault details.

For more information go to below link.



========================================================================
Difference between WSDL & WADL ?



========================================================================
How to Poll Single file from FTP/File location which has multiple files ?
:- Lets take one example if we have include file wild card as *.txt and there are 2 files available at File/FTP Location. So read operation will read both the file and create two instance and created time will be same for both the instance. To avoid such scenario and read only one file at a time, we need to use below property in jca file.

<property name="SingleThreadModel" value="true"/>

      <property name="MaxRaiseSize" value="1"/>


========================================================================
What is Top-down and Bottom-Up approach in SOA  ?









========================================================================
What is file rejection handler in read operation of file adapter and how to use it  ?








========================================================================
How to achieve If-Else in Assign Activity ?
:- Sometime while doing development we come accross a situation where we need to achieve If-Else condition with in copy tag of assign activity. For doing this we need to understand the concept of  below functions in SOA.
1.  Substring("Hello World",1) -> Output would be HelloWorld
2.  Divide Function , 2 div 1 -> output would be 2 or 1 div 1 output would be 1.

So if we some how manage to get divide function output as 1 then same output can be passed in Substring Function as a Start Index.

Now the question arise, how to get output of divide function as 1.

lets say I have one string variable temp. and value of that variable is 'hello' 

then $temp = 'hello' will give output as 'true'

and 

$temp = 'value other then hello' will give output as 'false'

1 div ($temp = 'hello') , this would give output as 1 (This condition will always provide output as 1)

and

1 div not ($temp = 'hello') , this would give output as 'Infinity'

Now come Back to the If-Else functionality in Assign. below is the expression that work like If-Else in Assign.

concat(substring('Success_if', 1 div ($temp = 'hello')),substring('Failure_else', 1 div not ($temp = 'hello')))


So if you pass input as hello then output of above express will come as 'Success_If'.

if you pass input other than hello then output of above express will come as 'Failure_else'.







========================================================================


Let’s suppose,

I have pushed one message in queue and before consuming my server went down, so what will you do, not to lose data?


What is debatching in case of file adapter?

What is Polling? How many ways we can do polling with DB Adapter?

What are the components that are there in 11g not present in 10g

 Difference between dvm and xref

 If I have huge size file(some gbs) how to process?

 What is XSLT 2.0?

 What is the conecpt of For-each group in  transformation?

 What is mds? How do you update mds? Can we update through jdev

 Do you have knowledge on Jms concepts? Queue and topic difference

Can we configure 2 applications listening to same queue with same configuration? If so what decides which one will pick the message

What is durable process?

Which are the activities for dehydration? What are they called

Does Synchronous process dehydrate?

While a process which reads a large size file  is running, server crashes. When it starts again from where will the execution be?

Difference between EBO and EBM?

How to  customized EBO’s? 

How do you access file placed in mds?

What are correlation sets?

What is wsdl? Explain its components?

What kind of wsdl do you place in mds abstract/ concrete? Why do you place abstract?

Can  a webservice have without wsdl?

How to invoke restful services?

Can we have more than one port type? If so which case

If a wsdl has multiple operations, what decides which operation to choose?

What is file min age in file adapter?

What is fault policy?

If a db adapter has a retry of 5 and there is a fault policy associated which has a retry of 4, which one will get executed?

What is Concept of  mediator? What is  message sequencing?

Concepts of human task and business rules?

What are correlation sets? And how to implement it?

How to create schema for a file csv separated by special character ( special characters not on the keyboard)?

How do you create the AIA interfaces? Do you follow the standards? Do you know about workbench?

Assume a situation with multiple nodes in the server, all the nodes have an instance of file picking process. Now when the file is placed all the instance which are polling will try to pick the file. How do you ensure that the file is picked only by one of the node?

In the transformation activity can we have multiple schemas(target)?

What is difference between JMS,MQ and AQ Queues? 

What are the type of wsdl?
:-Rpc and Document Literal type wsdl.

How to secure your composite or web-service?

What is Two phase and one phase commit?

What is XA and NON-XA datasources?

Concepts of Transactions?(async.persist,async.cache,sync)?

What is Target and Default Namespace in any schema?

How to validate an Input Message?

What is Dehydration State?

What is data source rollback?(XA or NON-XA)

What is Persistence Store? Which one is default persistence store?

How to invoke Custom Fault?

How to ensure guaranteed delivery of messages?



What is Connection Factory and Connection pool?


If a Sync Will call a Async Service will it wait for the response of Async Service?
No it will not wait. port concept.
How to validate an Input Message? What is difference between verification and validation.?
What is dehydration?
What is Database or datasource Rollback?
What is JNDI ? What is the use of this? How to configure it?
JNDI Name: The JNDI name to use for the JMS connection. As in the previous example, this is probably the most common source of error. This is the JNDI name of the JMS adapter’s connection pool created in the WebLogic Server and which points to the connection factory. JDeveloper does not verify the value entered here. If you enter a wrong value, the JMS adapter won’t find the queue and you will get an error message at runtime, which is very difficult to trace.
If in a DB adapter you are giving wrong JNDI name so it will be error out compile time or run time?
If a consumer is consuming a meesage and want to write in a file. Before writing some error happen? What will happen to that message?

What is difference Between File and FTP adapter.?
File adapter is basically used to read,write files locally on your server. And FTP adapter is basically used to read and write files from any network.

How to start a BPEL Process when email received?


When to use Opaque schema?





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:

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 how to 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.


What type messaging is provided by JMS?

Both synchronous and asynchronous.


Imp Link for 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
 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.









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 BPEL
Dynamic binding allows the developer to add new services through configuration or run-time inputs.




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 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 Service Component Architecture
SCA 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?
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 and Cab service, If any of them couldnt  book so what you will do for rollback all the action?

ans :- Compansate activity. And compensateScopeActivity


2.        If A call B and B call C and Response would be in Reverse manner. i.e. C respond to B and B respond to A, So how 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?

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 BPEL
There 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>


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>

thats it .... you are done once you embed this into your code.
This is how one can invoke secure services.
















8 comments:

  1. hi . .. thanks for sharing good information .. and arraged in a proper way. . and binding links

    ReplyDelete
  2. Hi Girijesh,

    Thanks for these helpful interview Q&A.
    Could you please more scenario based Q&A in your blog.

    Regards,
    Preeti Goswami

    ReplyDelete
  3. It is nice blog Thank you provide important information and I am searching for the same information to save my time Oracle SOA Online course

    ReplyDelete
  4. Thanks 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 . Actually I was looking for the same information on internet for Oracle SOA 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 aboutOracle SOA . By attending Oracle SOA Training .

    ReplyDelete
  5. Iam so thrilled because of finding your alluring website here.Actually i was searching for Oracle BPM.Your blog is so astounding and informative too..Iam very happy to find such a creative blog. Iam also find another one by mistake while am searching the same topicOracle SQL.Thank you soo much..

    ReplyDelete
  6. It's really a great and helpful piece of info. I'm glad that you just shared this useful information with us. Please keep us up to date like this. Thank you for sharing.Here is the right place to Submit Guest Post Big Data.

    ReplyDelete