Login | Join Now
  • CollabNet SourceForge Enterprise - Developer Overview

    Index:

    SOAP APIs

    SourceForge exposes a subset of the APIs defined by the application server as web services, through the SOAP protocol. A SOAP proxy server and a SOAP API layer, both running on Apache Axis, expose a set of web services representing each SourceForge application.

    The SOAP server provides the following functions:

    • Provides web services by accepting SOAP requests from the clients
    • Performs SOAP client authentication
    • Implements SourceForge role-based access control (RBAC) and caching service
    • Accesses the application server via RMI stubs


    CollabNet SourceForge Enterprise Soap Server Architecture


    Working with WSDL

    WSDL is an XML document used to describe and locate web services, and provides a simple interface to SOAP. A WSDL file for a service fully describes the service APIs and data structures, and is used by various tools to automatically generate convenient language specific wrapper classes or functions.

    For Java programmers, a set of Java wrapper classes for CollabNet SourceForge Enterprise (CSFE) 5.1 SOAP services are included in the SDK tool kit for your convenience.

    For Microsoft-based programming languages in the .NET family, .a .NET SDK is also available from CollabNet to enable .NET programmers to use the SourceForge API without having to use .NET’s tools for generating local proxy objects.

    For Perl programmers, an SDK is available at: http://sfee.open.collab.net/sf/projects/perlsdk

    For programming in other languages, such as Python, several WSDL tools are available to assist in generating local proxy objects. Axis and Apache SOAP provide tools to generate stubs if no WSDL tool is available. Programmers must read the WSDL definitions and manually construct all calls.

    You can access the WSDL associated with any service using the following URL:

    http://<sourceforge-server>/ce-soap50/services/<service-name>?wsdl

    <sourceforge-server> is the name of the server running CSFE 5.
    <service-name> is the name of the service (SourceForge, DocumentApp, TrackerApp, etc.). For example:

    https://forge.collab.net/ce-soap50/services/ScmApp?wsdl

    SourceForge SOAP services

    Access to various SourceForge functions are provided by the following SOAP services: Examples for working with each service are provided in the following chapters.

      Service       Description  
      DiscussionApp       Manages the activities and items related to forums  
     
      DocumentApp       Manages the activities and items related to documents  
     
      FileStorageApp and SimpleFileStorageApp       Manage file uploads and downloads  
     
      FrsApp       Manages the activities and items related to file releases  
     
      IntegrationDataApp       Manages the activities and items related to integrations with external applications.  
     
      NewsApp Manages       The activities and items related to news  
     
      RbacApp Manages       The activities and items related to role-based access control  
     
      ScmApp Manages       The activities and items related to software configuration management (SCM.)  
     
      SourceForge       Manages the activities and items related to login, users, and projects. Must be accessed before ccessing any other service  
     
      TaskApp       Manages  
     
      The activities and items related to tasks.          
     
      TrackerApp       Manages the activities and items related to trackers and tracker artifacts.  
     
      WikiApp Manages the activities and items related to Wikis.          

     

    Examples for working with each service are provided here and in the SDK.

    SOAP client libraries

    The following libraries are necessary for Java-based SOAP clients to compile and run correctly. All libraries listed in this section must be included within the CLASSPATH. All libraries are available in the CSFE 5 SDK

    1. Axis 1.4
      • axis.jar
      • commons-discovery.jar
      • commons-logging.jar
      • jaxrpc.jar
      • log4j-1.2.8.jar
      • saaj.jar
    2. Java Mail APIs
      • mail.jar
    3. Java Activation Framework
      • activation.jar
    4. CSFE 5 SDK
      • sdk.tar.gz

    Working with .NET

    For developers programming using Microsoft® .NET, the CSFE 5 SDK provides a “convenience” library. The convenience library consists of a facade for performing CSFE back-end operations from the .NET framework layer. This facade allows developers to use common .NET constructs when programming CSFE, which otherwise would need to be done manually when interacting directly with the SOAP layer.

    All of the .NET SDK material is available on the sfee.open.collab.net website at:

    http://sfee.open.collab.net/sf/frs/do/listReleases/projects.microsoft_integration_tools/frs.sdk

    The .NET SDK has been updated for 5.1.

    Getting the Software

    If you are a CollabNet customer you can develop your integration by directly accessing the web services of your CollabNet SourceForge Enterprise instance. However, CollabNet advices you install the CollabNet SourceForge Enterprise on a separate server and use that environment to develop and test your integration. The download is available as a VMware image. Installation support for the download is available in a dedicated support project on sfee.open.collab.net.

    Download CollabNet SourceForge Enterprise

    Resources on openCollabNet

    openCollabNet provides you with all the resources you need to build a CollabNet SourceForge Enterprise Integration. On the CollabNet SourceForge Enterprise Build It page you can find:

    • A zip file with the entire SDK
    • For each API, its methods and functions
    • Javadocs for each API
    • Samples
    • A discussion forum to post your questions, answer somebody else's or discuss the roadmap with CollabNet engineers

    Start a community project

    You want to integrate SEE with a tool your developers use daily. Other CollabNet customers might have the same need. Why not start a joint project then? You can request a project workspace on openCollabNet and together with others develop extended functionality around the CollabNet platform. If you want to start your own project, send us an email with your ideas.

    Partnering with CollabNet

    Independent software vendors building extensions to CollabNet SourceForge Enterprise can join the CollabNet Partner Program. The CollabNet Partner Program provides technical, business and marketing resources to successfully develop and market your integration with the CollabNet platform.

    Learn about the CollabNet Partner Program

    The collabXchange

    The collabXchange is CollabNet's marketplace for tools that integrate with the CollabNet platform or Subversion. If you built a tool that extends CollabNet SourceForge Enterprise, get it listed for others to discover, download and use.

    Learn more about getting listed on the collabXchange