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