GFAC

From Ogce

Contents

Introduction

The Generic Service Toolkit (GST) (a.k.a Generic Factory a.k.a GFac) can "wrap" any command-line application as an application service. An application service is a web service interface to a command-line application. When an application service is invoked with a given set of input parameters, it runs the application with those input parameters (possibly on a cluster of resources), monitors the application and returns the results to the user. This toolkit can be used by application providers (a.k.a application service providers or service providers) to wrap any command-line application as an application service without writing any program code or modifying their applications in any way.

GFAC is part of the Workflow Suite in OGCE, which also includes XRegistry, XBaya, and the GFAC portlet. The instructions below are for installing GFAC only. For a full overview, see the Workflow Suite overview page.

Pre-Requisites

Before you install any component in the OGCE Workflow Suite, make sure you install the following:

  1. MyProxy credentials generated and stored in a MyProxy server
  2. JDK 1.5 or later
  3. MySQL (version 5 or later). This is needed by the XRegistry service.
  4. The OGCE Portal
  5. The XRegistry service.
  6. Apache Maven 2.0.7 or higher. This is included in the OGCE portal download.

Get the Code

As with other OGCE software, you can get GFAC from our SVN repository. You can use a standard SVN client to get both tagged releases and the current working version. You can also download just the tar files if you prefer. Specific instructions are below.

SVN Release Tag

The current release tag is our TeraGrid 2008 version

  svn co  https://ogce.svn.sourceforge.net/svnroot/ogce/tags/sgfac-tg09/

SVN Access

This will give you access to the current version of the code. Use "svn update" to get updates to the code.

  svn co https://ogce.svn.sourceforge.net/svnroot/ogce/ogce-xsul-services/sgfac/

Just Want the Tars?

Tar versions of all the OGCE projects are available from SourceForge's SVN viewer, http://ogce.svn.sourceforge.net/viewvc/ogce. Navigate to the top level directory of the desired project and click the "Download GNU tarball" link on the bottom left. Specific links are below.

  • The current tagged release tar is available from here.
  • To get a tar of the current code's snapshot, click here.

Installation Instructions

You will need to install the GFAC portlet client interface into the OGCE portal and the GFAC service, which runs externally to the portal server.

Compile GFac Portlet and Service

  1. Download GFac from the OGCE SVN as explained above.
  2. Change directories to the top level GFAC directory.
  3. Edit the pom.xml file to set the properties below. The pom.xml provides example values.
    1. Set portal.catalina.home to the tomcat installed by your OGCE portal installation
    2. Set xregistry.location to the URL of WSDL file of the XRegistry that you started above
    3. Set factory.location to the URL of WSDL of GFac
  4. Run the following command
  mvn -Dmaven.test.skip=true clean install

Note you must include the -Dmaven.test.skip. Otherwise, the maven build will attempt to run tests on the GFAC server, which will fail during the initial build.

Install GFAC Portlet

The portlet was deployed in the OGCE portal during the compilation phase. You need to now restart the OGCE portal's tomcat server. Use the commands

  cd /path/to/ogce-portal-only/
  ./shutdown-tomcat.sh
  ./startup-tomcat.sh

The GFAC portlet will need to connect to a GFAC service. See the GFAC portlet documentation for more information.

Run GFac Service

The GFAC service and portlet were compiled in the same step above. To start the GFac service, run the commands

  cd target/dist.dir
  ./factory.sh factory.properties

Several log messages will be printed to screen, ending with

  Service WSDL is avalible from https://your.host.name:23443/?wsdl

Point your browser to this URL to confirm. You should see the GFAC WSDL.

GFac Introductory Tutorial

Click here for a walkthrough that describes how to deploy a simple service.

Using GFAC: Further Reading

GFAC can be used by two different groups: scientific application developers and providers who want to make applications available as network services and application users who want to use the application service through a Science Gateway environment.

  1. See the User Guide for a general overview and instructions on wrapping services.
  2. See also the GFAC portlet documentation.
  3. To learn more about the format of GFac deployment descriptors and how to edit them, see Guide to GFac Deployment Descriptors
  4. To invoke a Web Service from the command-line or a Java client, see Invoking a GFac Web Service.
  5. To start a stand-alone application service without using the GFac service, see Starting a Standalone Service
  6. To learn about the various options supported by GFac, see Reference Manual
  7. Schema files for Deployment Descriptors can be found here
Web site tools