You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ra...@apache.org on 2014/11/06 17:52:06 UTC
[08/17] re-arrange server and clint code to create seperate
distributions. AIRAVATA-1471
http://git-wip-us.apache.org/repos/asf/airavata/blob/a133fa8c/modules/distribution/orchestrator-server/src/main/resources/NOTICE
----------------------------------------------------------------------
diff --git a/modules/distribution/orchestrator-server/src/main/resources/NOTICE b/modules/distribution/orchestrator-server/src/main/resources/NOTICE
new file mode 100644
index 0000000..fa7cba5
--- /dev/null
+++ b/modules/distribution/orchestrator-server/src/main/resources/NOTICE
@@ -0,0 +1,163 @@
+Apache Airavata
+Copyright 2014 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+===============================================================================
+Apache Xerces Java Notice:
+
+ Portions of this software were originally based on the following:
+ - software copyright (c) 1999, IBM Corporation., http://www.ibm.com.
+ - software copyright (c) 1999, Sun Microsystems., http://www.sun.com.
+ - voluntary contributions made by Paul Eng on behalf of the
+ Apache Software Foundation that were originally developed at iClick, Inc.,
+ software copyright (c) 1999.
+
+================================================================================
+Apache XmlBeans Notice:
+
+ Portions of this software were originally based on the following:
+ - software copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/>.
+
+ Aside from contributions to the Apache XMLBeans project, this
+ software also includes:
+
+ - one or more source files from the Apache Xerces-J and Apache Axis
+ products, Copyright (c) 1999-2003 Apache Software Foundation
+
+ - W3C XML Schema documents Copyright 2001-2003 (c) World Wide Web
+ Consortium (Massachusetts Institute of Technology, European Research
+ Consortium for Informatics and Mathematics, Keio University)
+
+ - resolver.jar from Apache Xml Commons project,
+ Copyright (c) 2001-2003 Apache Software Foundation
+
+ - Piccolo XML Parser for Java from http://piccolo.sourceforge.net/,
+ Copyright 2002 Yuval Oren under the terms of the Apache Software License 2.0
+
+ - JSR-173 Streaming API for XML from http://sourceforge.net/projects/xmlpullparser/,
+ Copyright 2005 BEA under the terms of the Apache Software License 2.0
+
+=========================================================================================
+Apache Axis2 Notice: (axis2-*, mex-1.5.1-impl)
+
+Portions Copyright 2006 International Business Machines Corp.
+Portions Copyright 2005-2007 WSO2, Inc.
+
+This product also includes schemas and specification developed by:
+- the W3C consortium (http://www.w3c.org)
+
+This product also includes WS-* schemas developed by International
+Business Machines Corporation, Microsoft Corporation, BEA Systems,
+TIBCO Software, SAP AG, Sonic Software, and VeriSign
+
+This product also includes a WSDL developed by salesforce.com
+- Copyright 1999-2006 salesforce.com, inc.
+Portions of the included xmlbeans library were originally based on the following:
+- software copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/>.
+
+====================================================================================
+Apache Derby Notice:
+
+Portions of Derby were originally developed by
+International Business Machines Corporation and are
+licensed to the Apache Software Foundation under the
+"Software Grant and Corporate Contribution License Agreement",
+informally known as the "Derby CLA".
+The following copyright notice(s) were affixed to portions of the code
+with which this file is now or was at one time distributed
+and are placed here unaltered.
+
+(C) Copyright 1997,2004 International Business Machines Corporation. All rights reserved.
+
+(C) Copyright IBM Corp. 2003.
+
+=======================
+
+The portion of the functionTests under 'nist' was originally
+developed by the National Institute of Standards and Technology (NIST),
+an agency of the United States Department of Commerce, and adapted by
+International Business Machines Corporation in accordance with the NIST
+Software Acknowledgment and Redistribution document at
+http://www.itl.nist.gov/div897/ctg/sql_form.htm
+
+========================
+
+The JDBC apis for small devices and JDBC3 (under java/stubs/jsr169 and
+java/stubs/jdbc3) were produced by trimming sources supplied by the
+Apache Harmony project. In addition, the Harmony SerialBlob and
+SerialClob implementations are used. The following notice covers the Harmony sources:
+
+Portions of Harmony were originally developed by
+Intel Corporation and are licensed to the Apache Software
+Foundation under the "Software Grant and Corporate Contribution
+License Agreement", informally known as the "Intel Harmony CLA".
+
+=============================================================================
+Apache Woden Notice:
+
+ This product also includes software developed by :
+
+ - IBM Corporation (http://www.ibm.com),
+ WSDL4J was the initial code contribution for the Apache Woden
+ project and some of the WSDL4J design and code has been reused.
+ - The W3C Consortium (http://www.w3c.org),
+ Common W3C XML Schema and DTD files are packaged with Apache Woden.
+
+ Please read the different LICENSE files present in the root directory of
+ this distribution.
+
+=========================================================================
+Woodstox Notice:
+
+This product includes software developed by the Woodstox Project
+(http://woodstox.codehaus.org/)
+
+This product currently only contains code developed by authors
+of specific components, as identified by the source code files.
+
+Since product implements StAX API, it has dependencies to StAX API
+classes.
+
+For additional credits (generally to people who reported problems)
+see CREDITS file.
+
+===========================================================================
+Apache xml-commons xml-apis Notice:
+
+ Portions of this software were originally based on the following:
+ - software copyright (c) 1999, IBM Corporation., http://www.ibm.com.
+ - software copyright (c) 1999, Sun Microsystems., http://www.sun.com.
+ - software copyright (c) 2000 World Wide Web Consortium, http://www.w3.org
+
+================================================================================================
+Apache Xalan Notice:
+
+Portions of this software was originally based on the following:
+ - software copyright (c) 1999-2002, Lotus Development Corporation., http://www.lotus.com.
+ - software copyright (c) 2001-2002, Sun Microsystems., http://www.sun.com.
+ - software copyright (c) 2003, IBM Corporation., http://www.ibm.com.
+ - voluntary contributions made by Ovidiu Predescu (ovidiu@cup.hp.com) on behalf of the
+ Apache Software Foundation and was originally developed at Hewlett Packard Company.
+================================================================================================
+Apache OpenJPA Notice:
+
+OpenJPA includes software developed by the SERP project
+Copyright (c) 2002-2006, A. Abram White. All rights reserved.
+
+OpenJPA includes the persistence and orm schemas from the JPA specifications.
+Copyright 2005-2009 Sun Microsystems, Inc. All rights reserved.
+OpenJPA elects to include this software in this distribution under the
+CDDL license. You can obtain a copy of the License at:
+ https://glassfish.dev.java.net/public/CDDL+GPL.html
+The source code is available at:
+ https://glassfish.dev.java.net/source/browse/glassfish/
+
+OpenJPA includes software written by Miroslav Nachev
+OpenJPA uses test code written by Charles Tillman.
+================================================================================================
+Apache XmlSchema Notice:
+
+Portions Copyright 2006 International Business Machines Corp.
+================================================================================================
http://git-wip-us.apache.org/repos/asf/airavata/blob/a133fa8c/modules/distribution/orchestrator-server/src/main/resources/README
----------------------------------------------------------------------
diff --git a/modules/distribution/orchestrator-server/src/main/resources/README b/modules/distribution/orchestrator-server/src/main/resources/README
new file mode 100644
index 0000000..1539b8c
--- /dev/null
+++ b/modules/distribution/orchestrator-server/src/main/resources/README
@@ -0,0 +1,121 @@
+Apache Airavata Server - README.txt
+Licensed under Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0
+--------------------------------------------------------------------------------
+
+About
+=====
+Apache Airavata, a software framework to executing and managing computational jobs on
+distributed computing resources including local clusters, supercomputers, national grids,
+academic and commercial clouds. Airavata can be used as individual components or
+as an integrated solution to build science gateways or general-purpose distributed
+application and workflow management systems. Users can use Airavata back end services
+and build gadgets to deploy in open social containers such as Apache Rave and modify them
+to suit their needs. Airavata builds on general concepts of service oriented computing,
+distributed messaging, and workflow composition and orchestration.
+
+This distribution allows you to run a standalone Airavata Server which includes all the
+airavata services shipped with a default derby database as the backend registry.
+
+Release Notes
+=============
+0.11 is the tenth release of Airavata (skipped 0.1-INCUBATNG). This release focuses bug fixes and GSISSH library for beta testing. For detailed tasks list, please see RELEASE_NOTES.
+
+Building from source
+====================
+For brief installation instructions, see INSTALL
+For detailed installation and further instructions refer http://airavata.apache.org/ - Documentation section in left hand panel. Step by step with proper documentation are provided.
+
+Known Issues in This Release
+============================
+This is the base release and is focused on a good foundation and less on features. This
+version is not recommended for production usage.
+
+Airavata Binary Distribution Directory Structure
+================================================
+
+ AIRAVATA_HOME
+ ├── bin
+ │ ├── database_scripts <dir>
+ │ ├── airavata-server.bat
+ │ ├── airavata-server.properties
+ │ ├── airavata-server.sh
+ │ ├── authenticators.xml
+ │ ├── axis2.xml
+ │ ├── derby.sh
+ │ ├── host.xml
+ │ ├── log4j.properties
+ │ ├── logo.txt
+ │ ├── setenv.bat
+ │ ├── setenv.sh
+ │ └── startNetworkServer
+ ├── lib <dir>
+ ├── repository
+ │ ├── modules
+ │ └── services
+ ├── samples
+ │ ├── workflows <dir>
+ │ ├── echo_out.sh
+ │ └── echo.sh
+ ├── INSTALL
+ ├── LICENSE
+ ├── NOTICE
+ └── README
+
+
+How to test and run samples
+===========================
+* If you built Airavata from source, and if you see "BUILD SUCCESS", then the test cases should have passes.
+* The test cases are beyond unit level, they startup embedded services and run through basic workflow use cases.
+* To walk through Airavata features, follow "Airavata in Five Minutes" tutorial at http://airavata.apache.org/documentation/tutorials/airavata-in-5-minutes.html
+* For intermediate level Airavata features, follow "Airavata in Ten Minutes" tutorial at http://airavata.apache.org/documentation/tutorials/airavata-in-10-minutes.html
+* For advanced use cases, please contact mailing lists - http://airavata.apache.org/community/mailing-lists.html
+
+Description of Directory Structure
+==================================
+ - bin
+ This contains all the configuration files & the executable scripts to run the Airavata Server (Axis2 server
+ with Airavata services which include messageBroker and messageBox with GFac Axis2 services), & a standalone Apache Derby server.
+
+ - bin - database_scripts
+ Contains the database scripts which are used to create tables for messagebox and messagebroker services
+
+ - samples
+ This contains sample workflow to try out & sample application scripts.
+
+ - lib
+ This contains all the libraries required to run the airavata server and/or derby server.
+
+ - repository - services
+ Contains deployed services in Axis2 runtime.
+
+ - README
+ This document.
+
+ - INSTALL
+ This document will contain information on installing Apache-Airavata.
+
+
+Other Available Distributions
+=============================
+
+Server Distributions
+--------------------
+* Airavata Server
+ The Airavata Server binary distribution allows you to run a standalone Airavata Server which includes all the airavata services
+ shipped with a default derby database as the backend registry. For stable purposes, a mysql configuration is recommended.
+
+* Airavata Server Web Application
+ This is similar package as the Airavata Server but is distributed as the server Web Application archive.
+ This war is compatible with Apache Tomcat application server. The war bundles all airavata services
+ enabled by defualt to startup a derby database as the backend registry. For stable purposes, a mysql configuration is recommended.
+
+Client Distributions
+--------------------
+* Airavata XBaya
+ The Airavata XBaya distribution is a client GUI application with features to register applications as web services, construct workflows,
+ execute and monitor workflows and browse the generated results from the airavata registry.
+
+* Airavata XBaya JNLP
+ The Airavata XBaya JNLP distribution is the simular GUI distribution but prepackeged to be ready to be deployed to
+ a web server as a web start application. The GUI provides features to register applications as web services, construct workflows,
+ execute and monitor workflows and browse the generated results from the airavata registry.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a133fa8c/modules/distribution/orchestrator-server/src/main/resources/bin/logo.txt
----------------------------------------------------------------------
diff --git a/modules/distribution/orchestrator-server/src/main/resources/bin/logo.txt b/modules/distribution/orchestrator-server/src/main/resources/bin/logo.txt
new file mode 100644
index 0000000..e886438
--- /dev/null
+++ b/modules/distribution/orchestrator-server/src/main/resources/bin/logo.txt
@@ -0,0 +1,34 @@
+...._....................._..............._...._......................_.........
+.../ \..._.__...__._..___| |__...___...../ \..(_)_.__.__.___...____._|.|_.__._..
+../ _ \.| '_ \./ _` |/ __| '_ \./ _ \.../ _ \.| | '__/ _` \ \./ / _` | __/ _` |.
+./ ___ \| |_) | (_| | (__| |.| | __/../ ___ \| | |.| (_| |\ V / (_| | || (_| |.
+/_/...\_\ .__/.\__,_|\___|_|.|_|\___|./_/...\_\_|_|..\__,_|.\_/.\__,_|\__\__,_|.
+........|_|.....................................................................
+................................................................................
+................,+????++~..~~++..+????????+??++.++~...~+=???+++.................
+..............:???????....:::...~??????????????.~..::...=????????...............
+............????????..~~..?????..??????????????.?????..~~~.~???????.............
+...........?????????I,~I~~??????.+????????????.~??????~=~..?????????~...........
+.........?????++??????..????????:.??????????I..????????..????????+????..........
+........??.....???????....???????...???????+..+??????+.I.????????.....?,........
+........????==????????..??..?????..=???????=..?????,.=+?.?????????===??=........
+......=??????????+????..+??=.???=.~??????????,.???=,???,.????=+??????????.......
+....??????????+...+I++..???,=...:??????????????.....+??..++I?+..,??????????.....
+....???????=??..........??..+??.:=:.???????......??..??=..........?=???????=....
+....??????..?...........+?..???.....???????......???.??...........~=.??????=....
+....~???~.~..............?..???.~=..,??????...7..???.?.:..............~????:....
+...7....7 ...............?..????. ...??????... .????.?.?.............I ..:.:....
+.....+7=,.+?................????:,I...?????..=.?????.?.............??~.=7+......
+..........????..............??????~...~??..~~??????..?...........+???,..........
+...........???............=.+???????,.?+:.?????????..+...........???+...........
+............??............?,.??????.,??..??????????.,............???............
+...........??,.............=.,????.?+....????????I.I..............=?............
+..........I?..................+??.:?~.....=??????..................??...........
+..........??...?...............??.:?=......??????..............?...??...........
+............++?..............?.????...?....??????.+..............++I............
+.............................?.??????~....???????.?.............................
+............................~~.??????......??????...............................
+.............................=???????......???????+.............................
+..........................=I??++?+++?......?+++++++?+...........................
+..........................,..77..77......... .. ...7..........................
+................................................................................
http://git-wip-us.apache.org/repos/asf/airavata/blob/a133fa8c/modules/distribution/orchestrator-server/src/main/resources/bin/orchestrator-server.sh
----------------------------------------------------------------------
diff --git a/modules/distribution/orchestrator-server/src/main/resources/bin/orchestrator-server.sh b/modules/distribution/orchestrator-server/src/main/resources/bin/orchestrator-server.sh
new file mode 100755
index 0000000..5fa73e7
--- /dev/null
+++ b/modules/distribution/orchestrator-server/src/main/resources/bin/orchestrator-server.sh
@@ -0,0 +1,118 @@
+#!/bin/bash
+
+# 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.
+
+. `dirname $0`/setenv.sh
+cd $AIRAVATA_HOME/bin
+LOGO_FILE="logo.txt"
+
+JAVA_OPTS=""
+AIRAVATA_COMMAND=""
+IS_DAEMON_MODE=false
+LOGO=true
+STOP=false
+FORCE=false
+SERVERS="--servers=orchestrator"
+for var in "$@"
+do
+ case $var in
+ -xdebug)
+ JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,address=8000"
+ AIRAVATA_COMMAND="$AIRAVATA_COMMAND $SERVERS"
+ shift
+ ;;
+ -security)
+ JAVA_OPTS="$JAVA_OPTS -Djava.security.manager -Djava.security.policy=$AIRAVATA_HOME/conf/axis2.policy -Daxis2.home=$AIRAVATA_HOME"
+ shift
+ ;;
+ start)
+ AIRAVATA_COMMAND="$AIRAVATA_COMMAND $SERVERS"
+ IS_DAEMON_MODE=true
+ shift
+ ;;
+ stop)
+ LOGO=false
+ STOP=true
+ AIRAVATA_COMMAND="$AIRAVATA_COMMAND $var"
+ shift
+ ;;
+ --force)
+ FORCE=true
+ shift
+ ;;
+ -nologo)
+ LOGO=false
+ shift
+ ;;
+ -h)
+ echo "Usage: airavata-server.sh [command-options]"
+ echo "command options:"
+ echo " start Start server in daemon mode"
+ echo " stop [--force] Stop all airavata servers."
+ echo " --<key>[=<value>] Server setting(s) to override or introduce (overrides values in airavata-server.properties)"
+ echo " -nologo Do not show airavata logo"
+ echo " -xdebug Start Airavata Server under JPDA debugger"
+ echo " -security Enable Java 2 security"
+ echo " -h Display this help and exit"
+ shift
+ exit 0
+ ;;
+ *)
+ AIRAVATA_COMMAND="$AIRAVATA_COMMAND $SERVERS $var"
+ shift
+ esac
+done
+if $LOGO ; then
+ if [ -e $LOGO_FILE ]
+ then
+ cat $LOGO_FILE
+ fi
+fi
+if $STOP && $FORCE ;
+then
+ for f in `find . -name "server-start_*"`; do
+ f_split=(${f//_/ });
+ echo "Found process file : $f"
+ echo -n " Sending kill signals to process ${f_split[1]}..."
+ out=`kill -9 ${f_split[1]} 2>&1`
+ if [ -z "$out" ]; then
+ echo "done"
+ else
+ echo "failed (REASON: $out)"
+ fi
+ echo -n " Removing process file..."
+ out=`rm $f 2>&1`
+ if [ -z "$out" ]; then
+ echo "done"
+ else
+ echo "failed (REASON: $out)"
+ fi
+ done
+else
+ if $IS_DAEMON_MODE ; then
+ echo "Starting airavata server in daemon mode..."
+ nohup java $JAVA_OPTS -classpath "$XBAYA_CLASSPATH" \
+ -Djava.endorsed.dirs="$AIRAVATA_HOME/lib/endorsed":"$JAVA_HOME/jre/lib/endorsed":"$JAVA_HOME/lib/endorsed" \
+ org.apache.airavata.server.ServerMain $AIRAVATA_COMMAND $* > orchestrator-server.out &
+ else
+ java $JAVA_OPTS -classpath "$XBAYA_CLASSPATH" \
+ -Djava.endorsed.dirs="$AIRAVATA_HOME/lib/endorsed":"$JAVA_HOME/jre/lib/endorsed":"$JAVA_HOME/lib/endorsed" \
+ org.apache.airavata.server.ServerMain $AIRAVATA_COMMAND $*
+ fi
+fi
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/a133fa8c/modules/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml
index ff886d5..0498f62 100644
--- a/modules/distribution/pom.xml
+++ b/modules/distribution/pom.xml
@@ -30,7 +30,10 @@
<modules>
<module>server</module>
<module>client</module>
- <module>release</module>
+ <module>api-server</module>
+ <module>orchestrator-server</module>
+ <module>gfac-server</module>
+ <module>release</module>
</modules>
</profile>
</profiles>
http://git-wip-us.apache.org/repos/asf/airavata/blob/a133fa8c/modules/distribution/server/pom.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/server/pom.xml b/modules/distribution/server/pom.xml
index 0cefe36..263112b 100644
--- a/modules/distribution/server/pom.xml
+++ b/modules/distribution/server/pom.xml
@@ -160,7 +160,7 @@
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
- <dependency>
+ <dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</dependency>
@@ -264,6 +264,16 @@
<artifactId>airavata-orchestrator-service</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-orchestrator-stubs</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-gfac-stubs</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.airavata</groupId>
<artifactId>airavata-orchestrator-core</artifactId>
@@ -311,6 +321,11 @@
</dependency>
<dependency>
<groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-gfac-stubs</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
<artifactId>airavata-gfac-bes</artifactId>
<version>${project.version}</version>
</dependency>
@@ -379,11 +394,6 @@
<artifactId>airavata-model-utils</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.airavata</groupId>
- <artifactId>airavata-workflow-engine</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.airavata</groupId>
<artifactId>airavata-api-server</artifactId>
http://git-wip-us.apache.org/repos/asf/airavata/blob/a133fa8c/modules/distribution/server/src/main/assembly/bin-assembly.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/server/src/main/assembly/bin-assembly.xml b/modules/distribution/server/src/main/assembly/bin-assembly.xml
index a967056..b7addd0 100644
--- a/modules/distribution/server/src/main/assembly/bin-assembly.xml
+++ b/modules/distribution/server/src/main/assembly/bin-assembly.xml
@@ -204,6 +204,8 @@
<include>org.apache.airavata:airavata-common-utils:jar</include>
<include>org.apache.airavata:airavata-orchestrator-service:jar
</include>
+ <include>org.apache.airavata:airavata-orchestrator-stubs:jar
+ </include>
<include>org.apache.airavata:airavata-orchestrator-core:jar
</include>
<include>org.apache.airavata:airavata-gfac-schema-utils:jar
@@ -217,6 +219,7 @@
<include>org.apache.airavata:airavata-data-models:jar</include>
<include>org.apache.airavata:airavata-credential-store:jar</include>
<include>org.apache.airavata:airavata-gfac-core:jar</include>
+ <include>org.apache.airavata:airavata-gfac-stubs:jar</include>
<include>org.apache.airavata:airavata-gfac-service:jar</include>
<include>org.apache.airavata:airavata-gfac-ssh:jar</include>
<include>org.apache.airavata:airavata-gfac-local:jar</include>
http://git-wip-us.apache.org/repos/asf/airavata/blob/a133fa8c/modules/gfac/airavata-gfac-service/pom.xml
----------------------------------------------------------------------
diff --git a/modules/gfac/airavata-gfac-service/pom.xml b/modules/gfac/airavata-gfac-service/pom.xml
index 683d523..3ebbfd7 100644
--- a/modules/gfac/airavata-gfac-service/pom.xml
+++ b/modules/gfac/airavata-gfac-service/pom.xml
@@ -70,6 +70,11 @@
<artifactId>airavata-api-stubs</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-gfac-stubs</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.airavata</groupId>
<artifactId>airavata-server-configuration</artifactId>
http://git-wip-us.apache.org/repos/asf/airavata/blob/a133fa8c/modules/gfac/airavata-gfac-stubs/pom.xml
----------------------------------------------------------------------
diff --git a/modules/gfac/airavata-gfac-stubs/pom.xml b/modules/gfac/airavata-gfac-stubs/pom.xml
new file mode 100644
index 0000000..b09c6d1
--- /dev/null
+++ b/modules/gfac/airavata-gfac-stubs/pom.xml
@@ -0,0 +1,60 @@
+<?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/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <artifactId>gfac</artifactId>
+ <groupId>org.apache.airavata</groupId>
+ <version>0.14-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <name>Airavata Gfac Client SDK</name>
+ <artifactId>airavata-gfac-stubs</artifactId>
+ <packaging>jar</packaging>
+ <url>http://airavata.apache.org/</url>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.thrift</groupId>
+ <artifactId>libthrift</artifactId>
+ <version>${thrift.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>${org.slf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-data-models</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-model-utils</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-client-configuration</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
+ <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/a133fa8c/modules/gfac/airavata-gfac-stubs/src/main/java/org/apache/airavata/gfac/client/GFACInstance.java
----------------------------------------------------------------------
diff --git a/modules/gfac/airavata-gfac-stubs/src/main/java/org/apache/airavata/gfac/client/GFACInstance.java b/modules/gfac/airavata-gfac-stubs/src/main/java/org/apache/airavata/gfac/client/GFACInstance.java
new file mode 100644
index 0000000..0e1aa56
--- /dev/null
+++ b/modules/gfac/airavata-gfac-stubs/src/main/java/org/apache/airavata/gfac/client/GFACInstance.java
@@ -0,0 +1,62 @@
+/*
+ *
+ * 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.
+ *
+*/
+package org.apache.airavata.gfac.client;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * This class represent the data related to gfac instances
+ * if orchestrator is running on non-embedded mode,
+ * This information can be used to do better load balancing between
+ * different gfac instances
+ */
+public class GFACInstance {
+ private final static Logger logger = LoggerFactory.getLogger(GFACInstance.class);
+
+ private String gfacURL;
+
+ private int currentLoad;
+
+ private int gfacPort;
+
+
+ public GFACInstance(String gfacURL, int gfacPort) {
+ this.gfacURL = gfacURL;
+ this.gfacPort = gfacPort;
+ }
+
+ public String getGfacURL() {
+ return gfacURL;
+ }
+
+ public void setGfacURL(String gfacURL) {
+ this.gfacURL = gfacURL;
+ }
+
+ public int getCurrentLoad() {
+ return currentLoad;
+ }
+
+ public void setCurrentLoad(int currentLoad) {
+ this.currentLoad = currentLoad;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a133fa8c/modules/gfac/airavata-gfac-stubs/src/main/java/org/apache/airavata/gfac/client/GFacClientFactory.java
----------------------------------------------------------------------
diff --git a/modules/gfac/airavata-gfac-stubs/src/main/java/org/apache/airavata/gfac/client/GFacClientFactory.java b/modules/gfac/airavata-gfac-stubs/src/main/java/org/apache/airavata/gfac/client/GFacClientFactory.java
new file mode 100644
index 0000000..89f751d
--- /dev/null
+++ b/modules/gfac/airavata-gfac-stubs/src/main/java/org/apache/airavata/gfac/client/GFacClientFactory.java
@@ -0,0 +1,42 @@
+/*
+ *
+ * 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.
+ *
+*/
+package org.apache.airavata.gfac.client;
+
+import org.apache.airavata.gfac.cpi.GfacService;
+import org.apache.thrift.protocol.TBinaryProtocol;
+import org.apache.thrift.protocol.TProtocol;
+import org.apache.thrift.transport.TSocket;
+import org.apache.thrift.transport.TTransport;
+import org.apache.thrift.transport.TTransportException;
+
+public class GFacClientFactory {
+ public static GfacService.Client createGFacClient(String serverHost, int serverPort){
+ try {
+ TTransport transport = new TSocket(serverHost, serverPort);
+ transport.open();
+ TProtocol protocol = new TBinaryProtocol(transport);
+ return new GfacService.Client(protocol);
+ } catch (TTransportException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+}