Installing Apache Airavata 0.1-INCUBATING ------------------------------------------------ Prerequisites ------------- Java 1.5 Maven (tested on v 3.0.2) Build Apache Airavata from Source --------------------------------- * Unzip/untar the source file or check out from svn. * cd to project folder and type * mvn clean install -Dmaven.test.skip=true * The compressed binary distribution is created at /distribution/target Running Tests ------------- Once the binary is unzipped, instructions to run the tests should be followed from README Advanced Configuration ======================= Configuring GFac Service ------------------------ Given below are teh configurations for GFac service to be loaded during axis2 startup. Default configuration file can be found at /standalone-server/conf/repository.properties. Configuration Description ============================= ==================================== jcr.class Your JCR Implementation factory class. Currently we support only Jackrabbit in future we (org.apache.jackrabbit.rmi. hope to support other JCR implementations too.(So with this release you do not have to change this parameter). repository.RmiRepositoryFactory) repository.url This is the url of your repository.. Currently this should be the url of your Jackrabbit repository. (http://localhost:8081) jcr.user This is the jackrabbit admin user name - If you have change the jackrabbit user name in your jackrabbit instance (admin) you have to change this parameter. jcr.pass This is the jackrabbit admin password - If you have change the jackrabbit default password in your jackrabbit instance (admin) you have to change this parameter. scheduler.class Schedular class you want to use.. if you have your own class put that jar in to /standalone-server/lib folder and change this parameter. (org.apache.airavata.core. gfac.scheduler.impl.SchedulerImpl) datachain.classes Data Service plugin classes.. if you have your own class put that jar in to /standalone-server/lib folder and change this parameter. (org.apache.airavata.core. gfac.extension.data.RegistryDataService) prechain.classes Pre execution Plugins classes. For example, GridFTP Input Staging. You have to specify all the classes one by one for the same parameter. postchain.classes Post execution Plugins classes. For example, GridFTP Output Staging, if you have your own class put that jar in to /standalone-server/lib folder and change this parameter Configure WS-Messenger messageBroker service. ---------------------------------------------- Given below are the configurations for message broker service. configuration file should be named as "msgBroker.properties". This should be included in the class path (e.g. /standalone-server/conf) when broker starts. Configuration Description ============================= ==================================== broker.jdbc.driver Database driver. broker.jdbc.url Url string used to connect the database broker.start.delivery.thread If set to true message delivery thread will be started. (true/false) Applicable when only running broker. User must set this to 'false' if he wishes run message deliver component separately ( e.g. messenger servlet). broker.socket.timeout Connection timeout in milliseconds.Set this to '0' if user wishes connections never to be timed out. (not recommended)4000 broker.storage.type Specifies message, subscriptions should be stored in a database or not. memory or persistent (memory/persistent) broker.delivery.method Specifies what mechanism to be used deliver messages. (serial,parallel,pcrew) serial – single threaded delivery parallel – dynamic thread pool based delivery pcrew – fixed thread pool based delivery serial , parallel or pcrew broker.msg.delivery.retries Number of message delivery failures before a url become black listed (default is 2) 2 consumer.expiration.time.gap Time period (in seconds) a url will be kept blacklisted (default is 5 seconds) 5 sending.batch.size Maximum number of messages to be send to a one consumer/url at time. applicable if 'broker.delivery.method' is 'pcrew'(default is 10)10 sending.thread.pool.size Size of the thread pool. only applicable if 'broker.delivery.method' is 'pcrew'. (default is 4) 4 Configure WS-Messenger messagebox service ----------------------------------------- Configuration Description msgBox.jdbc.driver Database driver. msgBox.jdbc.url Url string used to connect the data base msgBox.usedatabase If set to 'true' use MySql database. If set to 'false' use inmemory implementation. (true,false) In this scenario database settings i.e-broker.jdbc.url is not required. Run Ws-messenger ----------------- 1. User has the option to run broker in several modes. Steps for each mode is given below. Run standalone version supplied with binary distribution --------------------------------------------------------- 1. Unzip binary distribution. 2. Change default configurations if needed. - configuration files is located at: /standalone-server/conf/msgBroker.properties /standalone-server/conf/msgBox.properties Run axis2 server by running the command: Linux - /standalone-server/bin/axis2server.sh Windows - /standalone-server/bin/axis2server.bat Run Ws-messenger using axis2 servlet ------------------------------------- (Tested on tomcat v 6.0.20 & axis2 v1.5.1) 1. Copy broker aar file to axis2 distribution accordingly. 2. Create database tables (Scripts can be found /bin/database_scripts) 3. Set configurations appropriately and copy configuration file ( named msgBroker.properties) to /webapps/axis2/WEB-INF/classes Note: a sample configuration file is located at: /standalone-server/conf/msgBroker.properties /standalone-server/conf/msgBox.properties 4. Start tomcat server. 5. For more information follow how to deploy Apache Axis2 as a Web Application. Run Ws-messenger using a external axis2 distribution ---------------------------------------------------- 1. Copy broker aar file to following location: /repository/services 2. Copy msgBroker.properties and msgBroker.properties file to /conf Configure msgBroker.properties with broker.start.delivery=false 3. Start axis2 server. 4. Run message delivery component separately. 5. Deploy messenger servlet on tomcat. Note: messenger servlet can be found at /messenger directory. 6. Set configurations appropriately. /webapps/messenger/WEB-INF/classes/msgBroker.properties /webapps/messenger/WEB-INF/classes/msgBox.properties Note: Point to the correct database you want to pick the messages and do the message delivery, and check the property axis2.repository to the correct location. 7. Start tomcat. Run Samples ----------- To Run samples go to /samples and refer the sample level README files.