This topic applies only on the z/OS operating system.

Classifying z/OS workload

You can use a common workload classification document to classify inbound HTTP, IIOP, and message-driven bean (MDB) work requests for the z/OS® workload manager.

Before you begin

You should use workload management on a z/OS system. See Workload management (WLM) for z/OS® for more information.

About this task

A workload classification document file is an XML file in which you classify incoming HTTP, IIOP, and message-driven bean (MDB) work requests and assign them to a transaction class (TCLASS). The TCLASS value, if it is assigned, is passed to the MVS™ Workload Manager. WLM uses the TCLASS value to classify the inbound work requests and to assign a service class or a report service class to each request.

The common workload classification document is the method you should use to classify work requests in a z/OS environment. Support for other WebSphere® Application Server mechanisms for classifying work in a z/OS environment is deprecated and you should no longer use those mechanisms.

If you want to classify work for message-driven beans deployed against JCA 1.5 resources with the default messaging provider, or you want to classify mediation work for use with service integration buses, you need to define a Classification element that uses SibClassification elements. You must also perform z/OS Workload Manager actions that are required to use the TCLASS value "SIBUS". If you replace any listener port with a JMS activation specification for use by MDB applications with the Version 6 default messaging provider, you should replace any related InboundClassification type="mdb" classifications with SibClassifications type="jmsra" classifications.

If you want to classify work for message-driven beans deployed against a WebSphere MQ messaging provider activation specification, you need to define a Classification element that uses WMQRAClassification elements. You must also perform z/OS Workload Manager actions that are required to use the TCLASS value "WMQRA". If you replace any listener port with a JMS activation specification for use by MDB applications with the WebSphere MQ messaging provider, you should replace any related InboundClassification type="mdb" classifications with WMQRAClassification classifications.

