Author: lwaterman
Date: Thu Jul  6 21:42:05 2006
New Revision: 419801

URL: http://svn.apache.org/viewvc?rev=419801&view=rev
Log: (empty)

Added:
    incubator/ode/scratch/ode/bpel-dapi/
    incubator/ode/scratch/ode/bpel-dapi/pom.xml
    incubator/ode/scratch/ode/bpel-dapi/src/
    incubator/ode/scratch/ode/bpel-dapi/src/main/
    incubator/ode/scratch/ode/bpel-dapi/src/main/java/
    incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/
    incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/
    incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/
    incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/
    
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DefinitionMgmtException.java
    
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DefinitionMgmtService.java
    
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DeployService.java
    
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DeploymentException.java
    
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/EPRException.java
    
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/EPRGenerator.java
    
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/NameNotFoundException.java
    
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/VersionNotFoundException.java
    incubator/ode/scratch/ode/bpel-dapi/src/main/xsd/
    incubator/ode/scratch/ode/bpel-dapi/src/main/xsd/DeployResults.xsd

Added: incubator/ode/scratch/ode/bpel-dapi/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/ode/scratch/ode/bpel-dapi/pom.xml?rev=419801&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpel-dapi/pom.xml (added)
+++ incubator/ode/scratch/ode/bpel-dapi/pom.xml Thu Jul  6 21:42:05 2006
@@ -0,0 +1,51 @@
+<project>
+  <artifactId>ode-bpel-deploy-api</artifactId>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>ode</groupId>
+    <artifactId>ode</artifactId>
+    <version>0.1-SNAPSHOT</version>
+  </parent>
+
+  <groupId>ode</groupId>
+  <version>0.1-SNAPSHOT</version>
+  <dependencies>
+    <dependency>
+      <groupId>javax.xml</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <version>2.0EA3</version>
+    </dependency>
+    <dependency>
+      <groupId>ode</groupId>
+      <artifactId>ode-bpel-api</artifactId>
+      <version>0.1-SNAPSHOT</version>
+
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>jaxb2-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <goals>
+              <goal>xjc</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <packageName>org.apache.ode.dapi.result</packageName>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Added: 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DefinitionMgmtException.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DefinitionMgmtException.java?rev=419801&view=auto
==============================================================================
--- 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DefinitionMgmtException.java
 (added)
+++ 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DefinitionMgmtException.java
 Thu Jul  6 21:42:05 2006
@@ -0,0 +1,5 @@
+package org.apache.ode.dapi;
+
+public class DefinitionMgmtException extends Exception {
+
+}

Added: 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DefinitionMgmtService.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DefinitionMgmtService.java?rev=419801&view=auto
==============================================================================
--- 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DefinitionMgmtService.java
 (added)
+++ 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DefinitionMgmtService.java
 Thu Jul  6 21:42:05 2006
@@ -0,0 +1,55 @@
+package org.apache.ode.dapi;
+
+import javax.management.MBeanException;
+import javax.xml.namespace.QName;
+
+import org.apache.ode.dapi.result.ProcessDefinition;
+import org.apache.ode.dapi.result.ProcessDefinitions;
+import org.apache.ode.iapi.EndpointReference;
+
+/**
+ * This interface enables the management of the ODE process
+ * definition repository. 
+ *
+ */
+
+public interface DefinitionMgmtService {
+
+          /** 
+           * The current version represents the process definition under which
+           * the runtime will create new process instances.
+           * Changing the current version will not effect any "in-flight" 
process. It will
+           * only effect new process instances.
+           * @param definitionName a unique process definition identifier, The 
identifier must have been deployed into the definition repository.
+           * @param version the version must have been deployed into the 
definition repository.
+           * @return the current version identifier
+           */
+          void setCurrentVersion(QName definitionName, String version) throws 
NameNotFoundException, VersionNotFoundException;
+
+          /**
+           * The current version represents the process definition under which
+           * the runtime will create new process instances.
+           * @param definitionName a unique process definition identifier 
+           * @param version
+           */
+          String getCurrentVersion(QName definitionName) throws 
NameNotFoundException;
+          
+          /**
+           * @param definitionNames a list of definition identifiers
+           */
+          void undeploy(QName[] definitionNames) throws NameNotFoundException;
+         
+          /**
+           * @return the contents of an ODE process definition repository
+           * 
+           */
+          ProcessDefinitions query();
+          
+          /**
+           * @param definitionName return the definitions for a list of 
process definition
+           * @return the contents of an ODE process definition repository
+           * 
+           */
+          ProcessDefinition query(QName definitionName) throws 
NameNotFoundException;
+       
+}

