BladeLogic Command Line Interface (BLCLI)

Size: px
Start display at page:

Download "BladeLogic Command Line Interface (BLCLI)"

Transcription

1 BladeLogic Command Line Interface (BLCLI)

2 Table of Contents Table of Contents Introduction Overview Best Practice Before We Begin A Brief Overview of the BLCLI How is the BLCLI useful? How do I read the BLCLI API? Common Uses of the BLCLI Caching Credentials Encoded.dat File BLTray Utility Server / Proxy Mode blcli2.exe Without blcli2.exe Other Possibilities for Increasing Speed of the BLCLI Using the Subshell Experimental: Using Jython Options and Recommendations for Production Implementation Starting Server from Within Script Running Server as Service Behind the Scenes How the BLCLI works Released / Unreleased Commands Context and the Target Object API Commands Load Commands Save Commands Procedure Commands Complex Commands Complex Commands Piece by Piece SmartServerGroup createnewgroup Explained Appendices BLCLI Usage and Flags Troubleshooting the BLCLI Compiling Unreleased API Documentation of 18

3 1. Introduction 1.1. Overview The goal of this document is to discuss the Best Practices for using the BladeLogic Command Line Interface, better known as the BLCLI. In its present form, this document is intended to remain internal to BladeLogic Professional Services, as it will explore some aspects of the BLCLI functionality not yet completely available to our customers. There is a trimmed-down version of this document available for our clients. We will begin with an introduction of the BLCLI, a discussion of why it is useful and how it works, and then will explain how to read the API documentation before moving on to more complicated concepts. The paper continues to discuss cached credentials and the BLCLI server / proxy mode. This paper next reviews possibilities for increasing execution speed of the BLCLI before making recommendations regarding production implementation. The next section provides an in depth look at how the BLCLI works, unreleased commands, session context, and command types. This section also explains each section of a complex command, in detail, before explaining in detail a specific example command, SmartServerGroup createnewgroup. Finally, the appendices discuss usage details of the BLCLI. Next, the paper looks at how to troubleshoot building BLCLI Complex commands, before finally explaining how to compile the API documentation for unreleased BLCLI commands. 2 of 18

4 2. Best Practice 2.1. Before We Begin A Brief Overview of the BLCLI The BladeLogic Command Line Interface is a Java-based command line tool, hence its name, for accessing BladeLogic API operations. Though released functionality remains somewhat limited, a sufficiently sophisticated user could conceivably use the BLCLI to complete any operations through the command line that would traditionally be only accessible via the BladeLogic GUI. The BLCLI tool accepts input from the command line, parses that input, and processes that input against XML-formatted commands to become the user s bridge to the BladeLogic API. The BLCLI is not a shell. It is its own application command line interface, as every command line execution requires the BLCLI to startup and shutdown. As each instance of a BLCLI execution requires the Java Virtual Machine (JVM) to start and for the BLCLI to authenticate against the Application Server, by default, each BLCLI command takes a significant amount of time to execute. There are ways to get around this, and we will discuss them in more detail later in this document. Each BLCLI command is broken down into three parts, Namespace, Command, and Arguments. These are defined in the XML command descriptor files that the BLCLI uses to know how to execute each command. The BLCLI commands should take the following format: blcli NameSpace commandname <Argument1> <ArgumentN> The argument number and data type(s) depend on the command and are explained in the API documentation available in the Doc directory of each Operations Manager installation. BLCLI commands can be scripted using Network Shell, Perl Scripts, Batch Jobs, or other languages that can execute system calls How is the BLCLI useful? Before the BLCLI, there was no way to automate functions within the BladeLogic GUI. The BLCLI allows a user more functionality than merely accessing the GUI operations programmatically; it allows us to script it using any native system or installed scripting language that can make system-level calls, as BLCLI calls are usually called from within a shell How do I read the BLCLI API? The BLCLI Help and API documentation are installed with each installation of Operations Manager, whether the Application Server or just the Configuration Manager. This documentation is installed to <blinstall_dir>/doc/cli/index.html. Available from this page is a short Help screen, explaining some BLCLI basics for new users. 3 of 18

5 The BLCLI API is a set of HTML files organized into 3 frames. The left top frame is the list of namespaces, with the commands for the selected namespace in the frame below that. The namespace commands appear in the main frame along with descriptions, return types, and argument lists. The argument lists are in a table but, of course, should be passed as command line arguments when executing the BLCLI. Arguments as String data types require quotes if the value has any white space Common Uses of the BLCLI The BLCLI becomes more and more useful every day. BladeLogic Professional Services now includes Network Shell scripts calling BLCLI commands in every implementation to populate custom server properties based on data programmatically acquired via Network Shell commands. These custom properties are then used in our standard custom inventory reports accessible from BladeLogic Reports. The BLCLI can be used to load bulk data into the BladeLogic system via a script. Using BLCLI extended functionality, we can write a script to parse a formatted data file and pre-load virtually any data into the BladeLogic system with BLCLI commands during the initial implementation. We can use the BLCLI command to sidestep issues. One recent use involved setting up a NSH script job to call a script that would retrieve information from BladeLogic, use that information to compile a SQL statement, and execute that SQL statement against the BladeLogic database. This solves a problem of setting BlPackage ownership, a construct that does not presently exist within the BladeLogic code base Caching Credentials As each execution of the BLCLI requires authentication against the BladeLogic Application Server, a user must provide login information each time the BLCLI is called. Executing scripts with BLCLI commands necessitates a way to cache credentials, so the BLCLI does not actively request input from the user. We can accomplish this credential caching in multiple different ways: generating an encoded data file, the BLTray tool, and with the BLCLI server. The first two will be discussed in this section, but the Server / Proxy mode is saved for the next section Encoded.dat File A user can cache credentials in a file generated by the <blinstall_dir>/br/bl_gen_blcli_user_info.bat file. This script will cache a user s username, password, and chosen role in encoded format. There are two ways of using this file. One may execute the BLCLI with a i flag, specifying which encoded file to use as a user s cached credentials. As a second option, a user may save the file as user_info.dat, and copy the file to the <user_home>/application Data/BladeLogic/user/ directory on Windows, or to the <user_home>/.bladelogic/.user on UNIX/Linux. The <user_home> directory on Windows is the user s username directory within /Documents and Settings. 4 of 18

6 When running a NSH script with BLCLI commands as a NSH Script Job by the Application Server, the user_info.dat file must be saved in the <user_home> directory on the server of the user as whom the server is running. On Windows, the BladeLogic server runs as LocalSystem. It is not always obvious which path leads us to the LocalSystem <user_home> directory, but we can perform a quick trick to discover this path. Ensure that the Windows Task Scheduler service is running. From a command line (cmd) Window, type at <time+> /interactive cmd.exe, where <time+> is some HH:MM formatted time some minutes in the future. Because the Task Scheduler service runs as the LocalSystem account, the cmd.exe window that opens when the specified scheduled time arrives will inherit LocalSystem privileges with the Windows Id SYSTEM. Once in here, you may type echo %USERPROFILE%, though this may not work on all Windows releases. Because Network Shell must be installed on the Application Server, start Network Shell (nsh) and echo $USERPROFILE will return the LocalSystem account s <user_home>. On UNIX, the task is much simpler. The BladeLogic server runs as bladmin and the <user_home> directory can be determined either by running sudo u bladmin echo $HOME as root or as a user with root privileges or by becoming the bladmin user and running cd ~; pwd BLTray Utility The BLTray is a tool found in the <blinstall_dir>/bin/ directory, using Stanford University s Open-Source Secure Remote Password (SRP) protocol with which, while running, will cache login information in memory on the workstation running the BLTray. There is no communication between the BLTray and the BladeLogic server. To execute the BLTray, go to a command prompt in the above mentioned folder and type./bltray.exe srp. A window will appear asking for the username, password, and role with which you would like to authenticate against the BladeLogic Application Server. Once this is active, it will appear as an icon in your taskbar tray, to the left of your system clock. While active, you will be able to execute BLCLI commands without authenticating. When you are finished, you may right-click on the BLTray icon to exit Server / Proxy Mode The BLCLI provides users with the capability to proxy commands through a BLCLI Server. In server mode, the BLCLI authenticates once against the BladeLogic Application Server and waits, listening on a specific port as a Server. Another call to the BLCLI can proxy through this server, thereby piggybacking on the already authenticated persistent connection. One thing to note is that, in server mode, the BLCLI only accepts proxy connections from localhost. We can use the experimental Windows executable (blcli2.exe) to achieve this functionality or, if this option is unavailable, we can create batch or script files to do this. These methods are addressed in the following two sections. 5 of 18

