GT 3.9.4 Component Guide to Public Interfaces: C WS Core
- Semantics and syntax of APIs
- Semantics and syntax of WSDL
- Command-line tools
- GUIs
- Description of domain-specific interface data
- Configuration settings
- Environment variables
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