SlideShare a Scribd company logo
<Insert Picture Here>




WebLogic Server Overview
WebLogic Scripting Tool (WLST)


                                 May 2011
The forward-looking statements in the following are
              intended to outline our general product direction. It is
              intended for information purposes only, and may not
              be incorporated into any contract. It is not a
              commitment to deliver any material, code, or
              functionality, and should not be relied upon in
              making purchasing decisions.
              The development, release, and timing of any
              features or functionality described for Oracle’s
              products remains at the sole discretion of Oracle.



2 2007 Oracle Corporation – Proprietary and Confidential
©
Agenda

    •   WLS Configuration Review
    •   Intro to WebLogic Scripting Tool (WLST)
    •   WLST Offline
    •   WLST Online
        • JMX Client
        • Deployment (JSR-88) Client
        • Miscellaneous Clients - Node Manager, JNDI, etc.
    • Customizing WLST
    • Tips and Best Practices



3
Agenda

    •   WLS Configuration Review
    •   Intro to WebLogic Scripting Tool (WLST)
    •   WLST Offline
    •   WLST Online
        • JMX Client
        • Deployment (JSR-88) Client
        • Miscellaneous Clients - Node Manager, JNDI, etc.
    • Customizing WLST
    • Tips and Best Practices



4
WLS Configuration Review
    • WebLogic Server configuration is segmented by
      domain                                                   mydomain
                                                                                    Managed Servers
       • Each domain represents a logically related group of
         WebLogic Server instances that you manage from a
         single set of configuration files.
       • Each domain has one Administration Server, and can
         have multiple managed servers and clusters              Admin Server

    • Administration Server - Central configuration
      controller for the entire domain                             config.xml



    • Managed Server - A running instance that hosts
      applications and resources needed by those
      applications - The real work horses in a WebLogic
      domain

    • Cluster - group of Managed Servers running
      simultaneously and working together to provide
      increased scalability and reliability                         Admin Console


    • Node Manager is a per-machine process used to
      start and stop WebLogic Server instances.
       • Independent of all domains




5
Two-Phase Configuration Changes

    • Changes activated in batches:
      • Reliability, consistency:
         • Make (related) changes as a group
         • Validate before making the change
         • Activate or Roll back as a single unit (all changes on all servers)
    • General process:
      • Get an edit lock
      • make changes
         • changes are stored in the pending directory
      • activate your changes (with implicit validation through the Admin
        Console or WLST)
         • changes are distributed to servers in the domain
         • Two phases: prepare and commit
         • Prepared on all servers; any failures will cause total rollback



6
Administration Tools
    • Configuration Wizard
      • GUI/scriptable tool to create and extend WebLogic domains
      • Template based
    • Administration Console
      • Browser-based tool for configuring and monitoring domains,
        deploying applications, and controlling servers
    • WebLogic Scripting Tool (WLST)
      • Script or command line tool to do the same thing as the
        Administration Console and Configuration Wizard
      • Note that we will cover details on WLST in a separate document
    • weblogic.Admin
      • Deprecated command line tool for configuring a domain
      • Recommend using WLST instead
    • weblogic.Deployer
      • Command line tool for deploying applications



7
Agenda

    •   WLS Configuration Review
    •   Intro to WebLogic Scripting Tool (WLST)
    •   WLST Offline
    •   WLST Online
        • JMX Client
        • Deployment (JSR-88) Client
        • Miscellaneous Clients - Node Manager, JNDI, etc.
    • Customizing WLST
    • Tips and Best Practices



8
WebLogic Scripting Tool (WLST)

• Command-line scripting interface for
  managing and monitoring WebLogic
  Server instances, clusters, and
  domains
• Based on 100% pure Java
  implementation of Python
• Modes of operation – (script /
  interactive) ↔ (online / offline)
• Provides a repeatable process for
  propagating configuration changes
  across environments
• Quickly allows environments to be
  replicated and migrated
Interaction Modes

     • Interactive
       • enter a command and view the response at a command-line prompt
       • In online mode: shell maintains a persistent connection to a WLS
         instance

     • Script
       • text file with a .py file extension
       • executed using Jython commands for running scripts
       • invoke a sequence of WLST commands without requiring your input

     • Embedded
       • instantiate the WLST interpreter in your Java code
       • execute WLST commands from a Java program




10
Connection Modes

     • Offline: analogous to the Configuration Wizard
       • Uses the Offline Configuration Framework
          • Also used by the Configuration Wizard
          • Consistent results when using either tool
       • read and write access to the configuration data that is persisted in
         the domain’s config directory or in a domain template JAR
       • Intended to create a domain or modify a non-running domain
       • Used during WLS install to create samples domains

     • Online: analogous to the Administration Console
       • JMX client
       • Interacts with a server’s MBeans
       • Intended as a runtime management tool: configuration,
         management, deployment, monitoring



11
WLST Offline Can/Can’t Do

     Can Do:                          Can’t Do:
     • Create/modify templates        • View runtime performance
     • Create domains                   data
     • Extend domains                 • Modify security data
     • Access and modify the
       configuration for an offline
       domain




12
WLST Online Can/Can’t Do

     Can Do:                    Can’t Do:
     • Change configuration     • Create a domain (must be
     • View runtime data          offline mode)
     • Deploy applications
     • Start and stop servers




13
Agenda

     •   WLS Configuration Review
     •   Intro to WebLogic Scripting Tool (WLST)
     •   WLST Offline
     •   WLST Online
         • JMX Client
         • Deployment (JSR-88) Client
         • Miscellaneous Clients - Node Manager, JNDI, etc.
     • Customizing WLST
     • Tips and Best Practices



14
WLST Offline
        • Uses the Offline Configuration Framework
           • Also used by the Configuration Wizard; Consistent results when using
             either tool
        • Uses domain templates to create a domain
           • Several shipped with WLS
           • Create your own using Template Builder
           • Modify an existing template using WLST Offline
        • Intended to create a domain or modify a non-running domain
        • Used during WLS install to create samples domains
        • Used by WL Platform products for creating domain configurations
          (use specific templates for each product)

     Note: Do not use WLST offline to manage the configuration of an active
     domain. Offline edits are ignored by running servers and can be overwritten by
     JMX clients such as WLST online or the WebLogic Server Administration
     Console.

15
WLST Offline – Two Models:
      Templates and Scripts                                   Recommended for:
                                                              • Out of the box
                                                                config for a layered
     • Templates (put everything in the template)
                                                                product
        • Use Template Builder to capture current domain
          configuration and artifacts into a rich template
        • Use that template to create new domains, migrate    Reason: domain is
          from dev to production                               self-contained
        • Bundles required files
        • Used by WebLogic Platform products
                                                              Recommended for:
     • Scripts (put little in the template and most in        • Customer
       scripts)                                                 configuration
        • Use more basic templates for domain creation          migration
        • Use WLST scripts along with some predefined or      • QA automation
          custom domain templates to create the target domain
        • Modify/customize domain configuration through        Reason: easily make
          scripts, and effectively track configuration changes  and track changes
          through source control                                to a domain config



16
Starting WLST

     • Setup the environment:
       • setWLSEnv.sh/cmd – sets path and classpath
       • Adds WebLogic Server classes to the CLASSPATH and
         WL_HOMEserverbin to the PATH


     • Invoke WLST:
       • java weblogic.WLST
       or
       • java weblogic.WLST c:myscriptsmyscript.py


     • Starts in Offline mode


