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 ([email protected]) 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; + } +}
