Montag, 22. Oktober 2012

Migrating Forms to APEX: DOAG TV

Interesting short statement of Patrick Wolf (Principal Oracle Member of Technical Staff) in DOAG TV (german language) about migrating Oracle Forms applications to APEX and why you should consider redeveloping instead of using the Oracle migration wizard.

http://www.doag.org/home/aktuelle-news/article/doagstatement-so-migieren-sie-von-forms-nach-apex.html

Montag, 15. Oktober 2012

Fault Management Framework - Part 4

Configuration of composite.xml

The policy files are stored either locally or in the same folder where the composite.xml-file resides. The other option is to store them in a central place for unique error handling, e.g. in the Meta Data Repository (MDS). The folder is configured by two properties in the composite.xml-file. This configuration is used instead of other possible locally stored policy files.

Example of a central policy file
In this example the fault policy file is stored in the central SOA metadata store

<property name="oracle.composite.faultPolicyFile">oramds://folderpolicyfiles fault-policies.xml
</property>
<property name="oracle.composite.faultBindingFile">oramds://folderpolicyfiles/ fault-bindings.xml
</property>

You have to keep in mind, that a fault policy which is configured in the fault management framework overwrites an error handling in a catch activity inside a scope in a BPEL process. Nevertheless, the fault framework can be configured this way that the error is given to the catch activity

Montag, 8. Oktober 2012

Fault Management Framework - Part 3

Putting conditions and actions into the policy file

 The conditions in fault-policies.xml can be used to categorize errors into types:

·         Mediator-specific errors

·         Business- and SOAP-errors

·         Adapter-specific errors

By using the <test> element you can evaluate and filter the $fault.mediatorErrorCode. Following error types exist in the mediator component:

·         TYPE_ALL – all mediator errors

·         TYPE_DATA – for data related errors

·         TYPE_METADATA – for metadata related errors

·         TYPE_FATAL – for fatal errors

·         TYPE_TRANSIENT – for resolvable errors

These groups have sub-groups like e.g. TYPE_FATAL_DB for fatal database errors.

Example for Database-Adapter:  

<faultName

       xmlns:bpelx="http://schemas.oracle.com/bpel/extension" 

       name="bpelx:bindingFault">

        <condition><!—ORA-02292: Integrity constraint violated -->

            <test>$fault.code=”2292”</test>

            <action ref="ora-terminate"/>

        </condition>

    </faultName>

By using the <javaAction> it is possible to execute an external java class. This java object has to implement the interface IFaultRecoveryJavaClass, which returns a string of handleFault(). Different return values lead to another action, depending on the return value. If no <returnValue> elements are defined, the defaultAction will be executed.

    <Action id="ora-java-execute">

         <javaAction className="com.xxxxpackage.faultpolicy.UserJavaAction"  defaultAction="ora-terminate" propertySet="someProperty">

                <returnValue value="TERMINATE" ref="ora-terminate"/>

                <returnValue value="RETRY" ref="ora-retry"/>

                <returnValue value="HUMAN" ref="ora-human-intervention"/>

          </javaAction>

    </Action>
 
There will be a part 4 next week...

Dienstag, 2. Oktober 2012

ADF Essentials: Free version of Oracle ADF

The long waited for FREE version of Oracle's Application Development Framework has arrived!

"ADF Essentials" will contain most features of the original ADF. Unfortunately the SOA Suite integration part and ADF mobile will not be contained in the new ADF version.

The free ADF will run on the Glassfish OpenSoure Application Server, so no Weblogic Server is necessary!

Hope this will help spreading ADF in the community!

More information can be found in this german newsletter:

http://www.doag.org/home/aktuelle-news/article/adf-essentials-doag-begruesst-erscheinen-der-kostenfreien-version-von-adf.html

or on the Oracle Homepage:

http://www.oracle.com/technetwork/developer-tools/adf/overview/adfessentials-1719844.html