7 blcli2.exe With the release of BladeLogic version 6.2, there exists an experimental version of the BLCLI executable, blcli2.exe. This executable will allow greater manipulation of the BLCLI without modifying batch files. With this, we may easily instantiate a BLCLI Server and use the BLCLI proxy through that server. Presently, this experimental version only exists for Windows implementations, but you will see in the next section that we can implement this same functionality on UNIX and on Windows versions prior to 6.2. The blcli2 executable is a wrapper around the Java executable, expanded from the standard blcli executable. The blcli2 allows us to pass a single D Java Properties argument to the JVM upon execution, as well as accepting a c flag to connect to a specific port with the BLCLI proxy. In order to instantiate the BLCLI server with blcli2, execute the following command from within Network Shell: blcli2 Dcom.bladelogic.cli.port=<port#> m server Where <port#> is port on which the server should listen, and m server starts the BLCLI in server mode. The port most often used is This process will open a listening port on the specified port number that will listen for BLCLI commands to be sent from the client. Either authenticate when asked or use cached credentials to authenticate automatically. If using cached credentials, you can execute the command with an & at the end, sending the BLCLI process into the background. To utilize the BLCLI proxy using blcli2, call blcli2 with the following command from Network Shell: blcli2 c <port#> <NameSpace> <command> <argument1> <argumentn> Where <port#> is the same port specified in the instantiation of the server, telling the BLCLI through which port to connect to proxy. Implemented in a script with multiple blcli commands, this will significantly decrease the total time it takes to complete execution of the script Without blcli2.exe The blcli2 executable is still experimental, and so has not been implemented into full production. In addition, for anyone still using versions prior to v6.2, the blcli2 executable does not exist. The blcli2 is merely a wrapper around the Java executable, so we can write.nsh scripts and.bat files to implement this all in a manual manner. 6 of 18

8 In Windows, assuming that a user has installed Operations Manager in the default C:\Program Files\BladeLogic directory, the following batch files will instantiate the server mode and the proxy client. Windows: off clear SET PATH=C:\Program Files\BladeLogic\OM\jre\bin;C:\Program Files\BladeLogic\OM\bin;C:\Program Files\BladeLogic\OM\br\stdlib; SET CLASSPATH="C:\Program Files\BladeLogic\OM\jre\lib\rt.jar";"C:\Program Files\BladeLogic\OM\br\stdlib";"C:\Program Files\BladeLogic\OM\br\stdlib\log4j jar";"C:\Program Files\BladeLogic\OM\br\stdlib\activation.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\jaxp.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\mailapi.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\parser.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\mysql.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\xerces.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\xmlwriter.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\oracle.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\msbase.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\mssqlserver.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\msutil.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\smtp.jar";"C:\Program Files\BladeLogic\OM\br";"C:\Program Files\BladeLogic\OM\br\bladelogic.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\looks jar";"C:\Program Files\BladeLogic\OM\bin";"C:\Program Files\BladeLogic\OM\br\stdlib\rbachelp.jar" set JAVA_PROPERTIES=-Xmx512M -Xss2m -Dblx.rootdir="C:\Program Files\BladeLogic\OM" - Dblx.cmrootdir="C:\Program Files\BladeLogic\OM\br" -Dcom.bladelogic.cli.xmldir="C:\Program Files\BladeLogic\OM\br\xml\cli" set MAIN_CLASS=com.bladelogic.cli.CLIMain set PORT=-Dcom.bladelogic.cli.port=5555 echo BladeLogic CLI server connected to application server %srvr% on port %portnum%. echo Press CTRL+C to exit. java %JAVA_PROPERTIES% %PORT% -classpath %CLASSPATH% %MAIN_CLASS% -m server off SET PATH=C:\Program Files\BladeLogic\OM\jre\bin;C:\Program Files\BladeLogic\OM\bin;C:\Program Files\BladeLogic\OM\br\stdlib; SET CLASSPATH="C:\Program Files\BladeLogic\OM\jre\lib\rt.jar";"C:\Program Files\BladeLogic\OM\br\stdlib";"C:\Program Files\BladeLogic\OM\br\stdlib\log4j jar";"C:\Program Files\BladeLogic\OM\br\stdlib\activation.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\jaxp.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\mailapi.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\parser.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\mysql.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\xerces.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\xmlwriter.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\oracle.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\msbase.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\mssqlserver.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\msutil.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\smtp.jar";"C:\Program Files\BladeLogic\OM\br";"C:\Program Files\BladeLogic\OM\br\bladelogic.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\looks jar";"C:\Program Files\BladeLogic\OM\bin";"C:\Program Files\BladeLogic\OM\br\stdlib\rbachelp.jar" set MAIN_CLASS=com.bladelogic.cli.CLIClient set JAVA_PROPERTIES=-Dcom.bladelogic.cli.port=5555 java %JAVA_PROPERTIES% -classpath %CLASSPATH% %MAIN_CLASS%%ARGS% UNIX: Blcliserver #!/bin/sh BLADELOGIC_HOME=/usr/nsh JAVA_HOME=/usr/nsh/br/java BLDEPLOY=$BLADELOGIC_HOME/br STDLIB=$BLDEPLOY/stdlib CLASSPATH=$BLADELOGIC_HOME/br:$BLADELOGIC_HOME/br/bladelogic.jar: $JAVA_HOME/jre/lib/rt.jar:$STDLIB:$STDLIB/activation.jar:$STDLIB/jaxp.jar: $STDLIB/log4j jar:$STDLIB/looks jar:$STDLIB/mailapi.jar:$STDLIB/msbase.jar: 7 of 18