17
Creating a Domain (WLST Offline)

     • Syntax
       • createDomain(domainTemplate, domainDir, user, password)


     • Example
       • wls:/offline>
         createDomain('c:/bea/wlserver_103/common/templates/doma
         ins/wls.jar','c:/mydomain', 'weblogic', 'weblogic')




18
Changing a Domain in WLST Offline


     Step                           Syntax

     1. Open a domain for editing   readDomain(domainDirName)


     1. Extend the domain           addTemplate(templateFileName)
        (optional)
     1. Make changes (optional)     Various commands


     1. Save                        updateDomain()


     1. Close the domain for        closeDomain()
        editing




19
Browsing and Editing in WLST Offline
     • Browsing:
        • cd(), ls()

     • Editing:
        • Add an application to a domain:
           • addTemplate(templateFileName)
        • Create and delete management objects:
           • create(name, childMBeanType)
           • delete(name, childMBeanType)
        • Get and set attribute values:
           • get(attrName)
           • set(attrName, value)
        • Set domain creation or update options:
           • setOption(optionName, value)
        • Load SQL files into a database:
           • loadDB(dbVersion, connectionPoolName)




20
WLST Offline – accessing a domain

     • Offline – reading a domain:                      wl_server
        • readDomain('c:/bea/user_projects/do
          mains/medrec')
                                                           JDBCSystemResource
     • Domain configuration data is a collection
       of XML documents that expresses a
       hierarchy of management objects                              examples-demoXA
     • WLST represents this hierarchy as a file
       system                                                          Name
        • The root is the management object that
          represents the WebLogic Server domain                        Target
          (domain directory)
        • Each managed-object type is a sub
          directory of the root
        • Each instance of the type is a subdirectory
          under the type directory
        • Each management attribute and operation
          is a file within a directory


21
Syntax
     • Command names and arguments are case sensitive.
     • Enclose arguments in single or double quotes. For example,
       'newServer' or "newServer".
     • If you specify a backslash character () in a string, either precede
       the backslash with another backslash or precede the entire string
       with a lower-case r character.
        • For example when specifying a file pathname that contains a
          backslash:
           • readTemplate('c:userdomainsmytemplatesmytemplate.jar') or
             readTemplate(r'c:userdomainsmytemplatesmytemplate.jar')
     • When using WLST offline, the following characters are not valid in
       names of management objects: period (.), forward slash (/), or
       backward slash ().
        • If you need to cd to a management object whose name includes a
          forward slash (/), surround the object name in parentheses. For
          example:
           • cd('JMSQueue/(jms/REGISTRATION_MDB_QUEUE)')




22
Demo

     • Create a basic WLS domain
     • Read the domain
     • Add a Managed Server




23
Agenda

     •   WLS Configuration Review
     •   Intro to WebLogic Scripting Tool (WLST)
     •   WLST Offline
     •   WLST Online
         • JMX Client
         • Deployment (JSR-88) Client
         • Miscellaneous Clients - Node Manager, JNDI, Diagnostics
     • Customizing WLST
     • Tips and Best Practices



24
WLST Online

     • Analogous to the Administration Console, but without
       the GUI
     • JMX client; maintains a persistent connection
     • Interacts with a server’s/domain’s MBeans
     • Intended as a runtime management tool:
       configuration, management, deployment, monitoring




25
WLST Online – connecting to a domain

     • Setup the environment:
       • setWLSEnv.sh (in WL_HOMEserverbin)
       • Adds WebLogic Server classes to the CLASSPATH and
         WL_HOMEserverbin to the PATH


     • Invoke WLST:
       • java weblogic.WLST


     • Starts in Offline mode
     • Connect to a domain:
       • wls:/offline> connect('weblogic','weblogic','localhost:7001')




26
Traversing MBean Trees

     • Simpler than JMX – no need to know Domain MBean (root)
       the JMX object name                    |- - - MBean type (ServerMBean)
     • MBeans are hierarchical, similar to a     |- - - MBean instance
       file system, with the DomainMBean at        (ManagedServer1)
       the top of the tree                          |- - - MBean attributes
     • Multiple MBean trees (described later)          & operations
                                                       (AutoRestart)
     • Use commands similar to Unix
                                                 |- - - MBean instance
       commands to traverse the tree:              (MedRecServer)
        • cd(), ls()
                                                   |- - - MBean attributes
     • Syntax is the same as with WLST               & operations
       Offline                                       (StartupMode)




27
Available MBean Trees
     • domainConfig
        • configuration hierarchy of the entire domain; represents the configuration MBeans in
          RuntimeMBeanServer
        • read only
     • serverConfig
        • configuration hierarchy (configuration MBeans) of the server your are connected to
        • read only
     • domainRuntime
        • hierarchy of runtime MBeans for the entire domain
        • read only
     • serverRuntime
        • hierarchy of runtime MBeans for the server you are connected to
        • read only
     • edit
        • writable domain configuration with pending changes; represents the configuration MBeans
          in the EditMBeanServer
     • jndi
        • read-only JNDI tree for the server you are connected to
     • custom
        • list of custom MBeans
        • can be hierarchical/grouped if MBeans use namespaces appropriately




28
Switching Between Trees

     • Use the appropriate command to move to a different
       tree
       •   domainConfig()
       •   serverConfig()
       •   domainRuntime()
       •   serverRuntime()
       •   edit()
       •   jndi()
       •   custom()
     • When returning to a tree, you return to the place
       where you left, except custom and jndi (goes to the
       root)


29
Changing Configuration in WLST Online
     Step                                  Syntax
     1.   Change to the edit tree          wls:/wl_server/domainConfig> edit()

     1.   Get an edit lock                 wls:/wl_server/edit> startEdit()

     1.   Make changes                     wls:/wl_server/edit !> svr =
                                           cmo.createServer("managedServer")
                                           wls:/wl_server/edit !>
                                           svr.setListenPort(8001)
                                           wls:/wl_server/edit !>
                                           svr.setListenAddress("my-address")
     1.   Save (and implicitly validate)   wls:/wl_server/edit !> save()
          your changes
     1.   Activate/distribute, release     wls:/wl_server/edit !> activate()
          lock




30
Current Management Object

     • CMO variable – current management object
       • Java object that serves as a proxy for direct access to the
         WLS MBean
       • Makes it easy to directly interact with the MBean – get and
         set attributes, other commands
       • Always set to the current WLST path
       • Only available for WLS MBeans, not custom MBeans


     • Example:
       • wls:/mydomain/edit>
         cmo.setAdministrationPort(9092)
       • (This example changes the Administration Port in the Domain
         MBean)

31
Deploying an Application

     • In Online mode, use the deploy command to deploy
       applications
       • Syntax: deploy(appName, path, [targets], [stageMode],
         [planPath], [options])
       • deploy("mainWebApp","C:/samples/server/examples/build/ma
         inWebApp“,”server-1”)
       • Note: You do not need to be in an edit session to deploy
         applications.
     • Reminder: in Offline mode, add an application using
       an extension template




32
Common Online Deployment Commands

     • deploy Deploy an application to a WebLogic Server instance.
     • distributeApplication Copy the deployment bundle to the
       specified targets.
     • redeploy Redeploy a previously deployed application
     • startApplication Start an application, making it available to users.
     • stopApplication Stop an application, making it unavailable to
       users.
     • undeploy Undeploy an application from the specified servers.
     • updateApplication Updates an application configuration using a
       new deployment plan.

     • Returns a WLSTProgressObject to track the progress of the
       command
        • You query the progress object to get the status; (pull, not push)




33
Interacting with the Node Manager

     • You can use WLST to do the following with Node Manager:
       • Start a Node Manager.
       • Connect to a Node Manager, then use the Node Manager to start
         and stop servers on the machine on which Node Manager is running.

     • Preferred method:
       • Use the Node Manager to start the Administration Server
       • Connect to the Admin Server
       • Start Managed Servers using the standard WLST lifecycle
         commands
       • Enables you to start all servers in the domain with one connection,
         regardless of which machines host the Managed Servers




34
Common WLST Node Manager Commands


     • startNodeManager – starts Node Manager on the
       current machine.
     • nm - Determines whether WLST is connected to
       Node Manager
     • nmConnect - Connects WLST to Node Manager to
       establish a session. (Specify domain and credentials)
     • nmDisconnect - Disconnects WLST from a Node
       Manager session.
     • nmStart - Starts a server in the current domain using
       Node Manager.
     • nmKill - Kills the specified server instance that was
       started with Node Manager.

35
Managing Server Lifecycle with WLST

     • You can also manage server lifecycle through WLST without
       directly using Node Manager.
     • The following WLST lifecycle commands are available:
       • startServer - Start the Administration Server. (Online or Offline)
       • start - Start a Managed Server instance or a cluster using Node
         Manager.
       • suspend - Suspend a running server.
       • resume - Resume a server instance that is suspended or in ADMIN
         state.
       • shutdown - Gracefully shut down a running server instance or
         cluster.
       • migrate - Migrate services to a target server within a cluster.




36
Demo: WLST Online

     • Start Node Manager
     • Start the Administration Server in the new domain
     • Create a Managed Server




37
Agenda

     •   WLS Configuration Review
     •   Intro to WebLogic Scripting Tool (WLST)
     •   WLST Offline
     •   WLST Online
         • JMX Client
         • Deployment (JSR-88) Client
         • Miscellaneous Clients - Node Manager, JNDI, etc.
     • Customizing WLST
     • Tips and Best Practices



38
Customizing WLST

     • Add custom commands by:
       • Creating the commands in a .py file
       • Add the file to the WLST home directory
       • WLST home directory – WL_HOME/common/wlst (by default)


     • Add custom commands to another namespace:
       • Create the commands in a .py file
       • Add file to the WLST_home/lib directory
       • Execute commands using <module>.<command>

       http://download.oracle.com/docs/cd/E17904_01/web.1111/e13715/toc.htm




39
Support for Custom MBeans

     • You can register custom MBeans and then access them using
       WLST in the “custom” MBean tree
     • WLST treats all non-WebLogic Server MBeans as custom
       MBeans:
       • Instead of arranging custom MBeans in a hierarchy, WLST
         organizes and lists custom MBeans by JMX object name.
          • All MBeans with the same JMX domain name are listed in the
             same WLST directory. For example, if you register all of your
             custom MBeans with JMX object names that start with
             mycompany:, then WLST arranges all of your MBeans in a
             directory named mycompany.
       • Custom MBeans cannot use the cmo variable because a stub is not
         available.
       • Custom MBeans are editable, but not subject to the WebLogic
         Server change management process.
          • You can use MBean get, set, invoke, and create and delete
             commands on them without first entering the startEdit command.



40
Agenda


     •   WLS Configuration Review
     •   Intro to WebLogic Scripting Tool (WLST)
     •   WLST Offline
     •   WLST Online
         • JMX Client
         • Deployment (JSR-88) Client
         • Miscellaneous Clients - Node Manager, JNDI, etc.
     • Customizing WLST
     • Tips and Best Practices



41
Reduce WLST Startup Time

     • Cache directory for scanned files:
       • java -Dpython.cachedir="c:demowlst_cache"
         weblogic.WLST


     • New startup option in WLS 10.3:
       -skipWLSModuleScanning
       • Default behavior: on startup, WLST scans weblogic.jar and all
         of the classes referenced in its manifest classpath
       • With this option, files in the modules directory are not
         scanned
       • If needed, you can manually add files to the classpath



42
Some Standard Best Practices

     • Parameterize your script and use the preamble for
       assigning variables
       • easily assigned and changed


     • Before creating something, check to see that it exists
       try:
          cd(‘/servers/’ + serverID)
          print ‘The server ‘ + serverID + ‘ already exists’
          exit()
       except WLSTException:
          pass


43
Redirecting Error and Debug Output to a File


     • To redirect WLST information, error, and debug
       messages from standard out to a file, enter:
       redirect(outputFile,[toStdOut])
     • This command also redirects the output of the
       dumpStack() and dumpVariables() commands.
     • For example, to redirect WLST output to the
       logs/wlst.log file under the directory from which you
       started WLST, enter the following command:

       wls:/mydomain/serverConfig> redirect('./logs/wlst.log')




44
Run a WLST Script within a Domain Template


     •    The configuration framework can execute WLST
          offline scripts embedded in domain/extension
          templates (e.g., final.py).
     •    Very useful in satisfying some complex auto-
          configuration requirements (e.g., proper targeting of
          various resources)




45
Running WLST from Ant

     • WebLogic Server provides a custom Ant task, wlst, that
       invokes a WLST script from an Ant build file.
     • You can create a WLST script (.py) file and then use
       this task to invoke the script file, or you can create a
       WLST script in a nested element within this task.




46
More Resources

     • WLST Guide:
        • http://download.oracle.com/docs/cd/E17904_01/web.1111/e13715/toc.htm


     • On the web:
        • http://wlstbyexamples.blogspot.com/
        • http://biemond.blogspot.com/2010/08/wlst-scripting-with-oracle-enterprise.html


     • Template Builder:
        • http://download.oracle.com/docs/cd/E17904_01/web.1111/e14139/toc.htm

     • Samples (installed with WLS 10.3):
        •   wlserver_103commontemplatesscriptswlst
        •   wlserver_103commonwlstlib
        •   samplesserverexamplessrcexampleswlstonline
        •   samplesserverexamplessrcexamplesdiagnosticswldfprofilessrc
        •   samplesserverexamplessrcexamplesjdbcmultidatasource




47
Q
     &A
48

More Related Content

PPTX
Weblogic application server
PPT
Oracle WebLogic Server Basic Concepts
PDF
Learn Oracle WebLogic Server 12c Administration
PDF
Weblogic 12c installation (oracle linux)
PPT
Weblogic Server Overview Weblogic Scripting Tool
PPT
WebSphere application server 8.5.5 - quick overview
PDF
WebLogic FAQs
PPTX
Weblogic
Weblogic application server
Oracle WebLogic Server Basic Concepts
Learn Oracle WebLogic Server 12c Administration
Weblogic 12c installation (oracle linux)
Weblogic Server Overview Weblogic Scripting Tool
WebSphere application server 8.5.5 - quick overview
WebLogic FAQs
Weblogic

What's hot (20)

PPT
WebLogic Deployment Plan Example
PDF
WebLogic 12c & WebLogic Mgmt Pack
PDF
Tomcat and apache httpd training
PDF
IBM WebSphere application server
PDF
Introduction to weblogic
PDF
Oracle WebLogic Diagnostics & Perfomance tuning
PPTX
Apache tomcat
PPTX
Vagrant
PDF
What’s New in VMware vSphere 7?
PPT
Ansible presentation
PPTX
Spring boot Introduction
PDF
Spring boot introduction
PPTX
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
PDF
Oracle Web Logic server
PDF
IT Automation with Ansible
PDF
Spring Boot & Actuators
PPTX
Introduction to Ansible
PPT
PPTX
Introduction to Maven
PPTX
Introduction to ansible
WebLogic Deployment Plan Example
WebLogic 12c & WebLogic Mgmt Pack
Tomcat and apache httpd training
IBM WebSphere application server
Introduction to weblogic
Oracle WebLogic Diagnostics & Perfomance tuning
Apache tomcat
Vagrant
What’s New in VMware vSphere 7?
Ansible presentation
Spring boot Introduction
Spring boot introduction
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
Oracle Web Logic server
IT Automation with Ansible
Spring Boot & Actuators
Introduction to Ansible
Introduction to Maven
Introduction to ansible
Ad

Viewers also liked (20)

PDF
WebLogic JMS System Best Practices
TXT
WEBLOGIC ADMINISTRATION 11g NEW BATCH STARTS FROM 16 DEC
DOC
Top 9 websphere interview questions answers
PPTX
Administered object config
PPT
Red Hart Linux
PDF
An introduction to weblogic console
PPTX
WebLogic Server Work Managers and Overload Protection
DOCX
IBM Websphere concepts
PPTX
Jms deep dive [con4864]
PDF
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)
PPTX
IBM WebSphere Application Server version to version comparison
PPTX
WebSphere Application Server Family (Editions Comparison)
PPTX
WebLogic Scripting Tool made Cool!
DOCX
IBM websphere application server types of profiles
DOCX
Ibm web sphere application server interview questions
PDF
Oracle Weblogic 11g admin guide 2
PPTX
Websphere Application Server V8.5
DOC
Websphere interview Questions
PPTX
IBM WebSphere Application Server (Clustering) Concept
WebLogic JMS System Best Practices
WEBLOGIC ADMINISTRATION 11g NEW BATCH STARTS FROM 16 DEC
Top 9 websphere interview questions answers
Administered object config
Red Hart Linux
An introduction to weblogic console
WebLogic Server Work Managers and Overload Protection
IBM Websphere concepts
Jms deep dive [con4864]
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)
IBM WebSphere Application Server version to version comparison
WebSphere Application Server Family (Editions Comparison)
WebLogic Scripting Tool made Cool!
IBM websphere application server types of profiles
Ibm web sphere application server interview questions
Oracle Weblogic 11g admin guide 2
Websphere Application Server V8.5
Websphere interview Questions
IBM WebSphere Application Server (Clustering) Concept
Ad

