org.sblim.cimclient.discovery
Interface WBEMServiceAdvertisement

All Known Implementing Classes:
WBEMServiceAdvertisementSLP

public interface WBEMServiceAdvertisement

Interface WBEMServiceAdvertisement is encapsulates the information collected about a service during discovery. The DMTF specifies a set a attributes that each service must advertise. These attributes are found as string constants in this interface and the method getAttribute() is offered to get an attribute by name. This design was chosen because the set of attributes might be extended by DMTF and vendor implementations. It's also unclear if upcoming new discovery protocols will have the same set of attributes as SLP.

Since:
2.0.2
Related patterns or idioms:
Immutable
Threading considerations:
This class is thread-safe

Field Summary
static String AUTH_MECH_DESC
          AuthenticationMechansimDescriptions (string, literal, multiple, optional): Defines other Authentication mechanisms supported by the CIM Object Manager in the case where the "Other" value is set in any of the AuthenticationMechanismSupported attribute values.
static String AUTH_MECH_SUPP
          AuthenticationMechanismsSupported (string, literal, multiple): Defines the authentication mechanism supported by the CIM Object Manager.
static String CLASSINFO
          Classinfo (string, multiple, optional): This attributes is optional but if used, the values MUST be the CIM_Namespace.Classinfo property value.
static String COMM_MECHANISM
          CommunicationMechanism (string, literal): The communication mechanism (protocol) used by the CIM Object Manager for this service-location-tcp defined in this advertisement.
static String FUNCTIONAL_PROF_DESC
          FunctionalProfileDescriptions (string, literal, multiple, optional): Other profile description if the "other" value is set in the ProfilesSupported attribute.
static String FUNCTIONAL_PROF_SUPP
          FunctionalProfilesSupported (string, literal, multiple): ProfilesSupported defines the CIM Operation profiles supported by the CIM Object Manager.
static String INTEROP_NS
          InteropSchemaNamespace (string, literal, multiple): Namespace within the target WBEM Server where the CIM Interop Schema can be accessed.
static String MULT_OPERATIONS_SUPP
          MultipleOperationsSupported (boolean): Defines whether the CIM Object Manager supports batch operations.
static String NAMESPACE
          Namespace (string, literal, multiple, optional): Namespace(s) supported on the CIM Object Manager.
static String OTHER_COMM_MECHN_DESC
          OtherCommunicationMechanismDescription (string, literal, optional): The other communication mechanism defined for the CIM Server in the case the "Other" value is set in the CommunicationMechanism string.
static String PROTOCOL_VERSION
          ProtocolVersion (string, literal, optional): The version of the protocol.
static String REG_PROF_SUPP
          RegisteredProfilesSupported (string, literal, multiple): RegisteredProfilesSupported defines the Profiles that this WBEM Server has support for.
static String SERVICE_HI_DESC
          service-hi-description (string, optional): This string is used as a description of the CIM service for human interfaces.This attribute MUST be the CIM_ObjectManager.Description property value.
static String SERVICE_HI_NAME
          service-hi-name (string, optional): This string is used as a name of the CIM service for human interfaces.
static String SERVICE_ID
          service-id (string, literal): The ID of this WBEM Server.
static String TEMPLATE_DESCRIPTION
          template-description (string): A description of the service suitable for inclusion in text read by people.
static String TEMPLATE_TYPE
          template-type (string): The scheme name of the service scheme.
static String TEMPLATE_URL_SYNTAX
          template-url-syntax (string): The template-url-syntax MUST be the WBEM URI Mapping of the location of one service access point offered by the WBEM Server over TCP transport.
static String TEMPLATE_VERSION
          template-version (string): The version number of the service type specification.
 
Method Summary
 WBEMClient createClient(Subject pSubject, Locale[] pLocales)
          Creates a fully-initialized WBEMClient instance connected to the service that is subject of this advertisement.
 String getAttribute(String pAttributeName)
          Return the attribute value for a given attribute name
 Set<Map.Entry<String,String>> getAttributes()
          Return the set of attributes of this advertisement
 String getConcreteServiceType()
          Returns the concrete service type.
 String getDirectory()
          Gets the URL of the directory from which this advertisement was received
 String[] getInteropNamespaces()
          Returns the interop namespaces
 String getServiceId()
          Returns the service id
 String getServiceUrl()
          Returns the service url, e.g.
 boolean isExpired()
          Returns the expiration state of the advertisement.
 void setExpired(boolean pExpired)
          Sets the expirations state of the advertisement.
 

Field Detail

TEMPLATE_TYPE

