GT 3.9.4 Component Guide to Public Interfaces: C WS Core

Semantics and syntax of APIs

Programming Model Overview

[Description of the programming model here]

Component API

  • Resource and Resource Property API: Useful for writing WSRF-enabled services. This API allows resources to be created, accessed, and modified from within a C Web Service implementation.
  • Service Engine API: Useful for embedding Web Services in C programs. This API allows an application to directly control service invocations, and interact with services as they are being invoked. It also provides a convenient API for running a NotificationConsumer service (receiving notifications) from within a client application.
  • Notification Consumer API: Allows creation of NotificationConsumer resource instances from a client API. This API can be used in combination with the Service Engine API to receive notifications.
  • WSRF Core Bindings API: These are the types generated from the set of core WSRF schemas. For example, the wsa_EndpointReferenceType passed to all EPR stub functions is a generated type from the WS-Addressing schema. The other schemas include:
    • WS-Addressing
    • WS-BaseFaults
    • WS-ResourceProperties
    • WS-ResourceLifetime
    • WS-BaseN
    • WS-ServiceGroup

Semantics and syntax of the WSDL

Protocol overview

[provide an overview of the protocol for the service]

Operations

[list and briefly describe each operation]

Resource properties

[list and briefly describe each resource property]

Faults

[list and briefly describe each fault]

Schema Definition

[link to the source files here]

Command-line tools

  • globus-wsc-container for C WS Core

    Tool description

    This command starts the C WS container, allowing WS and WSRF-enabled services to be invoked. globus-wsc-container must be running to invoke services written using the WS C core.

    Features

    • The container can be run in the background with the -bg option, and -pidfile allows the pid of the process to written to a specified file. This is useful for scripting the command, especially when running tests, or when the container process is expected to have a short lifetime.
    • Supports HTTPS with the -secure option

    Limitations

    • The C container does not have a shutdown command (the Java container has globus-stop-container). To shutdown the C container, you can either CRTL-C the process, or kill the process with the process ID (use -pidfile) is named globus-wsc-container
    • The option for running over secure transport (https) is -secure. In future releases, secure transport will be enabled by default, and will be turned off with -nosec

    Command syntax

    Run: globus-wsc-container -help

  • globus-wsrf-cgen for C WS Core

    Tool description

    This tool generates C bindings from a set of WSDL schema files. The tool is able to generate client bindings, service bindings, just types, or all three. The WSDL to C mapping document gives more information on how WSDL is mapped to the C programming language.

    Command syntax

    Run: globus-wsrf-cgen -help

    Limitations

    • Only generates bindings from document/literal style WSDL schemas. For more information on WSDL schema styles, go here.
    • Only generates ANSI-C bindings. C++ bindings are not supported.

Overview of Graphical User Interface [gui name]

Overview of the purpose and functionality of the GUI

[say it here]

Command and options

[describe syntax for invoking the gui here]

Limitations

[describe limitations here]

Semantics and syntax of domain-specific interface

Interface introduction

[provide an overview of the purpose and structure of the domain-specific interface]

Syntax of the interface

[list and describe detailed information here]

Configuration interface

Configuration overview

[high-level characterization of the configuration options for the component here]

Syntax of the interface

[list and describe detailed config info here]

Environment variable interface

  • provide details on settings and effect of env var #1
  • ...
  • provide details on settings and effect of env var #n