Package structure

The API is structured as several Java packages that provide functionality generally corresponding to the GUI functionality, as well as the com.intelliden.icos.idc package that contains interfaces that represent the data objects used by the ITNCM - Base servers.

Most of the packages contain a "manager" interface that contains the methods that interact with the ITNCM - Base server, as well as a "data factory" class that is used to instantiate classes that implement the interfaces in the com.intelliden.icos.idc package. "Data factories" are used instead of constructors since interfaces cannot be directly instantiated using a constructor.
com.intelliden.icos.api.accounts
Methods to add, delete, or modify users and groups
com.intelliden.icos.api.admin
Methods to pause and resume the ITNCM workflow process on worker servers
Methods to check the running state of some server components
Methods to retrieve and set certain server information similar to what is available from the GUI
com.intelliden.icos.api.resources
Includes a NetworkResourceManager interface as well as a ResourceManager interface
Methods to add, delete, search for, and modify resources and network resources
Methods to fetch network resource related data such as VTMOS information and configurations
com.intelliden.icos.api.workflow
Methods to create, populate, submit, and track UOWs
com.intelliden.icos.idc
Contains the various "data" interfaces that are manipulated by the "manager" interfaces in the other packages
com.intelliden.icos.api
Includes the ApiFactory class and ApiSession interface.
  • The ApiFactory class provides static methods to create an ApiSession
  • ApiSession represents a connection to the ITNCM - Base server
  • ApiSession has methods to create the various "manager" interfaces and data factories.
com.intelliden.icos
Contains the ITNCM-specific exception classes used by the API.
Exceptions in the ITNCM - Base API are subclasses of com.intelliden.common.IntellidenException. The various subclasses are documented in detail in the ITNCM - Base javadocs, and can be explicitly caught if the exectute type of ITNCM - Base exception is of interest in your program However, in many cases it may be adequate to simply catch IntellidenException, particularly if your program does not differentiate handling of the different subclasses. IntellidenException and its subclasses implement the getNestedStackTrace method, which is extremely useful in terms of getting accurate and complete server-side error data when requesting support with troubleshooting problems.
com.intelliden.icos.util
Contains utility or general purpose interfaces and classes that may not logically belong in the packages listed above.