9 $STDLIB/mssqlserver.jar:$STDLIB/msutil.jar:$STDLIB/mysql.jar:$STDLIB/oracle.jar: $STDLIB/parser.jar:$STDLIB/smtp.jar:$STDLIB/xerces.jar:$STDLIB/xml-writer.jar PATH=/usr/nsh/bin:/usr/nsh/sbin:$PATH LD_LIBRARY_PATH=${LD_LIBRARY_PATH:=}${LD_LIBRARY_PATH:+:}$BLADELOGIC_HOME/lib export JAVA_HOME CLASSPATH LD_LIBRARY_PATH PATH $JAVA_HOME/bin/java -Dblx.cmrootdir=$BLADELOGIC_HOME/br \ -Dcom.bladelogic.cli.xmldir=$BLADELOGIC_HOME/br/xml/cli \ -Dcom.bladelogic.cli.port=5555 \ com.bladelogic.cli.climain "${@}" -m server Blcliproxy #!/bin/sh BLADELOGIC_HOME=/usr/nsh JAVA_HOME=/usr/nsh/br/java BLDEPLOY=$BLADELOGIC_HOME/br STDLIB=$BLDEPLOY/stdlib CLASSPATH=$BLADELOGIC_HOME/br:$BLADELOGIC_HOME/br/bladelogic.jar:$JAVA_HOME/jre/lib/rt.jar: $STDLIB:$STDLIB/activation.jar:$STDLIB/jaxp.jar:$STDLIB/log4j jar:$STDLIB/looks jar: $STDLIB/mailapi.jar:$STDLIB/msbase.jar:$STDLIB/mssqlserver.jar:$STDLIB/msutil.jar:$STDLIB/mysql.jar: $STDLIB/oracle.jar:$STDLIB/parser.jar:$STDLIB/smtp.jar:$STDLIB/xerces.jar:$STDLIB/xml-writer.jar PATH=/usr/nsh/bin:/usr/nsh/sbin:$PATH LD_LIBRARY_PATH=${LD_LIBRARY_PATH:=}${LD_LIBRARY_PATH:+:}$BLADELOGIC_HOME/lib export JAVA_HOME CLASSPATH LD_LIBRARY_PATH PATH $JAVA_HOME/bin/java -Dblx.cmrootdir=$BLADELOGIC_HOME/br \ -Dcom.bladelogic.cli.xmldir=$BLADELOGIC_HOME/br/xml/cli \ -Dcom.bladelogic.cli.port=5555 \ com.bladelogic.cli.cliclient "${@}" 2.4. Other Possibilities for Increasing Speed of the BLCLI Using the Subshell The m flag enables two separate modes, one is the aforementioned server, the other the subshell. The subshell is so called because it is not a full-featured shell, but rather a limited shell-like access to the BLCLI. Once in the subshell environment, there are no environment variables, just command prompts and return values. Those return values can be automatically passed to the next command, without retyping them. This functionalty works because of a topic to be covered later in this documentation, BLCLI context. Refer to section for more information on context. If there are many BLCLI commands to be executed at once, the results of which do not rely on one another, then one can pass them to the subshell by running cat against a file full of BLCLI namespaces and commands, and piping it to blcli m subshell Experimental: Using Jython We have recently begun using a new scripting tool. This tool utilizes the present Java construct of the BLCLI, but changes the scripting environment from Network Shell, replacing it with a Java interpreter of Python, commonly called Jython. This tool allows scripting in Jython, with all BLCLI calls made directly through the Java classes, due to Jython s native interoperability with Java. With this approach, the Jython code imports the Java libraries, authenticates against the Application Server, and makes BLCLI calls directly via the Jython interface with Java. This best-of-all-worlds hybrid solution combines the speed of the BLCLI 8 of 18

10 server with the scripting capabilities of Network Shell or Perl. Because the Jython tool makes a single connection and then runs all commands through Java, essentially, we are scripting the BLCLI subshell. As a future initiative, Python s support of XML parsing may afford us the opportunity to make initial PS implementations post-scoping more standardscompliant. We are presently working on an installation and usage guide of Jython, a.k.a. the JLI when using the BLCLI. If installed properly on the BladeLogic Application Server, we can use the JLI as an NSH Script Job, making enormous gains in speed over standard NSH scripts Options and Recommendations for Production Implementation The current implementation of the BLCLI offers command-line manipulation of the BladeLogic environment. Utilizing BLCLI functionality may leave the more security-conscious users concerned about security implications. We have developed a number of methods to circumvent possible security implications Starting Server from Within Script While the user_info.dat file still must remain in the <user_home> directory, we can conceivably start and kill the BLCLI server from within a NSH script. Begin the script with the BLCLI command to instantiate the server and, when all BLCLI commands are completed, execute a kill -9 %1 to kill the job with the background number of Running Server as Service While not recommended, it is possible to run the BLCLI server as a service. In Windows, one may download an application like Fire Daemon that can be installed as a service and set to run batch files on Windows startup. In UNIX, one may desire to write a startup script to be placed in /etc/init.d/ with start and stop parameters. 3. Behind the Scenes Behind the scenes, the BLCLI is contained in a set of Java classes, with the package name com.bladelogic.cli. These Java classes load the XML files in the <blinstall_dir>/br/xml/cli/ directory into memory and these files tell the BLCLI how to access the BladeLogic API. We will discuss how these files work in section 3.1 before moving on how to construct complex commands in section 3.2. Additionally, we should have a BladeLogic Best Practice document for constructing BLCLI Complex Commands How the BLCLI works The BLCLI parses and loads into memory all the XML files in the /br/xml/cli directory. These files contain commands and hooks into the API. The file naming convention for these XML files is NameSpace-CommandTypes.xml. The Additional command type usually indicates Complex commands written by the BLCLI developers to provide more streamlined BLCLI functionality. These commands represent the majority of the released commands. BladeLogic 9 of 18

11 Professional Services, at present, saves custom command files as NameSpace- PSAdditional.xml. Each command to the BLCLI coincides with a namespace and an XML command. Each XML command can be released or unreleased and contains one or more other BLCLI commands. There are different types of commands, such as API, Load, Save, and Procedure commands. These will all be addressed in the following subsections. Complex commands are addressed in section 3.2 and consist of multiple types of commands Released / Unreleased Commands The API that is installed with Operations Manager documents all the released commands, commands executable by default from the command line. As there remain still many unreleased commands, this API is a trimmed down version of the BLCLI API documentation that is released to clients. To release the full API documentation, please refer to the Appendix of this document, Section 4.3. This will provide access to the extended functionality of the BLCLI. This documentation is generated automatically from the Java code s Javadoc but will not generate API documentation for custom-written XML descriptor files Context and the Target Object The BLCLI API consists of various namespaces, each with various commands. The BLCLI operates in sessions, whether in the execution of a command from the command line or in subshell mode. For each instance of a BLCLI session, execution of these commands is linear, and data passes between them via the BLCLI s concept of context. Context is persistent from when a session begins until the session ends. The context is NULL when a session begins, and any attempt to access the context will result in a thrown Java exception. When a Load command is executed, the resulting object is loaded into memory as the context, and any API command can be executed against that without explicitly requiring an argument. Strings, integers, and boolean values cannot be stored in context, but Model Objects can. When returning strings, integers, or boolean data in a complex command, we can save into the BLCLIs session memory, into a list of what are called Named Objects. This will make more sense as we discuss Load and Complex commands. Once an object handle is loaded into the context via a Load command, it becomes known as the Target Object. It remains the BLCLI target object for the duration of the execution of that BLCLI command until it is overridden by the loading of another object into context, or until a different target object is explicitly set within the code. An API command may return a handle to an object, but it will not set the Target Object because it is not a Load command. If an API command returns an object handle, we call Utility settargetobject to complete the loading of the object handle into context. As an example, consider the command DepotGroup groupnametoid </group/name>. From the user s perspective, a command is called, a group name 10 of 18

12 is passed and the user is returned the group Id. What really happens is that a command is run to find that group by name and load the object into context. Then, another command is run without taking any explicit arguments to get that group s Id and return it as the result value. Instead of an explicit argument, it looks to the BLCLI context API Commands The commands contained in the XML files for the BLCLI all eventually terminate at a point containing an API call. These API calls are the direct calls to the BladeLogic Java framework. API commands are those that operate on the context object. In the documentation, a command is an API command if it retrieves data directly from the database. In the XML code, however, there is a distinction. Commands that are API commands in the documentation, are those commands in the code that invoke BLCLI commands with API calls. For all API BLCLI commands in the XML code, there is an analogous Load command in the code, and this is the command that one sees in the documentation. While most API commands will require a Target Object to be set, some may operate without a Target Object, creating and setting their own. This applies to some Load commands (referenced below) and to Factory methods that create new instances of objects Load Commands The BLCLI needs an interface through which it can retrieve object information. Load commands provide that interface. A Load command does not necessarily have load in the name, but instead will often be named something like get or find. Load commands return handles to BladeLogic objects, and save them into the BLCLI context. These handles cannot be passed explicitly as data to other BLCLI commands, but can be used with API commands that do not require command line arguments. The arguments these commands use are the objects in the document context Save Commands When making changes to an object loaded into context, or creating a new object via the BLCLI, we need to save the changes to it. This is done simply with a Save command. Save commands may not exist for all objects, but they will exist for their abstract class, such as Group would be the abstract class of DepotGroup or SmartServerGroup. In this way, when we create a SmartServerGroup in our code, we create an object, make it a group of the type SmartServerGroup, give it a name, and then call Group save, because SmartServerGroup is an abstraction of the Group class. Save commands take the Target Object and save it to the database Procedure Commands Procedure commands are unique, in that these are commands that are multi-step procedures built into the code. All Procedure commands are in the Utility 11 of 18

