The SBLIM CIM Client for Java is a JSR48 compliant implementation of a WBEM services client that includes an IETF RFC 2614 compliant SLP client for CIM service discovery.

## Getting Started Documents

- First steps: A nice little example on how to create a CIM client and enumerate some instances.
- Configuring the client: Explains the different ways to modify the CIM client configuration.
- Getting started with secure connections: An introduction into the different options to set up secure connections.
- Getting started with indications: Explains how to set up indication listeners.
- Getting started with secure indications: Explains how to set up secure indication listeners.
- The logging API: An introduction to the logging and messaging API.
- The discovery package: An introduction to the high level discovery classes.

## Deep dive documents

- Release history: Details of SBLIM CIM Client for Java's release history including new features and disruptive changes.
- Best practices: Best practices for using the SBLIM CIM Client for Java.
- Embedded Objects: Details of the embedded object support.
- Unit Test Coverage: What is covered by our unit tests.

## Run Time Requirements

We support JREs from IBM and SUN release 1.5.x/1.6.x. In principal it should run on any platform offering a supported JRE. The library is tested on Windows on x86 systems and on Linux on x86 and POWER systems. Our exploiters operate it with success on zLinux and AIX.

## Build Time Requirements

- IBM or SUN JDK 1.5.x/1.6.x
- javadoc 1.5.x or higher
- ant 1.7 or higher

## Backward Compatibility

We try to keep the public API of the CIM/WBEM & SLP Clients (see the tables above) downward compatible. However this will not always be possible. Compatibility violations will be documented. A rule of thumb is:

- Maintenance releases (a.b.c.++d) keep API unchanged. They include only hand-selected bug fixes.
- Point releases (a.b.++c.d) keep API backward compatible. They include bug-fixes and functional enhancements.
- Minor releases (a.++b.c.d) might deprecate API and drop API already deprecated. They include remarkable new functionality.
- Major releases (++a.b.c.d) might do a disruptive API change. A major release usually comes with a larger redesign or adapts to a disruptive upgrade of an underlying standard.

There is no downward compatibility guarantee for the internal implementation packages for any version change.

## Known Limitations

- All known limitations have been resolved.

## Bugs

If you discover any bugs in the SBLIM CIM Client for Java you can report them on SourceForge. Choose "Java Client (JSR48)" as category in BugTracker.

## Related Documentation on the web

- Java Specification Request 48 "WBEM Services Specification", available at:
  http://jcp.org/en/jsr/detail?id=48
- DMTF DSP0004:2005, CIM Infrastructure Specification, version 2.3 (final), available at:
  http://www.dmtf.org/standards/published_documents/DSP0004V2.3_final.pdf
- DMTF DSP0200:2005, CIM Operations over HTTP, version 1.2 (final), available at:
  http://www.dmtf.org/standards/published_documents/DSP200.html
- DMTF DSP0201:2005, Representation of CIM in XML, version 2.2 (final), available at:
  http://www.dmtf.org/standards/published_documents/DSP201.html
- IETF RFC 2614, An API for Service Location, available at:
  http://tools.ietf.org/html/rfc2614
- IETF RFC 2608, Service Location Protocol, Version 2, available at:
  http://tools.ietf.org/html/rfc2608
- IETF RFC 2609, Service Templates and Service: Schemes, available at:
  http://tools.ietf.org/html/rfc2609
- IETF RFC 3224, Vendor Extensions for Service Location Protocol, Version 2, available at:
  http://tools.ietf.org/html/rfc3224

## Documentation Conventions

- This documentation only describes public entities in the Java classes.
- It provides an API specification, not a comprehensive programming guide.
- It is written from a perspective of the consumer of the API. For example, the phrase "must" is used to indicate an obligation of the consumer, not of the implementor of the CIM Client class library, or the CIM server/provider.
- If preconditions stated in method descriptions are not satisfied, Java exceptions should be expected to be thrown. Note that satisfying the preconditions does not guarantee that no exceptions are thrown (for example, unsuccessful CIM status codes returned by the CIM server may result in Java exceptions, plus there are some exceptions that can always be thrown such as NullPointerException).
- Method descriptions list all Java exceptions that are explicitly thrown by the code of the SBLIM CIM Client for Java. There may be additional exceptions that are thrown by the JRE or underlying class libraries.

  The specific exception `CIMException` contains a CIM status code. Method descriptions that list `CIMException` list the CIM status code identifiers that can happen. If these identifiers are just listed without further description, their semantics is the standard semantics as documented in class `CIMException`. If the semantics used by the method differs from the standard semantics, this is described specifically in the method description.

## SBLIM Development Guidelines

See here.

## Terminology Document

See here.