[z/OS][AIX Solaris HP-UX Linux Windows]

workclassoperations.py script

You can use the workclassoperations.py script to create, update, and manage work classes.

Purpose

You can complete the following actions with the workclassoperations.py script:
  • Create and update work classes for enterprise applications and generic server clusters.
  • List the rules in work classes.
  • List the members of work classes.
  • Delete work classes for the various policies and communication protocols.
  • Set default actions.
  • Modify default actions.
  • Fetch default actions.
  • Add rules.
  • Delete rules.
  • Delete members.

Location

The workclassoperations.py script is in the app_server_root/bin directory.

Usage

The script usage for general help follows:
./wsadmin.sh -lang jython -f workclassoperations.py
The script usage for operation-specific help follows:
./wsadmin.sh -lang jython -f workclassoperations.py operation --help
Depending on where you are issuing the command, you might have to specify the path to the workclassoperation.py script. For example, you create a profile named Dmgr01 located in the c:\app_server_root\profiles\Dmgr01\bin directory.
./wsadmin.sh -lang jython -f ../../../bin/workclassoperations.py
Note that if the deployment manager is not started, you must include the additional parameter -conntype NONE:
./wsadmin.sh -lang jython -conntype NONE workclassoperations.py 

Operations

listWorkClasses
Lists work classes by type. The format of listing is workclassname type appname/odrname deploymentname
  • --type: Specifies the type of work class to list:
    • ASP: application service policy
    • ARP: application routing policy
    • GSP: generic server service policy
    • GRP: generic server routing policy
  • --appname: Specifies the name of the application. Required if you specify the --type parameter as ASP or ARP.
  • --odrname: Specifies the name of the on demand router (ODR). Required if you specify the --type parameter as GSP or GRP.