13 namespace, and do not have corresponding XML commands in the xml/cli directory Complex Commands When we talk about creating custom BLCLI commands, we are talking about Complex commands. Complex commands are merely a linear succession of BLCLI commands of all different types. Within a complex command, we can reference passed arguments, save data results for later use, and call Load, Save, and other Complex commands. A Complex command contains one or more other commands. While the name implies some sort of intricacy, it merely refers to the Complex commands extending the functionality of the basic BLCLI commands Complex Commands Piece by Piece Let us first discuss the structure of complex commands. We will review the structure of the XML for a Complex command and discuss the details of each section. 12 of 18

14 <command_inventory> The <command_inventory> tag is the wrapper around all the commands in the XML file. Every BLCLI XML file needs a <command_inventory> tag at the beginning (after the <xml> and <doctype> tags) and again at the end to close the tag. <name_space name= > The <name_space> tag wraps around all the commands for a given namespace. This namespace becomes the case-sensitive first argument passed before each BLCLI command. The standard naming convention is that of no spaces, but where the first letter of each new word is capitalized. <complex_command release= > The <complex_command> tag is the XML wrapper tag around all other elements in the Complex command. Release takes a value of yes or no, where yes indicates that a user can access the command directly from the command line. A value of no for release indicates that this command is only accessible from within other BLCLI Complex commands. <name></name> The <name> tag defines the name of the command, and this becomes the argument to BLCLI after the namespace. The standard naming convention requires no spaces, where the first letter of each new word is capitalized, but for one exception. The first letter of each command is in lower case. Complex commends are allowed to be overloaded. This means that there can be multiple complex commands with the same name, so long as they have a different number of arguments. <description> The <description> tag wraps around the <author>, <general_info>, and <result> commands. <author></author> As the first author of a command, one should place one s name between these two tags. <general_info></general_info> The <general_info> tag is a free form text field, and there can be multiple <general_info> tags. Here, one should describe what the command does, the date it was written, and should note any edits one has made to the original command. <return_value_info></return_value_info> The <return_value_info> tag tells us which data type or information to expect as a result of a successful invocation of the command. </description> <argument_list> This is the wrapper around the list of arguments expected from the command line. <argument name= desc= ></argument> The <argument> tag, of which there may be more than one, tells the Complex command which argument types to expect for each argument. The name property takes as a value the name of the argument, to be referenced later as $argname$ and should follow the same naming conventions as the command name. The desc property gives a description of the argument s purpose. Between the <argument></argument> tags we add the argument type, where valid values are java.lang.string, int, or boolean. </argument_list> <commands_to_execute> 13 of 18

15 The <commands_to_execute> tags wrap around the series of <command_invocation> elements. <command_invocation> These <command_invocation> commands each invoke a BLCLI command, and wrap around the command input. <namespace_ref></namespace_ref> The <namespace_ref> tags tell each command invocation with which namespace to associate the command, to come next. This is the same as the first argument passed to the BLCLI executable. <name></name> The <name> tag tells the command invocation which command to execute from the preceding namespace. <input></input> [<input/>] The <input> tags pass the input string to the command invocation. This string must have the same format as command line input. Any strings that may contain quotes must be delimited by " special characters. A command that does not require an input should have either nothing between the input tags or just a single <input/> tag. <store_result><name></name><store_result> Often times, an API command will return a string or integer result necessary to use later in the command invocation. We store this in the BLCLI context list of named objects. After the <input> tags, we place these <store_result><name> tags and place the name of the new named object between them. This variable is referenced later as NAMED_OBJECT=objectName. </command_invocation> </commands_to_execute> SmartServerGroup createnewgroup Explained Creating smart server groups was not possible before creating our own Complex commands. There is a Professional Services XML command descriptor file named SmartServerGroup. This file contains three commands: createnewgroup, addconditiontogroup, and setmatchallongroup. createnewgroup creates a smart server group with no conditions. addconditiontogroup adds conditions and setmatchallongroup sets the Match- All / Match-Any via true or false. This section will investigate the command SmartServerGroup createnewgroup. We execute this command with two arguments: the fully qualified parent group name, and the name of the group to be created. Therefore, if we have a static group named Servers by OS which is a first-level server group, and to that we want to add a smart server group named Windows 2003, then we execute the following command: blcli SmartServerGroup createnewgroup /Servers by OS Windows 2003 This creates a group, though it will not yet contain any conditions and therefore will not actually show Windows 2003 servers. To determine how to add conditions and to set the Match-All property on the group, see the full SmartServerGroup-PSAdditional.xml file available in the Professional Services Knowledge Base. 14 of 18

16 The XML on the following page creates a Complex command that is released to the command line interface. The name of the Complex command is createnewgroup. The description lists Brad Jacobs as the author and explains that this Complex command will create a smart server group with no conditions. The command will return the database Id of the group with type Integer. The command takes two arguments, both of type String. One is the parentgroupname and the other is the groupname. The first command is ServerGroup groupnametoid and takes the $parentgroupname$ argument as input, returning the parent group database Id and storing that group Id as NAMED_OBJECT=parentGroupId. Next, we create a Model Object with the Utility command of type SmartServerGroup. We next set the name of the newly created smart server group. The command takes as input the $groupname$ variable from the command line argument, but sets the name on the group object stored in the BLCLI context. We use the NAMED_OBJECT that we set in the first command invocation to set the parent Id of the new smart server group. Because a SmartServerGroup is just an abstraction of the Group object, we call the Group save command next. Finally, we call SmartServerGroup getgroupid, a command which takes as input the object in the BLCLI context. As this is the last command in the Complex command, the result is returned to <STDOUT>. 15 of 18

17 SmartServerGroup createnewgroup <complex_command release="yes"> <name>createnewgroup</name> <description> <author>brad Jacobs</author> <general_info>create Smart Server Group with zero conditions. Need addcondition command below to add conditions.</general_info> <return_value_info>integer of Group Id</return_value_info> </description> <argument_list> <argument name="parentgroupname" desc="qualified name of parent group.">java.lang.string</argument> <argument name="groupname" desc="name of Smart Server Group.">java.lang.String</argument> </argument_list> <commands_to_execute> <command_invocation> <namespace_ref>servergroup</namespace_ref> <name>groupnametoid</name> <input>$parentgroupname$</input> <store_result><name>parentgroupid</name></store_result> </command_invocation> <command_invocation> <namespace_ref>utility</namespace_ref> <name>createmodelobject</name> <input>smartservergroup</input> </command_invocation> <command_invocation> <namespace_ref>smartservergroup</namespace_ref> <name>setname</name> <input>$groupname$</input> </command_invocation> <command_invocation> <namespace_ref>smartservergroup</namespace_ref> <name>setparentgroupid</name> <input>named_object=parentgroupid</input> </command_invocation> <command_invocation> <namespace_ref>group</namespace_ref> <name>save</name> <input/> </command_invocation> <command_invocation> <namespace_ref>smartservergroup</namespace_ref> <name>getgroupid</name> <input/> </command_invocation> </commands_to_execute> </complex_command> 16 of 18

18 4. Appendices 4.1. BLCLI Usage and Flags -D<jvmopt> Pass a single D flag to the JVM -X<jvmopt> Pass a single X flag to the JVM -a <appserver> Specifies against which Application Server the BLCLI should run. -c <port> Connect to a BLCLI server listening on the specified port. -m <mode> Start the BLCLI in server or subshell mode. -u <user> Assume the specified user upon execution. -r <role> Assume the specified role upon execution. -i <user_info.dat> Use the specified user_info.dat file Troubleshooting the BLCLI The first step in troubleshooting problems with BLCLI commands is to use the subshell mode. Get your Complex command working in subshell mode, and repeat those same steps in your Complex command. Using the blcli2.exe, it is possible to enter subshell mode where all BLCLI commands are released. This will allow fully interactive testing of any complex command components, if necessary. blcli2.exe Dcom.bladelogic.cli.debug.release-only= false m subshell 4.3. Compiling Unreleased API Documentation The batch file below compiles the full API documentation, both released and unreleased off setlocal SET PATH=C:\Program Files\BladeLogic\OM\jre\bin;C:\Program Files\BladeLogic\OM\bin;C:\Program Files\BladeLogic\OM\br\stdlib; SET CLASSPATH="C:\Program Files\BladeLogic\OM\jre\lib\rt.jar";"C:\Program Files\BladeLogic\OM\br\stdlib";"C:\Program Files\BladeLogic\OM\br\stdlib\log4j jar";"C:\Program Files\BladeLogic\OM\br\stdlib\activation.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\jaxp.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\mailapi.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\parser.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\mysql.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\xerces.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\xmlwriter.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\oracle.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\msbase.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\mssqlserver.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\msutil.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\smtp.jar";"C:\Program Files\BladeLogic\OM\br";"C:\Program Files\BladeLogic\OM\br\bladelogic.jar";"C:\Program Files\BladeLogic\OM\br\stdlib\looks jar";"C:\Program Files\BladeLogic\OM\bin";"C:\Program Files\BladeLogic\OM\br\stdlib\rbachelp.jar" set JAVA_PROPERTIES=-Dcom.bladelogic.cli.port=5555 set MAIN_CLASS=com.bladelogic.cli.help.HelpGenerator set XML_COMMANDS_DIRECTORY=C:\progra~1\bladelogic\om\br\xml\cli set XML_OUTPUT_DIRECTORY=C:\com.bladelogic\cli-docs java -cp %CLASSPATH% %JAVA_PROPERTIES% %MAIN_CLASS% %XML_COMMANDS_DIRECTORY% %XML_OUTPUT_DIRECTORY% 17 of 18

NETCONF Client GUI. Client Application Files APPENDIX

NETCONF Client GUI. Client Application Files APPENDIX APPENDIX B The NETCONF client is a simple GUI client application that can be used to understand the implementation of the NETCONF protocol in Cisco E-DI. This appendix includes the following information:

More information

Creating a Shell or Command Interperter Program CSCI411 Lab

Creating a Shell or Command Interperter Program CSCI411 Lab Creating a Shell or Command Interperter Program CSCI411 Lab Adapted from Linux Kernel Projects by Gary Nutt and Operating Systems by Tannenbaum Exercise Goal: You will learn how to write a LINUX shell

More information

Automating Administration with Windows PowerShell 2.0

Automating Administration with Windows PowerShell 2.0 Automating Administration with Windows PowerShell 2.0 Course No. 10325 5 Days Instructor-led, Hands-on Introduction This course provides students with the knowledge and skills to utilize Windows PowerShell

More information

BEAWebLogic Server. Node Manager Administrator s Guide

BEAWebLogic Server. Node Manager Administrator s Guide BEAWebLogic Server Node Manager Administrator s Guide Version 10.0 Revised: March 30, 2007 Contents 1. Introduction and Roadmap Document Scope and Audience.............................................

More information

BEAAquaLogic. Service Bus. Interoperability With EJB Transport

BEAAquaLogic. Service Bus. Interoperability With EJB Transport BEAAquaLogic Service Bus Interoperability With EJB Transport Version 3.0 Revised: February 2008 Contents EJB Transport Introduction...........................................................1-1 Invoking

More information

DCLI User's Guide. Data Center Command-Line Interface

DCLI User's Guide. Data Center Command-Line Interface Data Center Command-Line Interface 2.10.2 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about this documentation, submit

More information

DCLI User's Guide. Data Center Command-Line Interface 2.9.1

DCLI User's Guide. Data Center Command-Line Interface 2.9.1 Data Center Command-Line Interface 2.9.1 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about this documentation, submit

More information

To run Rapids jobs, you will also need a Frontier client account. You can sign up for an account on Parabon s online grid at

To run Rapids jobs, you will also need a Frontier client account. You can sign up for an account on Parabon s online grid at Frontier Rapids User Guide Introduction Frontier Rapids is an environment for running native applications on the Frontier Enterprise Computing Platform. By native applications, we mean applications that

More information

Review of Fundamentals

Review of Fundamentals Review of Fundamentals 1 The shell vi General shell review 2 http://teaching.idallen.com/cst8207/14f/notes/120_shell_basics.html The shell is a program that is executed for us automatically when we log

More information

DCLI User's Guide. Modified on 20 SEP 2018 Data Center Command-Line Interface

DCLI User's Guide. Modified on 20 SEP 2018 Data Center Command-Line Interface Modified on 20 SEP 2018 Data Center Command-Line Interface 2.10.0 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 5 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 User Operating System Interface - CLI CLI

More information

Administration Manual

Administration Manual Administration Manual SAP J2EE Engine 6.20 Contents About This Manual... 10 Target Audience and Prerequisites... 10 Structure... 10 Documentation Conventions... 11 Further Reading... 11 Administration

More information

Addoro for Axapta 2009

Addoro for Axapta 2009 Addoro for Axapta 2009 Installation and Configuration Overview of Addoro for Axapta 2009 Addoro for Axapta 2009 consists of two Windows Service applications that Addoro customers installs on their local

More information

<Insert Picture Here> WebLogic Scripting Tool

<Insert Picture Here> WebLogic Scripting Tool WebLogic Scripting Tool Agenda Intro to WebLogic Scripting Tool (WLST) WLST Offline WLST Online JMX Client Deployment (JSR-88) Client Miscellaneous Clients - Node Manager, JNDI, etc.

More information

Today. Review. Unix as an OS case study Intro to Shell Scripting. What is an Operating System? What are its goals? How do we evaluate it?

Today. Review. Unix as an OS case study Intro to Shell Scripting. What is an Operating System? What are its goals? How do we evaluate it? Today Unix as an OS case study Intro to Shell Scripting Make sure the computer is in Linux If not, restart, holding down ALT key Login! Posted slides contain material not explicitly covered in class 1

More information

Scripting Languages Course 1. Diana Trandabăț

Scripting Languages Course 1. Diana Trandabăț Scripting Languages Course 1 Diana Trandabăț Master in Computational Linguistics - 1 st year 2017-2018 Today s lecture Introduction to scripting languages What is a script? What is a scripting language

More information

Chapter 4. Unix Tutorial. Unix Shell

Chapter 4. Unix Tutorial. Unix Shell Chapter 4 Unix Tutorial Users and applications interact with hardware through an operating system (OS). Unix is a very basic operating system in that it has just the essentials. Many operating systems,

More information

Review of Fundamentals. Todd Kelley CST8207 Todd Kelley 1

Review of Fundamentals. Todd Kelley CST8207 Todd Kelley 1 Review of Fundamentals Todd Kelley kelleyt@algonquincollege.com CST8207 Todd Kelley 1 GPL the shell SSH (secure shell) the Course Linux Server RTFM vi general shell review 2 These notes are available on

More information

Configuring the Oracle Network Environment. Copyright 2009, Oracle. All rights reserved.

Configuring the Oracle Network Environment. Copyright 2009, Oracle. All rights reserved. Configuring the Oracle Network Environment Objectives After completing this lesson, you should be able to: Use Enterprise Manager to: Create additional listeners Create Oracle Net Service aliases Configure

More information

Infor ES Application Service Manager Administration Guide

Infor ES Application Service Manager Administration Guide Infor ES Application Service Manager Administration Guide Copyright 2016 Infor Important Notices The material contained in this publication (including any supplementary information) constitutes and contains

More information

web.xml Deployment Descriptor Elements

web.xml Deployment Descriptor Elements APPENDIX A web.xml Deployment Descriptor s The following sections describe the deployment descriptor elements defined in the web.xml schema under the root element . With Java EE annotations, the

