Skip to content

Components

Michal Kimle edited this page Jul 14, 2015 · 3 revisions

jOCCI-api design is modular and can be easily extended if needed. The library internally uses Apache HttpComponents library for HTTP communication implementation and any mention of HTTP specific classes that are not part of jOCCI-api comes from this library.

Package cz.cesnet.cloud.occi.api

Package contains:

  • abstract class Client

    Class provides a communication interface composed of 5 methods:

    • list - retrieves entities' locations from remote server
    • describe - retrieves descriptions of entities from remote server
    • create - creates a new entity on remote server
    • delete - deletes an entity instance or instances from remote server
    • trigger - triggers an action on entities on remote server

    Additionally methods connect and refresh has to be implemented as well to establish a connection and updating OCCI model if needed.

  • interface Authentication

    An interface representing an authentication method used during the communication.

  • class EntityBuilder

    Helps with creating OCCI structures like Resource, Link, Action, etc. according to retrieved OCCI model.

Package cz.cesnet.cloud.occi.api.http

Package contains:

  • class HTTPClient

    Extends Client and implements its abstract methods. Uses HTTP/HTTPS as communication protocol.

Package cz.cesnet.cloud.occi.api.http.auth

Package contains HTTP authentication methods:

  • abstract class HTTPAuthentication

    Implements an Authentication interface and serves as a base class for specific HTTP authentication methods. It allows to load custom CAs either from file or directory and use them during connection initialization.

  • class NoAuthentication - a dummy class representing no authentication method

  • classes BasicAuthentication and DigestAuthentication - for BASIC and DIGEST authentication methods

  • class X509Authentication - for authentication via X509 certificates

  • class VOMSAuthentication - for authentication via VOMS certificates

  • class KeystoneAuthentication - for authentication against OpenStack's Keystone Identity Service