Procedure

  1. Develop the workload classification document. Use the information in the article,Workload classification file. Also see the sample of the workload classification document and the DTD at the end of this topic.
  2. If you create the document on a z/OS system in codepage IBM-1047, the normal codepage for files that exist in the HFS, you must convert the file to ASCII before you use the file. Use one of the following options to convert a working document into a document that can be used by the server:
    • native2ascii
      This is a utility in the Java™ SDK that can convert a file from the native codepage to the ASCII codepage. For example, if you are working on an XML document called x5sr02.classification.ebcdic.xml and you want to create a document called x5sr02.classification.xml, use the following command:
      /u/userid -> native2ascii \
      x5sr02.classification.ebcdic.xml > x5sr02.classification.xml
      The command line is split with the backslash (\) character to the next line for publication purposes.
    • iconv
      This is a z/OS utility that can convert files from one designated codepage to a different designated codepage. For example, if you are working on an XML document called x5sr02.classification.ebcdic.xml and you want to create a document called x5sr02.classification.xml, use the following command:
      /u/userid -> iconv -f IBM-1047 -t UTF-8 \
      x5sr02.classification.ebcdic.xml >x5sr02.classification.xml
      The command line is split with the backslash (\) character to the next line for publication purposes.
    • Create the document on your workstation and then FTP the file to the correct location on the z/OS system in binary format. By using this option, you can also create the Classification.dtd file in the same directory as the workload classification document. Then, you can perform an XML validity check on the document before installing it on a server. Use any type of validating parser, for example, you can use WebSphere Application Developer workbench to construct and validate the workload classification document.
  3. Specify the location of the workload classification document in the administrative console. Use the wlm_classification_file variable to specify the XML file that contains the classification information. In the administrative console, click Environment > WebSphere variables > New. You can set the variable at cell, node, or server instance level. If you specify the variable at the cell or node level, the information must be accessible and applicable to all the servers that inherit the specification from the node or cell.
  4. You must perform z/OS Workload Manager actions that are required to use the TCLASS values. Each TCLASS must be assigned a service class, report service class, or both to the enclave under which the work runs. The CB classification rules must be updated.

    If you want to classify work for message-driven beans deployed against JCA 1.5 resources with the default messaging provider, or you want to classify mediation work for use with service integration buses, you need to perform z/OS Workload Manager actions that are required to use the TCLASS value "SIBUS".

    Transaction classes are used as sub-rules in establishing service classes and transaction. The TCLASS values are not used as level one rules. If you decide to use TCLASS as a level one rule rather than a sub-rule, you must be careful in ordering the rules. The first level one rule that applies to the work is used, so more specific rules should be first, followed by the broad rules.

    For example, consider the following two examples of CB classification rules:
    Subsystem-Type Xref Notes® Options Help
    --------------------------------------------------------------------------
    Modify Rules for the Subsystem Type Row 1 to 17 of 17
    Command ===> ____________________________________________ SCROLL ===> CSR
    Subsystem Type . : CB Fold qualifier names? Y (Y or N)
    Description . . . CB Class'n w/WLM Trans. CLASSes
    Action codes: A=After C=Copy M=Move I=Insert rule
    B=Before D=Delete row R=Repeat IS=Insert Sub-rule
    More ===>
           --------Qualifier--------               -------Class--------
    Action   Type   Name   Start                       Service Report
    																		DEFAULTS:  CBCLASS RWASDEF
    ____ 1 	CN  P5SR01* 	1                         CBCLASS RTP5CLUS
    ____ 1 	TC      A0     ___                        CBHUTCH RP5A0
    ____ 1 	TC      A1     ___                        CBHUTCH RP5A1
    ____ 1 	TC      A1B    ___                        CBHUTCH RP5A1B
    ____ 1 	CN    WSIVP2*  ___                        CBSLOW  RWSIVP
    ____ 1 	CN    T%SERV*  1                          CBFAST  RTSMIGT
    ____ 1 	CN      B4*    ___                        CBFAST ________
    In the preceding example, the TCLASS assignments that are made for enclaves running in the server P5SR01x are never used by the workload manager. When the following rule is run, no further searching of the classification table is done:
    ____ 1 	CN   	P5SR01* 	1 												CBCLASS 
    The TCLASS assignments are not used. All of the enclaves that run in the P5SR01x servers are assigned to the CBCLASS service class and the RTP5CLUS report service class.
    Subsystem-Type Xref Notes Options Help
    --------------------------------------------------------------------------
    Modify Rules for the Subsystem Type Row 1 to 17 of 17
    Command ===> ____________________________________________ SCROLL ===> CSR
    Subsystem Type . : CB Fold qualifier names? Y (Y or N)
    Description . . . CB Class'n w/WLM Trans. CLASSes
    Action codes: A=After C=Copy M=Move I=Insert rule
    B=Before D=Delete row R=Repeat IS=Insert Sub-rule
    More ===>
             --------Qualifier--------            -------Class--------
    Action   Type    Name    Start                Service       Report
                                        DEFAULTS: CBCLASS       RWASDEF
    ____ 1   TC      A0     ___                CBHUTCH      RP5A0
    ____ 1   TC       A1       ___                CBHUTCH      RP5A1
    ____ 1 	 TC      A1B      ___                CBHUTCH      RP5A1B
    ____ 1 	CN     P5SR01*     1                 CBCLASS      RTP5CLUS
    ____ 1   CN     WSIVP2*    ___                CBSLOW       RWSIVP
    ____ 1   CN     T%SERV*     1                 CBFAST       RTSMIGT
    ____ 1   CN       B4*      ___                CBFAST       ________
    In the preceding example, if a TCLASS value of A0, A1, or A1B are provided in the classification, they are used regardless of which server is running the work. In this case, the server name is used only if these three TCLASS values are not present.
  5. Restart the application server to implement any changes to the file. If the workload classification document is not a well formed, valid XML document it is ignored by the application server and the following message is displayed:
    BBOJ0085E PROBLEMS ENCOUNTERED PARSING WLM CLASSIFICATION XML FILE (0)
  6. Use the DISPLAY WORK operator command to display classification information. Use this command to determine if your classification scheme is classifying the work as you intended. Issue the following command to display the IIOP and HTTP classification information:
    MODIFY|F <servername>,	DISPLAY,WORK,CLINFO
    Issue this command against each application server.

    The following example shows a possible result of issuing the new operator command:

    F X5SR02A,DISPLAY,WORK,CLINFO
    
    BBOO0281I CLASSIFICATION COUNTERS FOR IIOP WORK
    BBOO0282I CHECKED 14, MATCHED 14, USED 0, COST 0, DESC: IIOP Default
    BBOO0282I CHECKED 14, MATCHED 3, USED 0, COST 0, DESC: sample
    BBOO0282I CHECKED 3, MATCHED 1, USED 1, COST 3, DESC: a1a
    BBOO0282I CHECKED 2, MATCHED 1, USED 1, COST 4, DESC: a1b
    BBOO0282I CHECKED 1, MATCHED 1, USED 1, COST 5, DESC: a1c
    BBOO0282I CHECKED 11, MATCHED 11, USED 0, COST 0, DESC: other
    BBOO0282I CHECKED 11, MATCHED 1, USED 1, COST 4, DESC: a
    BBOO0282I CHECKED 10, MATCHED 1, USED 1, COST 5, DESC: b
    BBOO0282I CHECKED 9, MATCHED 1, USED 1, COST 6, DESC: c
    BBOO0282I CHECKED 8, MATCHED 2, USED 2, COST 7, DESC: d
    BBOO0282I CHECKED 6, MATCHED 1, USED 1, COST 8, DESC: e
    BBOO0282I CHECKED 5, MATCHED 4, USED 4, COST 9, DESC: f
    BBOO0282I CHECKED 1, MATCHED 1, USED 1, COST 10, DESC: g
    BBOO0283I FOR IIOP WORK: TOTAL CLASSIFIED 14, WEIGHTED TOTAL COST 95
    BBOO0281I CLASSIFICATION COUNTERS FOR HTTP WORK
    BBOO0282I CHECKED 0, MATCHED 0, USED 0, COST 0, DESC: HTTP Default
    BBOO0282I CHECKED 0, MATCHED 0, USED 0, COST 0, DESC: n
    BBOO0282I CHECKED 0, MATCHED 0, USED 0, COST 0, DESC: o
    BBOO0282I CHECKED 0, MATCHED 0, USED 0, COST 0, DESC: q
    BBOO0282I CHECKED 0, MATCHED 0, USED 0, COST 0, DESC: r
    BBOO0282I CHECKED 0, MATCHED 0, USED 0, COST 0, DESC: s
    BBOO0282I CHECKED 0, MATCHED 0, USED 0, COST 0, DESC: p
    BBOO0282I CHECKED 0, MATCHED 0, USED 0, COST 0, DESC: t
    BBOO0283I FOR HTTP WORK: TOTAL CLASSIFIED 0, WEIGHTED
    BBOO0281I CLASSIFICATION COUNTERS FOR INTERNAL WORK                   
    BBOO0282I CHECKED 76, MATCHED 76, USED 76, COST 1, DESC: Internal Default 
    BBOO0283I FOR INTERNAL WORK: TOTAL CLASSIFIED 76, WEIGHTED TOTAL COST 76   
    BBOO0281I CLASSIFICATION COUNTERS FOR SIP WORK                        
    BBOO0282I CHECKED 0, MATCHED 0, USED 0, COST 0, DESC: SIP Default     
    BBOO0283I FOR SIP WORK: TOTAL CLASSIFIED 0, WEIGHTED TOTAL COST 0 
    BBOO0188I END OF OUTPUT FOR COMMAND DISPLAY,WORK,CLINFO
    An explanation of the command output follows:
    BBOO0281I CLASSIFICATION COUNTERS FOR type WORK
    The header message for messages that display the usage of the workload classification rules. The value of type can be HTTP or IIOP. You cannot display inbound MDB classifications.
    BBOO0282I CHECKED n1, MATCHED n2, USED n3, COST n4, DESC: text
    This message displays information about a particular rule in the workload classification. This message displays the following information:
    • n1 - The number of times the rule has been examined.
    • n2 - The number of this times that this rule has been matched by the request.
    • n3 - The number of times that this rule has actually been used.
    • n4 - The cost of using the rule, or the number of compares that are required to determine if this is the correct rule to use.
    • text - The descriptive text from the classification rule so that you can tell which classification rule is being displayed.
    BBOO0283I FOR type WORK: TOTAL CLASSIFIED n1, WEIGHTED TOTAL COST n2
    This message shows the summary information for the HTTP or IIOP work classification. This message displays the following information:
    • type - The type of work that is being displayed. The value must be IIOP or HTTP.
    • n1 - The number of requests that were classified using the classification rules.
    • n2 - The weighted total cost, calculated by taking the number of times that each rule was used multiplied by the cost, or number of rule compares that were done, of using the rule and adding those up across all of the rules.
    The total cost n2 divided by the total number of requests classified n1 equals the cost of using the table. The closer that the value is to one, the lower the cost of using the defined rules. A value of 1 indicates that there is just the default classification, so no requests match it.
  7. Repeat these steps until you achieve your optimal workload distribution and costs.

