Posts Tagged 'ADF BC Service'

How-To: Attach OWSM Policy to ADF BC Service

Open ServiceAMImpl and place the cursor on the Annotations section.

ServiceAMImpl

Go to ‘Web Services Extension’ in the property inspector and click on the LOV for Security that  brings up the all available OWSM policies.

policy

Select any service policy from the list based on your requirements and click on OK.

policySel

Observe that ServiceImpl is updated showing new annotation with the selected OWSM policy.

policy2

Advertisement

Transactions when using DB Adapter vs ADF BC Service

Most of us are well aware of global transactions (XA) when using DB Adapter and setting XADataSourceName during creation of DB Connection Pool. ADF BC Services are widely used in Oracle Fusion Applications at Data Service layer  instead DB Adapters. So it’s worth investigating or finding out the scope of transaction when calling these ADF BC Services.

Sample code for this demonstration can be found here and accepts string input, where valid values are ‘DB’ or ‘ADF’.

Conclusion:

  • ADF BC Service call does not get enlisted into main BPEL txn, so system fault, user defined fault or Roll back fault will not revert the changes done by ADF BC Service. So developer should think of compensation in failure scenarios in case of faults.

ADF-BC Service

Recently started looking into Fusion Applications, where ADF BC Services are used at the Data Service layer rather than DB adapter. Lot of articles are found and there is nice documentation as well on how to create the ADF-BC services. I just want to highlight following points as It might take a little while to figure out for novices. And  the existing SOA domain (11.1.1.7) did not enforce any additional runtime/libraries installation for deploying ADF-BC services EAR file .

  • Typical ADF-BC service URL looks like ://http://<host>:<port>/<context-root>/<servicename>.  Context Root should be mentioned in Project Properties –> Java EE Application –> Java EE Web Context Root and always give a meaningful name instead of the default value.

contextroot

  • And service name is the one given while exposing the application module as the service and it’s not Application Module name.

servicename

  • By default, AM uses JNDI of data source in specific format as shown below. If we want to use existing data source make sure that it’s modified to your data source JNDI and not JNDI of DB connection pool.

db

  • Also make sure you uncheck ‘Auto Generate’ option in application deployment profile(EAR) if existing data source has to be used and does not want to create data sources defined in AM.

autogenerate


Pages

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 379 other subscribers

Enter your email address to follow this blog and receive notifications of new posts by email.


%d bloggers like this: