# Wsadmin

The wsadmin tool is a command shell for the purpose of performing systems administration on all the artifacts in an IBM WebSphere Application Server (WAS) cell. It gets its name from the name of the shell script that invokes this command shell. This command shell can execute connected to a WAS cell or completely disconnected from a WAS cell (local mode). The wsadmin tool can be used to execute scripts written in Jacl and Jython, or it can be used interactively to execute individual commands. These scripts and commands perform administrative tasks like application deployment, configuration changes and run-time monitoring and control of IBM WAS.

## History of WebSphere Application Server command shells

The wscp stands for WebSphere Control Program. It was used in older versions of WAS like Version 4.0 and Version 3.5. The wsadmin command shell replaced wscp in WebSphere Application Server Version 5.0 and all subsequent versions. It can perform almost all of the tasks which can be done through the browser based administrative console, and it can perform some tasks that the administrative console cannot do.

## Two Modes of wsadmin

The wsadmin could be operated by two modes; a Remote mode and a Local mode.
* Use: The Remote mode is used when IBM WAS's Deployment Manager (Dmgr) is running. The Local Mode is used when the server is in down status.
* How to enable: The Remote mode is connected through TCP network connection while the Local mode does not need TCP connection.
* Advantages:
** Remote mode: It can be accessed from the same or other LPAR. Two Remote mode clients will never face conflict. Their respective changes will be intellectually handled by the IBM WAS.
** Local mode: It would not have any problems related to SSL certificates. It can work even when the server is down.
* Disadvantages:
** Remote mode: The IBM WAS must not be in down status. There may be an issue of SSL certifications conflict.
** Local mode: It will not work efficiently with multiple access because in the multiple access through Local mode the synchronization of changes may create a serious issue. The Local mode is weaker than Remote mode in respect of the security.

## Scripting languages: Jacl and Jython

The wsadmin supports Jacl (an alternate implementation of TCL written in Java) and Jython (Java, Python) scripting languages. The choice of Jacl or Jython may depend on the programmer's comfort level. The Java/Java EE or C programmer may be more comfortable with Jython whereas Tcl experts may prefer Jacl. Though the script syntax is different, Jacl and Jython are equally powerful. The IBM Jacl to Jython Conversion Assistant program is used to convert wsadmin Jacl scripts into Jython.

### Basic difference between Jacl and Jython syntaxes

Here, five basic commands (for getting help for the relevant objects) are written in their particular syntaxes. The case-sensitiveness in the scripting must be the crucial thing to be taken care of.
| Jacl | Jython |
| puts $Help help | print Help.help |
| puts $AdminConfig help | print AdminConfig.help |
| puts $AdminTask help | print AdminTask.help |
| puts $AdminControl help | print AdminControl.help |
| puts $AdminApp help | print AdminApp.help |