NAL

From Gcube Wiki
Revision as of 18:54, 6 July 2016 by Leonardo.candela (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Introduction

The Node Access Library (NAL) is a Java Library that provides different functionalities to access/change the local node information. It allows to obtain the DHN unique ID, the Running Instance unique ID, the list of service running in the node, the running instance profile of the caller, the node free disk space and other information. Moreover, the NAL, gives access to the VO Maps and allows services to set/get both the Specific Data section and the State section in their Running Instance profile.

Implentation Overview

Each WSRF service should instantiate a NAL object in order to have access to node information (see Usage Example for details).

  • Library functionalities description:
    1. List VO Maps
      • Returns a list with the name of the DHN VOs
        signature
        public Vector getVOMapsList ( ) throws Exception
        parameters
        n.a.
        return
        The list of the DHN VOs
    2. get VO Map
      • Returns a VO Map
        signature
        public String getVOMap (String voname) throws Exception
        parameters
        The VO name
        return
        The VO Map if exists, exception otherwise.
    3. Get the Running Instance ID
      • Returns the RI unique ID of a given service name and service class
        signature
        public String getRIID ( String serviceName, String serviceClass ) throws Exception
        parameters
        A valid local RI service name
        A valid local RI service class
        return
        The RI ID if valid {class, name} parameters were used, exception otherwise.
    4. Get the Running Instance ID
      • Returns the RI unique ID of a given RI profile
        signature
        public String getRIID ( String riProfile ) throws Exception
        parameters
        A RI profile
        return
        The RI ID if valid RI profile parameter was used, exception otherwise.
    5. Get the service ID
      • Returns the service ID of a given service name and service class
        signature
        public String getServiceID ( String serviceName, String serviceClass ) throws Exception
        parameters
        A valid local service name
        A valid local service class
        return
        The service ID if valid {class, name} parameters were used, exception otherwise.
    6. Get DHN ID
      • Returns the local DHN unique ID
        signature
        public String getDHNID ( ) throws Exception
        parameters
        n.a.
        return
        The DHN unique ID were the service is running, exception otherwise.
    7. Get the list of RI configured DLs from Class and Name
      • Returns the list of DLs configured into the service RI
        signature
        public String [] getDLs ( String serviceName, String serviceClass ) throws Exception
        parameters
        A valid local RI service name
        A valid local RI service class
        return
        The RI DL tag list
    8. Get the list of RI configured DLs from EPR
      • Returns the list of DLs configured into the service RI
        signature
        public String [] getDLsFromEPR (EndpointReferenceType epr) throws Exception
        parameters
        An end point reference
        return
        The RI DL tag list
    9. Get a RI profile from Class and Name
      • Returns a RI profile document
        signature
        public Document getRIProfile ( String serviceName, String serviceClass )throws Exception
        parameters
        A valid local RI service name
        A valid local RI service class
        return
        A Document object with the RI profile, exception otherwise.
    10. Get the DL secure mode
      • Returns the DL secure status
        signature
        public boolean isDLSecure ( String serviceName, String serviceClass ) throws Exception
        parameters
        A valid local RI service name
        A valid local RI service class
        return
        True if the RI is running in secure mode, false otherwise.
    11. Set the RI specific data
      • Set the specific data tag of a RI service profile based on a given service name and service class
        signature
        public boolean setSpecificData ( String serviceName, String serviceClass, String data)
        parameters
        A valid local RI service name
        A valid local RI service class
        The specific data
        return
        True if set completed, false otherwise
    12. Get the RI specific data
      • Returns the specific data tag of a RI service profile based on a given service name and service class.
        signature
        public String getSpecificData ( String serviceName, String serviceClass ) throws Exception
        parameters
        A valid local RI service name
        A valid local RI service class
        return
        If the required RI service profile exists returns specific data section, exception otherwise
    13. Set the RI state
      • Set the state of a RI based on a given service name and service class. It also causes the invocation of the related callback method:
        signature
        public boolean setState ( String serviceName, String serviceClass, RI.State state, String messageState)
        parameters
        A valid local RI service name
        A valid local RI service class
        The state
        The message state
        return
        True if set completed, false otherwise
    14. Get the RI state
      • Returns the state data tag of a RI service profile based on a given service name and service class.
        signature
        public String getState ( String serviceName, String serviceClass ) throws Exception
        parameters
        A valid local RI service name
        A valid local RI service class
        return
        If the required RI service profile exists returns the state section, exception otherwise
    15. Get all services on DHN
      • Returns a list with all the services on the local DHN
        signature
        public Vector getAllServices() throws Exception
        parameters
        n.a.
        return
        A list with the services {class, name} running on the DHN, exception otherwise
    16. Get service information
      • Returns the service information from a given EPR
        signature
        public ServiceData getServiceInfoFromEPR(EndpointReferenceType epr) throws Exception
        parameters
        An End Point Reference
        return
        The service information, exception otherwise
    17. Get the DHN free disk space
      • Returns the local free disk space
        signature
        public String getDHNFreeSpace ( String fileSys ) throws Exception
        parameters
        A valid file system
        return
        The node disk free space (KBytes)
    18. Get the DHN secure mode
      • Returns the DHN secure mode
        signature
        public boolean isDHNSecurityEnable () throws Exception
        parameters
        n.a.
        return
        True if DHN is running in secure mode, false otherwise.

Dependencies

The NAL used following external libraries:

  • commons-io-1.2.jar
  • jaxb-api.jar
  • jaxb-impl.jar
  • jaxb-xjc.jar
  • jaxb1-impl.jar
  • jsr173_api.jar

As well as the following DILIGENT jar files:

  • org_diligentproject_common_profile.jar
  • org_diligentproject_common_profilemanager.jar
  • org_diligentproject_keeperservice_hnm_stubs.jar
  • dvos.authentication-api.jar


Usage Example

NAL Initialization

  • With the default constructor:

NAL    nal     = new NAL ();

  • With a given base directory:

String baseDir = ContainerConfig.getBaseDirectory() + "/etc/org_diligentproject_keeperservice_hnm/HNMService";
NAL    nal     = new NAL (baseDir);


--ManueleSimi 12:50, 02 October 2007 (EET)