Similar to WebLogic Scripting Tool Overview (20)

PPT
Weblogic server-overview-weblogic-scripting-tool0-1228252752844434-9
PPTX
Weblogic 101 for dba
PPT
Weblogicserveroverviewtopologyconfigurationadministration 1227546826890714-9
PPT
Weblogicserveroverviewtopologyconfigurationadministration 1227546826890714-9
PDF
Weblogic server administration
PDF
Weblogic server administration
PPTX
Moving Windows Applications to the Cloud
PPT
Clustering
PPT
WLS
PDF
12 Things About WebLogic 12.1.3 #oow2014 #otnla15
PDF
Cloudstack for beginners
PDF
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
PPTX
1.3 prepare for self service-final
PPT
Web Sphere Administration guide – Packaging and Deploying Jee Applications
PDF
F428435966 odtug web-logic for developers
PPTX
Migrating EnterpriseOne to WebLogic Server
PPT
Weblogic Domain Activity
PDF
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade Platform
PDF
WebLogic for DBAs
PDF
Weblogic 11g admin basic with screencast
Weblogic server-overview-weblogic-scripting-tool0-1228252752844434-9
Weblogic 101 for dba
Weblogicserveroverviewtopologyconfigurationadministration 1227546826890714-9
Weblogicserveroverviewtopologyconfigurationadministration 1227546826890714-9
Weblogic server administration
Weblogic server administration
Moving Windows Applications to the Cloud
Clustering
WLS
12 Things About WebLogic 12.1.3 #oow2014 #otnla15
Cloudstack for beginners
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
1.3 prepare for self service-final
Web Sphere Administration guide – Packaging and Deploying Jee Applications
F428435966 odtug web-logic for developers
Migrating EnterpriseOne to WebLogic Server
Weblogic Domain Activity
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade Platform
WebLogic for DBAs
Weblogic 11g admin basic with screencast