Results

The workload classification document is used to classify inbound requests.

Example

The following is an example workload classification document for z/OS.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Classification SYSTEM "Classification.dtd" >
<Classification schema_version="1.0">
<!--
        Internal Classification Rules
-->
   <InboundClassification 	type="internal" 
                           schema_version="1.0" 
                           default_transaction_class="value1"/> 
   </InboundClassification>

<!--
        IIOP Classification Rules
-->
   <InboundClassification type="iiop" 
                          schema_version="1.0"
                          default_transaction_class="A0">
     <iiop_classification_info transaction_class="A1"
                               application_name="IIOPStatelessSampleApp"
                               module_name"StatelessSample.jar"
                               component_name="Sample20"
                               description="Sample20 EJB Classification">
     <iiop_classification_info transaction_class=""
                               method_name="echo"
                               description="No TCLASS for echo()"
/>
     <iiop_classification_info 	transaction_class="A1B"
                               method_name="ping"
                               description="Ping method" />
     <iiop_classification_info application_name="*"
                               module_name="*"
                               component_name="*"
                               transaction_class="A2"
                               description="TCLASS the rest to A2">
     <iiop_classification_info transaction_class="A2A"
                               method_name="resetFilter"
                               description="Sp1 case resetFilter()"
/>
     </iiop_classification_info>
  </InboundClassification>