More information

Protection! User Guide. A d m i n i s t r a t o r G u i d e. v L i c e n s i n g S e r v e r. Protect your investments with Protection!

Protection! User Guide. A d m i n i s t r a t o r G u i d e. v L i c e n s i n g S e r v e r. Protect your investments with Protection! jproductivity LLC Protect your investments with Protection! User Guide Protection! L i c e n s i n g S e r v e r v 4. 9 A d m i n i s t r a t o r G u i d e tm http://www.jproductivity.com Notice of Copyright

More information

Vi & Shell Scripting

Vi & Shell Scripting Vi & Shell Scripting Comp-206 : Introduction to Week 3 Joseph Vybihal Computer Science McGill University Announcements Sina Meraji's office hours Trottier 3rd floor open area Tuesday 1:30 2:30 PM Thursday

More information

Essentials for Scientific Computing: Bash Shell Scripting Day 3

Essentials for Scientific Computing: Bash Shell Scripting Day 3 Essentials for Scientific Computing: Bash Shell Scripting Day 3 Ershaad Ahamed TUE-CMS, JNCASR May 2012 1 Introduction In the previous sessions, you have been using basic commands in the shell. The bash

More information

DCLI User's Guide. Data Center Command-Line Interface 2.7.0

DCLI User's Guide. Data Center Command-Line Interface 2.7.0 Data Center Command-Line Interface 2.7.0 You can find the most up-to-date technical documentation on the VMware Web site at: https://docs.vmware.com/ The VMware Web site also provides the latest product

More information

Chap2: Operating-System Structures

Chap2: Operating-System Structures Chap2: Operating-System Structures Objectives: services OS provides to users, processes, and other systems structuring an operating system how operating systems are designed and customized and how they

More information

IBM. Bulk Load Utilities Guide. IBM Emptoris Contract Management SaaS

IBM. Bulk Load Utilities Guide. IBM Emptoris Contract Management SaaS IBM Emptoris Contract Management IBM Bulk Load Utilities Guide 10.1.2 SaaS IBM Emptoris Contract Management IBM Bulk Load Utilities Guide 10.1.2 SaaS ii IBM Emptoris Contract Management: Bulk Load Utilities

More information

Review of Fundamentals. Todd Kelley CST8207 Todd Kelley 1

Review of Fundamentals. Todd Kelley CST8207 Todd Kelley 1 Review of Fundamentals Todd Kelley kelleyt@algonquincollege.com CST8207 Todd Kelley 1 The CST8207 course notes GPL the shell SSH (secure shell) the Course Linux Server RTFM vi general shell review 2 Linux

More information

22-Sep CSCI 2132 Software Development Lecture 8: Shells, Processes, and Job Control. Faculty of Computer Science, Dalhousie University

22-Sep CSCI 2132 Software Development Lecture 8: Shells, Processes, and Job Control. Faculty of Computer Science, Dalhousie University Lecture 8 p.1 Faculty of Computer Science, Dalhousie University CSCI 2132 Software Development Lecture 8: Shells, Processes, and Job Control 22-Sep-2017 Location: Goldberg CS 127 Time: 14:35 15:25 Instructor:

More information

UoW HPC Quick Start. Information Technology Services University of Wollongong. ( Last updated on October 10, 2011)

UoW HPC Quick Start. Information Technology Services University of Wollongong. ( Last updated on October 10, 2011) UoW HPC Quick Start Information Technology Services University of Wollongong ( Last updated on October 10, 2011) 1 Contents 1 Logging into the HPC Cluster 3 1.1 From within the UoW campus.......................

More information

Oracle WebLogic Server

Oracle WebLogic Server Oracle WebLogic Server Node Manager Administrator s Guide 10g Release 3 (10.3) August 2008 Oracle WebLogic Server Node Manager Administrator s Guide, 10g Release 3 (10.3) Copyright 2007, 2008, Oracle and/or

More information

Orgnazition of This Part

Orgnazition of This Part Orgnazition of This Part Table of Contents Tutorial: Organization of This Part...1 Lesson 1: Starting JReport Enterprise Server and Viewing Reports...3 Introduction...3 Installing JReport Enterprise Server...3

More information

EDAConnect-Dashboard User s Guide Version 3.4.0

EDAConnect-Dashboard User s Guide Version 3.4.0 EDAConnect-Dashboard User s Guide Version 3.4.0 Oracle Part Number: E61758-02 Perception Software Company Confidential Copyright 2015 Perception Software All Rights Reserved This document contains information

More information

Kakadu and Java. David Taubman, UNSW June 3, 2003

Kakadu and Java. David Taubman, UNSW June 3, 2003 Kakadu and Java David Taubman, UNSW June 3, 2003 1 Brief Summary The Kakadu software framework is implemented in C++ using a fairly rigorous object oriented design strategy. All classes which are intended

More information

BEAWebLogic Server and WebLogic Express. Programming WebLogic JNDI

BEAWebLogic Server and WebLogic Express. Programming WebLogic JNDI BEAWebLogic Server and WebLogic Express Programming WebLogic JNDI Version 10.0 Document Revised: March 30, 2007 Contents 1. Introduction and Roadmap Document Scope and Audience.............................................

More information

Contents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version...

Contents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version... Contents Note: pay attention to where you are........................................... 1 Note: Plaintext version................................................... 1 Hello World of the Bash shell 2 Accessing

More information

Introduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines

Introduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines Introduction to UNIX Logging in Basic system architecture Getting help Intro to shell (tcsh) Basic UNIX File Maintenance Intro to emacs I/O Redirection Shell scripts Logging in most systems have graphical

More information

Cross-platform daemonization tools.

Cross-platform daemonization tools. Cross-platform daemonization tools. Release 0.1.0 Muterra, Inc Sep 14, 2017 Contents 1 What is Daemoniker? 1 1.1 Installing................................................. 1 1.2 Example usage..............................................

More information

Linux Command Line Interface. December 27, 2017

Linux Command Line Interface. December 27, 2017 Linux Command Line Interface December 27, 2017 Foreword It is supposed to be a refresher (?!) If you are familiar with UNIX/Linux/MacOS X CLI, this is going to be boring... I will not talk about editors

More information

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University Unix/Linux Basics 1 Some basics to remember Everything is case sensitive Eg., you can have two different files of the same name but different case in the same folder Console-driven (same as terminal )

More information

Lab Working with Linux Command Line

Lab Working with Linux Command Line Introduction In this lab, you will use the Linux command line to manage files and folders and perform some basic administrative tasks. Recommended Equipment A computer with a Linux OS, either installed

More information

Processes and Shells

Processes and Shells Shell ls pico httpd CPU Kernel Disk NIC Processes Processes are tasks run by you or the OS. Processes can be: shells commands programs daemons scripts Shells Processes operate in the context of a shell.

More information

Overview. Borland VisiBroker 7.0

Overview. Borland VisiBroker 7.0 Overview Borland VisiBroker 7.0 Borland Software Corporation 20450 Stevens Creek Blvd., Suite 800 Cupertino, CA 95014 USA www.borland.com Refer to the file deploy.html for a complete list of files that

More information

Import Manager Application in Compliance 360 Version 2018

Import Manager Application in Compliance 360 Version 2018 Import Manager Application in Compliance 360 Version 2018 Import Manager Application Overview 4 Enhanced Templates 4 Recommendations 5 Import Manager Application (IMA) Security 6 Imports 6 Application

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Mukesh Pund Principal Scientist, NISCAIR, New Delhi, India History In 1969, a team of developers developed a new operating system called Unix which was written using C Linus Torvalds,

More information

This chapter describes basic cadexceptions, debug, and network configuration procedures. This is a placeholder since zero is not an error.

This chapter describes basic cadexceptions, debug, and network configuration procedures. This is a placeholder since zero is not an error. CHAPTER 5 This chapter describes basic cadexceptions, debug, and network configuration procedures. Cadexceptions The following basic cadexceptions can be returned. The numbers given in the sample code

