Q) What Is
Soa Composite ?
SOA composite is a assembly comprises of one or more than
one pre-build components. In SOA composite we wires different components
together to perform required business functionality.
Q) What Is
Service Component ?
All prebuilt components BPEL , Mediator, Business Rules, Human Task and Spring known as service components.
Q) How
These Service Components Works ?
Each service component is hosted in its own service engine
container. E.g. Any logic added in BPEL components will be handled by BPEL
service engine only.
Q) Binding
Binding defines the protocols that communicate with the
service like SOAP/HTTP, JCA adapter etc.
Q) What Is
Binding Component?
As name suggest, this component is used to bind composite
application to external world. i.e. we use these components to link composite
with source and target system.
Q) What Are
The Types Of Binding Components?
Binding components establish a connection between a SOA
composite and the external world.
Binding components are of two types as mentioned below.
1. Service Binding:
->With the help of this binding we connect composite to
source or client system or we can say this is entry point of composite.
-> Creates a web service to provide an entry point to the
SOA composite application
->By using WSDL,"The binding connectivity of the
service describes the protocols that can communicate with the service, for
example, SOAP/HTTP or a JCA adapter."
2.
Reference Binding:
->This binding helps composite to connect to target or
reference systems or we can say it is exist point of the composite.
-> Creates a web service to provide access to an external
service in the outside world
-> References enable messages to be sent from the SOA
composite application to external
Services in the
outside world.
Q) Can We
More Than One Service & Reference Binding In One Composite?
Yes, we can more than one service & reference binding in
one composite, that means we can have more than one entry & exist point for
composite.
Q) Can We Have More Than One Service Component In One Composite ?
yes, we can have as many as service components in one composite but it is not recommended, we should not have all the components in one composite itself.
Q) What Can
Be Scenario Where We Have Two Service Binding In One Composite?
When a composite can be initiated either by direct call or
by consuming the same message from JMS queue, in this scenario we have two
entry point for same composite.
Q) What Can
Scenario Where We Have Two Reference Binding In One Composite?
Composite needs to send the message to first target by JMS
queue and to other target by writing the file, in this scenario we have two
exist for composite.
Q) What Is
Wire?
Connection between service & binding component and
within service & binding components know as wire. I.e. This enable us to
graphically connect the components in a SOA composite application.
Q) What Is
Bpel?
BPEL stands for Business Process Execution Language, it is
one of the component of SOA Suite tool. BPEL is a XML based language used to
design business process/flows. We perform service orchestration in BPEL.
Q) What Are
Different Parts Of Bpel ?
Below are different parts of BPEL as mentioned below.
1. Service Interface: A WSDL describing
the functionality of the BPEL process. The service interface provides the end
user a way to interact with the BPEL process component using Service Interface
/ Service Binding.
2. Activities:
units of work. The actual elements that make up the BPEL process flow or
sequence of instructions to be executed.
3. Partner
links: also called Reference bindings. A partner link describes the roles
played for the interaction between the BPEL process and the service it invokes.
Q) What All
Bpel Templates Are Available In Soa Suite Tool?
1. Synchronous BPEL Template
2. Asynchronous BPEL Template
3. OneWay BPEL Template
Q) What are
dspMaxThread and a recieverThread properties? Why are they important?
ReceiverThreads property specifies the maximum number of
MDBs that process aysc across all domains. Whereas the dspMaxThreads are the
maximum number of MDBs that process aysc and threads that operate across a
domain.
So, we need to ensure that the dspMaxThreads value is
!> ReceiverThreads.
Q) How to
undeploy SOA Composite when SOA-infra is down?
Sometimes SOA-infra application won’t come up due to corrupt
composite which stops the soa-infra to be in active state.
To bring soa-infra up we need to undeploy corrupt composite.
We can undeploy SOA
composite by editing deployed-composite.xml
Change instance state from “?” to actual state value.
Q) When you
view your composite instances in em console you may see "?" in state
column and that is very confusing whether that instance
is successful or error out.
To show proper value in state column do following steps.
Log in to SOA Em
console e.g. http://host:port/em
Go to "Farm_base_domain" and then expand
"SOA"
Right click on "soa-infra" and go to
"SOA Administration" then choose
"Common Properties".
Check "Capture Composite Instance State" and
"Apply" this change.
Q) How do you
create a partner link BPEL? How to make partner link dynamically ?
You can dynamically configure a partner link at runtime in
BPEL. This is useful for scenarios in which the target service that BPEL wants
to invoke is not known until runtime
The most important point to be remembered when using dynamic
partnerlinks is that you need to ensure each process that you wish to call has
to be based on exactly the same WSDL
The message types, namespaces, port types, bindings etc…
Everything have to be same just the endpoint URL will be different
Dynamic partner links are only supported in BPEL 1.1
projects
Q) Transactions
In SOA
Required
should be continued."
RequiredNew
It is used whenever t control will come to BPEL, A new
transaction will be started.
Q) Multiple
Runtime Endpoint Locations for partner link in SOA
Purpose- If one endpoint is down, we can manage with other
one.
support multiple endpoint location."
e.g. <property
name="endpointURI">endpoint</property>
Note:
Location attribute in the binding.ws tag is default location
for the partner link.
e.g. location=http://localhost:8001/soa-infra/services/default/First/bpelprocess1_client_ep?WSDL
Endpoint inside “endpointURI” is the alternate endpoint URI.
<propertyname="endpointURI">http://localhost:8001/soainfra/services/default/Second/bpelprocess1_client_ep</property>
First Use
case
We have 3 composites.
1.) TestComposite
2.) HelloWorld
3.) HelloWorldAlternate
TestComposite is
calling HelloWorld composite but it should
call HelloWorldAlternate composite which is alternate composite in
case “HelloWorld” is down.
Sample Partner Link reference
When both “HelloWorld” and “HelloWorldAlternate” composites
are up then TestApplication will invoke “HelloWorld” partner link.
That means it will take endpoint from “property”
<property name="endpointURI">http://localhost:8001/soa-infra/services/default/HelloWorld/bpelprocess1_client_ep</property>
When HelloWorld is
down then it will invoke “HelloWorldAlternate” partner link.
That means it will take endpoint from location attribute of
the binding.ws tag
location="http://localhost:8001/soa-infra/services/default/HelloWorldAlternate/bpelprocess1_client_ep?WSDL”
Second Use
case
We can think about having more than one alternative endpoint
for partner link.
In this case we have 4 composite.
1.) TestComposite
2.) HelloWorld
3.) HelloWorldAlternate.
4.) HelloWorldSecondAlternate
Sample Partner Link reference
<reference name="HelloWorld"
ui:wsdlLocation="HelloWorld.wsdl">
"<interface.wsdl
interface=""http://xmlns.oracle.com/TestApplication/HelloWorld/BPELProcess1#wsdl.interface
(BPELProcess1)""/>"
"<binding.ws
port=""http://xmlns.oracle.com/TestApplication/HelloWorld/BPELProcess1#wsdl.endpoint
(bpelprocess1_client_ep/BPELProcess1_pt)"""
location="http://localhost:8001/soa-infra/services/default/HelloWorldAlternate/bpelprocess1_client_ep?WSDL">
"<property
name=""endpointURI"">http://localhost:8001/soa-infra/services/default/
HelloWorldSecondAlternate/bpelprocess1_client_ep</property>"
"<property
name=""endpointURI"">http://localhost:8001/soa-infra/services/default/HelloWorld/
bpelprocess1_client_ep</property>"
</binding.ws>
</reference>
When “HelloWorld”, “HelloWorldAlternate” and
“HelloWorldSecondAlternate” is up
then “TestApplication” will invoke “HelloWorld” partner
link.
That means it will take endpoint from second “property”
"<property
name=""endpointURI"">http://localhost:8001/soa-infra/services/default/HelloWorld/
bpelprocess1_client_ep</property>"
Case2:
When “HelloWorld” is down, “HelloWorldAlternate” and
“HelloWorldSecondAlternate” is up
then “TestApplication” will invoke “HelloWorldAlternate” partner link.
location="http://localhost:8001/soa-infra/services/default/HelloWorldAlternate/bpelprocess1_client_ep?WSDL”
When “HelloWorld” is up, “HelloWorldAlternate” is up and “HelloWorldSecondAlternate” is down then “TestApplication” will invoke “HelloWorld” partner link.
"<property
name=""endpointURI"">http://localhost:8001/soa-infra/services/default/HelloWorld/
bpelprocess1_client_ep</property>"
Case4:
When “HelloWorld” is down, “HelloWorldAlternate” is up and “HelloWorldSecondAlternate” is down then “TestApplication” will invoke “HelloWorldAlternate” partner link.
That means it will take endpoint from location attribute of the binding.ws tag
location=http://localhost:8001/soa-infra/services/default/HelloWorldAlternate/bpelprocess1_client_ep?WSDL
when I create BPEL process, It will create componentType and wsdl for same
when I create jmsAdapter , It will create jca, wsdl file for same.
Q) What Is
The Purpose Of Oracle Wsm Policy Manager?
Oracle WSM Policy Manager provides the infrastructure for
enforcing global security and auditing policies in the Service Infrastructure.
Q) How can we
secure our web services using Oracle SOA Suite?
When accessing the services should be restricted to the
group, then service should be secured via WSM (Web service Manager).
Q) What is
getPreference property? How do we set it and what advantage it provides?
Hard coding is not a good practice, so to avoid hard
coding preference variable can be used and the value of the preference variable
is accessed using getPreference().The preference variable value can be changed
without re-deploying the code via em console MBean property.
No comments:
Post a Comment