<!--
        HTTP Classification Rules
-->
   <InboundClassification type="http"
                          schema_version="1.0"
                          default_transaction_class="M">
     <http_classification_info transaction_class="N"
                               host="yourhost.yourcompany.com"
                               description="Virtual Host yourhost">
     <http_classification_info	transaction_class="O"
                               port="9080"
                               description="Def yourhost HTTP reqs">
     <http_classification_info transaction_class="Q"
                               uri="/gcs/admin"
                               description = "Gcs" />
     <http_classification_info 	transaction_class="S"
                               uri="/gcs/admin/1*"
                               description="GCS login" />
     <http_classification_info transaction_class="P"
                               port="9081"
	                             description=" Def yourhost HTTPS reqs
"/>
     <http_classification_info transaction_class=""
                               uri="/gcss/mgr/*"
                               description="GCSS Mgr" />
     </http_classification_info>
   </InboundClassification>

<!--
        SIP Classification Rules
-->
   <InboundClassification type="sip" 
                          schema_version="1.0" 
                          default_transaction_class="value1"/> 
   </InboundClassification>

<!-- 
        MDB Classification Rules
-->
   <InboundClassification type="mdb"	
                          schema_version="1.0"
                          default_transaction_class="qrs">
     <endpoint type="messagelistenerport"
               name="IVPListenerPort"
               defaultclassification="MDBX"
               description="ABC">
        <classificationentry  selector="Location=&apos;East&apos;"
                              classification="MDB1"
                              description="DEF"/>
        <classificationentry  selector="Location&lt;&gt;&apos;East&apos;"
                              classification="MDB2"
                              description="XYZ" />
     </endpoint>
     <endpoint  type="messagelistenerport"
                name="SimpleMDBListenerPort"
                defaultclassification="MDBX"
                description="GHI" />
     </endpoint>

   </InboundClassification>

     <SibClassification type="jmsra" schema_version="1.0"
          default_transaction_class="a">
        <sib_classification_info transaction_class="b"
            selector="user.Location=&apos;East&apos;" bus="magic"
            destination="nowhere" description="n" />
        <sib_classification_info transaction_class="c"
            selector="user.Location=&apos;West&apos;" bus="omni"
description="n" />
    </SibClassification>
    <SibClassification type="destinationmediation" schema_version="1.0"
           default_transaction_class="b">
        <sib_classification_info transaction_class="e"
            selector="user.Location=&apos;East&apos;" destination="themoon"
            discriminator="sides/dark" description="n" />
        <sib_classification_info transaction_class="f"
            selector="user.Location=&apos;West&apos;" description="n"
/>
    </SibClassification>

    <WMQRAClassification default_transaction_class="TC99" schema_version="1.0">
       <wmqra_classification_info transaction_class="TC_1"
                               queue_manager="GOLD"
                               description="gold queue manager maps
to TC_1"/>
       <wmqra_classification_info transaction_class="TC_2"
                               selector="JMSPriority&gt;7"
                               description="high priorities maps to
TC_2"/>
       <wmqra_classification_info transaction_class="TC_3"
                               selector="JMSPriority&gt;3 AND
JMSPriority&lt;8"
                               description="medium priorities maps
to TC_3"/>
    </WMQRAClassification>