More information

This is a placeholder since 0 (zero) is not an error. No action. Not an error.

This is a placeholder since 0 (zero) is not an error. No action. Not an error. CHAPTER 5 Revised: July 2010, This chapter describes basic cadexceptions, debug actions, and network configuration procedures. Cadexceptions The following basic cadexceptions can be returned. The numbers

More information

CNIT 129S: Securing Web Applications. Ch 10: Attacking Back-End Components

CNIT 129S: Securing Web Applications. Ch 10: Attacking Back-End Components CNIT 129S: Securing Web Applications Ch 10: Attacking Back-End Components Injecting OS Commands Web server platforms often have APIs To access the filesystem, interface with other processes, and for network

More information

Performing Administrative Tasks

Performing Administrative Tasks CHAPTER 6 This section provides information about administrative tasks. It includes these topics: Stopping and Restarting the Cisco License Manager Server, page 6-1 How to Manage Users, page 6-2 Working

More information

The Command Shell. Fundamentals of Computer Science

The Command Shell. Fundamentals of Computer Science The Command Shell Fundamentals of Computer Science Outline Starting the Command Shell Locally Remote Host Directory Structure Moving around the directories Displaying File Contents Compiling and Running

More information

EMC Documentum Composer

EMC Documentum Composer EMC Documentum Composer Version 6.5 SP2 User Guide P/N 300-009-462 A01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748-9103 1-508-435-1000 www.emc.com Copyright 2008 2009 EMC Corporation. All

More information

Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: C and Unix Overview

Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: C and Unix Overview Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring 2009 Topic Notes: C and Unix Overview This course is about computer organization, but since most of our programming is

More information

Process Management! Goals of this Lecture!

Process Management! Goals of this Lecture! Process Management! 1 Goals of this Lecture! Help you learn about:" Creating new processes" Programmatically redirecting stdin, stdout, and stderr" (Appendix) communication between processes via pipes"

More information

CHAPTER 44. Java Stored Procedures

CHAPTER 44. Java Stored Procedures CHAPTER 44 Java Stored Procedures 752 Oracle Database 12c: The Complete Reference You can write stored procedures, triggers, object type methods, and functions that call Java classes. In this chapter,

More information

Your Mission: Connect to a remote Apple target(s) disk using F-Response Enterprise Edition.

Your Mission: Connect to a remote Apple target(s) disk using F-Response Enterprise Edition. Your Mission: Connect to a remote Apple target(s) disk using F-Response Enterprise Edition. Note: This guide assumes you have installed F-Response Enterprise Edition, your F-Response licensing dongle is

More information

Linux Kung Fu. Ross Ventresca UBNetDef, Fall 2017

Linux Kung Fu. Ross Ventresca UBNetDef, Fall 2017 Linux Kung Fu Ross Ventresca UBNetDef, Fall 2017 GOTO: https://apps.ubnetdef.org/ What is Linux? Linux generally refers to a group of Unix-like free and open source operating system distributions built

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

Dell EMC ME4 Series vsphere Client Plug-in

Dell EMC ME4 Series vsphere Client Plug-in Dell EMC ME4 Series vsphere Client Plug-in User's Guide Regulatory Model: E09J, E10J, E11J Regulatory Type: E09J001, E10J001, E11J001 Notes, cautions, and warnings NOTE: A NOTE indicates important information

More information

Configuring Databases

Configuring Databases CHAPTER 6 This module describes how to configure the Cisco Service Control Management Suite (SCMS) Collection Manager (CM) to work with your database, and how to use the database infrastructure of the

More information

JSON Support for Junos OS

JSON Support for Junos OS JSON Support for Junos OS 1 Introduction: Java Script Object Notation alias JSON a light weight data exchange format is being extensively used for data exchange between web application and servers. With

More information

Operating System Interaction via bash

Operating System Interaction via bash Operating System Interaction via bash bash, or the Bourne-Again Shell, is a popular operating system shell that is used by many platforms bash uses the command line interaction style generally accepted

More information

Parallel Programming Pre-Assignment. Setting up the Software Environment

Parallel Programming Pre-Assignment. Setting up the Software Environment Parallel Programming Pre-Assignment Setting up the Software Environment Authors: B. Wilkinson and C. Ferner. Modification date: Aug 21, 2014 (Minor correction Aug 27, 2014.) Software The purpose of this

More information

Real Application Security Administration

Real Application Security Administration Oracle Database Real Application Security Administration Console (RASADM) User s Guide 12c Release 2 (12.2) E85615-01 June 2017 Real Application Security Administration Oracle Database Real Application

More information

Unix Tutorial Haverford Astronomy 2014/2015

Unix Tutorial Haverford Astronomy 2014/2015 Unix Tutorial Haverford Astronomy 2014/2015 Overview of Haverford astronomy computing resources This tutorial is intended for use on computers running the Linux operating system, including those in the

More information

Linux Systems Administration Getting Started with Linux

Linux Systems Administration Getting Started with Linux Linux Systems Administration Getting Started with Linux Network Startup Resource Center www.nsrc.org These materials are licensed under the Creative Commons Attribution-NonCommercial 4.0 International

More information

Migrating IONA Orbix 3 Applications

Migrating IONA Orbix 3 Applications Migrating IONA Orbix 3 Applications Contrasting the migration path of Orbix 3 applications to Orbix 2000 and to Borland Enterprise Server, VisiBroker Edition by Will Edwards, Senior Consultant, The New

More information

02/03/15. Compile, execute, debugging THE ECLIPSE PLATFORM. Blanks'distribu.on' Ques+ons'with'no'answer' 10" 9" 8" No."of"students"vs."no.

02/03/15. Compile, execute, debugging THE ECLIPSE PLATFORM. Blanks'distribu.on' Ques+ons'with'no'answer' 10 9 8 No.ofstudentsvs.no. Compile, execute, debugging THE ECLIPSE PLATFORM 30" Ques+ons'with'no'answer' What"is"the"goal"of"compila5on?" 25" What"is"the"java"command"for" compiling"a"piece"of"code?" What"is"the"output"of"compila5on?"

More information

Viewtier Parabuild 4.3. Installation Guide

Viewtier Parabuild 4.3. Installation Guide Viewtier Parabuild 4.3 Installation Guide Viewtier Parabuild 4.3: Installation Guide Copyright 2004-2016 Viewtier Systems Table of Contents Preface... vi About This Manual... vi Audience... vi Technical

More information

CENG 334 Computer Networks. Laboratory I Linux Tutorial

CENG 334 Computer Networks. Laboratory I Linux Tutorial CENG 334 Computer Networks Laboratory I Linux Tutorial Contents 1. Logging In and Starting Session 2. Using Commands 1. Basic Commands 2. Working With Files and Directories 3. Permission Bits 3. Introduction

More information

Command-driven, event-driven, and web-based software

Command-driven, event-driven, and web-based software David Keil Spring 2009 Framingham State College Command-driven, event-driven, and web-based software Web pages appear to users as graphical, interactive applications. Their graphical and interactive features

More information

Addoro Local 3.0. Installation and Configuration

Addoro Local 3.0. Installation and Configuration Addoro Local 3.0 Installation and Configuration Overview of Addoro Local Addoro Local consists of two Windows Service applications that Addoro customers installs on their local network. Addoro Local Print

More information

5/20/2007. Touring Essential Programs

5/20/2007. Touring Essential Programs Touring Essential Programs Employing fundamental utilities. Managing input and output. Using special characters in the command-line. Managing user environment. Surveying elements of a functioning system.

More information

Bash Programming. Student Workbook

Bash Programming. Student Workbook Student Workbook Bash Programming Published by ITCourseware, LLC, 7245 South Havana Street, Suite 100, Englewood, CO 80112 Contributing Authors: Julie Johnson, Rob Roselius Editor: Jeff Howell Special

More information

Software Installation - Accessing Linux and Checking your Environmental Variables

