SlideShare a Scribd company logo
1 of 43
Maarten Smeets, 06-12-2015
WebLogic Scripting Tool made Cool!
Introduction
• About AMIS
– Located in the Netherlands
– Oracle Award winning partner
• Maarten Smeets
– Senior Oracle Integration Consultant
– Experience with Oracle SOA Suite since 2007
– Well certified (SOA, BPM, Java, SQL,
PL/SQL among others)
– Author of 100+ blog articles (http://javaoraclesoa.blogspot.com)
– Working @ AMIS since 2014
@MaartenSmeetsNL
https://nl.linkedin.com/in/smeetsm
Agenda
• Introduction
• Using Java within WLST
• Using WLST as Jython module
• A look into the future
• Summary
Agenda
• Introduction
• Using Java within WLST
• Using WLST as Jython module
• A look into the future
• Summary
Introduction
WebLogic Scripting Tool
http://www.oracle.com/technetwork/middleware/weblogic/overview/weblogic-server-12-1-3-datasheet-2227036.pdf
Introduction
Based on popular languages
• WLST is based on Jython. Jython is an implementation of the Python
language for the Java platform
Python ranks as 5th most
popular programming
languageJava ranks as most popular
programming language
TIOBE index 2015
Introduction
3 interaction modes
Interactive Script Embedded
Introduction
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
http://www.slideshare.net/jambay/weblogic-scripting-tool-overview
9
Introduction
What can you do with WLST?
Configuration DeploymentManagement Monitoring
Introduction
WLST Configuration
http://stackoverflow.com/questions/18105396/wlst-command-to-update-jdbc-datasource-url
Introduction
WLST Management
http://wlstbyexamples.blogspot.nl/2009/10/dynamic-domain-creation-with-wlst.html#.VmGRnnYvdD8
Introduction
WLST Deployment
Introduction
WLST Monitoring
http://wlstbyexamples.blogspot.nl/2010/02/server-state-using-wlst.html#.VmGYinYvdD8
Agenda
• Introduction
• Using Java within WLST
• Using WLST as Jython module
• A look into the future
• Summary
Using Java within WLST
Why?
• Extend WLST with Java API’s
– Unleash the power of Java API’s on your WLST scripts!
• Rewrite Java as WLST
– WLST can easily be executed by operations on an application server
Using Java with WLST
Some differences
Import ArrayMethodInstance
Using Java with WLST
Imports
Java WLST
import java.util.Hashtable; from java.util import Hashtable
Using Java with WLST
Creating instances
Java WLST
Hashtable jndiProps = new Hashtable(); jndiProps = Hashtable()
Types are determined by inference
Using Java with WLST
Methods
Java WLST
private String
getDNToUndeploy(CompositeData[]
compositeData) throws Exception
def getDNToUndeploy(compositeData):
Python has no true private methods
Exceptions are determined by inference
Using Java with WLST
Arrays
Java WLST
int[] intArray = { 1, 2, 3};
from jarray import array
intArray = array ([1, 2, 3],’i’)
Java primitives arrays can be created
in Jython with the jarray module
Using Java with WLST
Example: Java
http://javaoraclesoa.blogspot.co.uk/2015/05/unleash-power-of-java-apis-on-your-wlst.html
Using Java with WLST
Example: WLST
Agenda
• Introduction
• Using Java with WLST
• Using WLST as Jython module
• A look into the future
• Summary
Using WLST as Jython module
Why?
• WLST uses Jython 2.2.1 (2007)
• Current version of Jython is 2.7 (2015)
• Jython 2.7 has many nice things, for example;
– Package management: pip install logging
– XML API’s: ElementTree
– Easy multithreading: multiprocessing
– Easy argument parsing: argparse
Using WLST as Jython module
Argument parsing in WLST
import getopt
url = None
user = None
password = None
opts, args =
getopt.getopt(sys.argv[1:], "e:u:p:")
for opt, arg in opts:
print opt, arg
if opt in "-e":
env = arg
if opt in "-p":
password = arg
if opt in "-u":
user = arg
print "URL: "+url
print "Username: "+username
print "Password: "+password
import sys;
print "URL: "+sys.argv[1]
print "Username: "+sys.argv[2]
print "Password: "+sys.argv[3]
Manual argument checking
and processing!
Using WLST as Jython module
Argument parsing in Jython 2.7
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("username", type=string, help="username")
parser.add_argument("password", type=string, help="password")
parser.add_argument("url", type=string, help="url")
args = parser.parse_args()
print "URL: "+args.url
print "Username: "+args.username
print "Password: "+args.password
Type checking
Optional/required arguments
Help generation
Minimal coding
Using WLST as Jython module
Module installation
WLST (Jython 2.2.1) Jython 2.7
Find and download a
Jython 2.2.1 compatible module
Copy the module to
WL_HOME/common/wlst/modules
pip install <module name>
Using WLST as Jython module
How?
• You need the classpath
• You need the Jython module path
• You need a WLST Jython module
Using WLST as Jython module
How?
• You need the classpath
• You need the Jython module path
• You need a WLST Jython module
Using WLST as Jython module
Classpath
• Start wlst.sh / wlst.cmd
– import os
– print os.environ[‘CLASSPATH’]
• Add the wlfullclient.jar and <WLS_HOME>/oracle_common/modules/*
• Done 
Using WLST as Jython module
How?
• You need the classpath
• You need the Jython module path
• You need a WLST Jython module
Using WLST as Jython module
Jython module path
• Start wlst.sh or wlst.cmd
– print sys.path
• Done 
Using WLST as Jython module
How?
• You need the classpath
• You need the Jython module path
• You need a WLST Jython module
Using WLST as Jython module
• Start wlst.sh or wlst.cmd
– writeIniFile("wl.py")
• Replace ‘origPrompt = sys.ps1’ with ‘origPrompt = ">>>“’
• Done 
Using WLST as Jython module
• Create a startjython.sh script to set the CLASSPATH and JYTHONPATH
• Ready to roll!
import wl
wl.connect("weblogic","Welcome01", "t3://localhost:7101")
mbServers= wl.getMBean("Servers")
servers= mbServers.getServers()
for server in servers :
print( "Server Name: " + server.getName() )
print( "Done." )
Agenda
• Introduction
• Using Java with WLST
• Using WLST as Jython module
• A look into the future
• Summary
A look into the future
Cloud Application Foundation
A look into the future
New WLST features in 12c
• WLST 12c introduces Jline integration
– use up and down arrows to browse command history
• WebLogic Server 12c provides a Maven plugin to allow execution of
WLST scripts in for example Continuous Delivery pipelines
– https://docs.oracle.com/cd/E24329_01/web.1211/e24368/maven.htm#WLPRG700
• SOA Suite 12.2.1 instance patching only supported with WLST (not Ant or
Maven)
• WLST 12.2.1 offline mode does not support partitions (yet?) . WLST
12.2.1 online does support partitions (multitenancy)
A look into the future
However…
• wlfullclient.jar is deprecated since 12.2.1 (related to multitenancy?)
– http://docs.oracle.com/middleware/1221/wls/NOTES/whatsnew.htm#NOTES155
• RESTful Management Services replacing WLST in the cloud?
– http://docs.oracle.com/middleware/1221/wls/NOTES/whatsnew.htm#NOTES353
• WLST has not seen a new Jython version since 11g
Agenda
• Introduction
• Using Java with WLST
• Using WLST as Jython module
• A look into the future
• Summary
Summary
• WebLogic Scripting Tool is based on popular programming languages
• WebLogic Scripting Tool has many uses
• WebLogic Scripting Tool is very flexible
– can be extended with Java API’s
– can be used as Jython module
• WebLogic Server is changing because of Oracle Cloud requirements
Questions
@MaartenSmeetsNL
https://nl.linkedin.com/in/smeetsm Download the presentation at http://bit.ly/1jH5ywP
WebLogic Scripting Tool made Cool!

More Related Content

What's hot

JavaScript - An Introduction
JavaScript - An IntroductionJavaScript - An Introduction
JavaScript - An IntroductionManvendra Singh
 
JSON: The Basics
JSON: The BasicsJSON: The Basics
JSON: The BasicsJeff Fox
 
Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewOracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewKris Rice
 
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...Amazon Web Services Korea
 
Nodejs Explained with Examples
Nodejs Explained with ExamplesNodejs Explained with Examples
Nodejs Explained with ExamplesGabriele Lana
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to DjangoKnoldus Inc.
 
Deep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceDeep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceAmazon Web Services
 
Mongoose and MongoDB 101
Mongoose and MongoDB 101Mongoose and MongoDB 101
Mongoose and MongoDB 101Will Button
 
VueJS Introduction
VueJS IntroductionVueJS Introduction
VueJS IntroductionDavid Ličen
 

What's hot (20)

Azure Reference Architectures
Azure Reference ArchitecturesAzure Reference Architectures
Azure Reference Architectures
 
JavaScript - An Introduction
JavaScript - An IntroductionJavaScript - An Introduction
JavaScript - An Introduction
 
JSON: The Basics
JSON: The BasicsJSON: The Basics
JSON: The Basics
 
Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewOracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ Overview
 
PHP POWERPOINT SLIDES
PHP POWERPOINT SLIDESPHP POWERPOINT SLIDES
PHP POWERPOINT SLIDES
 
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
 
What is Swagger?
What is Swagger?What is Swagger?
What is Swagger?
 
Nodejs Explained with Examples
Nodejs Explained with ExamplesNodejs Explained with Examples
Nodejs Explained with Examples
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
 
Deep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceDeep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line Interface
 
Bootstrap 5 ppt
Bootstrap 5 pptBootstrap 5 ppt
Bootstrap 5 ppt
 
Mongoose and MongoDB 101
Mongoose and MongoDB 101Mongoose and MongoDB 101
Mongoose and MongoDB 101
 
WCF
WCFWCF
WCF
 
VueJS Introduction
VueJS IntroductionVueJS Introduction
VueJS Introduction
 
Xke spring boot
Xke spring bootXke spring boot
Xke spring boot
 
MYSQL
MYSQLMYSQL
MYSQL
 
Node js for beginners
Node js for beginnersNode js for beginners
Node js for beginners
 
Introduction to thymeleaf
Introduction to thymeleafIntroduction to thymeleaf
Introduction to thymeleaf
 
Spring & hibernate
Spring & hibernateSpring & hibernate
Spring & hibernate
 
Spring Security 5
Spring Security 5Spring Security 5
Spring Security 5
 

Viewers also liked

Weblogic configuration
Weblogic configurationWeblogic configuration
Weblogic configurationAditya Bhuyan
 
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...Frank Munz
 
Easy oracle & weblogic provisioning and deployment
Easy oracle & weblogic provisioning and deploymentEasy oracle & weblogic provisioning and deployment
Easy oracle & weblogic provisioning and deploymentBert Hajee
 
Oracle WebLogic 12.2.1.1 Kurulum, Domain Oluşturma, Upgrade Notları
Oracle WebLogic 12.2.1.1 Kurulum, Domain Oluşturma, Upgrade NotlarıOracle WebLogic 12.2.1.1 Kurulum, Domain Oluşturma, Upgrade Notları
Oracle WebLogic 12.2.1.1 Kurulum, Domain Oluşturma, Upgrade NotlarıM. Fevzi Korkutata
 
WebLogic authentication debugging
WebLogic authentication debuggingWebLogic authentication debugging
WebLogic authentication debuggingMaarten Smeets
 
Learn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationLearn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationRevelation Technologies
 
What should I do now?! JCS for WebLogic Admins
What should I do now?! JCS for WebLogic AdminsWhat should I do now?! JCS for WebLogic Admins
What should I do now?! JCS for WebLogic AdminsSimon Haslam
 
AMIS Beyond the Horizon - High density deployments using weblogic multitenancy
AMIS Beyond the Horizon - High density deployments using weblogic multitenancyAMIS Beyond the Horizon - High density deployments using weblogic multitenancy
AMIS Beyond the Horizon - High density deployments using weblogic multitenancyJaap Poot
 
Tik bab 3 kelas 9
Tik bab 3 kelas 9Tik bab 3 kelas 9
Tik bab 3 kelas 9aniuzta
 
Technology Meet Humanity - Opus Interactive
Technology Meet Humanity - Opus Interactive Technology Meet Humanity - Opus Interactive
Technology Meet Humanity - Opus Interactive Jacklin Berry
 
Gemma Flannery 2015 CV September
Gemma Flannery 2015 CV SeptemberGemma Flannery 2015 CV September
Gemma Flannery 2015 CV SeptemberGemma Flannery
 
Sunquchakuqkunas (INDIVIDUAL)
Sunquchakuqkunas (INDIVIDUAL)Sunquchakuqkunas (INDIVIDUAL)
Sunquchakuqkunas (INDIVIDUAL)RildaSO
 

Viewers also liked (17)

Weblogic configuration
Weblogic configurationWeblogic configuration
Weblogic configuration
 
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
 
Easy oracle & weblogic provisioning and deployment
Easy oracle & weblogic provisioning and deploymentEasy oracle & weblogic provisioning and deployment
Easy oracle & weblogic provisioning and deployment
 
Oracle WebLogic 12.2.1.1 Kurulum, Domain Oluşturma, Upgrade Notları
Oracle WebLogic 12.2.1.1 Kurulum, Domain Oluşturma, Upgrade NotlarıOracle WebLogic 12.2.1.1 Kurulum, Domain Oluşturma, Upgrade Notları
Oracle WebLogic 12.2.1.1 Kurulum, Domain Oluşturma, Upgrade Notları
 
Dynamicly Scale Weblogic in the private Cloud clusters
Dynamicly Scale Weblogic in the private Cloud clusters   Dynamicly Scale Weblogic in the private Cloud clusters
Dynamicly Scale Weblogic in the private Cloud clusters
 
REST mit ADF
REST mit ADFREST mit ADF
REST mit ADF
 
WebLogic authentication debugging
WebLogic authentication debuggingWebLogic authentication debugging
WebLogic authentication debugging
 
Learn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationLearn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c Administration
 
What should I do now?! JCS for WebLogic Admins
What should I do now?! JCS for WebLogic AdminsWhat should I do now?! JCS for WebLogic Admins
What should I do now?! JCS for WebLogic Admins
 
AMIS Beyond the Horizon - High density deployments using weblogic multitenancy
AMIS Beyond the Horizon - High density deployments using weblogic multitenancyAMIS Beyond the Horizon - High density deployments using weblogic multitenancy
AMIS Beyond the Horizon - High density deployments using weblogic multitenancy
 
Creativity into Action
Creativity into ActionCreativity into Action
Creativity into Action
 
Cuoc song tuoi dep
Cuoc song tuoi depCuoc song tuoi dep
Cuoc song tuoi dep
 
Tik bab 3 kelas 9
Tik bab 3 kelas 9Tik bab 3 kelas 9
Tik bab 3 kelas 9
 
Technology Meet Humanity - Opus Interactive
Technology Meet Humanity - Opus Interactive Technology Meet Humanity - Opus Interactive
Technology Meet Humanity - Opus Interactive
 
Gemma Flannery 2015 CV September
Gemma Flannery 2015 CV SeptemberGemma Flannery 2015 CV September
Gemma Flannery 2015 CV September
 
Sunquchakuqkunas (INDIVIDUAL)
Sunquchakuqkunas (INDIVIDUAL)Sunquchakuqkunas (INDIVIDUAL)
Sunquchakuqkunas (INDIVIDUAL)
 
Youtube
YoutubeYoutube
Youtube
 

Similar to WebLogic Scripting Tool made Cool!

Java on Windows Azure
Java on Windows AzureJava on Windows Azure
Java on Windows AzureDavid Chou
 
Introduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David NalleyIntroduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David Nalleybuildacloud
 
Weblogic scripting LVOUG meetup #11
Weblogic scripting LVOUG meetup #11Weblogic scripting LVOUG meetup #11
Weblogic scripting LVOUG meetup #11Andrejs Vorobjovs
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC vipin kumar
 
JAX London 2015: Java vs Nodejs
JAX London 2015: Java vs NodejsJAX London 2015: Java vs Nodejs
JAX London 2015: Java vs NodejsChris Bailey
 
01 overview-servlets-and-environment-setup
01 overview-servlets-and-environment-setup01 overview-servlets-and-environment-setup
01 overview-servlets-and-environment-setupdhrubo kayal
 
Java vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJava vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJAXLondon_Conference
 
20160821 coscup-my sql57docstorelab01
20160821 coscup-my sql57docstorelab0120160821 coscup-my sql57docstorelab01
20160821 coscup-my sql57docstorelab01Ivan Ma
 
Advance java prasentation
Advance java prasentationAdvance java prasentation
Advance java prasentationdhananajay95
 
Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)David Chou
 
Effective out-of-container Integration Testing
Effective out-of-container Integration TestingEffective out-of-container Integration Testing
Effective out-of-container Integration TestingSam Brannen
 
SQL Server 2008 Integration Services
SQL Server 2008 Integration ServicesSQL Server 2008 Integration Services
SQL Server 2008 Integration ServicesEduardo Castro
 
Kick Start your Application Development and Management Strategy
Kick Start your Application Development and Management Strategy Kick Start your Application Development and Management Strategy
Kick Start your Application Development and Management Strategy WSO2
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.jsorkaplan
 
CloudConnect 2011 - Building Highly Scalable Java Applications on Windows Azure
CloudConnect 2011 - Building Highly Scalable Java Applications on Windows AzureCloudConnect 2011 - Building Highly Scalable Java Applications on Windows Azure
CloudConnect 2011 - Building Highly Scalable Java Applications on Windows AzureDavid Chou
 
Mmik_Powershell_DSC_Azure_DSC
Mmik_Powershell_DSC_Azure_DSCMmik_Powershell_DSC_Azure_DSC
Mmik_Powershell_DSC_Azure_DSCMmik Huang
 

Similar to WebLogic Scripting Tool made Cool! (20)

Java on Windows Azure
Java on Windows AzureJava on Windows Azure
Java on Windows Azure
 
Introduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David NalleyIntroduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David Nalley
 
Weblogic scripting LVOUG meetup #11
Weblogic scripting LVOUG meetup #11Weblogic scripting LVOUG meetup #11
Weblogic scripting LVOUG meetup #11
 
Knolx session
Knolx sessionKnolx session
Knolx session
 
AJppt.pptx
AJppt.pptxAJppt.pptx
AJppt.pptx
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
 
Amis conference soa deployment. the dirty tricks using bamboo, nexus and xl ...
Amis conference soa deployment. the dirty tricks using  bamboo, nexus and xl ...Amis conference soa deployment. the dirty tricks using  bamboo, nexus and xl ...
Amis conference soa deployment. the dirty tricks using bamboo, nexus and xl ...
 
JAX London 2015: Java vs Nodejs
JAX London 2015: Java vs NodejsJAX London 2015: Java vs Nodejs
JAX London 2015: Java vs Nodejs
 
01 overview-servlets-and-environment-setup
01 overview-servlets-and-environment-setup01 overview-servlets-and-environment-setup
01 overview-servlets-and-environment-setup
 
Java vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJava vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris Bailey
 
20160821 coscup-my sql57docstorelab01
20160821 coscup-my sql57docstorelab0120160821 coscup-my sql57docstorelab01
20160821 coscup-my sql57docstorelab01
 
Advance java prasentation
Advance java prasentationAdvance java prasentation
Advance java prasentation
 
Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)
 
Effective out-of-container Integration Testing
Effective out-of-container Integration TestingEffective out-of-container Integration Testing
Effective out-of-container Integration Testing
 
SQL Server 2008 Integration Services
SQL Server 2008 Integration ServicesSQL Server 2008 Integration Services
SQL Server 2008 Integration Services
 
A Jouney Through Wonderland - Jimdo
A Jouney Through Wonderland - JimdoA Jouney Through Wonderland - Jimdo
A Jouney Through Wonderland - Jimdo
 
Kick Start your Application Development and Management Strategy
Kick Start your Application Development and Management Strategy Kick Start your Application Development and Management Strategy
Kick Start your Application Development and Management Strategy
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.js
 
CloudConnect 2011 - Building Highly Scalable Java Applications on Windows Azure
CloudConnect 2011 - Building Highly Scalable Java Applications on Windows AzureCloudConnect 2011 - Building Highly Scalable Java Applications on Windows Azure
CloudConnect 2011 - Building Highly Scalable Java Applications on Windows Azure
 
Mmik_Powershell_DSC_Azure_DSC
Mmik_Powershell_DSC_Azure_DSCMmik_Powershell_DSC_Azure_DSC
Mmik_Powershell_DSC_Azure_DSC
 

More from Maarten Smeets

Google jib: Building Java containers without Docker
Google jib: Building Java containers without DockerGoogle jib: Building Java containers without Docker
Google jib: Building Java containers without DockerMaarten Smeets
 
Introduction to Anchore Engine
Introduction to Anchore EngineIntroduction to Anchore Engine
Introduction to Anchore EngineMaarten Smeets
 
R2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database ConnectivityR2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database ConnectivityMaarten Smeets
 
Performance Issue? Machine Learning to the rescue!
Performance Issue? Machine Learning to the rescue!Performance Issue? Machine Learning to the rescue!
Performance Issue? Machine Learning to the rescue!Maarten Smeets
 
Performance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMsPerformance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMsMaarten Smeets
 
Performance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMsPerformance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMsMaarten Smeets
 
VirtualBox networking explained
VirtualBox networking explainedVirtualBox networking explained
VirtualBox networking explainedMaarten Smeets
 
Microservices on Application Container Cloud Service
Microservices on Application Container Cloud ServiceMicroservices on Application Container Cloud Service
Microservices on Application Container Cloud ServiceMaarten Smeets
 
WebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck ThreadsWebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck ThreadsMaarten Smeets
 
All you need to know about transport layer security
All you need to know about transport layer securityAll you need to know about transport layer security
All you need to know about transport layer securityMaarten Smeets
 
Webservice security considerations and measures
Webservice security considerations and measuresWebservice security considerations and measures
Webservice security considerations and measuresMaarten Smeets
 
Machine learning with R
Machine learning with RMachine learning with R
Machine learning with RMaarten Smeets
 
Oracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new featuresOracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new featuresMaarten Smeets
 
How to build a cloud adapter
How to build a cloud adapterHow to build a cloud adapter
How to build a cloud adapterMaarten Smeets
 

More from Maarten Smeets (15)

Google jib: Building Java containers without Docker
Google jib: Building Java containers without DockerGoogle jib: Building Java containers without Docker
Google jib: Building Java containers without Docker
 
Introduction to Anchore Engine
Introduction to Anchore EngineIntroduction to Anchore Engine
Introduction to Anchore Engine
 
R2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database ConnectivityR2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database Connectivity
 
Performance Issue? Machine Learning to the rescue!
Performance Issue? Machine Learning to the rescue!Performance Issue? Machine Learning to the rescue!
Performance Issue? Machine Learning to the rescue!
 
Performance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMsPerformance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMs
 
Performance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMsPerformance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMs
 
VirtualBox networking explained
VirtualBox networking explainedVirtualBox networking explained
VirtualBox networking explained
 
Microservices on Application Container Cloud Service
Microservices on Application Container Cloud ServiceMicroservices on Application Container Cloud Service
Microservices on Application Container Cloud Service
 
WebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck ThreadsWebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck Threads
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
All you need to know about transport layer security
All you need to know about transport layer securityAll you need to know about transport layer security
All you need to know about transport layer security
 
Webservice security considerations and measures
Webservice security considerations and measuresWebservice security considerations and measures
Webservice security considerations and measures
 
Machine learning with R
Machine learning with RMachine learning with R
Machine learning with R
 
Oracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new featuresOracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new features
 
How to build a cloud adapter
How to build a cloud adapterHow to build a cloud adapter
How to build a cloud adapter
 

Recently uploaded

Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Recently uploaded (20)

Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

WebLogic Scripting Tool made Cool!

  • 1. Maarten Smeets, 06-12-2015 WebLogic Scripting Tool made Cool!
  • 2. Introduction • About AMIS – Located in the Netherlands – Oracle Award winning partner • Maarten Smeets – Senior Oracle Integration Consultant – Experience with Oracle SOA Suite since 2007 – Well certified (SOA, BPM, Java, SQL, PL/SQL among others) – Author of 100+ blog articles (http://javaoraclesoa.blogspot.com) – Working @ AMIS since 2014 @MaartenSmeetsNL https://nl.linkedin.com/in/smeetsm
  • 3. Agenda • Introduction • Using Java within WLST • Using WLST as Jython module • A look into the future • Summary
  • 4. Agenda • Introduction • Using Java within WLST • Using WLST as Jython module • A look into the future • Summary
  • 6. Introduction Based on popular languages • WLST is based on Jython. Jython is an implementation of the Python language for the Java platform Python ranks as 5th most popular programming languageJava ranks as most popular programming language TIOBE index 2015
  • 8. Introduction 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 http://www.slideshare.net/jambay/weblogic-scripting-tool-overview
  • 9. 9 Introduction What can you do with WLST? Configuration DeploymentManagement Monitoring
  • 14. Agenda • Introduction • Using Java within WLST • Using WLST as Jython module • A look into the future • Summary
  • 15. Using Java within WLST Why? • Extend WLST with Java API’s – Unleash the power of Java API’s on your WLST scripts! • Rewrite Java as WLST – WLST can easily be executed by operations on an application server
  • 16. Using Java with WLST Some differences Import ArrayMethodInstance
  • 17. Using Java with WLST Imports Java WLST import java.util.Hashtable; from java.util import Hashtable
  • 18. Using Java with WLST Creating instances Java WLST Hashtable jndiProps = new Hashtable(); jndiProps = Hashtable() Types are determined by inference
  • 19. Using Java with WLST Methods Java WLST private String getDNToUndeploy(CompositeData[] compositeData) throws Exception def getDNToUndeploy(compositeData): Python has no true private methods Exceptions are determined by inference
  • 20. Using Java with WLST Arrays Java WLST int[] intArray = { 1, 2, 3}; from jarray import array intArray = array ([1, 2, 3],’i’) Java primitives arrays can be created in Jython with the jarray module
  • 21. Using Java with WLST Example: Java http://javaoraclesoa.blogspot.co.uk/2015/05/unleash-power-of-java-apis-on-your-wlst.html
  • 22. Using Java with WLST Example: WLST
  • 23. Agenda • Introduction • Using Java with WLST • Using WLST as Jython module • A look into the future • Summary
  • 24. Using WLST as Jython module Why? • WLST uses Jython 2.2.1 (2007) • Current version of Jython is 2.7 (2015) • Jython 2.7 has many nice things, for example; – Package management: pip install logging – XML API’s: ElementTree – Easy multithreading: multiprocessing – Easy argument parsing: argparse
  • 25. Using WLST as Jython module Argument parsing in WLST import getopt url = None user = None password = None opts, args = getopt.getopt(sys.argv[1:], "e:u:p:") for opt, arg in opts: print opt, arg if opt in "-e": env = arg if opt in "-p": password = arg if opt in "-u": user = arg print "URL: "+url print "Username: "+username print "Password: "+password import sys; print "URL: "+sys.argv[1] print "Username: "+sys.argv[2] print "Password: "+sys.argv[3] Manual argument checking and processing!
  • 26. Using WLST as Jython module Argument parsing in Jython 2.7 import argparse parser = argparse.ArgumentParser() parser.add_argument("username", type=string, help="username") parser.add_argument("password", type=string, help="password") parser.add_argument("url", type=string, help="url") args = parser.parse_args() print "URL: "+args.url print "Username: "+args.username print "Password: "+args.password Type checking Optional/required arguments Help generation Minimal coding
  • 27. Using WLST as Jython module Module installation WLST (Jython 2.2.1) Jython 2.7 Find and download a Jython 2.2.1 compatible module Copy the module to WL_HOME/common/wlst/modules pip install <module name>
  • 28. Using WLST as Jython module How? • You need the classpath • You need the Jython module path • You need a WLST Jython module
  • 29. Using WLST as Jython module How? • You need the classpath • You need the Jython module path • You need a WLST Jython module
  • 30. Using WLST as Jython module Classpath • Start wlst.sh / wlst.cmd – import os – print os.environ[‘CLASSPATH’] • Add the wlfullclient.jar and <WLS_HOME>/oracle_common/modules/* • Done 
  • 31. Using WLST as Jython module How? • You need the classpath • You need the Jython module path • You need a WLST Jython module
  • 32. Using WLST as Jython module Jython module path • Start wlst.sh or wlst.cmd – print sys.path • Done 
  • 33. Using WLST as Jython module How? • You need the classpath • You need the Jython module path • You need a WLST Jython module
  • 34. Using WLST as Jython module • Start wlst.sh or wlst.cmd – writeIniFile("wl.py") • Replace ‘origPrompt = sys.ps1’ with ‘origPrompt = ">>>“’ • Done 
  • 35. Using WLST as Jython module • Create a startjython.sh script to set the CLASSPATH and JYTHONPATH • Ready to roll! import wl wl.connect("weblogic","Welcome01", "t3://localhost:7101") mbServers= wl.getMBean("Servers") servers= mbServers.getServers() for server in servers : print( "Server Name: " + server.getName() ) print( "Done." )
  • 36. Agenda • Introduction • Using Java with WLST • Using WLST as Jython module • A look into the future • Summary
  • 37. A look into the future Cloud Application Foundation
  • 38. A look into the future New WLST features in 12c • WLST 12c introduces Jline integration – use up and down arrows to browse command history • WebLogic Server 12c provides a Maven plugin to allow execution of WLST scripts in for example Continuous Delivery pipelines – https://docs.oracle.com/cd/E24329_01/web.1211/e24368/maven.htm#WLPRG700 • SOA Suite 12.2.1 instance patching only supported with WLST (not Ant or Maven) • WLST 12.2.1 offline mode does not support partitions (yet?) . WLST 12.2.1 online does support partitions (multitenancy)
  • 39. A look into the future However… • wlfullclient.jar is deprecated since 12.2.1 (related to multitenancy?) – http://docs.oracle.com/middleware/1221/wls/NOTES/whatsnew.htm#NOTES155 • RESTful Management Services replacing WLST in the cloud? – http://docs.oracle.com/middleware/1221/wls/NOTES/whatsnew.htm#NOTES353 • WLST has not seen a new Jython version since 11g
  • 40. Agenda • Introduction • Using Java with WLST • Using WLST as Jython module • A look into the future • Summary
  • 41. Summary • WebLogic Scripting Tool is based on popular programming languages • WebLogic Scripting Tool has many uses • WebLogic Scripting Tool is very flexible – can be extended with Java API’s – can be used as Jython module • WebLogic Server is changing because of Oracle Cloud requirements

Editor's Notes

  1. Recent awards: Oracle EMEA Middleware Partner of the Year, 3 times Oracle Netherlands Middleware partner of the year. One of the rare moments in the Netherlands when it isn’t raining.
  2. In interactive mode, the shell managed a persistent connection to the server A script can be executed setWLSEnv.sh and “java weblogic.WLST <script>” or wlst.sh / wlst.cmd. java –cp wlfullclient.jar weblogic.WLST Embedded mode allows running WLST directly from Java using an Interpreter (weblogic.management.scripting.utils.WLSTInterpreter) http://www.qualogy.com/starting-wlst-scripts/ and http://www.slideshare.net/jambay/weblogic-scripting-tool-overview have useful suggestions
  3. Configuration wizard uses this
  4. Interactive and script are not called separate interaction patterns for nothing.
  5. Notice differences between 11g, 12.1.3 and 12.2.1. 12.2.1 includes a single JAR which contains a manifest file containing the classpath (WLS_HOME\wlserver\modules\features\wlst.wls.classpath)
  6. Different from executing directly from WLST!
  7. Ant plugin at least in WLS 8.1. Not deprecated