This builds on from the simple adapters lab documented at
http://niallcblogs.blogspot.com/2010/05/getting-starting-with-bpm-11g-adapters.html
In this simple scenario we augment the functionality from that example with the following –
- Leverage web services to Validate Customer and Check Inventory.
This can be done in parallel
Step 1 - Create demo web service from a Java class
Here's the Java class I'm using.
Expose as a web service
Step 2 - Deploy as a web service to AdminServer & test
Step 3 - Leverage Web Service in the Composite
Copy the wsdl
o E.g.
http://1.1.1.1:7001/BPM-DEMO-WS-BPM-DEMO-WS-context-root/OrderServicePort?WSDL
Drag & drop a Web Service in composite.xml
Step 4 - Leverage in BPM
Create variables to hold the operation responses
Add Check Inventory ServiceTask
Create validateCustomer Service task
Add parallel processing
Connect as follows –
Step 5 - Deploy & Test
Non-domestic input
View instance tracking in em console
Zoom in to ValidateCustomer
We will implement the required error handling in the next post
Friday, August 27, 2010
Thursday, August 19, 2010
Alternative approach to changing WLS external listen address on EC2 image
Thanks to my colleague Prasen -
save the following as update_dns.py
import os
domainHome=os.environ['DOMAIN_HOME']
bpmServer=os.environ['BPM_SERVER_NAME']
ec2DNS=os.environ['ORACLE_HOSTNAME']
externalDNSNameKey='ExternalDNSName'
readDomain(domainHome)
cd ('Servers/'+bpmServer)
currentDNS=wl.get(externalDNSNameKey)
print "Replacing current DNS=%s with %s"%(currentDNS ,ec2DNS)
set(externalDNSNameKey, ec2DNS)
updateDomain()
closeDomain()
print ("EXternal DNS updated")
execute via $SOA_HOME/common/bin/wlst.sh
save the following as update_dns.py
import os
domainHome=os.environ['DOMAIN_HOME']
bpmServer=os.environ['BPM_SERVER_NAME']
ec2DNS=os.environ['ORACLE_HOSTNAME']
externalDNSNameKey='ExternalDNSName'
readDomain(domainHome)
cd ('Servers/'+bpmServer)
currentDNS=wl.get(externalDNSNameKey)
print "Replacing current DNS=%s with %s"%(currentDNS ,ec2DNS)
set(externalDNSNameKey, ec2DNS)
updateDomain()
closeDomain()
print ("EXternal DNS updated")
execute via $SOA_HOME/common/bin/wlst.sh
Tuesday, August 17, 2010
Deploying SOA Composite from local JDev to EC2
Scenario:
I have SOA Suite 11g Patchset 2 running on Amazon EC2.
JDeveloper is installed locally.
As my Cloud ip address can change (I'm not using elastic ip) I make the following entry in my Windows hosts file
I then create a connection in JDev to the SOA Suite App Server -
I then test the connection
However when deploying a composite I get the following error -
To get over this I must simply change the following entry in WLS console to reflect my Amazon ip address.
Select my Server (In my case, AdminServer)
Click on Advanced
Re-start WLS and you're up and running!
I have SOA Suite 11g Patchset 2 running on Amazon EC2.
JDeveloper is installed locally.
As my Cloud ip address can change (I'm not using elastic ip) I make the following entry in my Windows hosts file
I then create a connection in JDev to the SOA Suite App Server -
I then test the connection
However when deploying a composite I get the following error -
To get over this I must simply change the following entry in WLS console to reflect my Amazon ip address.
Select my Server (In my case, AdminServer)
Click on Advanced
Re-start WLS and you're up and running!