Software Installation - Accessing Linux and Checking your Environmental Variables Accessing Linux and Checking your Environmental Although you may be fortunate enough to have a powerful multi-processor desktop running Linux, most of our sponsors do not. Most of our sponsors will have

More information

Management Tools. Management Tools. About the Management GUI. About the CLI. This chapter contains the following sections:

Management Tools. Management Tools. About the Management GUI. About the CLI. This chapter contains the following sections: This chapter contains the following sections:, page 1 About the Management GUI, page 1 About the CLI, page 1 User Login Menu Options, page 2 Customizing the GUI and CLI Banners, page 3 REST API, page 3

More information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition Chapter 2: Operating-System Structures Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

Pace University. Fundamental Concepts of CS121 1

Pace University. Fundamental Concepts of CS121 1 Pace University Fundamental Concepts of CS121 1 Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University October 12, 2005 This document complements my tutorial Introduction

More information

SAS 9.2 Foundation Services. Administrator s Guide

SAS 9.2 Foundation Services. Administrator s Guide SAS 9.2 Foundation Services Administrator s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2009. SAS 9.2 Foundation Services: Administrator s Guide. Cary, NC:

More information

System Programming. Introduction to Unix

System Programming. Introduction to Unix Content : by Dr. B. Boufama School of Computer Science University of Windsor Instructor: Dr. A. Habed adlane@cs.uwindsor.ca http://cs.uwindsor.ca/ adlane/60-256 Content Content 1 Introduction 2 3 Introduction

More information

Quick KVM 1.1. User s Guide. ClearCube Technology, Inc.

Quick KVM 1.1. User s Guide. ClearCube Technology, Inc. Quick KVM 1.1 User s Guide ClearCube Technology, Inc. Copyright 2005, ClearCube Technology, Inc. All rights reserved. Under copyright laws, this publication may not be reproduced or transmitted in any

More information

BEAWebLogic Server. Introduction to BEA WebLogic Server and BEA WebLogic Express

BEAWebLogic Server. Introduction to BEA WebLogic Server and BEA WebLogic Express BEAWebLogic Server Introduction to BEA WebLogic Server and BEA WebLogic Express Version 10.0 Revised: March, 2007 Contents 1. Introduction to BEA WebLogic Server and BEA WebLogic Express The WebLogic

More information

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved. Java How to Program, 10/e Education, Inc. All Rights Reserved. Each class you create becomes a new type that can be used to declare variables and create objects. You can declare new classes as needed;

More information

Test/Debug Guide. Reference Pages. Test/Debug Guide. Site Map Index

Test/Debug Guide. Reference Pages. Test/Debug Guide. Site Map Index Site Map Index HomeInstallationStartAuthoringStreamSQLTest/DebugAPI GuideAdminAdaptersSamplesStudio GuideReferences Current Location: Home > Test/Debug Guide Test/Debug Guide The following topics explain

More information

Chapter 2. Operating-System Structures

Chapter 2. Operating-System Structures Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

IBM VisualAge for Java,Version3.5. Distributed Debugger for Workstations

IBM VisualAge for Java,Version3.5. Distributed Debugger for Workstations IBM VisualAge for Java,Version3.5 Distributed Debugger for Workstations Note! Before using this information and the product it supports, be sure to read the general information under Notices. Edition notice

More information

Upgrade Tool Guide. July

Upgrade Tool Guide. July Upgrade Tool Guide July 2015 http://www.liveaction.com 4.X to 5.0 The Upgrade Guide from 4.X to 5.0 consists of three parts: Upgrading the LiveAction Server Upgrading the LiveAction Node Upgrading the

More information

Fishnet Assignment 1: Distance Vector Routing Due: May 13, 2002.

Fishnet Assignment 1: Distance Vector Routing Due: May 13, 2002. Fishnet Assignment 1: Distance Vector Routing Due: May 13, 2002. In this assignment, you will work in teams of one to four (try to form you own group; if you can t find one, you can either work alone,

More information

Simplest version of DayOfYear

Simplest version of DayOfYear Reminder from last week: Simplest version of DayOfYear class DayOfYear { public: void output(); int month; int day; }; Like a struct with an added method All parts public Clients access month, day directly

More information

A Short Summary of Javali

A Short Summary of Javali A Short Summary of Javali October 15, 2015 1 Introduction Javali is a simple language based on ideas found in languages like C++ or Java. Its purpose is to serve as the source language for a simple compiler

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Quick Installation Guide for Oracle Identity Management 11g Release 1 (11.1.1) E10033-01 May 2009 This guide is designed to help you quickly install the most common Oracle Identity

More information

$ /path/to/python /path/to/soardoc/src/soardoc.py

$ /path/to/python /path/to/soardoc/src/soardoc.py SoarDoc User s Manual Dave Ray ray@soartech.com October 16, 2003 Introduction SoarDoc is an embedded metadata documentation format and tool for Soar. This format facilitates the automatic generation of

More information

Agent Interaction SDK Java Developer Guide. About the Code Examples

Agent Interaction SDK Java Developer Guide. About the Code Examples Agent Interaction SDK Java Developer Guide About the Code Examples 2/25/2018 Contents 1 About the Code Examples 1.1 Setup for Development 1.2 Application Development Design 1.3 Application Essentials Agent

More information

Midterm Exam CPS 210: Operating Systems Spring 2013

Midterm Exam CPS 210: Operating Systems Spring 2013 Your name: Sign for your honor: Midterm Exam CPS 210: Operating Systems Spring 2013 The last page of this exam is a list of terms used in this class, and whose meanings you should know. You may detach

More information

GEL Scripts Advanced. Your Guides: Ben Rimmasch, Yogesh Renapure

GEL Scripts Advanced. Your Guides: Ben Rimmasch, Yogesh Renapure GEL Scripts Advanced Your Guides: Ben Rimmasch, Yogesh Renapure Introductions 2 Take 5 Minutes Turn to a Person Near You Introduce Yourself Agenda 3 Accessing JAVA Classes and Methods SOAP Web Services

More information

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

Oracle Database. Installation and Configuration of Real Application Security Administration (RASADM) Prerequisites

Oracle Database. Installation and Configuration of Real Application Security Administration (RASADM) Prerequisites Oracle Database Real Application Security Administration 12c Release 1 (12.1) E61899-04 May 2015 Oracle Database Real Application Security Administration (RASADM) lets you create Real Application Security

More information

12/22/11. Java How to Program, 9/e. public must be stored in a file that has the same name as the class and ends with the.java file-name extension.

12/22/11. Java How to Program, 9/e. public must be stored in a file that has the same name as the class and ends with the.java file-name extension. Java How to Program, 9/e Education, Inc. All Rights Reserved. } Covered in this chapter Classes Objects Methods Parameters double primitive type } Create a new class (GradeBook) } Use it to create an object.

More information

Linux Essentials. Smith, Roderick W. Table of Contents ISBN-13: Introduction xvii. Chapter 1 Selecting an Operating System 1

Linux Essentials. Smith, Roderick W. Table of Contents ISBN-13: Introduction xvii. Chapter 1 Selecting an Operating System 1 Linux Essentials Smith, Roderick W. ISBN-13: 9781118106792 Table of Contents Introduction xvii Chapter 1 Selecting an Operating System 1 What Is an OS? 1 What Is a Kernel? 1 What Else Identifies an OS?

More information

Cassandra Installation and Configuration Guide. Installation

Cassandra Installation and Configuration Guide. Installation Cassandra Installation and Configuration Guide Installation 6/18/2018 Contents 1 Installation 1.1 Step 1: Downloading and Setting Environmental Variables 1.2 Step 2: Edit configuration files 1.3 Step 3:

More information

Electrical System Functional Definition

Electrical System Functional Definition Electrical System Functional Definition Overview Conventions What's New? Getting Started Creating a New System Creating Equipment Creating Connectors Creating a Signal Connecting Saving Your System User

More information