OSS Fast Web Services Tools for C/C++

Architectural Overview
OSS FWS Compiler
OSS FWS Runtime
OSS Transport Layer Runtime (Coming Soon)
Free Trial

Architectural Overview

The following diagram demonstrates how a complete Web Services application is created using the various components of the OSS FWS Tools.

 

 

OSS FWS Compiler

The OSS FWS compiler takes an WSDL 1.1 service description as input, and generates header and control table files. The compiler supports both document/literal and RPC/literal service descriptions as mandated by WS-I Profile. The generated header file contains C type definitions for the application-specific content of the SOAP messages described in the WSDL file. The control table file contains internal information required by the OSS FWS Runtime component to serialize/parse SOAP messages.

It is typical for SOAP toolkits to map operations defined in the WSDL file to the functions of the target language. The FWS compiler can optionally generate the following client and server side functions for a WSDL operation.

       Client Functions:

  • Create a SOAP request envelope C structure from the input parameters of an operation
  • Create a serialized SOAP request message from the input parameters of an operation
  • Extract output parameters of the operation from a SOAP response envelope C structure
  • Extract output parameters of the operation from a serialized SOAP response message

    Transport Layer Support - Available Soon
  • Create and send a SOAP request message to the server using transport protocol
  • Receive a SOAP response message using transport protocol and extract its output parameters
  • Create and send a SOAP request message to the server and receive (client waits for the response in a blocking mode) its response from the server using transport layer protocol

       Server Functions:

  • Extract input parameters of an operation from a SOAP request envelope C structure
  • Extract input parameters of an operation from a serialized SOAP request message
  • Create a SOAP response envelope C structure from the output parameters of an operation
  • Create a serialized SOAP response message from the output parameters of an operation

Many other features are available in the FWS compiler. For example, support for a helper API; generation of C++ - conformant code; varying levels of diagnostics; and additional output files (such as pretty-printed WSDL listings).

OSS FWS Runtime

The OSS FWS Runtime library is a collection of functions for use in writing efficient Web Services applications in C and C++. The library contains:

  • Web Services initialization and terminating functions to allow loading (statically and dynamically) /releasing of the Web Services control tables, and to support multiple Web Services in an application
  • Serialization of Envelope C structures to Fast and XML SOAP messages (both version 1.1 and 1.2).
  • Parsing of the XML and Fast SOAP messages. The parser can invoke user-provided callback functions for each header block and body/fault to perform application-specific actions, and to control the parser to achieve the best performance. Both versions of SOAP messages, 1.1 and 1.2 (detected automatically), are supported.
  • Creation of output SOAP message while parsing the input message. Some components (header blocks, body/fault, and/or application messages) of the input message can be relayed as they are, without decoding, while other components can be modified inside the callback functions and added to the output message. This functionality is useful for writing efficient intermediary SOAP nodes.
  • Conversion of XML SOAP messages into Fast SOAP messages and vice versa.
  • Helper functions to create, access and modify the Envelope C structure and its components (header blocks, body, and fault content), and auxiliary functions providing access to various features such as relaxed SOAP processing.

The functionality of encoding, decoding, copying, comparing, freeing the application-specific messages, changing the XML namespace prefixes, compression with Zlib, support for file and socket input/output etc. is also available to the Fast Web Services applications.

OSS FWS Transport Layer (Coming Soon)

The transport-layer runtime library can be used to send and receive SOAP messages. It encapsulates all transport protocol-related functionality. FWS application code is transport-independent; for example, the same Web Service can be used as a CGI module, or as a standalone Server. It is simply a matter of using a different transport mechanism. The first version of the library will support only SOAP HTTP bindings with the implementations of:

  • HTTP client
  • Simple standalone HTTP server
  • CGI wrapper
  • Fast CGI wrapper

Transport layers use a simple, open and documented API. Users can plug-in their own transport layer if they don.t wish to use the generic implementation of HTTP provided by OSS.

Free Trial

A 30 day free trial of the OSS FWS Web Services Tools for Solaris, Linux, or Windows platforms can be downloaded.

 

For more information, contact us at 1-888-OSS-2761 (USA and Canada only), +1-732-302-0750 (international), or info@oss.com.

 

 

Copyright © 2008 OSS Nokalva, Inc.   All Rights Reserved.