You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2014/05/19 16:54:48 UTC

git commit: adding db tables for app catalog - computationResource

Repository: airavata
Updated Branches:
  refs/heads/master 0317c4a63 -> b9eb7a950


adding db tables for app catalog - computationResource


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/b9eb7a95
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/b9eb7a95
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/b9eb7a95

Branch: refs/heads/master
Commit: b9eb7a95028c40674b2b047ad631bd820055be7e
Parents: 0317c4a
Author: Chathuri Wimalasena <ka...@gmail.com>
Authored: Mon May 19 10:54:41 2014 -0400
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Mon May 19 10:54:41 2014 -0400

----------------------------------------------------------------------
 modules/app-catalog/app-catalog-data/pom.xml    | 126 +++++++++++++++++
 .../src/main/resources/META-INF/persistence.xml |  57 ++++++++
 .../src/main/resources/appcatalog-derby.sql     | 135 +++++++++++++++++++
 .../src/main/resources/appcatalog-mysql.sql     | 131 ++++++++++++++++++
 modules/app-catalog/pom.xml                     |  41 ++++++
 pom.xml                                         |   2 +-
 6 files changed, 491 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/b9eb7a95/modules/app-catalog/app-catalog-data/pom.xml
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/pom.xml b/modules/app-catalog/app-catalog-data/pom.xml
new file mode 100644
index 0000000..1e1cddb
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/pom.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
+    distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under
+    the Apache License, Version 2.0 (theÏ "License"); you may not use this file except in compliance with the License. You may
+    obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to
+    in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+    ANY ~ KIND, either express or implied. See the License for the specific language governing permissions and limitations under
+    the License. -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <parent>
+        <groupId>org.apache.airavata</groupId>
+        <artifactId>app-catalog</artifactId>
+        <version>0.12-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>app-catalog-data</artifactId>
+    <packaging>jar</packaging>
+    <name>Airavata Application Catalog Data</name>
+    <url>http://airavata.apache.org/</url>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-data-models</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <!-- Test -->
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.openjpa</groupId>
+            <artifactId>openjpa-all</artifactId>
+            <version>2.2.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derby</artifactId>
+            <version>${derby.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbyclient</artifactId>
+            <version>${derby.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbynet</artifactId>
+            <version>${derby.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbytools</artifactId>
+            <version>${derby.version}</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <version>${antrun.version}</version>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <configuration>
+                            <tasks>
+                                <taskdef name="openjpac" classname="org.apache.openjpa.ant.PCEnhancerTask" classpathref="maven.compile.classpath" />
+                                <openjpac>
+                                    <classpath refid="maven.compile.classpath" />
+                                </openjpac>
+                            </tasks>
+                        </configuration>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>${surefire.version}</version>
+                <inherited>true</inherited>
+                <configuration>
+                    <failIfNoTests>false</failIfNoTests>
+                    <skipTests>${skipTests}</skipTests>
+                    <workingDirectory>${project.build.testOutputDirectory}</workingDirectory>
+                    <!-- making sure that the sure-fire plugin doesn't run the integration tests-->
+                    <!-- Integration tests are run using the fail-safe plugin in the module pom-->
+                    <excludes>
+                        <exclude>**/TaskDetailResourceTest.java</exclude>
+                        <exclude>**/WorkflowNodeDetailResourceTest.java</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/airavata/blob/b9eb7a95/modules/app-catalog/app-catalog-data/src/main/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/resources/META-INF/persistence.xml b/modules/app-catalog/app-catalog-data/src/main/resources/META-INF/persistence.xml
new file mode 100644
index 0000000..0b16dcd
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/resources/META-INF/persistence.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<!--*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+* -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
+    <persistence-unit name="appcatalog_data">
+        <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
+        <!--class>org.apache.airavata.persistance.registry.jpa.model.Gateway</class>
+        <class>org.apache.airavata.persistance.registry.jpa.model.Configuration</class>
+        <class>org.apache.airavata.persistance.registry.jpa.model.Users</class>
+        <class>org.apache.airavata.persistance.registry.jpa.model.Gateway_Worker</class>
+        <class>org.apache.airavata.persistance.registry.jpa.model.Project</class>
+        <class>org.apache.airavata.persistance.registry.jpa.model.ProjectUser</class>
+        <class>org.apache.airavata.persistance.registry.jpa.model.Published_Workflow</class>
+        <class>org.apache.airavata.persistance.registry.jpa.model.User_Workflow</class>
+        <class>org.apache.airavata.persistance.registry.jpa.model.Host_Descriptor</class>
+        <class>org.apache.airavata.persistance.registry.jpa.model.Service_Descriptor</class>
+        <class>org.apache.airavata.persistance.registry.jpa.model.Application_Descriptor</class>
+        <class>org.apache.airavata.persistance.registry.jpa.model.Experiment</class>
+        <class>org.apache.airavata.persistance.registry.jpa.model.Experiment_Input</class>
+        <class>org.apache.airavata.persistance.registry.jpa.model.Experiment_Output</class>
+        <class>org.apache.airavata.persistance.registry.jpa.model.WorkflowNodeDetail</class>
+        <class>org.apache.airavata.persistance.registry.jpa.model.TaskDetail</class>
+		<class>org.apache.airavata.persistance.registry.jpa.model.ErrorDetail</class>
+		<class>org.apache.airavata.persistance.registry.jpa.model.ApplicationInput</class>
+		<class>org.apache.airavata.persistance.registry.jpa.model.ApplicationOutput</class>
+		<class>org.apache.airavata.persistance.registry.jpa.model.NodeInput</class>
+		<class>org.apache.airavata.persistance.registry.jpa.model.NodeOutput</class>
+		<class>org.apache.airavata.persistance.registry.jpa.model.JobDetail</class>
+		<class>org.apache.airavata.persistance.registry.jpa.model.DataTransferDetail</class>
+		<class>org.apache.airavata.persistance.registry.jpa.model.Status</class>
+		<class>org.apache.airavata.persistance.registry.jpa.model.ExperimentConfigData</class>
+		<class>org.apache.airavata.persistance.registry.jpa.model.Computational_Resource_Scheduling</class>
+		<class>org.apache.airavata.persistance.registry.jpa.model.AdvancedInputDataHandling</class>
+		<class>org.apache.airavata.persistance.registry.jpa.model.AdvancedOutputDataHandling</class>
+		<class>org.apache.airavata.persistance.registry.jpa.model.QosParam</class-->
+        <exclude-unlisted-classes>true</exclude-unlisted-classes>
+    </persistence-unit>
+</persistence>

http://git-wip-us.apache.org/repos/asf/airavata/blob/b9eb7a95/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
new file mode 100644
index 0000000..380f87e
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
@@ -0,0 +1,135 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+CREATE TABLE COMPUTE_RESOURCE
+(
+         RESOURCE_ID VARCHAR(255),
+         HOST_NAME VARCHAR(255),
+         DESCRIPTION VARCHAR(255),
+         SCRATCH_LOCATION VARCHAR(255),
+         PREFERRED_JOB_SUBMISSION_PROTOCOL VARCHAR(255),
+         PRIMARY KEY(RESOURCE_ID)
+);
+
+CREATE TABLE HOST_ALIAS
+(
+         RESOURCE_ID VARCHAR(255),
+         ALIAS VARCHAR(255),
+         PRIMARY KEY(RESOURCE_ID,ALIAS),
+         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE HOST_IPADDRESS
+(
+         RESOURCE_ID VARCHAR(255),
+         IP_ADDRESS VARCHAR(255),
+         PRIMARY KEY(RESOURCE_ID,IP_ADDRESS),
+         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE JOB_SUBMISSION_PROTOCOL
+(
+         RESOURCE_ID VARCHAR(255),
+         SUBMISSION_ID VARCHAR(255),
+         JOB_TYPE VARCHAR(255),
+         PRIMARY KEY(RESOURCE_ID,SUBMISSION_ID,JOB_TYPE),
+         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE DATA_MOVEMENT_PROTOCOL
+(
+         RESOURCE_ID VARCHAR(255),
+         DATA_MOVE_ID VARCHAR(255),
+         JOB_TYPE VARCHAR(255),
+         PRIMARY KEY(RESOURCE_ID,DATA_MOVE_ID,JOB_TYPE),
+         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE GSISSH_SUBMISSION
+(
+         SUBMISSION_ID VARCHAR(255),
+         RESOURCE_ID VARCHAR(255),
+         RESOURCE_JOB_MANAGER VARCHAR(255),
+         SSH_PORT INTEGER,
+         INSTALLED_PATH VARCHAR(255),
+         MONITOR_MODE VARCHAR(255),
+         PRIMARY KEY(SUBMISSION_ID),
+         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE GSISSH_EXPORTS
+(
+         SUBMISSION_ID VARCHAR(255),
+         EXPORT VARCHAR(255),
+         PRIMARY KEY(SUBMISSION_ID, EXPORT),
+         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE GSISSH_PREJOBCOMMANDS
+(
+         SUBMISSION_ID VARCHAR(255),
+         COMMAND VARCHAR(255),
+         PRIMARY KEY(SUBMISSION_ID, COMMAND),
+         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE GSISSH_POSTJOBCOMMANDS
+(
+         SUBMISSION_ID VARCHAR(255),
+         COMMAND VARCHAR(255),
+         PRIMARY KEY(SUBMISSION_ID, COMMAND),
+         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE GLOBUS_SUBMISSION
+(
+         SUBMISSION_ID VARCHAR(255),
+         RESOURCE_ID VARCHAR(255),
+         RESOURCE_JOB_MANAGER VARCHAR(255),
+         SECURITY_PROTOCAL VARCHAR(255),
+         GLOBUS_GATEKEEPER_EP VARCHAR(255),
+         PRIMARY KEY(SUBMISSION_ID),
+         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE SSH_SUBMISSION
+(
+         SUBMISSION_ID VARCHAR(255),
+         RESOURCE_ID VARCHAR(255),
+         RESOURCE_JOB_MANAGER VARCHAR(255),
+         SSH_PORT INTEGER,
+         PRIMARY KEY(SUBMISSION_ID),
+         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE SCP_DATAMOVEMENT
+(
+         DATA_MOVE_ID VARCHAR(255),
+         RESOURCE_ID VARCHAR(255),
+         RESOURCE_JOB_MANAGER VARCHAR(255),
+         SSH_PORT INTEGER,
+         PRIMARY KEY(DATA_MOVE_ID),
+         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+);
+
+
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/b9eb7a95/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
new file mode 100644
index 0000000..8a0d181
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
@@ -0,0 +1,131 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+CREATE TABLE COMPUTE_RESOURCE
+(
+         RESOURCE_ID VARCHAR(255),
+         HOST_NAME VARCHAR(255),
+         DESCRIPTION VARCHAR(255),
+         SCRATCH_LOCATION VARCHAR(255),
+         PREFERRED_JOB_SUBMISSION_PROTOCOL VARCHAR(255),
+         PRIMARY KEY(RESOURCE_ID)
+);
+
+CREATE TABLE HOST_ALIAS
+(
+         RESOURCE_ID VARCHAR(255),
+         ALIAS VARCHAR(255),
+         PRIMARY KEY(RESOURCE_ID,ALIAS),
+         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE HOST_IPADDRESS
+  (
+           RESOURCE_ID VARCHAR(255),
+           IP_ADDRESS VARCHAR(255),
+           PRIMARY KEY(RESOURCE_ID,IP_ADDRESS),
+           FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+  );
+
+CREATE TABLE JOB_SUBMISSION_PROTOCOL
+(
+         RESOURCE_ID VARCHAR(255),
+         SUBMISSION_ID VARCHAR(255),
+         JOB_TYPE VARCHAR(255),
+         PRIMARY KEY(RESOURCE_ID,SUBMISSION_ID,JOB_TYPE),
+         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE DATA_MOVEMENT_PROTOCOL
+(
+         RESOURCE_ID VARCHAR(255),
+         DATA_MOVE_ID VARCHAR(255),
+         JOB_TYPE VARCHAR(255),
+         PRIMARY KEY(RESOURCE_ID,DATA_MOVE_ID,JOB_TYPE),
+         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE GSISSH_SUBMISSION
+(
+         SUBMISSION_ID VARCHAR(255),
+         RESOURCE_ID VARCHAR(255),
+         RESOURCE_JOB_MANAGER VARCHAR(255),
+         SSH_PORT INTEGER,
+         INSTALLED_PATH VARCHAR(255),
+         MONITOR_MODE VARCHAR(255),
+         PRIMARY KEY(SUBMISSION_ID),
+         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE GSISSH_EXPORTS
+(
+         SUBMISSION_ID VARCHAR(255),
+         EXPORT VARCHAR(255),
+         PRIMARY KEY(SUBMISSION_ID, EXPORT),
+         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE GSISSH_PREJOBCOMMANDS
+(
+         SUBMISSION_ID VARCHAR(255),
+         COMMAND VARCHAR(255),
+         PRIMARY KEY(SUBMISSION_ID, COMMAND),
+         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE GSISSH_POSTJOBCOMMANDS
+(
+         SUBMISSION_ID VARCHAR(255),
+         COMMAND VARCHAR(255),
+         PRIMARY KEY(SUBMISSION_ID, COMMAND),
+         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE GLOBUS_SUBMISSION
+(
+         SUBMISSION_ID VARCHAR(255),
+         RESOURCE_ID VARCHAR(255),
+         RESOURCE_JOB_MANAGER VARCHAR(255),
+         SECURITY_PROTOCAL VARCHAR(255),
+         GLOBUS_GATEKEEPER_EP VARCHAR(255),
+         PRIMARY KEY(SUBMISSION_ID),
+         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE SSH_SUBMISSION
+(
+         SUBMISSION_ID VARCHAR(255),
+         RESOURCE_ID VARCHAR(255),
+         RESOURCE_JOB_MANAGER VARCHAR(255),
+         SSH_PORT INTEGER,
+         PRIMARY KEY(SUBMISSION_ID),
+         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE SCP_DATAMOVEMENT
+(
+         DATA_MOVE_ID VARCHAR(255),
+         RESOURCE_ID VARCHAR(255),
+         RESOURCE_JOB_MANAGER VARCHAR(255),
+         SSH_PORT INTEGER,
+         PRIMARY KEY(DATA_MOVE_ID),
+         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/b9eb7a95/modules/app-catalog/pom.xml
----------------------------------------------------------------------
diff --git a/modules/app-catalog/pom.xml b/modules/app-catalog/pom.xml
new file mode 100644
index 0000000..209b5e0
--- /dev/null
+++ b/modules/app-catalog/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
+    distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under
+    the Apache License, Version 2.0 (theÏ "License"); you may not use this file except in compliance with the License. You may
+    obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to
+    in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+    ANY ~ KIND, either express or implied. See the License for the specific language governing permissions and limitations under
+    the License. -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <parent>
+        <groupId>org.apache.airavata</groupId>
+        <artifactId>airavata</artifactId>
+        <version>0.12-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>app-catalog</artifactId>
+    <packaging>pom</packaging>
+    <name>Airavata Application Catalog</name>
+    <url>http://airavata.apache.org/</url>
+
+    <profiles>
+        <profile>
+            <id>default</id>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+            <modules>
+                <module>app-catalog-data</module>
+            </modules>
+        </profile>
+    </profiles>
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+    </properties>
+</project>

http://git-wip-us.apache.org/repos/asf/airavata/blob/b9eb7a95/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index de43f17..d7e1a41 100644
--- a/pom.xml
+++ b/pom.xml
@@ -486,7 +486,7 @@
                 <module>modules/workflow-model</module>
                 <module>modules/commons</module>
                 <module>modules/registry</module>
-                <!--<module>modules/app-catalog</module>-->
+                <module>modules/app-catalog</module>
                 <module>modules/airavata-client</module>
                 <module>modules/credential-store</module>
                 <module>modules/orchestrator</module>