Added: 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DeployService.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DeployService.java?rev=419801&view=auto
==============================================================================
--- 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DeployService.java
 (added)
+++ 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DeployService.java
 Thu Jul  6 21:42:05 2006
@@ -0,0 +1,107 @@
+package org.apache.ode.dapi;
+
+import java.io.InputStream;
+import java.net.URL;
+
+import org.apache.ode.dapi.result.ProcessDefinitions;
+
+/**
+ * This interface is used by the integration layer 
+ * to deploy BPEL process definitions into the ODE
+ * process definition repository.
+ * 
+ * It is anticipated that BPEL processes are deployed
+ * as part of a larger services package. The larger services
+ * package will be specific to an IL/ESB.
+ * 
+ * The deployment interface is dependant on the IL to
+ * supply an endpoint reference for a process definition.
+ * An endpoint reference is opaque to the ODE definition
+ * repository and therefore once a process is deployed the 
+ * ODE definition repository is tightly coupled to the IL/ESB. 
+ * 
+ */
+
+public interface DeployService {
+       
+          /** 
+           * Package deployment consumes an archive file that may contain
+           * one to many ".bpel" documents. The archive file must also contain
+           * all supporting documents ( .wsdl, .xsd ). Any <import> elements 
located
+           * within a document must have a URL location relative to the 
archive file.
+           * 
+           * ODE deployment also defines attributes that may be set at process 
or archive
+           * file granularity. The following attributes are defined:
+           * 
+           * LogLevel: SEVERE/MAJOR/MINOR/INFO
+           * Version: java.lang.String
+           * 
+           * Deployment tooling may add these attributes as extensibility 
attributes
+           * on the BPEL <process> element ...
+           * 
+           * <process name="ExampleProcess1" 
targetNamespace="org:apache:ode:example:ExampleProcess1" 
xmlns:tns="org:apache:ode:example:ExampleProcess1" suppressJoinFailure="yes"
+           * xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"; 
xmlns:ode="org:apache:ode" ode:Version="1.0" ode:LogLevel="SEVERE">
+           * 
+           * or deployment tooling may add these attributes into the archive 
file manifest. If added to the manifest these
+           * attributes apply to all process definitions found in the archive. 
Manifest example ...
+           * 
+           * Name: ODE-ExamplePackage
+           * Description: A test application 
+           * LogLevel: SEVERE
+           * Version: 1.0
+           * 
+           * Note - a package/process may not be deployed over an existing 
package version. A new version identifier
+           * is always required.
+           * Note - if the signature of the service interface changes a 
process may not
+           * be versioned. A new QName for the process is required.
+           * 
+           * @param packageArchive a compressed archive file that contains 
deployment documents ( .bpel, .wsdl, .xsd )
+           * @param current set current version to version found in archive 
file.
+           * @param activate a flag to activate the process definition on 
deployment
+           * @return an XML description of the deployed process definitions.
+           * @exception DeploymentException
+           * 
+           * TODO: the DeploymentException needs to be rich enough to handle
+           * parse/validation errors found in multiple BPEL documents.
+           * 
+           */
+          public ProcessDefinitions deployPackage(InputStream packageArchive, 
EPRGenerator eprGen, boolean current, boolean activate) throws 
DeploymentException ;
+          
+          /**
+           * A convenience method that defaults deployment switches to true 
for typical use cases.
+           */
+          public ProcessDefinitions deployPackage(InputStream packageArchive, 
EPRGenerator eprGen) throws DeploymentException ;
+
+          /**
+           * A convenience method that validates a deployment package without 
deploying it into the repository 
+           */
+          public ProcessDefinitions validatePackage(InputStream 
packageArchive) throws DeploymentException;
+          
+          /**
+           * Enables the deployment of process definitions from a URL location 
rather
+           * than an archive file.
+           * 
+           * The URL location should have a structure similar to the archive 
file.
+           * 
+           * @param updateLocation a URL to BPEL documents
+           * @param current set current version to version found in archive 
file.
+           * @param activate a flag to activate the process definition on 
deployment
+           * @return an XML description of the deployed process definitions.
+           *
+           * TODO: the DeploymentException needs to be rich enough to handle
+           * parse/validation errors found in multiple BPEL documents.
+           * 
+           */
+          public ProcessDefinitions signalUpdate(URL updateLocation, boolean 
current, boolean activate) throws DeploymentException;
+
+          /**
+           * A convenience method that defaults deployment switches to true 
for typical use cases.
+           */
+          public ProcessDefinitions signalUpdate(URL updateLocation) throws 
DeploymentException;
+
+          /**
+           * A convenience method that validates a deployment package without 
deploying it into the repository 
+           */
+          public ProcessDefinitions signalValidate(URL updateLocation) throws 
DeploymentException;
+
+}