createWorkClass
Creates a work class. The new service policy does not contain any application modules or classification rules. You must create and associate application modules and classification rules separately.
  • :
    • --type: Specifies the type of work class to list:
      • ASP: application service policy
      • ARP: application routing policy
      • GSP: generic server service policy
      • GRP: generic server routing policy
    • --appname: Specifies the name of the application. Required if you specify the --type parameter as ASP or ARP.
    • --odrname: Specifies the name of the on demand router (ODR). Required if you specify the --type parameter as GSP or GRP.
    • --nodename: Specifies the name of the node. Required if you specify the --type parameter as GSP or GRP.
    • --wcname: Specifies the unique name for the work class within the specified type.
    • --protocol: Specifies the communications protocol that transmits the request. Currently supported protocols are HTTP, IIOP, SOAP, and JMS.
    • --wcaction: Specifies the default action to take when a request is matched to a member for the specified work class.
    • --module: Specifies the application module to associate members. Required if you specify the --appname and --members parameters.
    • --members: Specifies the protocol-specific pattern:
      • HTTP: /test1?/test2/*
      • IIOP: ejbName:ejbMethod?ejbName:ejbMethod
      • SOAP: webService:operationName?webService:operationName
      • JMS: bus:destination?bus:destination
    • --rule: Specifies a classification rule in the format of "priority?rule?action"
    • --virtualhost: Specifies the virtual host. Required if you specify the --type parameter as GSP or GRP.
  • removeWorkClass: Removes a work class.
    • --type: Specifies the type of work class to remove:
      • ASP: application service policy
      • ARP: application routing policy
      • GSP: generic server service policy
      • GRP: generic server routing policy
    • --appname: Specifies the name of the application. Required if you specify the --type parameter as ASP or ARP.
    • --odrname: Specifies the name of the on demand router (ODR). Required if you specify the --type parameter as GSP or GRP.
    • --wcname: Specifies the unique name for the work class within the specified type.
  • addMembers: Adds members to a work class. The ODR uses the new member to match incoming requests.
    • --type: Specifies the type of work class to remove:
      • ASP: application service policy
      • ARP: application routing policy
      • GSP: generic server service policy
      • GRP: generic server routing policy
    • --appname: Specifies the name of the application. Required if you specify the --type parameter as ASP or ARP.
    • --odrname: Specifies the name of the on demand router (ODR). Required if you specify the --type parameter as GSP or GRP.
    • --wcname: Specifies the unique name for the work class within the specified type.
    • --protocol: Specifies the communications protocol that transmits the request. Currently supported protocols are HTTP, IIOP, SOAP, and JMS.
    • --module: Specifies the application module to associate members. Required if you specify the --appname and --members parameters.
    • --members: Specifies the protocol-specific pattern:
      • HTTP: /test1?/test2/*
      • IIOP: ejbName:ejbMethod?ejbName:ejbMethod
      • SOAP: webService:operationName?webService:operationName
      • JMS: bus:destination?bus:destination
    • --ejbname: Specifies the name of the EJB. Required only when you specify the --protocol parameter as JMS and the --module parameter as IIOP.
  • removeMembers: Removes members from a work class. The member is no longer used by the ODR.
    • --type: Specifies the type of work class to modify:
      • ASP: application service policy
      • ARP: application routing policy
      • GSP: generic server service policy
      • GRP: generic server routing policy
    • --appname: Specifies the name of the application. Required if you specify the --type parameter as ASP or ARP.
    • --odrname: Specifies the name of the on demand router (ODR). Required if you specify the --type parameter as GSP or GRP.
    • --wcname: Specifies the unique name for the work class within the specified type.
    • --protocol: Specifies the communications protocol that transmits the request. Currently supported protocols are HTTP, IIOP, SOAP, and JMS.
    • --module: Specifies the application module from which to disassociate members. Required if you specify the --appname and --members parameters.
    • --members: Specifies the protocol-specific pattern:
      • HTTP: /test1?/test2/*
      • IIOP: ejbName:ejbMethod?ejbName:ejbMethod
      • SOAP: webService:operationName?webService:operationName
      • JMS: bus:destination?bus:destination
  • listMembers: Lists members of a work class.
    • --type: Specifies the type of work class to list:
      • ASP: application service policy
      • ARP: application routing policy
      • GSP: generic server service policy
      • GRP: generic server routing policy
    • --appname: Specifies the name of the application. Required if you specify the --type parameter as ASP or ARP.
    • --odrname: Specifies the name of the on demand router (ODR). Required if you specify the --type parameter as GSP or GRP.
    • --nodename: Specifies the name of the node. Required if you specify the --type parameter as GSP or GRP.
    • --wcname: Specifies the unique name for the work class within the specified type.
    • --protocol: Specifies the communications protocol that transmits the request. Currently supported protocols are HTTP, IIOP, SOAP, and JMS.
  • addRules: Adds a classification rule that is used by the ODR to a work class. If you issue the command with the like wildcard '%' on UNIX operating systems, replace the escape sequence (\%%) with (\%).
    • --type: Specifies the type of work class to modify:
      • ASP: application service policy
      • ARP: application routing policy
      • GSP: generic server service policy
      • GRP: generic server routing policy
    • --appname: Specifies the name of the application. Required if you specify the --type parameter as ASP or ARP.
    • --odrname: Specifies the name of the on demand router (ODR). Required if you specify the --type parameter as GSP or GRP.
    • --nodename: Specifies the name of the node. Required if you specify the --type parameter as GSP or GRP.
    • --wcname: Specifies the unique name for the work class within the specified type.
    • --rule: Specifies a classification rule in the format of "priority?rule?action"
  • removeRule: Removes a classification rule from a work class. The rule is no longer used by the ODR.
    • --type: Specifies the type of work class to modify:
      • ASP: application service policy
      • ARP: application routing policy
      • GSP: generic server service policy
      • GRP: generic server routing policy
    • --appname: Specifies the name of the application. Required if you specify the --type parameter as ASP or ARP.
    • --odrname: Specifies the name of the on demand router (ODR). Required if you specify the --type parameter as GSP or GRP.
    • --wcname: Specifies the unique name for the work class within the specified type.
    • --expression: Specifies the rule expression.
    • --priority: Specifies the priority of the rule to match. The rule with the lowest priority is matched first.
  • listRules: Lists classification rules.
    • --type: Specifies the type of work class to modify:
      • ASP: application service policy
      • ARP: application routing policy
      • GSP: generic server service policy
      • GRP: generic server routing policy
    • --appname: Specifies the name of the application. Required if you specify the --type parameter as ASP or ARP.
    • --odrname: Specifies the name of the on demand router (ODR). Required if you specify the --type parameter as GSP or GRP.
    • --wcname: Specifies the unique name for the work class within the specified type.
  • modifyDefaultAction: Edits the default action for a work class.
    • --type: Specifies the type of work class to modify:
      • ASP: application service policy
      • ARP: application routing policy
      • GSP: generic server service policy
      • GRP: generic server routing policy
    • --appname: Specifies the name of the application. Required if you specify the --type parameter as ASP or ARP.
    • --odrname: Specifies the name of the on demand router (ODR). Required if you specify the --type parameter as GSP or GRP.
    • --wcname: Specifies the unique name for the work class within the specified type.
    • --wcaction: Specifies the default action to take when a request is matched to a member for the specified work class.
  • getDefaultAction: Specifies the default action for a work class.
    • --type: Specifies the type of work class to list:
      • ASP: application service policy
      • ARP: application routing policy
      • GSP: generic server service policy
      • GRP: generic server routing policy
    • --appname: Specifies the name of the application. Required if you specify the --type parameter as ASP or ARP.
    • --odrname: Specifies the name of the on demand router (ODR). Required if you specify the --type parameter as GSP or GRP.
    • --wcname: Specifies the unique name for the work class within the specified type.
  • modifyVirtualHost: Edits the virtual host for a work class.
    • --type: Specifies the type of work class to modify. The valid types are GSP and GRP.
    • --odrname: Specifies the name of the on demand router (ODR). Required if you specify the --type parameter as GSP or GRP.
    • --wcname: Specifies the unique name for the work class within the specified type.
    • --virtualhost: Specifies the virtual host. Required if you specify the --type parameter as GSP or GRP.
  • getVirtualHost: Lists the virtual host for a work class.
    • --type: Specifies the type of work class to list. The valid types are GSP and GRP.
    • --odrname: Specifies the name of the on demand router (ODR). Required if you specify the --type parameter as GSP or GRP.
    • --wcname: Specifies the unique name for the work class within the specified type.

Example

List all work classes:
./wsadmin.sh -lang jython -f workclassoperations.py listWorkClasses
List all work classes for application Trade:
./wsadmin.sh -lang jython -f workclassoperations.py listWorkClasses 
--appname Trade
Create a HTTP application routing policy work class for application Trade with a default action of reject and reject code of 404:
./wsadmin.sh -lang jython -f workclassoperations.py createWorkClass 
--type ARP --wcname CustomWorkClass --protocol HTTP --wcaction "reject?404" --appname Trade 
--module myModule.war --members "/test1?/test2"
List all routing policy work classes for application Trade:
./wsadmin.sh -lang jython -f workclassoperations.py listWorkClasses 
--type ARP --appname Trade
View the default action of a HTTP application routing policy work class for application Trade:
./wsadmin.sh -lang jython -f workclassoperations.py getDefaultAction 
--type ARP --wcname CustomWorkClass --appname Trade
Modify the default action to Default_TC in a HTTP application service policy work class for application Trade-edition1.0:
./wsadmin.sh -lang jython -f workclassoperations.py modifyDefaultAction --type ASP --wcname Default_HTTP_WC 
--wcaction Default_TC --appname Trade-edition1.0
Map the default HTTP work class of edition 1.2 of the DayTrader application to the default transaction class for the service policy GOLD:
import java.lang.System as System

wasinstallroot=System.getProperty("was.install.root")
execfile(wasinstallroot+"/bin/IMPPYModules.py")
import java.lang.System as System

wasinstallroot=System.getProperty("was.install.root")
execfile(wasinstallroot+"/bin/IMPPYModules.py")

#application with name DayTrader installed with edition 1.2
appName="DayTrader-edition1.2"
#Default_TC_GOLD is the default transaction class mapped to service policy GOLD
modifyAppSLADefaultAction("Default_HTTP_WC", appName, tcName, 0)

AdminConfig.save()
For transitioning users: The WebSphere® Virtual Enterprise command that equates to IMPPYModules.py is XDPYModules.py. If you are making the transition from WebSphere Virtual Enterprise, you can continue to use the XDPYModules.py command, which operates the same as the IMPPYModules.py command.
Add a classification rule to the application service policy work class for application Trade:
./wsadmin.sh -lang jython -f workclassoperations.py addRules --wcname CustomWorkClass 
--appname Trade --type ARP --rule "1?clienthost=\'localhost\' and serverhost like \'\%%.ibm.com\'?permit?Trade"
Remove a classification rule by priority from the application service policy work class for application Trade:
./wsadmin.sh -lang jython -f workclassoperations.py removeRule --wcname 
CustomWorkClass --appname Trade --type ARP --priority 1
Remove a HTTP application routing policy work class for application Trade:
./wsadmin.sh -lang jython -f workclassoperations.py removeWorkClass --type ARP 
--wcname CustomWorkClass --appname Trade