More from James Bayer (7)

PPTX
Cf summit2014 roadmap
PPTX
Cf application manifest
PPT
JPA and Coherence with TopLink Grid
PDF
64 bit arch
PPT
Application Grid Dev with Coherence
PPT
App Grid Dev With Coherence
PPT
App Grid Dev With Coherence
Cf summit2014 roadmap
Cf application manifest
JPA and Coherence with TopLink Grid
64 bit arch
Application Grid Dev with Coherence
App Grid Dev With Coherence
App Grid Dev With Coherence

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation theory and applications.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Electronic commerce courselecture one. Pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Cloud computing and distributed systems.
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
A Presentation on Artificial Intelligence
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation theory and applications.pdf
NewMind AI Monthly Chronicles - July 2025
MYSQL Presentation for SQL database connectivity
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Electronic commerce courselecture one. Pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Chapter 3 Spatial Domain Image Processing.pdf
The AUB Centre for AI in Media Proposal.docx
Cloud computing and distributed systems.
Mobile App Security Testing_ A Comprehensive Guide.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
20250228 LYD VKU AI Blended-Learning.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
A Presentation on Artificial Intelligence
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

WebLogic Scripting Tool Overview

  • 1. <Insert Picture Here> WebLogic Server Overview WebLogic Scripting Tool (WLST) May 2011
  • 2. The forward-looking statements in the following are intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 2 2007 Oracle Corporation – Proprietary and Confidential ©
  • 3. Agenda • WLS Configuration Review • Intro to WebLogic Scripting Tool (WLST) • WLST Offline • WLST Online • JMX Client • Deployment (JSR-88) Client • Miscellaneous Clients - Node Manager, JNDI, etc. • Customizing WLST • Tips and Best Practices 3
  • 4. Agenda • WLS Configuration Review • Intro to WebLogic Scripting Tool (WLST) • WLST Offline • WLST Online • JMX Client • Deployment (JSR-88) Client • Miscellaneous Clients - Node Manager, JNDI, etc. • Customizing WLST • Tips and Best Practices 4
  • 5. WLS Configuration Review • WebLogic Server configuration is segmented by domain mydomain Managed Servers • Each domain represents a logically related group of WebLogic Server instances that you manage from a single set of configuration files. • Each domain has one Administration Server, and can have multiple managed servers and clusters Admin Server • Administration Server - Central configuration controller for the entire domain config.xml • Managed Server - A running instance that hosts applications and resources needed by those applications - The real work horses in a WebLogic domain • Cluster - group of Managed Servers running simultaneously and working together to provide increased scalability and reliability Admin Console • Node Manager is a per-machine process used to start and stop WebLogic Server instances. • Independent of all domains 5
  • 6. Two-Phase Configuration Changes • Changes activated in batches: • Reliability, consistency: • Make (related) changes as a group • Validate before making the change • Activate or Roll back as a single unit (all changes on all servers) • General process: • Get an edit lock • make changes • changes are stored in the pending directory • activate your changes (with implicit validation through the Admin Console or WLST) • changes are distributed to servers in the domain • Two phases: prepare and commit • Prepared on all servers; any failures will cause total rollback 6
  • 7. Administration Tools • Configuration Wizard • GUI/scriptable tool to create and extend WebLogic domains • Template based • Administration Console • Browser-based tool for configuring and monitoring domains, deploying applications, and controlling servers • WebLogic Scripting Tool (WLST) • Script or command line tool to do the same thing as the Administration Console and Configuration Wizard • Note that we will cover details on WLST in a separate document • weblogic.Admin • Deprecated command line tool for configuring a domain • Recommend using WLST instead • weblogic.Deployer • Command line tool for deploying applications 7
  • 8. Agenda • WLS Configuration Review • Intro to WebLogic Scripting Tool (WLST) • WLST Offline • WLST Online • JMX Client • Deployment (JSR-88) Client • Miscellaneous Clients - Node Manager, JNDI, etc. • Customizing WLST • Tips and Best Practices 8
  • 9. WebLogic Scripting Tool (WLST) • Command-line scripting interface for managing and monitoring WebLogic Server instances, clusters, and domains • Based on 100% pure Java implementation of Python • Modes of operation – (script / interactive) ↔ (online / offline) • Provides a repeatable process for propagating configuration changes across environments • Quickly allows environments to be replicated and migrated
  • 10. Interaction Modes • Interactive • enter a command and view the response at a command-line prompt • In online mode: shell maintains a persistent connection to a WLS instance • Script • text file with a .py file extension • executed using Jython commands for running scripts • invoke a sequence of WLST commands without requiring your input • Embedded • instantiate the WLST interpreter in your Java code • execute WLST commands from a Java program 10
  • 11. Connection Modes • Offline: analogous to the Configuration Wizard • Uses the Offline Configuration Framework • Also used by the Configuration Wizard • Consistent results when using either tool • read and write access to the configuration data that is persisted in the domain’s config directory or in a domain template JAR • Intended to create a domain or modify a non-running domain • Used during WLS install to create samples domains • Online: analogous to the Administration Console • JMX client • Interacts with a server’s MBeans • Intended as a runtime management tool: configuration, management, deployment, monitoring 11
  • 12. WLST Offline Can/Can’t Do Can Do: Can’t Do: • Create/modify templates • View runtime performance • Create domains data • Extend domains • Modify security data • Access and modify the configuration for an offline domain 12
  • 13. WLST Online Can/Can’t Do Can Do: Can’t Do: • Change configuration • Create a domain (must be • View runtime data offline mode) • Deploy applications • Start and stop servers 13
  • 14. Agenda • WLS Configuration Review • Intro to WebLogic Scripting Tool (WLST) • WLST Offline • WLST Online • JMX Client • Deployment (JSR-88) Client • Miscellaneous Clients - Node Manager, JNDI, etc. • Customizing WLST • Tips and Best Practices 14
  • 15. WLST Offline • Uses the Offline Configuration Framework • Also used by the Configuration Wizard; Consistent results when using either tool • Uses domain templates to create a domain • Several shipped with WLS • Create your own using Template Builder • Modify an existing template using WLST Offline • Intended to create a domain or modify a non-running domain • Used during WLS install to create samples domains • Used by WL Platform products for creating domain configurations (use specific templates for each product) Note: Do not use WLST offline to manage the configuration of an active domain. Offline edits are ignored by running servers and can be overwritten by JMX clients such as WLST online or the WebLogic Server Administration Console. 15
  • 16. WLST Offline – Two Models: Templates and Scripts Recommended for: • Out of the box config for a layered • Templates (put everything in the template) product • Use Template Builder to capture current domain configuration and artifacts into a rich template • Use that template to create new domains, migrate Reason: domain is from dev to production self-contained • Bundles required files • Used by WebLogic Platform products Recommended for: • Scripts (put little in the template and most in • Customer scripts) configuration • Use more basic templates for domain creation migration • Use WLST scripts along with some predefined or • QA automation custom domain templates to create the target domain • Modify/customize domain configuration through Reason: easily make scripts, and effectively track configuration changes and track changes through source control to a domain config 16
  • 17. Starting WLST • Setup the environment: • setWLSEnv.sh/cmd – sets path and classpath • Adds WebLogic Server classes to the CLASSPATH and WL_HOMEserverbin to the PATH • Invoke WLST: • java weblogic.WLST or • java weblogic.WLST c:myscriptsmyscript.py • Starts in Offline mode 17
  • 18. Creating a Domain (WLST Offline) • Syntax • createDomain(domainTemplate, domainDir, user, password) • Example • wls:/offline> createDomain('c:/bea/wlserver_103/common/templates/doma ins/wls.jar','c:/mydomain', 'weblogic', 'weblogic') 18
  • 19. Changing a Domain in WLST Offline Step Syntax 1. Open a domain for editing readDomain(domainDirName) 1. Extend the domain addTemplate(templateFileName) (optional) 1. Make changes (optional) Various commands 1. Save updateDomain() 1. Close the domain for closeDomain() editing 19
  • 20. Browsing and Editing in WLST Offline • Browsing: • cd(), ls() • Editing: • Add an application to a domain: • addTemplate(templateFileName) • Create and delete management objects: • create(name, childMBeanType) • delete(name, childMBeanType) • Get and set attribute values: • get(attrName) • set(attrName, value) • Set domain creation or update options: • setOption(optionName, value) • Load SQL files into a database: • loadDB(dbVersion, connectionPoolName) 20
  • 21. WLST Offline – accessing a domain • Offline – reading a domain: wl_server • readDomain('c:/bea/user_projects/do mains/medrec') JDBCSystemResource • Domain configuration data is a collection of XML documents that expresses a hierarchy of management objects examples-demoXA • WLST represents this hierarchy as a file system Name • The root is the management object that represents the WebLogic Server domain Target (domain directory) • Each managed-object type is a sub directory of the root • Each instance of the type is a subdirectory under the type directory • Each management attribute and operation is a file within a directory 21
  • 22. Syntax • Command names and arguments are case sensitive. • Enclose arguments in single or double quotes. For example, 'newServer' or "newServer". • If you specify a backslash character () in a string, either precede the backslash with another backslash or precede the entire string with a lower-case r character. • For example when specifying a file pathname that contains a backslash: • readTemplate('c:userdomainsmytemplatesmytemplate.jar') or readTemplate(r'c:userdomainsmytemplatesmytemplate.jar') • When using WLST offline, the following characters are not valid in names of management objects: period (.), forward slash (/), or backward slash (). • If you need to cd to a management object whose name includes a forward slash (/), surround the object name in parentheses. For example: • cd('JMSQueue/(jms/REGISTRATION_MDB_QUEUE)') 22
  • 23. Demo • Create a basic WLS domain • Read the domain • Add a Managed Server 23
  • 24. Agenda • WLS Configuration Review • Intro to WebLogic Scripting Tool (WLST) • WLST Offline • WLST Online • JMX Client • Deployment (JSR-88) Client • Miscellaneous Clients - Node Manager, JNDI, Diagnostics • Customizing WLST • Tips and Best Practices 24
  • 25. WLST Online • Analogous to the Administration Console, but without the GUI • JMX client; maintains a persistent connection • Interacts with a server’s/domain’s MBeans • Intended as a runtime management tool: configuration, management, deployment, monitoring 25
  • 26. WLST Online – connecting to a domain • Setup the environment: • setWLSEnv.sh (in WL_HOMEserverbin) • Adds WebLogic Server classes to the CLASSPATH and WL_HOMEserverbin to the PATH • Invoke WLST: • java weblogic.WLST • Starts in Offline mode • Connect to a domain: • wls:/offline> connect('weblogic','weblogic','localhost:7001') 26
  • 27. Traversing MBean Trees • Simpler than JMX – no need to know Domain MBean (root) the JMX object name |- - - MBean type (ServerMBean) • MBeans are hierarchical, similar to a |- - - MBean instance file system, with the DomainMBean at (ManagedServer1) the top of the tree |- - - MBean attributes • Multiple MBean trees (described later) & operations (AutoRestart) • Use commands similar to Unix |- - - MBean instance commands to traverse the tree: (MedRecServer) • cd(), ls() |- - - MBean attributes • Syntax is the same as with WLST & operations Offline (StartupMode) 27
  • 28. Available MBean Trees • domainConfig • configuration hierarchy of the entire domain; represents the configuration MBeans in RuntimeMBeanServer • read only • serverConfig • configuration hierarchy (configuration MBeans) of the server your are connected to • read only • domainRuntime • hierarchy of runtime MBeans for the entire domain • read only • serverRuntime • hierarchy of runtime MBeans for the server you are connected to • read only • edit • writable domain configuration with pending changes; represents the configuration MBeans in the EditMBeanServer • jndi • read-only JNDI tree for the server you are connected to • custom • list of custom MBeans • can be hierarchical/grouped if MBeans use namespaces appropriately 28
  • 29. Switching Between Trees • Use the appropriate command to move to a different tree • domainConfig() • serverConfig() • domainRuntime() • serverRuntime() • edit() • jndi() • custom() • When returning to a tree, you return to the place where you left, except custom and jndi (goes to the root) 29
  • 30. Changing Configuration in WLST Online Step Syntax 1. Change to the edit tree wls:/wl_server/domainConfig> edit() 1. Get an edit lock wls:/wl_server/edit> startEdit() 1. Make changes wls:/wl_server/edit !> svr = cmo.createServer("managedServer") wls:/wl_server/edit !> svr.setListenPort(8001) wls:/wl_server/edit !> svr.setListenAddress("my-address") 1. Save (and implicitly validate) wls:/wl_server/edit !> save() your changes 1. Activate/distribute, release wls:/wl_server/edit !> activate() lock 30
  • 31. Current Management Object • CMO variable – current management object • Java object that serves as a proxy for direct access to the WLS MBean • Makes it easy to directly interact with the MBean – get and set attributes, other commands • Always set to the current WLST path • Only available for WLS MBeans, not custom MBeans • Example: • wls:/mydomain/edit> cmo.setAdministrationPort(9092) • (This example changes the Administration Port in the Domain MBean) 31
  • 32. Deploying an Application • In Online mode, use the deploy command to deploy applications • Syntax: deploy(appName, path, [targets], [stageMode], [planPath], [options]) • deploy("mainWebApp","C:/samples/server/examples/build/ma inWebApp“,”server-1”) • Note: You do not need to be in an edit session to deploy applications. • Reminder: in Offline mode, add an application using an extension template 32
  • 33. Common Online Deployment Commands • deploy Deploy an application to a WebLogic Server instance. • distributeApplication Copy the deployment bundle to the specified targets. • redeploy Redeploy a previously deployed application • startApplication Start an application, making it available to users. • stopApplication Stop an application, making it unavailable to users. • undeploy Undeploy an application from the specified servers. • updateApplication Updates an application configuration using a new deployment plan. • Returns a WLSTProgressObject to track the progress of the command • You query the progress object to get the status; (pull, not push) 33
  • 34. Interacting with the Node Manager • You can use WLST to do the following with Node Manager: • Start a Node Manager. • Connect to a Node Manager, then use the Node Manager to start and stop servers on the machine on which Node Manager is running. • Preferred method: • Use the Node Manager to start the Administration Server • Connect to the Admin Server • Start Managed Servers using the standard WLST lifecycle commands • Enables you to start all servers in the domain with one connection, regardless of which machines host the Managed Servers 34
  • 35. Common WLST Node Manager Commands • startNodeManager – starts Node Manager on the current machine. • nm - Determines whether WLST is connected to Node Manager • nmConnect - Connects WLST to Node Manager to establish a session. (Specify domain and credentials) • nmDisconnect - Disconnects WLST from a Node Manager session. • nmStart - Starts a server in the current domain using Node Manager. • nmKill - Kills the specified server instance that was started with Node Manager. 35
  • 36. Managing Server Lifecycle with WLST • You can also manage server lifecycle through WLST without directly using Node Manager. • The following WLST lifecycle commands are available: • startServer - Start the Administration Server. (Online or Offline) • start - Start a Managed Server instance or a cluster using Node Manager. • suspend - Suspend a running server. • resume - Resume a server instance that is suspended or in ADMIN state. • shutdown - Gracefully shut down a running server instance or cluster. • migrate - Migrate services to a target server within a cluster. 36
  • 37. Demo: WLST Online • Start Node Manager • Start the Administration Server in the new domain • Create a Managed Server 37
  • 38. Agenda • WLS Configuration Review • Intro to WebLogic Scripting Tool (WLST) • WLST Offline • WLST Online • JMX Client • Deployment (JSR-88) Client • Miscellaneous Clients - Node Manager, JNDI, etc. • Customizing WLST • Tips and Best Practices 38
  • 39. Customizing WLST • Add custom commands by: • Creating the commands in a .py file • Add the file to the WLST home directory • WLST home directory – WL_HOME/common/wlst (by default) • Add custom commands to another namespace: • Create the commands in a .py file • Add file to the WLST_home/lib directory • Execute commands using <module>.<command> http://download.oracle.com/docs/cd/E17904_01/web.1111/e13715/toc.htm 39
  • 40. Support for Custom MBeans • You can register custom MBeans and then access them using WLST in the “custom” MBean tree • WLST treats all non-WebLogic Server MBeans as custom MBeans: • Instead of arranging custom MBeans in a hierarchy, WLST organizes and lists custom MBeans by JMX object name. • All MBeans with the same JMX domain name are listed in the same WLST directory. For example, if you register all of your custom MBeans with JMX object names that start with mycompany:, then WLST arranges all of your MBeans in a directory named mycompany. • Custom MBeans cannot use the cmo variable because a stub is not available. • Custom MBeans are editable, but not subject to the WebLogic Server change management process. • You can use MBean get, set, invoke, and create and delete commands on them without first entering the startEdit command. 40
  • 41. Agenda • WLS Configuration Review • Intro to WebLogic Scripting Tool (WLST) • WLST Offline • WLST Online • JMX Client • Deployment (JSR-88) Client • Miscellaneous Clients - Node Manager, JNDI, etc. • Customizing WLST • Tips and Best Practices 41
  • 42. Reduce WLST Startup Time • Cache directory for scanned files: • java -Dpython.cachedir="c:demowlst_cache" weblogic.WLST • New startup option in WLS 10.3: -skipWLSModuleScanning • Default behavior: on startup, WLST scans weblogic.jar and all of the classes referenced in its manifest classpath • With this option, files in the modules directory are not scanned • If needed, you can manually add files to the classpath 42
  • 43. Some Standard Best Practices • Parameterize your script and use the preamble for assigning variables • easily assigned and changed • Before creating something, check to see that it exists try: cd(‘/servers/’ + serverID) print ‘The server ‘ + serverID + ‘ already exists’ exit() except WLSTException: pass 43
  • 44. Redirecting Error and Debug Output to a File • To redirect WLST information, error, and debug messages from standard out to a file, enter: redirect(outputFile,[toStdOut]) • This command also redirects the output of the dumpStack() and dumpVariables() commands. • For example, to redirect WLST output to the logs/wlst.log file under the directory from which you started WLST, enter the following command: wls:/mydomain/serverConfig> redirect('./logs/wlst.log') 44
  • 45. Run a WLST Script within a Domain Template • The configuration framework can execute WLST offline scripts embedded in domain/extension templates (e.g., final.py). • Very useful in satisfying some complex auto- configuration requirements (e.g., proper targeting of various resources) 45
  • 46. Running WLST from Ant • WebLogic Server provides a custom Ant task, wlst, that invokes a WLST script from an Ant build file. • You can create a WLST script (.py) file and then use this task to invoke the script file, or you can create a WLST script in a nested element within this task. 46
  • 47. More Resources • WLST Guide: • http://download.oracle.com/docs/cd/E17904_01/web.1111/e13715/toc.htm • On the web: • http://wlstbyexamples.blogspot.com/ • http://biemond.blogspot.com/2010/08/wlst-scripting-with-oracle-enterprise.html • Template Builder: • http://download.oracle.com/docs/cd/E17904_01/web.1111/e14139/toc.htm • Samples (installed with WLS 10.3): • wlserver_103commontemplatesscriptswlst • wlserver_103commonwlstlib • samplesserverexamplessrcexampleswlstonline • samplesserverexamplessrcexamplesdiagnosticswldfprofilessrc • samplesserverexamplessrcexamplesjdbcmultidatasource 47
  • 48. Q &A 48