<!--
   Workload Classification Document for P5SR01x servers
   Change History
   -------------------------------------------------------
   Activity	                    Date                 Author
   Created                     01-28-2005           IPL

--->

</Classification>
DTD for the workload classification XML document
<?xml version='1.0' encoding="UTF-8"?>
<!ELEMENT Classification (InboundClassification|SibClassification|WMQRAClassification)+>
<!ATTLIST Classification schema_version CDATA #REQUIRED>
<!ELEMENT InboundClassification ((iiop_classification_info*|http_classification_info*|endpoint*))>
<!ATTLIST InboundClassification type (iiop|mdb|http|internal|sip) #REQUIRED>
<!ATTLIST InboundClassification default_transaction_class CDATA #REQUIRED>
<!ATTLIST InboundClassification schema_version CDATA #REQUIRED>
<!ELEMENT iiop_classification_info (iiop_classification_info*)>
<!ATTLIST iiop_classification_info activity_workload_classification CDATA #IMPLIED>
<!ATTLIST iiop_classification_info application_name CDATA #IMPLIED>
<!ATTLIST iiop_classification_info component_name CDATA #IMPLIED>
<!ATTLIST iiop_classification_info description CDATA #IMPLIED>
<!ATTLIST iiop_classification_info method_name CDATA #IMPLIED>
<!ATTLIST iiop_classification_info module_name CDATA #IMPLIED>
<!ATTLIST iiop_classification_info transaction_class CDATA #REQUIRED>
<!ELEMENT endpoint (classificationentry*)>
<!ATTLIST endpoint defaultclassification CDATA #REQUIRED>
<!ATTLIST endpoint name CDATA #REQUIRED>
<!ATTLIST endpoint type (messagelistenerport) #REQUIRED>
<!ATTLIST endpoint description CDATA #IMPLIED>
<!ELEMENT classificationentry EMPTY>
<!ATTLIST classificationentry classification CDATA #REQUIRED>
<!ATTLIST classificationentry selector CDATA #REQUIRED>
<!ATTLIST classificationentry description CDATA #IMPLIED>
<!ELEMENT http_classification_info (http_classification_info*)>
<!ATTLIST http_classification_info host CDATA #IMPLIED>
<!ATTLIST http_classification_info port CDATA #IMPLIED>
<!ATTLIST http_classification_info uri CDATA #IMPLIED>
<!ATTLIST http_classification_info description CDATA #IMPLIED>
<!ATTLIST http_classification_info transaction_class CDATA #REQUIRED>
<!ELEMENT SibClassification (sib_classification_info+)>
<!ATTLIST SibClassification type (jmsra|destinationmediation) #REQUIRED>
<!ATTLIST SibClassification default_transaction_class CDATA #REQUIRED>
<!ATTLIST SibClassification schema_version CDATA #REQUIRED>
<!ELEMENT sib_classification_info EMPTY>
<!ATTLIST sib_classification_info transaction_class CDATA #REQUIRED>
<!ATTLIST sib_classification_info selector CDATA #IMPLIED>
<!ATTLIST sib_classification_info bus CDATA #IMPLIED>
<!ATTLIST sib_classification_info destination CDATA #IMPLIED>
<!ATTLIST sib_classification_info discriminator CDATA #IMPLIED>
<!ATTLIST sib_classification_info description CDATA #IMPLIED>
<!ELEMENT WMQRAClassification (wmqra_classification_info+)>
<!ATTLIST WMQRAClassification default_transaction_class CDATA #REQUIRED>
<!ATTLIST WMQRAClassification schema_version CDATA #REQUIRED>
<!ELEMENT wmqra_classification_info EMPTY>
<!ATTLIST wmqra_classification_info transaction_class CDATA #REQUIRED>
<!ATTLIST wmqra_classification_info selector CDATA #IMPLIED>
<!ATTLIST wmqra_classification_info queue_manager CDATA #IMPLIED>
<!ATTLIST wmqra_classification_info destination CDATA #IMPLIED>
<!ATTLIST wmqra_classification_info description CDATA #IMPLIED>



In this information ...


IBM Redbooks, demos, education, and more

(Index)

Use IBM Suggests to retrieve related content from ibm.com and beyond, identified for your convenience.

This feature requires Internet access.

Task topic    

Terms of Use | Feedback

Last updated: Oct 21, 2010 10:04:34 PM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=compass&product=was-nd-mp&topic=trun_wlm_tclass
File name: trun_wlm_tclass.html