static final String TEMPLATE_TYPE
template-type (string): The scheme name of the service scheme. The scheme name consists of the service type name and an optional naming authority name, separated from the service type name by a period. See RFC 2609 section 3.2.2 for the conventions governing service type names.

See Also:
Constant Field Values

TEMPLATE_VERSION

static final String TEMPLATE_VERSION
template-version (string): The version number of the service type specification.

See Also:
Constant Field Values

TEMPLATE_DESCRIPTION

static final String TEMPLATE_DESCRIPTION
template-description (string): A description of the service suitable for inclusion in text read by people.

See Also:
Constant Field Values

TEMPLATE_URL_SYNTAX

static final String TEMPLATE_URL_SYNTAX
template-url-syntax (string): The template-url-syntax MUST be the WBEM URI Mapping of the location of one service access point offered by the WBEM Server over TCP transport. This attribute must provide sufficient addressing information so that the WBEM Server can be addressed directly using the URL. The WBEM URI Mapping is defined in the WBEM URI Mapping Specification 1.0.0 (DSP0207).

Example: (template-url-syntax=https://localhost:5989)

See Also:
Constant Field Values

SERVICE_HI_NAME

static final String SERVICE_HI_NAME
service-hi-name (string, optional): This string is used as a name of the CIM service for human interfaces. This attribute MUST be the CIM_ObjectManager.ElementName property value.

See Also:
Constant Field Values

SERVICE_HI_DESC

static final String SERVICE_HI_DESC
service-hi-description (string, optional): This string is used as a description of the CIM service for human interfaces.This attribute MUST be the CIM_ObjectManager.Description property value.

See Also:
Constant Field Values

SERVICE_ID

static final String SERVICE_ID
service-id (string, literal): The ID of this WBEM Server. The value MUST be the CIM_ObjectManager.Name property value.

See Also:
Constant Field Values

COMM_MECHANISM

static final String COMM_MECHANISM
CommunicationMechanism (string, literal): The communication mechanism (protocol) used by the CIM Object Manager for this service-location-tcp defined in this advertisement. This information MUST be the CIM_ObjectManagerCommunicationMechanism.CommunicationMechanism property value. CIM-XML is defined in the CIM Operations over HTTP specification which can be found at http://dmtf.org/

Values: "Unknown", "Other", "cim-xml"

See Also:
Constant Field Values

OTHER_COMM_MECHN_DESC

static final String OTHER_COMM_MECHN_DESC
OtherCommunicationMechanismDescription (string, literal, optional): The other communication mechanism defined for the CIM Server in the case the "Other" value is set in the CommunicationMechanism string. This attribute MUST be the CIM_ObjectManagerCommunicationMechanism.OtherCommunicationMechanism property value. This attribute is optional because it is only required if the "other" value is set in CommunicationMechansim. The value returned is a free-form string.

See Also:
Constant Field Values

INTEROP_NS

static final String INTEROP_NS
InteropSchemaNamespace (string, literal, multiple): Namespace within the target WBEM Server where the CIM Interop Schema can be accessed. Multiple namespaces may be provided. Each namespace provided MUST contain the same information.

See Also:
Constant Field Values

PROTOCOL_VERSION

static final String PROTOCOL_VERSION
ProtocolVersion (string, literal, optional): The version of the protocol. It MUST be the CIM_ObjectManagerCommunicationMechanism.Version property value.

See Also:
Constant Field Values

FUNCTIONAL_PROF_SUPP

static final String FUNCTIONAL_PROF_SUPP
FunctionalProfilesSupported (string, literal, multiple): ProfilesSupported defines the CIM Operation profiles supported by the CIM Object Manager. This attribute MUST be the CIM_ObjectManagerCommunicationMechansim.FunctionalProfilesSupported property value.

Values: "Unknown", "Other", "Basic Read", "Basic Write", "Schema Manipulation", "Instance Manipulation", "Association Traversal", "Query Execution", "Qualifier Declaration", "Indications"

See Also:
Constant Field Values

FUNCTIONAL_PROF_DESC

static final String FUNCTIONAL_PROF_DESC
FunctionalProfileDescriptions (string, literal, multiple, optional): Other profile description if the "other" value is set in the ProfilesSupported attribute. This attribute is optional because it is returned only if the "other" value is set in the ProfilesSupported attribute. If provided it MUST be equal to the CIM_ObjectManagerCommunicationMechanism.FunctionalProfileDescriptions property value.

See Also:
Constant Field Values

MULT_OPERATIONS_SUPP

static final String MULT_OPERATIONS_SUPP
MultipleOperationsSupported (boolean): Defines whether the CIM Object Manager supports batch operations. This attribute MUST be the CIM_ObjectManagerCommunicationMechanism.MultipleOperationsSupported property value.

See Also:
Constant Field Values

AUTH_MECH_SUPP

static final String AUTH_MECH_SUPP
AuthenticationMechanismsSupported (string, literal, multiple): Defines the authentication mechanism supported by the CIM Object Manager. This attributed MUST be the CIM_ObjectManagerCommunicationMechanism. AuthenticationMechanismsSupported property value.

Values: "Unknown", "None", "Other", "Basic", "Digest"

See Also:
Constant Field Values

AUTH_MECH_DESC

static final String AUTH_MECH_DESC
AuthenticationMechansimDescriptions (string, literal, multiple, optional): Defines other Authentication mechanisms supported by the CIM Object Manager in the case where the "Other" value is set in any of the AuthenticationMechanismSupported attribute values. If provided, this attribute MUST be the CIM_ObjectManagerCommunicationMechanism. AuthenticationMechansimDescriptions property value.

See Also:
Constant Field Values

NAMESPACE

static final String NAMESPACE
Namespace (string, literal, multiple, optional): Namespace(s) supported on the CIM Object Manager. This attribute MUST be the CIM_Namespace.name property value for each instance of CIM_Namespace that exists. This attribute is optional. NOTE: This value is literal (L) because the namespace names MUST not be translated into other languages.

See Also:
Constant Field Values

CLASSINFO

static final String CLASSINFO
Classinfo (string, multiple, optional): This attributes is optional but if used, the values MUST be the CIM_Namespace.Classinfo property value. The values represent the classinfo (CIM Schema version, etc.) for the namespaces defined in the corresponding namespace listed in the Namespace attribute. Each entry in this attribute MUST correspond to the namespace defined in the same position of the namespace attribute. There must be one entry in this attribute for each entry in the namespace attribute.

See Also:
Constant Field Values

REG_PROF_SUPP

static final String REG_PROF_SUPP
RegisteredProfilesSupported (string, literal, multiple): RegisteredProfilesSupported defines the Profiles that this WBEM Server has support for. Each entry in this attribute MUST be in the form of Organization:Profile Name{:Subprofile Name}

Examples:

DMTF:CIM Server
DMTF:CIM Server:Protocol Adapter
DMTF:CIM Server:Provider Registration

The Organization MUST be the CIM_RegisteredProfile.RegisteredOrganization property value. The Profile Name MUST be the CIM_RegisteredProfile.RegisteredName property value. The subprofile Name MUST be the CIM_RegisteredProfile.RegisteredName property value when it is used as a Dependent in the CIM_SubProfileRequiresProfile association for the specified Profile Name (used as the antecedent).

See Also:
Constant Field Values
Method Detail

getDirectory

String getDirectory()
Gets the URL of the directory from which this advertisement was received

Returns:
The directory URL

getConcreteServiceType

String getConcreteServiceType()
Returns the concrete service type. E.g. for the SLP advertised service service:wbem:https this method would return https.

Returns:
The concrete service type

getInteropNamespaces

String[] getInteropNamespaces()
Returns the interop namespaces

Returns:
The interop namespaces

getServiceUrl

String getServiceUrl()
Returns the service url, e.g. http://9.155.62.79:5988

Returns:
The service url

getAttribute

String getAttribute(String pAttributeName)
Return the attribute value for a given attribute name

Parameters:
pAttributeName - The attribute name
Returns:
The value

getAttributes

Set<Map.Entry<String,String>> getAttributes()
Return the set of attributes of this advertisement

Returns:
A Set<Map.Entry<String, String>> containing the name value pairs of the attributes.

getServiceId

String getServiceId()
Returns the service id

Returns:
The service id

isExpired

boolean isExpired()
Returns the expiration state of the advertisement.

Returns:
true when advertisement is expired.

setExpired

void setExpired(boolean pExpired)
Sets the expirations state of the advertisement. Might be used by the application to mark an advertisement as expired, e.g. when it's no longer reported by the corresponding directory. Used for this purpose by AdvertisementCatalog.

Parameters:
pExpired - The new value

createClient

WBEMClient createClient(Subject pSubject,
                        Locale[] pLocales)
                        throws Exception
Creates a fully-initialized WBEMClient instance connected to the service that is subject of this advertisement. On every call to this method a new client will be created. The client is not stored or cached anywhere in this class.

Parameters:
pSubject - The credential for authenticating with the service
pLocales - An array of locales ordered by preference
Returns:
The WBEM client
Throws:
Exception
Related patterns or idioms:
Factory Methods


Copyright © 2005, 2009 IBM Corporation. All Rights Reserved.