- Go to SOA ext folder C:\Oracle\Middleware\Oracle_SOA1\soa\modules\oracle.soa.ext_11.1.1
- Copy the jar here.
- This folder contains oracle.soa.ext.jar, build.xml, readme.txt
- Run $ant as $MW_HOME/modules/org.apache.ant_1.7.1/bin/ant from the same directory
- You should be able to see the [echo] as below
- create-manifest-jar:
- [echo] Creating oracle.soa.ext at C:\Oracle\Middleware\Oracle_SOA1\soa\modules\oracle.soa.ext_11.1.1\oracle.soa.ext.jar; C:\Oracle\Middleware\Oracle_SOA1\soa\modules\oracle.soa.ext_11.1.1\CustomLib.jar
- [jar] Updating jar: C:\Oracle\Middleware\Oracle_SOA1\soa\modules\oracle.soa.ext_11.1.1\oracle.soa.ext.ja
- BUILD SUCCESSFUL
- The MANIFEST.MF is magically udpated by $ant w/ new custom jar path.
- [optional] if you find still the jar is not getting picked up, copy the jar "$DOMAIN_DIR\lib" and restart all the servers.
SOA: OSB and BPEL PM
Saturday, May 21, 2016
Adding Custom Jars to SOA/BPEL Engine
How to Reset Oracle WebLogic Server Admin Password
Export Existing Users/groups and important for Production Server
Export *.dat files: Go to WebLogic Console>Security
Realms>myrealm>Migration Tab>
Export Sub-Tab>Export Directory on Server: /u01/osbTempData and save |
Setup CLASSPATH:
1. export MW_HOME=/u01/app/oracle/product/middleware
2. export DOMAIN_HOME=$MW_HOME/user_projects/domains/<domain_name>
3. export CLASSPATH=$CLASSPATH:$MW_HOME/wlserver_10.3/server/lib/weblogic.jar
Shutdown your WebLogic domain:
4. $DOMAIN_HOME/bin/stopWebLogic.sh
Rename and backup the DefaultAuthenticatorInit.ldift file:
5. cd $DOMAIN_HOME/security
6. mv DefaultAuthenticatorInit.ldift DefaultAuthenticatorInit.ldift.old
7. java weblogic.security.utils.AdminAccount <username> <new_password> . [password+space+dot]
Rename and backup the following LDAP directory:
8. mv $DOMAIN_HOME/servers/AdminServer/data/ldap $DOMAIN_HOME/servers/AdminServer/data/ldap.old
(This LDAP directory will be recreated next time the WebLogic Admin server is started)
Edit the boot.properties file and update the password with the one you used above
9. cd $DOMAIN_HOME/servers/AdminServer/security
10. cp boot.properties properties.old
11. vi boot.properties
password=<username>
username=<new_password>
Now restart your WebLogic Domain:
12. $DOMAIN_HOME/startWebLogic.sh
13. Import myrealm security data that exported in the beginning.
14. Restart the server.
13. Import myrealm security data that exported in the beginning.
14. Restart the server.
Saturday, September 6, 2014
Testing Direct Binding Service in EM Console
There are requirements to have a DirectBinding at Exposed Services through which client should communicte. However, having said this is direct binding, it is not possible to test this service in EM as Test button is disabled due to direct binding.
1. For this scenario, we can create one more binding which is Web Service and tie two bindings together to have a single wire to the Component as shown below
The source of the Composite.xml should be like this.
3. Similarly, External References can also have two bindings and wired parallelly as shown above. If anyone is not wired, it throws design time error.
4. It is benefecial when there is any requirement to switch back to Web Service, we just simple change pointer at Invoke activity and everythingelse remains the same.
5. Input/Output variables also need not be changed.
1. For this scenario, we can create one more binding which is Web Service and tie two bindings together to have a single wire to the Component as shown below
The source of the Composite.xml should be like this.
<wire>2. Please note two bindings should not be connected to the component parallally as shown below and one BPEL service cannot have two clients which gives server runtime error.
<source.uri>DirectBindingClient</source.uri>
<target.uri>BPELProcess/DirectBindingClient</target.uri>
</wire>
<wire>
<source.uri>WebServiceClient</source.uri>
<target.uri>BPELProcess/DirectBindingClient</target.uri>
</wire>
3. Similarly, External References can also have two bindings and wired parallelly as shown above. If anyone is not wired, it throws design time error.
4. It is benefecial when there is any requirement to switch back to Web Service, we just simple change pointer at Invoke activity and everythingelse remains the same.
5. Input/Output variables also need not be changed.
Thursday, February 21, 2013
Coherence Caching
Oracle Service Bus 11g provides built-in cache
functionality that utilizes Oracle
Coherence, offering first-class support for many caching strategies. This
article describes how to use this functionality and explore a fail-over scenario
with an example of how caching strategies can speed up your Web services and
even prevent production outages.
Thursday, February 7, 2013
Oracle Service Bus 11gR1:Global Transaction
Traditionally there are two choices for transaction management: global or local transactions. Global transactions are managed by the application server, using the Java Transaction API (JTA). Local transactions are resource-specific: the most common example would be a transaction associated with a JDBC connection. This choice has profound implications. For instance, global transactions provide the ability to work with multiple transactional resources (typically relational databases and message queues). With local transactions, the application server is not involved in transaction management and cannot help ensure correctness across multiple resources. (It is worth noting that most applications use a single transaction resource.)
This blog I’m going to show you how the global transaction can be controlled with Oracle Service Bus.
Scenario: JMS Queue and Database are two participants in the transaction. A proxy service reads a message from an Inbound Queue, publishes it on to an Outbound Queue and the same message is INSERTED into Oracle Database Table, TRAIN.
The expected behavior of the scenario is either two (Queue & TRAIN) or none gets the message.
Steps:
1. Create an InboundQueue and an OutboundQueue
2. Make sure Delivery Failure settings are as below:
4. Create a proxy service which reads the message from InboundQueue, publishes to OutboundQueue and INSERT into TRAIN.

