SlideShare a Scribd company logo
DOAG 2013 IMC,Mainz, 06. Juni 2013
Andreas Koop
CEO & Consultant
Oracle Technologies
DEPLOYMENT BEST PRACTICES
ON WEBLOGIC SERVER
Challenges
Strategies
Plan
Best Practices
Andreas Koop
CEO & Consultant
Oracle TechnologiesABOUT
Consulting, Training Oracle Fusion Middleware
ADF Certified Implementation Specialist
Community
DOAG, ADF EMG, ADF German Community, Twitter @multikoop
Blog
Technical http://multikoop.blogspot.com
Sonstiges http://www.enpit.de/blog
2
Training DevelopmentConsulting
Oracle Fusion
Middleware
Oracle
ADF
Oracle
WebLogic
Oracle
WebCenter
ENTERPRISE PRAGMATIC IT
Andreas Koop
AGENDA
Deployment Challenges
Deployment Tools & Strategies
Deployment Plan
Production Redeployment
Pain Points & Conclusion
4
Andreas Koop
DEPLOYMENT CHALLENGES
‣ Multiple Apps, multiple versions, instant releases..
‣ Application development becomes easy,
Middleware becomes complex:
DataSources, WebServices, Processes, JMS, MDS,
App Roles, Permissions, custom configuration,
What else?
‣ Who can handle this?
5
Andreas Koop
APPLICATION DEPLOYMENT
OVERVIEW
‣ Prepare
‣ Copy deployment units to
target servers if needed
‣ Deploy
‣ Shared Libraries
‣ Applications
DataSources
JMS Topics/Queues
EJBs
..
6
AS App1 App2
App / Lib
deploy
Cluster
(sample topology)
Andreas Koop
WEBLOGIC DEPLOYMENT
TOOLS
‣ java weblogic.Deployer (. ./setWLSEnv.sh)
‣ Ant Task / Maven / Autodeploy
=> Development / Test
‣ WLST Commands
=> Development / Test / Production
‣ Admin Console / EM
=> Development / AdHoc Cases / Support
7
! Do not use in
Production
My Favorit! Gives a
lot of predictability and
safety!
Andreas Koop
STAGING MODE: STAGE FOR
SMALL APPLICATIONS
‣ Admin Server copies
deployment unit to
servers/<name>/
stage
‣ Managed Servers deploy
using their local copy
‣ => Use for small
applications !
8
AS App1 App2
App
deploy
ear
earcopy
earcopy
(sample topology)
Andreas Koop
‣ Admin Server does not
copy deployment units
‣ shared, directly
accessibly by AS and MS
‣ => Use for large
applications or exploded
-->Reload of JSP/Servlet
‣ => Saves time!
AS App1 App2
STAGING MODE: NO STAGE
FOR LARGE APPLICATIONS
9
/shared/apps/myapp1.ear
App
deploy
(sample topology)
Andreas Koop
‣ Admin Server does not
copy deployment units
‣ Manuel copy to AS and
MS needed
‣ => Use if no shared fs
available
‣ => Use if scripts for
manual distrib. exists
STAGING MODE: EXTERNAL
STAGE FOR...
10
AS App1 App2
App
deploy
earcopy
earcopy
earcopy
Admin
Guy
(sample topology)
Andreas Koop
WHERE TO LOCATE
DEPLOYMENT UNITS
‣ ! Prerequisite: Do not use default for domain home:
$MW_HOME/user_projects/domains
‣ Locate domain outside $MW_HOME
‣ Locate App artefacts outside $MW_HOME
11
/domains/mydomain/
/applications/mydomain/myapp1/1.0/app/myapp1.ear
/applications/mydomain/myapp1/1.0/plan/plan.xml
Andreas Koop
QUIZ: WHAT DO THAT OPTIONS
MEAN? (FROM ADMIN CONSOLE)
12
AS uses nostage by
default
MS uses stage by
default
depends
stage
nostage
Andreas Koop
DEPLOY WITH ANT
13
<?xml version="1.0" encoding="UTF-8" ?>
<project name="deploy-myapp" default="deploy">
<path id="weblogic.deploy.path">
<fileset file="${weblogic.home}/server/lib/weblogic.jar" />
<fileset file="${weblogic.home}/server/lib/webservices.jar" />
</path>
<taskdef name="wldeploy"
classname="weblogic.ant.taskdefs.management.WLDeploy"
classpathref="weblogic.deploy.path" />
<target name="deploy">
</target>
</project>
<wldeploy action="deploy"
user="${weblogic.user}"
password="${weblogic.password}"
adminurl="${weblogic.adminurl}"
source="${app.webapp}" name="${app.name}"
targets="${weblogic.targets}" verbose="true"
debug="false"
/>
Andreas Koop
DEPLOY WITH ANT
EXTENDED
14
<?xml version="1.0" encoding="UTF-8" ?>
<project name="deploy-myapp" default="deploy">
...
<!-- WLS Taskdefs -->
<path id="wls.classpath">
<fileset dir="${oracle.weblogic.home}/server/lib" includes="weblogic.jar"/>
</path>
<taskdef name="wlst" classname="weblogic.ant.taskdefs.management.WLSTTask"
classpathref="wls.classpath"/>
<target name="deploy">
<echo message=" Deploying application ... "/>
</target>
...
</project>
<wlst debug="true" failOnError="true" classpathref="wls.classpath"
fileName="./wlst/deploy.py"
arguments="....." >
</wlst>
Reuse existing WLST
Scripts!
Andreas Koop
DEPLOY WITH MAVEN
PREPARE
‣ Need to generate maven plugin with the WebLogic
JarBuilder Tool (at least in 11g)
‣ Install into Maven Repository(see documentation)
‣ Use in your projects pom.xml (see next slide)
15
$ java -jar wljarbuilder.jar -profile weblogic-maven-plugin
..
..
Created new jar file: ../wlserver_10.3/server/lib/weblogic-maven-plugin.jar
Andreas Koop
DEPLOY WITH MAVEN
USE
‣ Directly
‣ In ,install‘ Maven Lifecycle of your pom.xml
16
$ mvn weblogic:deploy
<plugin> 
 <groupId>com.oracle.weblogic</groupId>
  <artifactId>weblogic-maven-plugin</artifactId>
<version>10.3.6</version>
<configuration>
<adminurl>t3://localhost:7001</adminurl>
<user>weblogic</user>
<password>password</password>
<name>myapp</name>
<upload>true</upload>
<targets>AdminServer</targets>
 </configuration>
Andreas Koop
DEPLOY WITH MAVEN
USE
‣ In ,install‘ Maven Lifecycle of your pom.xml
17
...
 <executions>
<execution>
<id>deploy</id>
<phase>install</phase>
     <goals>
       <goal>deploy</goal>
     </goals>
     <configuration>
       <source>deploy/myapp.war</source>
     </configuration>
   </execution>
 </executions>
