Creating a server using scripting

Use the commands in the ServerManagement command group for the AdminTask object or the AdminServerManagement script library to create a new application server, web server, proxy server, or generic server.

Before you begin

There are three ways to complete this task. This topic uses the AdminConfig object and the commands for the AdminTask object to create a new server configuration. Alternatively, you can use the scripts in the AdminServerManagement script library to create an application server, web server, proxy server, or generic server.

Procedure

  1. Start the wsadmin scripting tool.
  2. Obtain the configuration ID of the node object.

    The following examples obtain the configuration ID of the node object and assign it to the node variable. In these examples, node_name is the name of the node to which you are adding the new server, server_name is the name of the server you are creating, template_name is the name of the template you want used to create the server. The AdminTask.createApplicationServer() command requires you to specify a node name. The node name must be enclosed within single quotation marks. The AdminConfig.create() command requires you to specify the configuration ID of the node object. If you do not know the configuration ID, run the AdminConfig.getid('/Node:node_name') command to obtain that information.

    • Using Jacl:
      set node [$AdminConfig getid /Node:node_name/]
    • Using Jython:
      node = AdminConfig.getid('/Node:node_name/')
      To display the configuration ID of the node object, run the following command:
      print node
  3. Determine whether to use the AdminConfig or AdminTask object to create the server.
  4. Create the server.
    Avoid trouble: A server name can not contain a blank character.
    • The following example uses the commands for the AdminTask object to create a server:
      Using the AdminTask object:
      • Using Jacl:

        $AdminTask createApplicationServer node_name 
        {-name server_name -templateName template_name}
      • Using Jython:

        AdminTask.createApplicationServer('node_name', 
        ['-name', 'server_name', '-templateName', 'template_name'])
    • The following example uses the AdminConfig object to create a server. In these examples, node is the node variable to which the configuration ID of the node object is assigned.
      Using the AdminConfig object:
      • Using Jacl:

        $AdminConfig create Server $node {{name server_name}}
      • Using Jython:

        AdminConfig.create('Server', node, ['name', 'server_name'])
  5. Save the configuration changes.
    Use the following command example to save your configuration changes:
    AdminConfig.save()
  6. In a network deployment environment only, synchronize the node.
    Use the syncActiveNode or syncNode scripts in the AdminNodeManagement script library to propagate the configuration changes to node or nodes.
    • Use the syncActiveNodes script to propagate the changes to each node in the cell, as the following example demonstrates:
      AdminNodeManagement.syncActiveNodes()
    • Use the syncNode script to propagate the changes to a specific node, as the following example demonstrates:
      AdminNodeManagement.syncNode("myNode")