5. Add Routing Options to both Publish and Routing and set property of QoS as 'Exactly Once'.
6. Make sure 'Transaction Required' property is checked in proxy service Message Handling Configuration
7. You can create a Raise Error activity after publish activity or in response pipeline to validate this scenario. You can notice the behaviour.
Thursday, March 31, 2011
Oracle Service Bus (OSB) Best Practices
1. Proxy Service Design
- Use Headers for Service Routing
Place routing information in the SOAP Header or the Transport Header when there is a choice. When designing a SOA framework, it is recommended that routing decisions are based on SOAP headers or Transport headers (for non-SOAP payloads).
- Use Split-Join
Use Split-Join to reduce latency when CPU is not saturated. Parallel execution is a common paradigm used to reduce latency while consuming higher system resources. If a set of tasks have no dependency on one another, they can be executed in parallel. This is very useful for latency sensitive use cases.
2. Business Service Design
- EJB Transport
- Throttling
3. Performance
- Avoid creating many OSB context variables that are used just once within another XQuery
- Use a Replace action to complete the transformation in a single step
- Use
$body/*[1]to represent the contents of$bodyas an input to a Transformation (XQuery / XSLT) resource - Enable Streaming for pure Content-Based Routing scenarios
- Disable or delete all log actions
- Avoid the use of double front slashes ("//") in XPaths
4. If too much of message flow is expected, devide into two or more proxy services to have nice maintainability.
5. DON'T use Service Callout unless it's mandatory in the middle of a message flow. It's a thread blocker and performance is impacted.
6. DON'T use to many "IF-ELSE" conditions within the flow. Rather go for Routing Table to be efficient. Alternatively, XQuery can be used to achieve the purpose in one shot.
7. Use Proxy Service Transport as "LOCAL" in case of message processing is limited to LOCAL scope.
8. Keep time-out settings for DB Adapters JCA & http transport to keep the response within the expected time.
Subscribe to:
Posts (Atom)








