This section provides the reference information for the Java classes used by the PlateSpin Orchestrate Client SDK
The Java classes included in the Constraint package form the basis of the PlateSpin Orchestrate infrastructure. For complete documentation of each class, click on the links to access the online documentation javadoc.
The following Java files form the interfaces for the PlateSpin Orchestrate constraint grid structure:
Perform a logical and-ing of all child constraints.This is a no-op if this constraint contains no children.
For complete documentation of the class, see AndConstraint.
Binary Operator Constraints that have both a left and right side.
For complete documentation of the class, see BetweenConstraint.
Binary Operator Constraints that have both a left and right side.
For complete documentation of the class, see BinaryConstraint.
Basic Constraint interface that allows traversal and evaluation of a constraint tree.
For complete documentation of the class, see Constraint.
Container constraints that perform logical aggregation operations on contained constraints.
For complete documentation of the class, see ContainerConstraint.
Performs a simple set operation that returns true if the right side of the operation is found in the value set of the left side.
For complete documentation of the class, see ContainsConstraint.
Evaluates to true only if the left side fact is defined in the match context. If the left side is not defined, this will evaluate to false.
For complete documentation of the class, see DefinedConstraint.
Performs a equality constraint operation. Missing arguments will always result in this constraint evaluating to false.
Supported match modes:
Strings — MATCH_MODE_REGEXP & MATCH_MODE_GLOB
For complete documentation of the class, see EqConstraint.
Performs a ‘greater than or equal to’ constraint operation. Missing arguments always result in this constraint evaluating to false. The standard lexicographical ordering of values is used to determine result.
For complete documentation of the class, see GeConstraint.
Performs a 'greater than' constraint operation. Missing arguments will always result in this constraint evaluating to false. The standard lexicographical ordering of values is used to determine result.
For complete documentation of the class, see GtConstraint.
Perform a conditional if,then,else block. If conditional passes, the pass block is run as it would be in an AND constraint. If the the conditional fails, the fail block is run as it would be in an AND constraint.
For complete documentation of the class, see IfConstraint.
Extends the class Constraint.
For complete documentation of the class, see IncludeConstraint.
Performs a “less than or equal to” constraint operation. Missing arguments always result in this constraint evaluating to false. The standard lexicographical ordering of values is used to determine result.
For complete documentation of the class, see LeConstraint.
Performs a “‘less than” constraint operation. Missing arguments always result in this constraint evaluating to false. The standard lexicographical ordering of values is used to determine result.
For complete documentation of the class, see LtConstraint.
Performs a not equal constraint operation. Missing arguments always result in this constraint evaluating to false.
Supported match modes:
Strings — MATCH_MODE_REGEXP & MATCH_MODE_GLOB
For complete documentation of the class, see NeConstraint.
Perform a logical not operation of all the child constraints. This is a no-op if this constraint contains no children.
For complete documentation of the class, see NotConstraint.
Operator constraints that perform comparison operation on facts.
For complete documentation of the class, see OperatorConstraint.
Perform a logical or-ing operation of all the child constraints. This is a no-op if this constraint contains no children.
For complete documentation of the class, see OrConstraint.
Typed constraint must only be used as the outermost wrapper when it is necessary to override the default constraint type of ‘resource.’ It provides the necessary context about where to add the contained constraints.
For complete documentation of the class, see TypedConstraint.
Evaluates to true only if the left side fact is not defined in the match context. If the left side is not defined, this will evaluate to false.
For complete documentation of the class, see UndefinedConstraint.
The following Java files form the exceptions for the PlateSpin Orchestrate constraint grid structure:
For exceptions that occur in parsing or executing constraints.
For complete documentation of the class, see ConstraintException.
The Java classes included in the Datagrid package form the basis of the PlateSpin Orchestrate infrastructure. For complete documentation of each class, click on the links to access the online documentation javadoc.
The following Java files form the interfaces for the PlateSpin Orchestrate datagrid structure:
Specifies the PlateSpin Orchestrate datagrid interface for individual files and directories.
This interface rather closely mirrors java.io.File. It does not, however, extend that class, since the standard Java I/O classes would not understand the semantics of this extended version. In particular, path names specified by this class refer to remote files that might not be directly accessible via the file system, as expected by standard Java file I/O classes.
The mirroring of java.io.File is done strictly for consistency and familiarity. There are a few methods in java.io.File that don't make sense in the context of the datagrid, and have thus been omitted. However, the commonly used methods such as canWrite, mkdir(), and so on are implemented and provide functionality for datagrid paths that is analogous to that provided by java.io.File for local file system paths.
For complete documentation of the class, see GridFile.
Filter for accepting/rejecting file names in a directory list.
Filtering is done by fully qualified GridFile objects representing the files and directories contained directly under the parent.
For complete documentation of the class, see GridFileFilter.
Filter for accepting/rejecting file names in a directory list.
Filtering is done by simple string path component names relative to the parent.
For complete documentation of the class, see GridFileNameFilter.
The following Java files form the classes for the PlateSpin Orchestrate datagrid structure:
Definitions of the DataGrid Logger options used for multicast.
For complete documentation of the class, see DGLogger.
The following Java files form the exceptions for the PlateSpin Orchestrate datagrid structure:
General exception class for datagrid errors.
For complete documentation of the class, see DataGridException.
Exception thrown if the datagrid cannot be reached due to a network error.
For complete documentation of the class, see DataGridNotAvailableException.
Exception thrown by cancelled requests.
For complete documentation of the class, see GridFile.CancelException.
The Java classes included in the Grid package form the basis of the PlateSpin Orchestrate infrastructure. For complete documentation of each class, click on the links to access the online documentation javadoc.
The following Java files form the interfaces for the PlateSpin Orchestrate grid structure:
Provides the interface necessary for processing messages sent from the Orchestrate Server.
The implementation of this interface is registered with the agent using ClientAgent.addAgentListener().
For complete documentation, see AgentListener.
API for client communication with server for job and datagrid operations. This includes retrieving information about available jobs, to start jobs and to manage running jobs.
For complete documentation, see ClientAgent.
A credential used for identity on the PlateSpin Orchestrate system. Use the CredentialFactory to create Credential instances.
For complete documentation, see Credential.
The Fact object. This contains accessors for setting and getting fact values and for describing a Fact.
For complete documentation, see Fact.
Definition of a set of facts. Typically, this represents all facts associated with a particular Grid object.
NOTE:There is also a FactSetSnapshot that can hold a read-only, non-dynamic version of the facts.
For complete documentation, see FactSet.
Client interface to any Grid object. All “Info” objects are serializable.
For complete documentation, see GridObjectInfo.
A unique identifier for an engine or a facility or Grid object.
The default identifiers for the broker, facilities, and an unknown ID are defined here.
For complete documentation, see ID.
A client representation of a deployed job.
The interface describes details about a deployed job. This is a simplified interface that is likely to be a subset of Job. It is used in the client API and for management.
For complete documentation, see JobInfo.
A base interface for all the messages in the system. It defines the basic methods that must be implemented by a message class, and also defines sub-interfaces for each of the actual messages in the system.
All of these message interfaces are intended to be viewed from the perspective of the consumer, not the producer. Producers are responsible for implementing the concrete classes which will underly these interfaces, and have complete freedom of choice as to how to implement constructors and set methods.
For complete documentation, see Message.
A general acknowledgement of “action” message.
For complete documentation, see Message.Ack.
Authentication failure messages indicating that processing of a client message will not occur because client credentials are invalid.
For complete documentation, see Message.AuthFailure.
All messages that can optionally carry an error string back to the client extend this.
For complete documentation, see Message.ClientResponseMessage.
Messages assigned a connection ID by the session manager.
For complete documentation, see Message.ConnectionID.
An Event is used to signal clients and workflows. A client can receive an Event sent from a workflow. The ClientAgent.sendEvent() constructs an Event to send to workflows.
For complete documentation, see Message.Event.
Client request to retrieve an (optionally ordered) set of grid objects that match a search criteria (constraint).
For complete documentation, see Message.GetGridObjects.
Server response to client request to retrieve a grid object set.
For complete documentation, see Message.GridObjects.
A JobAccepted message is sent in response to a RunJob message when a job is successfully accepted into the system.
For complete documentation, see Message.JobAccepted.
A JobError message is sent when an unrecoverable error occurs in a job.
For complete documentation, see Message.JobError.
A JobFinished message is sent when processing of a job completes.
For complete documentation, see Message.JobFinished.
Base Event interface for retrieving JobID used for jobid messages.
For complete documentation, see Message.JobIdEvent.
A JobInfo message contains information describing a deployed job.
For complete documentation, see Message.JobInfo.
A Jobs message contains a list of deployed job names.
For complete documentation, see Message.Jobs.
A JobStarted message is sent when a job is successfully started.
For complete documentation, see Message.JobStarted.
A JobStatus message contains the state of the specified job. This is used in lieu of JobStatusDetail to get simple state info.
For complete documentation, see Message.JobStatus.
Response message for an unsuccessful login.
For complete documentation, see Message.LoginFailed.
Response message for a successful login.
For complete documentation, see Message.LoginSuccess.
A LogoutAck indicates success or failure of logout operation. It is a specific message type so error filtering can be applied when the message can't be delivered because the transport has already been closed.
For complete documentation, see Message.LogoutAck.
A RunningJobs message contains the list of running jobs.
For complete documentation, see Message.RunningJobs.
A ServerStatus message.
ServerStatus is different from a normal status message from the server because it normally requires an action on the part of the receiver whereas a Status is more informational. ServerStatus can be used for server shutdown, restart, version upgrade, migration to new host, and so on.
For complete documentation, see Message.ServerStatus.
Internal interface for Node (Resource) Grid object.
For complete documentation, see Node.
A WorkflowInfo can represent either a snapshot of a running instance or an historical record of an instance. It can be thought of as the client view of a Workflow which is its big sister that is active and runs in the server.
NOTE:Workflow extends WorkflowInfo. LiteWorkflowInfo implements WorkflowInfo.
Setter methods should be put in Workflow and not in WorkflowInfo.
For complete documentation, see WorkflowInfo.
The following Java files form the exceptions for the PlateSpin Orchestrate grid structure:
Grid exception indicating the client is not compatible with the server.
This exception is thrown if a connection cannot be established with the PlateSpin Orchestrate Sserver because the current client software is either too old or too new to be compatible with the server.
For complete documentation, see ClientOutOfDateException.
For exceptions that occur in accessing or setting facts.
For complete documentation, see FactException.
Thrown when authentication is denied by a PlateSpin Orchestrate Server.
For complete documentation, see GridAuthenticationException.
Thrown when credentials are insufficient for the desired grid operation.
For complete documentation, see GridAuthorizationException.
Grid exception thrown to indicate a grid configuration error.
This exception is thrown to indicate a severe error in the grid’s configuration that prevents it or one of its major components from operating correctly.
For complete documentation, see GridConfigurationException.
Thrown when credentials are insufficient for the desired grid operation.
For complete documentation, see GridDeploymentException.
The base exception for all grid exceptions. This provides an easy way to catch multiple types of related exceptions in the system without needing to explicitly list every one.
For complete documentation, see GridException.
Thrown when a Grid object lookup does not find the requested object.
For complete documentation, see GridObjectNotFoundException.
The Java classes included in the TLS package form the basis of the PlateSpin Orchestrate infrastructure. For complete documentation of each class, click on the links to access the online documentation javadoc.
Interfaces used for secure authentication to Orchestrate Server include the following:
Callback interface for TLS certificate exceptions.
An instance of this interface may be passed to TlsConfiguration.setCallbacks(TlsCallbacks) or to TlsConfiguration.setDefaultCallbacks(TlsCallbacks) to provide customized handling of missing or mismatched TLS server certicates encountered while attempting to make TLS connections to a PlateSpin Orchestrate Server.
The TlsCallbacks.onCertificateNotFound(SocketAddress,PemCertificate) method is invoked when the PlateSpin Orchestrate Server returns a server certificate and there is currently no certificate found for that server. If this method returns false, a certificate exception is thrown on the client; otherwise, the code for this method can “accept” the certificate, possibly with user warnings and a confirmation dialog before returning true to indicate that the certificate is “OK.”
The TlsCallbacks.onCertificateMismatch(SocketAddress,PemCertificate,PemCertificate) method is invoked when the PlateSpin Orchestrate Server returns a server certificate that does not correctly match the current certificate held by the client. This exception is a more severe error than “not found” because it indicates a possible spoofing attempt by a “man in the middle.” We recommend that implementations of this callback method default to returning false unless the user or administrator very specifically indicates a willingness to accept the new certificate.
For complete documentation of the class, see TlsCallbacks.
Classes used for secure authentication to Orchestrate Server include the following:
PEM certificate wrapper for X.509 certificates.
This convenience class wraps up an X.509 certificate in an object that allows the certificate to be read from and stored to a standard PEM encoded X.509 certificate file. This allows the Orchestrate Clients to make use of the Sun TLS provider without requiring that the Orchestrate Server certificate be manually installed in the JRE’s keystore. The use of standardized PEM certificates allows more portable handling and offline generation of certificates (if desired for security purposes) and enables simplified management of certificates.
For complete documentation of the class, see PemCertificate.
TLS Configuration parameters for Orchestrate Clients.
This class holds various TLS-related configuration parameters used by Orchestrate Clients to connect to the server. By passing an instance of this class to the Development Client API upon login, or by setting global defaults, the behavior and usage of Transport Layer Security (TLS) can be modified by client writers.
The factory default behavior for Orchestrate Clients and agents is to enable TLS, with the level of encryption specified by the server upon client connection. By default, “client” (as opposed to “agent”) connection mode is assumed.
This class is fully cloneable and serializable. It is recommended that the type-safe TlsConfiguration.copy() method be used for cloning.
The following is a simple example of the usage of this class to configure TLS support on a client connection to a PlateSpin Orchestrate Server:
import com.novell.zos.tls.TlsConfiguration; import com.novell.zos.grid.ClientAgent; import com.novell.zos.grid.Credential; import com.novell.zos.toolkit.CredentialFactory; ... TlsConfiguration tlsConfig = new TlsConfiguration(); tlsConfig.setCertificatePath("/tmp"); Credential cred = CredentialFactory.newPasswordCredential("user", "pass".toCharArray()); ClientAgent client = ClientAgentFactory.newClientAgent("127.0.0.1"); client.setTlsConfiguration(tlsConfig); client.login(cred); System.out.println("Logged In");
If custom handling of unknown or mismatched server certificates is required by the client, then add a call to TlsConfiguration.setCallbacks(TlsCallbacks) with an instance of TlsCallbacks providing methods for handling each of those cases.
If certain TLS parameters will always be the same for all instances (that is, they were specified on a global command line at JVM launch), those parameters can be specified as “global defaults” using the “setDefault*” versions of the various methods of this class. This can be used to avoid passing global configuration parameters among many different objects.
For complete documentation of the class, see TlsConfiguration.
The Java classes included in the Toolkit package form the basis of the PlateSpin Orchestrate infrastructure. For complete documentation of each class, click on the links to access the online documentation javadoc.
The following Java files form the classes for the PlateSpin Orchestrate toolkit structure:
Factory pattern used to create new clients for connection to a PlateSpin Orchestrate Server. This is the starting point for clients to communicate with the server.
For complete documentation of the class, see ClientAgentFactory.
Factory pattern used to create constraint objects that can be combined into larger constraint hierarchies for use in searches or other constraint-based matching.
For complete documentation of the class, see ConstraintFactory.
Factory pattern used to create a Credential used for connection to a PlateSpin Orchestrate Server.
For complete documentation of the class, see CredentialFactory.