</plugin>
Andreas Koop
DEPLOYMENT WITH ANT / MVN
CONCLUSION
‣ „Pure Ant“ WebLogic Deployment Tasks are not
powerful enough.
‣ Extend where needed with custom WLST scripts
‣ Fits typically well in existing CI Build Environment
‣ Extended Maven Features in WLS 12c : create-
domain, start-server .... !
18
Andreas Koop
DEPLOY WITH WLST
HOW TO
19
connect('weblogic', 'welcome1', ADMIN_URL)
deploy('myApp', '/path/to/myApp.ear', targets='Cluster1')
# targets='Server1'
startApplication('myApp')
disconnect()
exit()
Andreas Koop
UNDEPLOY WITH WLST
HOW TO
20
connect('weblogic', 'welcome1', ADMIN_URL)
stopApplication('myApp')
undeploy('myApp')
# default: from all targets
disconnect()
exit()
Andreas Koop
WLST DEPLOYMENT
COMMANDS
21
Command
deploy(appName, path, [targets], [stageMode], [planPath], [options])
startApplication(appName, [options])
stopApplication(appName, [options])
undeploy(appName,[targets],[options])
updateApplication(appName, [planPath], [options])
Update app with
plan.xml
listApplications()
Andreas Koop
‣ Always start with a cluster - even if only a single
MS is needed at the beginning
‣ => Easily to scale afterwards
‣ => No changes to deployment
strategy needed
DEPLOY TO A CLUSTER FROM
THE BEGINNING
22
App1 / Lib
deploy
App1
Cluster
App1
Cluster
App1
...
Andreas Koop
HANDLING DIFFERENT ENV
REQUIREMENTS
23
Development Test Production
DataSource DataSource DataSource
weblogic.xml
jsp-descriptor/verbose
= true
...
weblogic.xml
jsp-descriptor/verbose
= false
...
weblogic.xml
jsp-descriptor/verbose
= false
...
web.xml
init-param/name[css-
compression]=off
session-timeout = 3600
...
web.xml
init-param/name[css-
compression]=on
session-timeout = 60
...
web.xml
init-param/name[css-
compression]=on
session-timeout = 7200
...
...
...
Andreas Koop
HANDLING DIFFERENT ENV
REQUIREMENTS
24
Development Test Production
DataSource DataSource DataSource
plan.xml
web.xml -> session-
timeout = 3600
weblogic.xml -> ...
plan.xml
web.xml -> session-
timeout = 60
weblogic.xml -> ...
plan.xml
web.xml -> session-
timeout = 7200
weblogic.xml -> ...
EAR EAR EAR
...
...
deploy deploy deploy
+ ++
Andreas Koop
WHAT IS A DEPLOYMENT PLAN
‣ Plan (plan.xml) used with deployment artefact
‣ Replacing values by XPath / Variables
‣ Useful for
‣ Changes to web.xml / weblogic.xml / Other XML
‣ ! No changes to .properties possible
‣ „Deploy myapp.ear -plan /path/to/plan.xml ...“
25
Andreas Koop
DEPLOYMENT PLAN
CREATION / EDITING
‣ Working with plan.xml and plain text editor is
difficult! Best Practice: OEPE plan.xml Editor!
26
Or use
,java weblogic.PlanGenerator‘
Andreas Koop
EDIT DEPLOYMENT PLAN
WITH OEPE
‣ Nice XPath Editor included! easy selection of
assignable elements and selection on variable!
27
Andreas Koop
HOW TO DEPLOY WITH PLAN
‣ weblogic.Deployer
‣ Or with WLST
‣ Or Admin Console / EM
28
deploy('myApp', '/path/to/1.0/app/myApp.ear', plan='/path/to/1.0/plan/
plan.xml' ..)
java weblogic.Deployer .... -plan /path/to/1.0/plan/plan.xml ...
Andreas Koop
USE SHARED LIBRARIES
‣ Static content: js, css, images
‣ Common Functionality, Modules
29
Andreas Koop
HOW TO BUILD
SHARED LIBRARIES
30
MANIFEST.MF
Andreas Koop
HOW TO DEPLOY
SHARED LIBRARIES
‣ weblogic.Deployer
‣ Or WLST
31
#!/bin/sh
. $WL_HOME/server/bin/setWLSEnv.sh
java weblogic.Deployer -adminurl t3://eden.local:7001 -username weblogic -
password welcome1 -upload -library -targets Cluster1 -deploy -source enpit-
shared-lib.war
...
deploy('enpit-shared-lib', '/path/to/enpit-shared-lib.war',
targets='Cluster1',libraryModule='true'[, upload='true'])
Andreas Koop
HOW TO CONSUME
SHARED LIBRARIES
‣ Configure references in weblogic.xml or weblogic-
application.xml
32
<?xml version='1.0' encoding='UTF-8'?>
<weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app.xsd"
xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
...
<library-ref>
<library-name>enpit-common-lib</library-name>
<!--specification-version>1.0</specification-version>
<implementation-version>1.0.6</implementation-version>
<exact-match>true</exact-match-->
</library-ref>
</weblogic-web-app>
Andreas Koop
SHARED LIBRARIES -
POSSIBLE ERRORS
‣ Precondition: Shared Library is referenced. App is
running
‣ Solution
‣ Deploy Library as new version
‣ „Production redeploy“ dependent application
33
Cannot undeploy library Extension-Name: enpit-common-war-lib, Specification-Version: 1,
Implementation-Version: 1.0.4 from server AdminServer, because the following deployed applications
reference it: enpittestcommons-reflib.war
Andreas Koop
SECURITY DEPLOYMENT
CONSIDERATIONS
‣ Security Realm <- JAAS Security Standard <- OPPS
Provider
34
<security-constraint>
<web-resource-collection>
<web-resource-name>administration</web-resource-name>
<url-pattern>/admin/*.jsp</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>admin-users</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>jazn.com</realm-name>
</login-config>
<security-role>
<role-name>admin-users</role-name>
</security-role>
web.xml
Andreas Koop
SECURITY DEPLOYMENT
CONSIDERATIONS
‣ Deployment Descriptor (DD only, Java EE Standard)
‣
‣ Custom Roles Model
=> Any DD Role-Mapping is ignored
‣ Custom Roles and Policy Model
=> Not recommended for fine-grained control
35
<security-role-assignment>
<role-name>admin-users</role-name>
<principal-name>Administrator</principal-name>
</security-role-assignment>
weblogic.xml
Andreas Koop
SECURITY DEPLOYMENT
CONSIDERATIONS
‣ system-jazn-data.xml (OPSS specific)
‣ The best tool currently is Enterprise Manager
36
BPM Role Mapping for
instance
Andreas Koop
PRODUCTION REDEPLOYMENT
37
app v1.0 app v1.0.1
Existing client
connections
New Client
Connections
deploy('myApp', '/path/to/myApp.ear', ..,appVersion = '1.0')
deploy('myApp', '/path/to/myApp.ear', ..,appVersion = '1.0.1')
Andreas Koop
PRODUCTION REDEPLOYMENT
BEST PRACTICE
38
‣ Provide Version information inside
MANIFEST.MF
‣ Set version during CI build process!
‣ Specify retire grace period on redeploy
‣ Retire immediately
... -redeploy -source ...myapp.ear -retiretimeout 300
... -undeploy -name myapp -appversion 1.0
Arggh. Need the
lower version no. Not
easy to automate...
Andreas Koop
SOLUTION FOR
UNDEPLOY RETIRED APPS
39
def undeploy_retired_apps(l_appName):
cd ('AppDeployments')
l_apps=cmo.getAppDeployments()
for app in l_apps:
domainConfig()
cd ('/AppDeployments/'+app.getName()+'/Targets')
l_targets = ls(returnMap='true')
domainRuntime()
cd('AppRuntimeStateRuntime/AppRuntimeStateRuntime')
for target in l_targets:
l_state=cmo.getCurrentState(app.getName(),target)
if app.getName().find(l_appName) != -1:
if l_state == 'STOP_RUNNING':
log_info ('Found:'+ app.getName()+' - '+str(l_state))
stopApplication(app.getName())
l_state=cmo.getCurrentState(app.getName(),target)
if l_state == 'STATE_RETIRED':
log_info ('Found:'+ app.getName()+' - '+str(l_state))
undeploy_app(app.getName())
undeploy_retired_apps()
Andreas Koop
PRODUCTION REDEPLOYMENT
BEST PRACTICE
40
‣ Rollback deployment to previous
version is an easy task
‣ Keep in mind: In-Place redeployment destroys
existing sessions! To keep the session state:
... -redeploy -source .../1.0/app/myapp.ear
weblogic.xml
..
<container-descriptor>
<save-sessions-enabled>true</save-sessions-enabled>
</container-descriptor>
..
!Hower, the
application will not be
available at redeploy!
Andreas Koop
PAIN POINTS AND POSSIBLE
SOLUTIONS
‣ Custom configuration data
Suggestion: Properties accessible by JNDI (See GlassFish)
‣ Single Security Policy Store for all applications
(system-jazn-data.xml)
Recommendation: OID or DB based Policy-Store
Suggestion: Policy-Store bundled with app deployment
41
App1
Domain
App 2
system-jazn-data.xml
- Role-Mapping App1
- Role-Mapping App2
- Permissions App1
- Permissions App2
Andreas Koop
CONCLUSION
‣ Automate from the beginning
‣ Stage mode depends on app size, existing
infrastructure
‣ Use deployment plans & „production
redeployment“
‣ Use shared libs where applicable
42
Andreas Koop
FURTHER READING
‣ Oracle FMW Admin Guide
http://docs.oracle.com/cd/E23943_01/core.1111/e10105/deployer_role.htm
‣ Oracle FMW Deploying Applications to WLS
http://docs.oracle.com/cd/E23943_01/web.1111/e13702/toc.htm
‣ Community / Blogs
http://middlewaremagic.com
http://weblogic-wonders.com
http://weblogic-tips.com
...
43
VIELEN DANK FÜR IHRE
AUFMERKSAMKEIT
HABEN SIE NOCH FRAGEN?
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)
Ad

More Related Content

What's hot (20)

Oracle Enterprise Manager 13C and Hybrid Cloud
Oracle Enterprise Manager 13C and Hybrid CloudOracle Enterprise Manager 13C and Hybrid Cloud
Oracle Enterprise Manager 13C and Hybrid Cloud
jobacle
 
Maximum Availability Architecture - Best Practices for Oracle Database 19c
Maximum Availability Architecture - Best Practices for Oracle Database 19cMaximum Availability Architecture - Best Practices for Oracle Database 19c
Maximum Availability Architecture - Best Practices for Oracle Database 19c
Glen Hawkins
 
Az 104 session 6 azure networking part2
Az 104 session 6 azure networking part2Az 104 session 6 azure networking part2
Az 104 session 6 azure networking part2
AzureEzy1
 
Lightning Web Component - LWC
Lightning Web Component - LWCLightning Web Component - LWC
Lightning Web Component - LWC
Thierry TROUIN ☁
 
[Azure Governance] Lesson 4 : Azure Policy
[Azure Governance] Lesson 4 : Azure Policy[Azure Governance] Lesson 4 : Azure Policy
[Azure Governance] Lesson 4 : Azure Policy
☁ Hicham KADIRI ☁
 
Apache Solr
Apache SolrApache Solr
Apache Solr
Minh Tran
 
Angular Material (2) - NgVikingsConf
Angular Material (2) - NgVikingsConfAngular Material (2) - NgVikingsConf
Angular Material (2) - NgVikingsConf
Tracy Lee
 
Karate for Complex Web-Service API Testing by Peter Thomas
Karate for Complex Web-Service API Testing by Peter ThomasKarate for Complex Web-Service API Testing by Peter Thomas
Karate for Complex Web-Service API Testing by Peter Thomas
intuit_india
 
AWS를 활용한 글로벌 오피스 업무 환경 구축하기 - 류한진, 이랜드시스템스 :: AWS Summit Seoul 2019
AWS를 활용한 글로벌 오피스 업무 환경 구축하기 - 류한진, 이랜드시스템스 :: AWS Summit Seoul 2019AWS를 활용한 글로벌 오피스 업무 환경 구축하기 - 류한진, 이랜드시스템스 :: AWS Summit Seoul 2019
AWS를 활용한 글로벌 오피스 업무 환경 구축하기 - 류한진, 이랜드시스템스 :: AWS Summit Seoul 2019
Amazon Web Services Korea
 
React Interview Questions and Answers | React Tutorial | React Redux Online T...
React Interview Questions and Answers | React Tutorial | React Redux Online T...React Interview Questions and Answers | React Tutorial | React Redux Online T...
React Interview Questions and Answers | React Tutorial | React Redux Online T...
Edureka!
 
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
Justin Lin
 
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
Amazon Web Services Korea
 
Project Orleans - Actor Model framework
Project Orleans - Actor Model frameworkProject Orleans - Actor Model framework
Project Orleans - Actor Model framework
Neil Mackenzie
 
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
AWSKRUG - AWS한국사용자모임
 
[CTO Night & Day 2019] AWS Database Overview -データベースの選択指針- #ctonight
[CTO Night & Day 2019] AWS Database Overview -データベースの選択指針- #ctonight[CTO Night & Day 2019] AWS Database Overview -データベースの選択指針- #ctonight
[CTO Night & Day 2019] AWS Database Overview -データベースの選択指針- #ctonight
Amazon Web Services Japan
 
Aws interview questions
Aws interview questionsAws interview questions
Aws interview questions
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
Intro on Oracle Application express - APEX
Intro on Oracle Application express - APEXIntro on Oracle Application express - APEX
Intro on Oracle Application express - APEX
Lino Schildenfeld
 
Azure key vault
Azure key vaultAzure key vault
Azure key vault
Rahul Nath
 
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Edureka!
 
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Andrejs Prokopjevs
 
Oracle Enterprise Manager 13C and Hybrid Cloud
Oracle Enterprise Manager 13C and Hybrid CloudOracle Enterprise Manager 13C and Hybrid Cloud
Oracle Enterprise Manager 13C and Hybrid Cloud
jobacle
 
Maximum Availability Architecture - Best Practices for Oracle Database 19c
Maximum Availability Architecture - Best Practices for Oracle Database 19cMaximum Availability Architecture - Best Practices for Oracle Database 19c
Maximum Availability Architecture - Best Practices for Oracle Database 19c
Glen Hawkins
 
Az 104 session 6 azure networking part2
Az 104 session 6 azure networking part2Az 104 session 6 azure networking part2
Az 104 session 6 azure networking part2
AzureEzy1
 
[Azure Governance] Lesson 4 : Azure Policy
[Azure Governance] Lesson 4 : Azure Policy[Azure Governance] Lesson 4 : Azure Policy
[Azure Governance] Lesson 4 : Azure Policy
☁ Hicham KADIRI ☁
 
Angular Material (2) - NgVikingsConf
Angular Material (2) - NgVikingsConfAngular Material (2) - NgVikingsConf
Angular Material (2) - NgVikingsConf
Tracy Lee
 
Karate for Complex Web-Service API Testing by Peter Thomas
Karate for Complex Web-Service API Testing by Peter ThomasKarate for Complex Web-Service API Testing by Peter Thomas
Karate for Complex Web-Service API Testing by Peter Thomas
intuit_india
 
AWS를 활용한 글로벌 오피스 업무 환경 구축하기 - 류한진, 이랜드시스템스 :: AWS Summit Seoul 2019
AWS를 활용한 글로벌 오피스 업무 환경 구축하기 - 류한진, 이랜드시스템스 :: AWS Summit Seoul 2019AWS를 활용한 글로벌 오피스 업무 환경 구축하기 - 류한진, 이랜드시스템스 :: AWS Summit Seoul 2019
AWS를 활용한 글로벌 오피스 업무 환경 구축하기 - 류한진, 이랜드시스템스 :: AWS Summit Seoul 2019
Amazon Web Services Korea
 
React Interview Questions and Answers | React Tutorial | React Redux Online T...
React Interview Questions and Answers | React Tutorial | React Redux Online T...React Interview Questions and Answers | React Tutorial | React Redux Online T...
React Interview Questions and Answers | React Tutorial | React Redux Online T...
Edureka!
 
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
Justin Lin
 
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
Amazon Web Services Korea
 
Project Orleans - Actor Model framework
Project Orleans - Actor Model frameworkProject Orleans - Actor Model framework
Project Orleans - Actor Model framework
Neil Mackenzie
 
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
AWSKRUG - AWS한국사용자모임
 
[CTO Night & Day 2019] AWS Database Overview -データベースの選択指針- #ctonight
[CTO Night & Day 2019] AWS Database Overview -データベースの選択指針- #ctonight[CTO Night & Day 2019] AWS Database Overview -データベースの選択指針- #ctonight
[CTO Night & Day 2019] AWS Database Overview -データベースの選択指針- #ctonight
Amazon Web Services Japan
 
Intro on Oracle Application express - APEX
Intro on Oracle Application express - APEXIntro on Oracle Application express - APEX
Intro on Oracle Application express - APEX
Lino Schildenfeld
 
Azure key vault
Azure key vaultAzure key vault
Azure key vault
Rahul Nath
 
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Edureka!
 
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Andrejs Prokopjevs
 

Viewers also liked (20)

WebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLSTWebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLST
enpit GmbH & Co. KG
 
Infrastructure as Code for Beginners
Infrastructure as Code for BeginnersInfrastructure as Code for Beginners
Infrastructure as Code for Beginners
David Völkel
 
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014
Puppet
 
Puppetconf2016 Puppet on Windows
Puppetconf2016 Puppet on WindowsPuppetconf2016 Puppet on Windows
Puppetconf2016 Puppet on Windows
Nicolas Corrarello
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
Robert Greiner
 
Mastering DevOps With Oracle
Mastering DevOps With OracleMastering DevOps With Oracle
Mastering DevOps With Oracle
Kelly Goetsch
 
Redesigning lockers
Redesigning lockersRedesigning lockers
Redesigning lockers
Karan Khurana
 
Tugas
TugasTugas
Tugas
cikir
 
Casa de chirpici din Ciolpani
Casa de chirpici din CiolpaniCasa de chirpici din Ciolpani
Casa de chirpici din Ciolpani
Frumoasa Verde
 
S. Korea uncovers biggest insurance fraud
S. Korea uncovers biggest insurance fraudS. Korea uncovers biggest insurance fraud
S. Korea uncovers biggest insurance fraud
parkminho2
 
LUGARES PARA VISITAR Y DISFRUTAR
LUGARES PARA VISITAR Y DISFRUTARLUGARES PARA VISITAR Y DISFRUTAR
LUGARES PARA VISITAR Y DISFRUTAR
0608882012
 
Programma definitivo 3°Boston terrier day
Programma definitivo 3°Boston terrier dayProgramma definitivo 3°Boston terrier day
Programma definitivo 3°Boston terrier day
Born2bf
 
心に残る人になるための「手書き」術
心に残る人になるための「手書き」術心に残る人になるための「手書き」術
心に残る人になるための「手書き」術
schoowebcampus
 
Tc sales direct gallery
Tc sales direct galleryTc sales direct gallery
Tc sales direct gallery
TC Sales Direct
 
Uts medpem sani ramdani 1002433
Uts medpem sani ramdani 1002433Uts medpem sani ramdani 1002433
Uts medpem sani ramdani 1002433
Sany Mymuse
 
Genetic alliance
Genetic allianceGenetic alliance
Genetic alliance
johndemello7
 
Portfolio rebeccalouisefrederiksen
Portfolio rebeccalouisefrederiksenPortfolio rebeccalouisefrederiksen
Portfolio rebeccalouisefrederiksen
RebeccaFrederiksen
 
Photoshoot temporada 3
Photoshoot temporada 3Photoshoot temporada 3
Photoshoot temporada 3
pll-latam
 
WebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLSTWebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLST
enpit GmbH & Co. KG
 
Infrastructure as Code for Beginners
Infrastructure as Code for BeginnersInfrastructure as Code for Beginners
Infrastructure as Code for Beginners
David Völkel
 
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014
Puppet
 
Puppetconf2016 Puppet on Windows
Puppetconf2016 Puppet on WindowsPuppetconf2016 Puppet on Windows
Puppetconf2016 Puppet on Windows
Nicolas Corrarello
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
Robert Greiner
 
Mastering DevOps With Oracle
Mastering DevOps With OracleMastering DevOps With Oracle
Mastering DevOps With Oracle
Kelly Goetsch
 
Tugas
TugasTugas
Tugas
cikir
 
Casa de chirpici din Ciolpani
Casa de chirpici din CiolpaniCasa de chirpici din Ciolpani
Casa de chirpici din Ciolpani
Frumoasa Verde
 
S. Korea uncovers biggest insurance fraud
S. Korea uncovers biggest insurance fraudS. Korea uncovers biggest insurance fraud
S. Korea uncovers biggest insurance fraud
parkminho2
 
LUGARES PARA VISITAR Y DISFRUTAR
LUGARES PARA VISITAR Y DISFRUTARLUGARES PARA VISITAR Y DISFRUTAR
LUGARES PARA VISITAR Y DISFRUTAR
0608882012
 
Programma definitivo 3°Boston terrier day
Programma definitivo 3°Boston terrier dayProgramma definitivo 3°Boston terrier day
Programma definitivo 3°Boston terrier day
Born2bf
 
心に残る人になるための「手書き」術
心に残る人になるための「手書き」術心に残る人になるための「手書き」術
心に残る人になるための「手書き」術
schoowebcampus
 
Uts medpem sani ramdani 1002433
Uts medpem sani ramdani 1002433Uts medpem sani ramdani 1002433
Uts medpem sani ramdani 1002433
Sany Mymuse
 
Portfolio rebeccalouisefrederiksen
Portfolio rebeccalouisefrederiksenPortfolio rebeccalouisefrederiksen
Portfolio rebeccalouisefrederiksen
RebeccaFrederiksen
 
Photoshoot temporada 3
Photoshoot temporada 3Photoshoot temporada 3
Photoshoot temporada 3
pll-latam
 
Ad

Similar to Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013) (20)

Provisioning, deploying and debugging node.js applications on azure
Provisioning, deploying and debugging node.js applications on azureProvisioning, deploying and debugging node.js applications on azure
Provisioning, deploying and debugging node.js applications on azure
Patriek van Dorp
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
LeanIX GmbH
 
Caching in Windows Azure
Caching in Windows AzureCaching in Windows Azure
Caching in Windows Azure
Ido Flatow
 
Java Insecurity: How to Deal with the Constant Vulnerabilities
Java Insecurity: How to Deal with the Constant VulnerabilitiesJava Insecurity: How to Deal with the Constant Vulnerabilities
Java Insecurity: How to Deal with the Constant Vulnerabilities
Lumension
 
IIS Web Ecosystem
IIS Web EcosystemIIS Web Ecosystem
IIS Web Ecosystem
Kenny Abdiel Maita
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
Lindsay Holmwood
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
Justin Cataldo
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
Greg Whalin
 
Cloud-native Java EE-volution
Cloud-native Java EE-volutionCloud-native Java EE-volution
Cloud-native Java EE-volution
QAware GmbH
 
Single Page JavaScript WebApps... A Gradle Story
Single Page JavaScript WebApps... A Gradle StorySingle Page JavaScript WebApps... A Gradle Story
Single Page JavaScript WebApps... A Gradle Story
Kon Soulianidis
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Patrick Chanezon
 
Deploy and Destroy: Testing Environments - Michael Arenzon - DevOpsDays Tel A...
Deploy and Destroy: Testing Environments - Michael Arenzon - DevOpsDays Tel A...Deploy and Destroy: Testing Environments - Michael Arenzon - DevOpsDays Tel A...
Deploy and Destroy: Testing Environments - Michael Arenzon - DevOpsDays Tel A...
DevOpsDays Tel Aviv
 
From Zero to Cloud in 12 Easy Factors
From Zero to Cloud in 12 Easy FactorsFrom Zero to Cloud in 12 Easy Factors
From Zero to Cloud in 12 Easy Factors
Ed King
 
IzPack at LyonJUG'11
IzPack at LyonJUG'11IzPack at LyonJUG'11
IzPack at LyonJUG'11
julien.ponge
 
Java WebApps und Services on Oracle Java Cloud Service
Java WebApps und Services on Oracle Java Cloud ServiceJava WebApps und Services on Oracle Java Cloud Service
Java WebApps und Services on Oracle Java Cloud Service
enpit GmbH & Co. KG
 
Java Web Apps and Services on Oracle Java Cloud Service
Java Web Apps and Services on Oracle Java Cloud ServiceJava Web Apps and Services on Oracle Java Cloud Service
Java Web Apps and Services on Oracle Java Cloud Service
Andreas Koop
 
Oracle Cloud verleiht ADF-Anwendungen Flügel
Oracle Cloud verleiht ADF-Anwendungen FlügelOracle Cloud verleiht ADF-Anwendungen Flügel
Oracle Cloud verleiht ADF-Anwendungen Flügel
enpit GmbH & Co. KG
 
Write php deploy everywhere tek11
Write php deploy everywhere   tek11Write php deploy everywhere   tek11
Write php deploy everywhere tek11
Michelangelo van Dam
 
JDD 2017: 7 things which you should care about before release your code to pr...
JDD 2017: 7 things which you should care about before release your code to pr...JDD 2017: 7 things which you should care about before release your code to pr...
JDD 2017: 7 things which you should care about before release your code to pr...
PROIDEA
 
DCSF19 Dockerfile Best Practices
DCSF19 Dockerfile Best PracticesDCSF19 Dockerfile Best Practices
DCSF19 Dockerfile Best Practices
Docker, Inc.
 
Provisioning, deploying and debugging node.js applications on azure
Provisioning, deploying and debugging node.js applications on azureProvisioning, deploying and debugging node.js applications on azure
Provisioning, deploying and debugging node.js applications on azure
Patriek van Dorp
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
LeanIX GmbH
 
Caching in Windows Azure
Caching in Windows AzureCaching in Windows Azure
Caching in Windows Azure
Ido Flatow
 
Java Insecurity: How to Deal with the Constant Vulnerabilities
Java Insecurity: How to Deal with the Constant VulnerabilitiesJava Insecurity: How to Deal with the Constant Vulnerabilities
Java Insecurity: How to Deal with the Constant Vulnerabilities
Lumension
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
Lindsay Holmwood
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
Greg Whalin
 
Cloud-native Java EE-volution
Cloud-native Java EE-volutionCloud-native Java EE-volution
Cloud-native Java EE-volution
QAware GmbH
 
Single Page JavaScript WebApps... A Gradle Story
Single Page JavaScript WebApps... A Gradle StorySingle Page JavaScript WebApps... A Gradle Story
Single Page JavaScript WebApps... A Gradle Story
Kon Soulianidis
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Patrick Chanezon
 
Deploy and Destroy: Testing Environments - Michael Arenzon - DevOpsDays Tel A...
Deploy and Destroy: Testing Environments - Michael Arenzon - DevOpsDays Tel A...Deploy and Destroy: Testing Environments - Michael Arenzon - DevOpsDays Tel A...
Deploy and Destroy: Testing Environments - Michael Arenzon - DevOpsDays Tel A...
DevOpsDays Tel Aviv
 
From Zero to Cloud in 12 Easy Factors
From Zero to Cloud in 12 Easy FactorsFrom Zero to Cloud in 12 Easy Factors
From Zero to Cloud in 12 Easy Factors
Ed King
 
IzPack at LyonJUG'11
IzPack at LyonJUG'11IzPack at LyonJUG'11
IzPack at LyonJUG'11
julien.ponge
 
Java WebApps und Services on Oracle Java Cloud Service
Java WebApps und Services on Oracle Java Cloud ServiceJava WebApps und Services on Oracle Java Cloud Service
Java WebApps und Services on Oracle Java Cloud Service
enpit GmbH & Co. KG
 
Java Web Apps and Services on Oracle Java Cloud Service
Java Web Apps and Services on Oracle Java Cloud ServiceJava Web Apps and Services on Oracle Java Cloud Service
Java Web Apps and Services on Oracle Java Cloud Service
Andreas Koop
 
Oracle Cloud verleiht ADF-Anwendungen Flügel
Oracle Cloud verleiht ADF-Anwendungen FlügelOracle Cloud verleiht ADF-Anwendungen Flügel
Oracle Cloud verleiht ADF-Anwendungen Flügel
enpit GmbH & Co. KG
 
JDD 2017: 7 things which you should care about before release your code to pr...
JDD 2017: 7 things which you should care about before release your code to pr...JDD 2017: 7 things which you should care about before release your code to pr...
JDD 2017: 7 things which you should care about before release your code to pr...
PROIDEA
 
DCSF19 Dockerfile Best Practices
DCSF19 Dockerfile Best PracticesDCSF19 Dockerfile Best Practices
DCSF19 Dockerfile Best Practices
Docker, Inc.
 
Ad

More from enpit GmbH & Co. KG (20)

Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
enpit GmbH & Co. KG
 
Mit Legosteinen Maschinelles Lernen lernen
Mit Legosteinen Maschinelles Lernen lernenMit Legosteinen Maschinelles Lernen lernen
Mit Legosteinen Maschinelles Lernen lernen
enpit GmbH & Co. KG
 
Cloud-native Apps – Architektur, Implementierung, Demo
Cloud-native Apps – Architektur, Implementierung, DemoCloud-native Apps – Architektur, Implementierung, Demo
Cloud-native Apps – Architektur, Implementierung, Demo
enpit GmbH & Co. KG
 
Development in der Cloud-Ära
Development in der Cloud-ÄraDevelopment in der Cloud-Ära
Development in der Cloud-Ära
enpit GmbH & Co. KG
 
Client side webdevelopment with jet
Client side webdevelopment with jetClient side webdevelopment with jet
Client side webdevelopment with jet
enpit GmbH & Co. KG
 
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
enpit GmbH & Co. KG
 
Agilität und Microservices als Chance für Modernisierung?
Agilität und Microservices als Chance für Modernisierung?Agilität und Microservices als Chance für Modernisierung?
Agilität und Microservices als Chance für Modernisierung?
enpit GmbH & Co. KG
 
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
enpit GmbH & Co. KG
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
enpit GmbH & Co. KG
 
Modernisierung in Zeiten wie diesen
Modernisierung in Zeiten wie diesenModernisierung in Zeiten wie diesen
Modernisierung in Zeiten wie diesen
enpit GmbH & Co. KG
 
Die 5 Mythen der Forms-Modernisierung
Die 5 Mythen der Forms-ModernisierungDie 5 Mythen der Forms-Modernisierung
Die 5 Mythen der Forms-Modernisierung
enpit GmbH & Co. KG
 
Choice-o-mat - Entscheidungshilfe für Oracles Entwicklungswerkzeuge
Choice-o-mat - Entscheidungshilfe für Oracles EntwicklungswerkzeugeChoice-o-mat - Entscheidungshilfe für Oracles Entwicklungswerkzeuge
Choice-o-mat - Entscheidungshilfe für Oracles Entwicklungswerkzeuge
enpit GmbH & Co. KG
 
Visualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADFVisualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADF
enpit GmbH & Co. KG
 
WebCenter Portal - Integrate Custom taskflows
WebCenter Portal - Integrate Custom taskflowsWebCenter Portal - Integrate Custom taskflows
WebCenter Portal - Integrate Custom taskflows
enpit GmbH & Co. KG
 
Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?
Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?
Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?
enpit GmbH & Co. KG
 
Best Practices für Multi-Channel Application Development
Best Practices für Multi-Channel Application DevelopmentBest Practices für Multi-Channel Application Development
Best Practices für Multi-Channel Application Development
enpit GmbH & Co. KG
 
Gestern OWB, heute ODI
Gestern OWB, heute ODIGestern OWB, heute ODI
Gestern OWB, heute ODI
enpit GmbH & Co. KG
 
Effective Blueprints for Forms 2 Oracle ADF
Effective Blueprints for Forms 2 Oracle ADFEffective Blueprints for Forms 2 Oracle ADF
Effective Blueprints for Forms 2 Oracle ADF
enpit GmbH & Co. KG
 
Oracle WebLogic for DevOps
Oracle WebLogic for DevOpsOracle WebLogic for DevOps
Oracle WebLogic for DevOps
enpit GmbH & Co. KG
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
enpit GmbH & Co. KG
 
Mit Legosteinen Maschinelles Lernen lernen
Mit Legosteinen Maschinelles Lernen lernenMit Legosteinen Maschinelles Lernen lernen
Mit Legosteinen Maschinelles Lernen lernen
enpit GmbH & Co. KG
 
Cloud-native Apps – Architektur, Implementierung, Demo
Cloud-native Apps – Architektur, Implementierung, DemoCloud-native Apps – Architektur, Implementierung, Demo
Cloud-native Apps – Architektur, Implementierung, Demo
enpit GmbH & Co. KG
 
Client side webdevelopment with jet
Client side webdevelopment with jetClient side webdevelopment with jet
Client side webdevelopment with jet
enpit GmbH & Co. KG
 
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
enpit GmbH & Co. KG
 
Agilität und Microservices als Chance für Modernisierung?
Agilität und Microservices als Chance für Modernisierung?Agilität und Microservices als Chance für Modernisierung?
Agilität und Microservices als Chance für Modernisierung?
enpit GmbH & Co. KG
 
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
enpit GmbH & Co. KG
 
Modernisierung in Zeiten wie diesen
Modernisierung in Zeiten wie diesenModernisierung in Zeiten wie diesen
Modernisierung in Zeiten wie diesen
enpit GmbH & Co. KG
 
Die 5 Mythen der Forms-Modernisierung
Die 5 Mythen der Forms-ModernisierungDie 5 Mythen der Forms-Modernisierung
Die 5 Mythen der Forms-Modernisierung
enpit GmbH & Co. KG
 
Choice-o-mat - Entscheidungshilfe für Oracles Entwicklungswerkzeuge
Choice-o-mat - Entscheidungshilfe für Oracles EntwicklungswerkzeugeChoice-o-mat - Entscheidungshilfe für Oracles Entwicklungswerkzeuge
Choice-o-mat - Entscheidungshilfe für Oracles Entwicklungswerkzeuge
enpit GmbH & Co. KG
 
Visualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADFVisualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADF
enpit GmbH & Co. KG
 
WebCenter Portal - Integrate Custom taskflows
WebCenter Portal - Integrate Custom taskflowsWebCenter Portal - Integrate Custom taskflows
WebCenter Portal - Integrate Custom taskflows
enpit GmbH & Co. KG
 
Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?
Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?
Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?
enpit GmbH & Co. KG
 
Best Practices für Multi-Channel Application Development
Best Practices für Multi-Channel Application DevelopmentBest Practices für Multi-Channel Application Development
Best Practices für Multi-Channel Application Development
enpit GmbH & Co. KG
 
Effective Blueprints for Forms 2 Oracle ADF
Effective Blueprints for Forms 2 Oracle ADFEffective Blueprints for Forms 2 Oracle ADF
Effective Blueprints for Forms 2 Oracle ADF
enpit GmbH & Co. KG
 

Recently uploaded (20)

Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 

Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)

  • 1. DOAG 2013 IMC,Mainz, 06. Juni 2013 Andreas Koop CEO & Consultant Oracle Technologies DEPLOYMENT BEST PRACTICES ON WEBLOGIC SERVER Challenges Strategies Plan Best Practices
  • 2. Andreas Koop CEO & Consultant Oracle TechnologiesABOUT Consulting, Training Oracle Fusion Middleware ADF Certified Implementation Specialist Community DOAG, ADF EMG, ADF German Community, Twitter @multikoop Blog Technical http://multikoop.blogspot.com Sonstiges http://www.enpit.de/blog 2
  • 4. Andreas Koop AGENDA Deployment Challenges Deployment Tools & Strategies Deployment Plan Production Redeployment Pain Points & Conclusion 4
  • 5. Andreas Koop DEPLOYMENT CHALLENGES ‣ Multiple Apps, multiple versions, instant releases.. ‣ Application development becomes easy, Middleware becomes complex: DataSources, WebServices, Processes, JMS, MDS, App Roles, Permissions, custom configuration, What else? ‣ Who can handle this? 5
  • 6. Andreas Koop APPLICATION DEPLOYMENT OVERVIEW ‣ Prepare ‣ Copy deployment units to target servers if needed ‣ Deploy ‣ Shared Libraries ‣ Applications DataSources JMS Topics/Queues EJBs .. 6 AS App1 App2 App / Lib deploy Cluster (sample topology)
  • 7. Andreas Koop WEBLOGIC DEPLOYMENT TOOLS ‣ java weblogic.Deployer (. ./setWLSEnv.sh) ‣ Ant Task / Maven / Autodeploy => Development / Test ‣ WLST Commands => Development / Test / Production ‣ Admin Console / EM => Development / AdHoc Cases / Support 7 ! Do not use in Production My Favorit! Gives a lot of predictability and safety!
  • 8. Andreas Koop STAGING MODE: STAGE FOR SMALL APPLICATIONS ‣ Admin Server copies deployment unit to servers/<name>/ stage ‣ Managed Servers deploy using their local copy ‣ => Use for small applications ! 8 AS App1 App2 App deploy ear earcopy earcopy (sample topology)
  • 9. Andreas Koop ‣ Admin Server does not copy deployment units ‣ shared, directly accessibly by AS and MS ‣ => Use for large applications or exploded -->Reload of JSP/Servlet ‣ => Saves time! AS App1 App2 STAGING MODE: NO STAGE FOR LARGE APPLICATIONS 9 /shared/apps/myapp1.ear App deploy (sample topology)
  • 10. Andreas Koop ‣ Admin Server does not copy deployment units ‣ Manuel copy to AS and MS needed ‣ => Use if no shared fs available ‣ => Use if scripts for manual distrib. exists STAGING MODE: EXTERNAL STAGE FOR... 10 AS App1 App2 App deploy earcopy earcopy earcopy Admin Guy (sample topology)
  • 11. Andreas Koop WHERE TO LOCATE DEPLOYMENT UNITS ‣ ! Prerequisite: Do not use default for domain home: $MW_HOME/user_projects/domains ‣ Locate domain outside $MW_HOME ‣ Locate App artefacts outside $MW_HOME 11 /domains/mydomain/ /applications/mydomain/myapp1/1.0/app/myapp1.ear /applications/mydomain/myapp1/1.0/plan/plan.xml
  • 12. Andreas Koop QUIZ: WHAT DO THAT OPTIONS MEAN? (FROM ADMIN CONSOLE) 12 AS uses nostage by default MS uses stage by default depends stage nostage
  • 13. Andreas Koop DEPLOY WITH ANT 13 <?xml version="1.0" encoding="UTF-8" ?> <project name="deploy-myapp" default="deploy"> <path id="weblogic.deploy.path"> <fileset file="${weblogic.home}/server/lib/weblogic.jar" /> <fileset file="${weblogic.home}/server/lib/webservices.jar" /> </path> <taskdef name="wldeploy" classname="weblogic.ant.taskdefs.management.WLDeploy" classpathref="weblogic.deploy.path" /> <target name="deploy"> </target> </project> <wldeploy action="deploy" user="${weblogic.user}" password="${weblogic.password}" adminurl="${weblogic.adminurl}" source="${app.webapp}" name="${app.name}" targets="${weblogic.targets}" verbose="true" debug="false" />
  • 14. Andreas Koop DEPLOY WITH ANT EXTENDED 14 <?xml version="1.0" encoding="UTF-8" ?> <project name="deploy-myapp" default="deploy"> ... <!-- WLS Taskdefs --> <path id="wls.classpath"> <fileset dir="${oracle.weblogic.home}/server/lib" includes="weblogic.jar"/> </path> <taskdef name="wlst" classname="weblogic.ant.taskdefs.management.WLSTTask" classpathref="wls.classpath"/> <target name="deploy"> <echo message=" Deploying application ... "/> </target> ... </project> <wlst debug="true" failOnError="true" classpathref="wls.classpath" fileName="./wlst/deploy.py" arguments="....." > </wlst> Reuse existing WLST Scripts!
  • 15. Andreas Koop DEPLOY WITH MAVEN PREPARE ‣ Need to generate maven plugin with the WebLogic JarBuilder Tool (at least in 11g) ‣ Install into Maven Repository(see documentation) ‣ Use in your projects pom.xml (see next slide) 15 $ java -jar wljarbuilder.jar -profile weblogic-maven-plugin .. .. Created new jar file: ../wlserver_10.3/server/lib/weblogic-maven-plugin.jar
  • 16. Andreas Koop DEPLOY WITH MAVEN USE ‣ Directly ‣ In ,install‘ Maven Lifecycle of your pom.xml 16 $ mvn weblogic:deploy <plugin>   <groupId>com.oracle.weblogic</groupId>   <artifactId>weblogic-maven-plugin</artifactId> <version>10.3.6</version> <configuration> <adminurl>t3://localhost:7001</adminurl> <user>weblogic</user> <password>password</password> <name>myapp</name> <upload>true</upload> <targets>AdminServer</targets>  </configuration>
  • 17. Andreas Koop DEPLOY WITH MAVEN USE ‣ In ,install‘ Maven Lifecycle of your pom.xml 17 ...  <executions> <execution> <id>deploy</id> <phase>install</phase>      <goals>        <goal>deploy</goal>      </goals>      <configuration>        <source>deploy/myapp.war</source>      </configuration>    </execution>  </executions> </plugin>
  • 18. Andreas Koop DEPLOYMENT WITH ANT / MVN CONCLUSION ‣ „Pure Ant“ WebLogic Deployment Tasks are not powerful enough. ‣ Extend where needed with custom WLST scripts ‣ Fits typically well in existing CI Build Environment ‣ Extended Maven Features in WLS 12c : create- domain, start-server .... ! 18
  • 19. Andreas Koop DEPLOY WITH WLST HOW TO 19 connect('weblogic', 'welcome1', ADMIN_URL) deploy('myApp', '/path/to/myApp.ear', targets='Cluster1') # targets='Server1' startApplication('myApp') disconnect() exit()
  • 20. Andreas Koop UNDEPLOY WITH WLST HOW TO 20 connect('weblogic', 'welcome1', ADMIN_URL) stopApplication('myApp') undeploy('myApp') # default: from all targets disconnect() exit()
  • 21. Andreas Koop WLST DEPLOYMENT COMMANDS 21 Command deploy(appName, path, [targets], [stageMode], [planPath], [options]) startApplication(appName, [options]) stopApplication(appName, [options]) undeploy(appName,[targets],[options]) updateApplication(appName, [planPath], [options]) Update app with plan.xml listApplications()
  • 22. Andreas Koop ‣ Always start with a cluster - even if only a single MS is needed at the beginning ‣ => Easily to scale afterwards ‣ => No changes to deployment strategy needed DEPLOY TO A CLUSTER FROM THE BEGINNING 22 App1 / Lib deploy App1 Cluster App1 Cluster App1 ...
  • 23. Andreas Koop HANDLING DIFFERENT ENV REQUIREMENTS 23 Development Test Production DataSource DataSource DataSource weblogic.xml jsp-descriptor/verbose = true ... weblogic.xml jsp-descriptor/verbose = false ... weblogic.xml jsp-descriptor/verbose = false ... web.xml init-param/name[css- compression]=off session-timeout = 3600 ... web.xml init-param/name[css- compression]=on session-timeout = 60 ... web.xml init-param/name[css- compression]=on session-timeout = 7200 ... ... ...
  • 24. Andreas Koop HANDLING DIFFERENT ENV REQUIREMENTS 24 Development Test Production DataSource DataSource DataSource plan.xml web.xml -> session- timeout = 3600 weblogic.xml -> ... plan.xml web.xml -> session- timeout = 60 weblogic.xml -> ... plan.xml web.xml -> session- timeout = 7200 weblogic.xml -> ... EAR EAR EAR ... ... deploy deploy deploy + ++
  • 25. Andreas Koop WHAT IS A DEPLOYMENT PLAN ‣ Plan (plan.xml) used with deployment artefact ‣ Replacing values by XPath / Variables ‣ Useful for ‣ Changes to web.xml / weblogic.xml / Other XML ‣ ! No changes to .properties possible ‣ „Deploy myapp.ear -plan /path/to/plan.xml ...“ 25
  • 26. Andreas Koop DEPLOYMENT PLAN CREATION / EDITING ‣ Working with plan.xml and plain text editor is difficult! Best Practice: OEPE plan.xml Editor! 26 Or use ,java weblogic.PlanGenerator‘
  • 27. Andreas Koop EDIT DEPLOYMENT PLAN WITH OEPE ‣ Nice XPath Editor included! easy selection of assignable elements and selection on variable! 27
  • 28. Andreas Koop HOW TO DEPLOY WITH PLAN ‣ weblogic.Deployer ‣ Or with WLST ‣ Or Admin Console / EM 28 deploy('myApp', '/path/to/1.0/app/myApp.ear', plan='/path/to/1.0/plan/ plan.xml' ..) java weblogic.Deployer .... -plan /path/to/1.0/plan/plan.xml ...
  • 29. Andreas Koop USE SHARED LIBRARIES ‣ Static content: js, css, images ‣ Common Functionality, Modules 29
  • 30. Andreas Koop HOW TO BUILD SHARED LIBRARIES 30 MANIFEST.MF
  • 31. Andreas Koop HOW TO DEPLOY SHARED LIBRARIES ‣ weblogic.Deployer ‣ Or WLST 31 #!/bin/sh . $WL_HOME/server/bin/setWLSEnv.sh java weblogic.Deployer -adminurl t3://eden.local:7001 -username weblogic - password welcome1 -upload -library -targets Cluster1 -deploy -source enpit- shared-lib.war ... deploy('enpit-shared-lib', '/path/to/enpit-shared-lib.war', targets='Cluster1',libraryModule='true'[, upload='true'])
  • 32. Andreas Koop HOW TO CONSUME SHARED LIBRARIES ‣ Configure references in weblogic.xml or weblogic- application.xml 32 <?xml version='1.0' encoding='UTF-8'?> <weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app.xsd" xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"> ... <library-ref> <library-name>enpit-common-lib</library-name> <!--specification-version>1.0</specification-version> <implementation-version>1.0.6</implementation-version> <exact-match>true</exact-match--> </library-ref> </weblogic-web-app>
  • 33. Andreas Koop SHARED LIBRARIES - POSSIBLE ERRORS ‣ Precondition: Shared Library is referenced. App is running ‣ Solution ‣ Deploy Library as new version ‣ „Production redeploy“ dependent application 33 Cannot undeploy library Extension-Name: enpit-common-war-lib, Specification-Version: 1, Implementation-Version: 1.0.4 from server AdminServer, because the following deployed applications reference it: enpittestcommons-reflib.war
  • 34. Andreas Koop SECURITY DEPLOYMENT CONSIDERATIONS ‣ Security Realm <- JAAS Security Standard <- OPPS Provider 34 <security-constraint> <web-resource-collection> <web-resource-name>administration</web-resource-name> <url-pattern>/admin/*.jsp</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <auth-constraint> <role-name>admin-users</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>jazn.com</realm-name> </login-config> <security-role> <role-name>admin-users</role-name> </security-role> web.xml
  • 35. Andreas Koop SECURITY DEPLOYMENT CONSIDERATIONS ‣ Deployment Descriptor (DD only, Java EE Standard) ‣ ‣ Custom Roles Model => Any DD Role-Mapping is ignored ‣ Custom Roles and Policy Model => Not recommended for fine-grained control 35 <security-role-assignment> <role-name>admin-users</role-name> <principal-name>Administrator</principal-name> </security-role-assignment> weblogic.xml
  • 36. Andreas Koop SECURITY DEPLOYMENT CONSIDERATIONS ‣ system-jazn-data.xml (OPSS specific) ‣ The best tool currently is Enterprise Manager 36 BPM Role Mapping for instance
  • 37. Andreas Koop PRODUCTION REDEPLOYMENT 37 app v1.0 app v1.0.1 Existing client connections New Client Connections deploy('myApp', '/path/to/myApp.ear', ..,appVersion = '1.0') deploy('myApp', '/path/to/myApp.ear', ..,appVersion = '1.0.1')
  • 38. Andreas Koop PRODUCTION REDEPLOYMENT BEST PRACTICE 38 ‣ Provide Version information inside MANIFEST.MF ‣ Set version during CI build process! ‣ Specify retire grace period on redeploy ‣ Retire immediately ... -redeploy -source ...myapp.ear -retiretimeout 300 ... -undeploy -name myapp -appversion 1.0 Arggh. Need the lower version no. Not easy to automate...
  • 39. Andreas Koop SOLUTION FOR UNDEPLOY RETIRED APPS 39 def undeploy_retired_apps(l_appName): cd ('AppDeployments') l_apps=cmo.getAppDeployments() for app in l_apps: domainConfig() cd ('/AppDeployments/'+app.getName()+'/Targets') l_targets = ls(returnMap='true') domainRuntime() cd('AppRuntimeStateRuntime/AppRuntimeStateRuntime') for target in l_targets: l_state=cmo.getCurrentState(app.getName(),target) if app.getName().find(l_appName) != -1: if l_state == 'STOP_RUNNING': log_info ('Found:'+ app.getName()+' - '+str(l_state)) stopApplication(app.getName()) l_state=cmo.getCurrentState(app.getName(),target) if l_state == 'STATE_RETIRED': log_info ('Found:'+ app.getName()+' - '+str(l_state)) undeploy_app(app.getName()) undeploy_retired_apps()
  • 40. Andreas Koop PRODUCTION REDEPLOYMENT BEST PRACTICE 40 ‣ Rollback deployment to previous version is an easy task ‣ Keep in mind: In-Place redeployment destroys existing sessions! To keep the session state: ... -redeploy -source .../1.0/app/myapp.ear weblogic.xml .. <container-descriptor> <save-sessions-enabled>true</save-sessions-enabled> </container-descriptor> .. !Hower, the application will not be available at redeploy!
  • 41. Andreas Koop PAIN POINTS AND POSSIBLE SOLUTIONS ‣ Custom configuration data Suggestion: Properties accessible by JNDI (See GlassFish) ‣ Single Security Policy Store for all applications (system-jazn-data.xml) Recommendation: OID or DB based Policy-Store Suggestion: Policy-Store bundled with app deployment 41 App1 Domain App 2 system-jazn-data.xml - Role-Mapping App1 - Role-Mapping App2 - Permissions App1 - Permissions App2
  • 42. Andreas Koop CONCLUSION ‣ Automate from the beginning ‣ Stage mode depends on app size, existing infrastructure ‣ Use deployment plans & „production redeployment“ ‣ Use shared libs where applicable 42
  • 43. Andreas Koop FURTHER READING ‣ Oracle FMW Admin Guide http://docs.oracle.com/cd/E23943_01/core.1111/e10105/deployer_role.htm ‣ Oracle FMW Deploying Applications to WLS http://docs.oracle.com/cd/E23943_01/web.1111/e13702/toc.htm ‣ Community / Blogs http://middlewaremagic.com http://weblogic-wonders.com http://weblogic-tips.com ... 43
  • 44. VIELEN DANK FÜR IHRE AUFMERKSAMKEIT HABEN SIE NOCH FRAGEN?