You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by va...@apache.org on 2008/11/11 00:56:06 UTC

svn commit: r712879 - in /ode/trunk/extensions: README.extensions e4x/README jms-eventpublisher/README

Author: vanto
Date: Mon Nov 10 15:56:06 2008
New Revision: 712879

URL: http://svn.apache.org/viewvc?rev=712879&view=rev
Log:
some extension docs.

Added:
    ode/trunk/extensions/e4x/README
    ode/trunk/extensions/jms-eventpublisher/README
Modified:
    ode/trunk/extensions/README.extensions

Modified: ode/trunk/extensions/README.extensions
URL: http://svn.apache.org/viewvc/ode/trunk/extensions/README.extensions?rev=712879&r1=712878&r2=712879&view=diff
==============================================================================
--- ode/trunk/extensions/README.extensions (original)
+++ ode/trunk/extensions/README.extensions Mon Nov 10 15:56:06 2008
@@ -2,21 +2,46 @@
   Apache ODE - Extension Installation Guide
 =============================================
 
-BPEL 2.0 introduces extensibility mechanisms, which allow you to extend
-the set of activities and/or variable assignment mechanisms.
-With BPEL 2.0 it is possible to extend the language by user-defined
-activities and custom assignment logic.
+Since BPEL 2.0 it is possible to extend the language by user-defined
+activities and custom variable assignment mechanisms.
 
-Since version 1.2 Apache ODE supports these extensibility mechanismns
+Apache ODE supports these extensibility mechanismns
 and provides a plug-in architecture that allows for registering
 third-party extensions.
 
 1.) Installation of extensions (WAR)
   1) Copy the extension 
-      TBC
-  
-2.) Installation of extensions (JBI)
-      TBW
+        The extension bundle and its dependencies must be part of the 
+        class path. The easiest way to achieve this is to copy the 
+        extension jar to /WEB-INF/lib.
 
-3.) Writing ODE extensions
-      TBW
\ No newline at end of file
+  2) Register the extension
+        Open /WEB-INF/conf/ode-axis2.properties and add/uncomment the
+        following lines:
+        
+        ode-axis2.extension.bundles.runtime = fqcn.to.extension.bundle
+        ode-axis2.extension.bundles.validation = fqcn.to.extension.bundle
+        
+        The validation entry is only necessary if your extension bundle
+        also provides compile-time validators
+        
+  3) Start/Restart Apache ODE
+        
+2.) Installation of extensions (JBI)
+  1) Embed the extension 
+        The extension bundle and its dependencies must be part of the 
+        class path. The easiest way is to add the extension jar to the JBI 
+        deployable.
+        
+  2) Register the extension
+        Extract and open ode-jbi.properties from ODE SE and add/uncomment the
+        following lines:
+        
+        ode-jbi.extension.bundles.runtime = fqcn.to.extension.bundle
+        ode-jbi.extension.bundles.validation = fqcn.to.extension.bundle
+        
+        The validation entry is only necessary if your extension bundle
+        also provides compile-time validators.
+        
+        Re-add the properties file to the service engine archive and deploy
+        it to the JBI container of choice.

Added: ode/trunk/extensions/e4x/README
URL: http://svn.apache.org/viewvc/ode/trunk/extensions/e4x/README?rev=712879&view=auto
==============================================================================
--- ode/trunk/extensions/e4x/README (added)
+++ ode/trunk/extensions/e4x/README Mon Nov 10 15:56:06 2008
@@ -0,0 +1 @@
+=================================
  Apache ODE - JS/E4X Extension
=================================

This extension provides support for JavaScript/E4X expressions in BPEL
extension activities and/or BPEL extensible assign operations.

How to install
==============
    1.) Copy ode-extensions-e4x-*.jar and lib/* in ODE's class path and
    register the extension bundle by adding the following line to
    ODE's configuration file. See README.extensions for details.
    
    For ODE/Axis2: ode-axis2.properties
    ode-axis2.extension.bundles.runtime = org.apache.ode.extension.e4x.JSExtensionBundle
    
    For ODE/JBI: ode-jbi.properties
    ode-jbi.extension.bundles.runtime = org.apache.ode.extension.e4x.JSExtensionBundle
    
    2.) Start/restart ODE.

How to use
============
    1.) Declare the extension namespace in BPEL by adding the following snippet
    before the first activity.
    
    <bpel:extensions>
        <bpel:extension namespace="http://ode.apache.org/extens
 ions/js" 
                mustUnderstand="yes"/>
    </bpel:extensions>
    
    2a.) Use JS/E4X in <assign> activities:
    
    <assign name="e4x-assign">
        <extensionAssignOperation>
            <js:snippet>
                myVar.TestPart += ' World';
            </js:snippet>
        </extensionAssignOperation>
    </assign>
    
    2a.) Use JS/E4X in <extensionActivity> activities:
    
    <extensionActivity name="calculateDiscount">
        <js:snippet>
            if (goldRatio > 1.0 || silverRatio > 1.0) {
                throwFault('urn:myprocess', 'IllegalArgumentFault',   
                        'discount ratios must be <= 1.0');
            }
            if (customer.type == 'gold') {
                po.items.item.price *= goldRatio;
            } else if (customer.type = 'silver') {
                po.items.item.price *= silverRatio;
            } else if (customer.type = 'besteffort') {
                po.shippingMode = 'snailmail'
            }
      
   </js:snippet>
    </extensionActivity>
\ No newline at end of file

Added: ode/trunk/extensions/jms-eventpublisher/README
URL: http://svn.apache.org/viewvc/ode/trunk/extensions/jms-eventpublisher/README?rev=712879&view=auto
==============================================================================
--- ode/trunk/extensions/jms-eventpublisher/README (added)
+++ ode/trunk/extensions/jms-eventpublisher/README Mon Nov 10 15:56:06 2008
@@ -0,0 +1 @@
+====================================
  Apache ODE - JMS Event Publisher
====================================

This extension demonstrates how to develop an ODE event listener. This
prototypical implementation subscribes to navigation events and publishes
them to a JMS topic (via ActiveMQ).

How to install
==============
    1.) Copy ode-extensions-jms-eventpublisher-*.jar and lib/* in ODE's 
    class path and register the event listener by adding the following line to
    ODE's configuration file. See README.extensions for details.
    
    For ODE/Axis2: ode-axis2.properties
    ode-axis2.event.listeners=org.apache.ode.extension.jmseventlistener.JmsBpelEventListener
    jel.topicname = org.apache.ode.events
    jel.mqurl = tcp://localhost:61616
    
    For ODE/JBI: ode-jbi.properties
    ode-jbi.event.listeners=org.apache.ode.extension.jmseventlistener.JmsBpelEventListener
    jel.topicname = org.apache.ode.events
    jel.mqurl = tcp://localhost:61616
    
    2.) Start a
  JMS subscriber for the said topic (e.g. 
        org.apache.ode.extension.jmseventlistener.TestConsumer).
        
    3.) Start/restart ODE and run a process.
\ No newline at end of file