Added: 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DeploymentException.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DeploymentException.java?rev=419801&view=auto
==============================================================================
--- 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DeploymentException.java
 (added)
+++ 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/DeploymentException.java
 Thu Jul  6 21:42:05 2006
@@ -0,0 +1,5 @@
+package org.apache.ode.dapi;
+
+public class DeploymentException extends Exception {
+
+}

Added: 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/EPRException.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/EPRException.java?rev=419801&view=auto
==============================================================================
--- 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/EPRException.java
 (added)
+++ 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/EPRException.java
 Thu Jul  6 21:42:05 2006
@@ -0,0 +1,5 @@
+package org.apache.ode.dapi;
+
+public class EPRException extends Exception {
+
+}

Added: 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/EPRGenerator.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/EPRGenerator.java?rev=419801&view=auto
==============================================================================
--- 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/EPRGenerator.java
 (added)
+++ 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/EPRGenerator.java
 Thu Jul  6 21:42:05 2006
@@ -0,0 +1,21 @@
+package org.apache.ode.dapi;
+
+import javax.xml.namespace.QName;
+
+import org.apache.ode.iapi.EndpointReference;
+
+/**
+ * This interface is implemented by the integration
+ * layer. 
+ * 
+ * For each BPEL process definition the ODE deployment
+ * process will callback to the integration layer for one or more
+ * EPRs.
+ *
+ */
+
+public interface EPRGenerator {
+       
+       EndpointReference[] generateEPR(QName portType) throws EPRException;
+
+}

Added: 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/NameNotFoundException.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/NameNotFoundException.java?rev=419801&view=auto
==============================================================================
--- 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/NameNotFoundException.java
 (added)
+++ 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/NameNotFoundException.java
 Thu Jul  6 21:42:05 2006
@@ -0,0 +1,5 @@
+package org.apache.ode.dapi;
+
+public class NameNotFoundException extends DefinitionMgmtException {
+
+}

Added: 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/VersionNotFoundException.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/VersionNotFoundException.java?rev=419801&view=auto
==============================================================================
--- 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/VersionNotFoundException.java
 (added)
+++ 
incubator/ode/scratch/ode/bpel-dapi/src/main/java/org/apache/ode/dapi/VersionNotFoundException.java
 Thu Jul  6 21:42:05 2006
@@ -0,0 +1,5 @@
+package org.apache.ode.dapi;
+
+public class VersionNotFoundException extends DefinitionMgmtException {
+
+}

Added: incubator/ode/scratch/ode/bpel-dapi/src/main/xsd/DeployResults.xsd
URL: 
http://svn.apache.org/viewvc/incubator/ode/scratch/ode/bpel-dapi/src/main/xsd/DeployResults.xsd?rev=419801&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpel-dapi/src/main/xsd/DeployResults.xsd (added)
+++ incubator/ode/scratch/ode/bpel-dapi/src/main/xsd/DeployResults.xsd Thu Jul  
6 21:42:05 2006
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+    
+    <xs:complexType name="ProcessDefinition">
+         <xs:sequence>
+             <xs:element name="definitionName" type="xs:QName"></xs:element>
+             <xs:element name="versions" type="xs:string" minOccurs="1" 
maxOccurs="unbounded"></xs:element>
+             <xs:element name="currentVersion" type="xs:string"></xs:element>
+             <xs:element name="eprMaps" type="EPRMap" minOccurs="1" 
maxOccurs="unbounded"></xs:element>
+             <xs:element name="status" type="Status"></xs:element>
+             <xs:element name="logLevel" type="LogLevel"></xs:element>       
+         </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="ProcessDefinitions">
+        <xs:sequence>
+            <xs:element name="processDefinition" type="ProcessDefinition" 
minOccurs="1" maxOccurs="unbounded"></xs:element>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="EPRMap">
+        <xs:sequence>
+            <xs:element name="portType" type="xs:QName"></xs:element>
+            <xs:element name="EPRs" type="xs:anyType" minOccurs="1" 
maxOccurs="unbounded"></xs:element>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:simpleType name="Status">
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="active"></xs:enumeration>
+            <xs:enumeration value="inactive"></xs:enumeration>
+        </xs:restriction>
+    </xs:simpleType>
+    <xs:simpleType name="LogLevel">
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="SEVERE"></xs:enumeration>
+            <xs:enumeration value="MAJOR"></xs:enumeration>
+            <xs:enumeration value="MINOR"></xs:enumeration>
+            <xs:enumeration value="INFO"></xs:enumeration>
+        </xs:restriction>
+    </xs:simpleType>
+
+</xs:schema>
\ No newline at end of file


Reply via email to