SlideShare a Scribd company logo
1 of 31
Uniface Responsive
Application Deployment
David Akerman – Solution Consultant
Agenda
Web Deployment Architecture
Considerations
Tomcat Servlet Engine Configuration
Uniface Server Configuration
Deployment Demonstration
Architecture
Web Application Resources
Static Content
• CSS, Images, Fonts, JavaScript etc.
• Served from Web Server or Java Servlet Engine
(e.g. Tomcat)
Dynamic Page Content (Uniface)
• Requests forwarded by Servlet Engine via Web Request
Dispatcher (WRD) using middleware interface
• URouter: orchestrate Uniface uservers
• UServer: generate pages & process updates
Uniface Web Application Environment
Server
Uniface Server
Runtime Engine
Client
* Web Server
* Java Servlet Engine
WRD
UserBrowser
http
Uniface Router
Network Connector
Network Connector Network
Connector
Database
Connector
Uniface Runtime
Objects
* optional, e.g. IIS or Apache
ajp
* Tomcat can function as web server
Universal Resource Locators (URL’s)
Identify app/environment
http://server/prod/wrd/main
http://server/app1/test/main
Map to urouter configuration via web servlet config
Context Servlet ComponentProtocol Server:port
Uniface Web Application Configuration
Uniface Web Application Server
1. Web Browser
2. Tomcat
3. WRD
Network
4. Uniface Router
5. Uniface Server
Call my_server_page to get an HTTP Response
http.//server.machine.8080/
6
HTTP Request
uniface/ /my_server_page
urouter.asn
Context*
UV8.urouter.server-machine+13001 user-name [password] wasv
Network
WEB-INFweb.xml
wrd/
*Context = Tomcat Virtual Directory
typically defined via named xml file in confCatalinalocalhost
pointing to physical folder containing WEB-INFweb.xml
Considerations
Preparation
Plan
• Deployment, Resources, Hardening etc.
Resources
• Product Availability Matrix on http://unifaceinfo.com
• Local Administrator privilege for installations
• License
• Optional: Web Server Certificate for https:// connections
Installation Media for target architecture
• Uniface + patches (https://download.uniface.com), DBMS drivers (match 32 or 64 bit)
• Optional: Java (for Tomcat), Tomcat, IIS + ISAPI Extensions and filters for Tomcat Connector,
ODBC drivers
Application Build
• Configuration Files, Uniface Runtime Resources, Static Resources
License
Features Licensed per server core (not concurrent)
• Web Features: USRVUSP, USRVSVC
• + Database features etc.
Use Distributed License Manage (DLM) to:
• Identify host for license request
• Add License
• Emergency License: https://download.uniface.com/downloads
Can specify license file in .asn
• $LICENSE_OPTIONS=LM_LICENSE_FILE="C:DLMlicense.xml"
;7188@DLMserver, LM_NOTIFICATION=0, LM_TRANSCRIPT=15
Security
SSL (needs certificate)
Customize Error Messages – See Help:
• “Web Application Error Pages”
• “Customize WRD Error Messages
Hardening
• See help “Configuring the Tomcat Security Manager”
• Also check online references for Tomcat
• Remove manager application
• Various server.xml, web.xml & context.xml configuration changes
• Service Account & file permissions
Firewall
Performance
• Which Web Browser?
• Optimize file transfer
• Minify CSS & Javascript files
• File Compression
• Cache headers, Server Locations, CDN’s etc
• Scalability (load balancing needed?)
• Tuning:
• Application
• Code Performance, Logging, App Cache
• Uniface
• $memory zip=all
• DBMS Connector
• Web Server/Servlet Engine
Redirection from another Web Server
Serve static content from, e.g., IIS or Apache
Redirect dynamic content, e.g. /wrd/* to Servlet Engine
(e.g. Tomcat) using AJP binary protocol
Web Server Redirection
• IIS: Typically, Apache JK Redirector or BonCode Tomcat Redirector
for AJP connections, or ARR if you want to modify headers
• Apache: modules (mod_jk or mod_proxy_ajp)
• Some connectors (e.g. Apache JK redirector) can load balance
Tomcat
Servlet Engine
Configuration
Uniface Web Request Dispatcher
Browser Web Server App Server
Client
https:// WASV
Tomcat
userver
urouter
WRD
(lib/wrd.jar)
DSP
ajp
Configuration: Tomcat (Context)
http://server:port/webstart
Tomcat virtual directory definition:
tomcatconfCatalinalocalhostwebstart.xml
Points to project web folder:
<Context docBase="D:Projectswebstartweb">
<Valve className="org.apache.catalina.valves.AccessLogValve"
prefix="tabs-" suffix=".log" pattern="common"/>
</Context>
Configuration: Tomcat (wrd)
Physical folder contains WEB-INFweb.xml
D:ProjectsWebStartwebWEB-INFweb.xml
web.xml defines servlet mapping, e.g.
http://server:port/webstart/wrd/
Servlet defines connections to Uniface UROUTER
Tomcat web.xml servlet configuration
<!-- Uniface W(eb) R(equest) D(ispatcher) Servlet -->
<servlet>
<servlet-name>
wrd
</servlet-name>
<servlet-class>
com.compuware.uniface.urd.WRDServlet
</servlet-class>
<init-param>
<param-name>MIDDLEWARE</param-name>
<param-value>UV8:localhost+13001|userver|*|webstart</param-value>
</init-param>
Tomcat web.xml servlet mapping
<servlet-mapping>
<servlet-name>wrd</servlet-name>
<url-pattern>/wrd/*</url-pattern>
</servlet-mapping>
Uniface Common resources
e.g. unifacewebappsunifacecommonuniface.js
Web folder: ../common
Copy or override in wasv.asn:
[SETTINGS]
$UNIFACE_RUNTIME_BASE_URL=/uniface/common
or create Tomcat Context (virtual dir):
CommontomcatconfCatalinalocalhost
webstart#common.xml
Uniface
urouter/userver
Urouter.asn - Settings
[SETTINGS]
$putmess_logfile = D:ProjectsUniface10.2Defaultlogurouter%p.log
$priv_mon_user = urouter
$default_net = TCP:localhost+13001|||
Explicit Hostname may be needed to bind to correct IP
address (e.g. NAT used in Virtual Machine)
Urouter.asn – Default Servers
[SERVERS]
default = "C:Program FilesUniface10.2commonbinuserver.exe"
/adm="C:Program FilesUniface10.2unifaceadm" /maxidle=3m
; For Uniface WebApplication Server
wasv = "C:Program FilesUniface10.2commonbinuserver.exe"
/dir="D:ProjectsUniface10Defaultproject" /adm="C:Program
FilesUniface10.2unifaceadm" /asn=wasv.asn
; For debug purposes
debug = "C:Program FilesUniface10.2commonbinuserver.exe"
/max=1 /dir="D:ProjectsUniface10Defaultproject"
/adm="C:Program FilesUniface10.2unifaceadm"
/deb=localhost+13002:wait /asn=wasv.asn
Urouter.asn – server switch notes
/max
• Description: maximum number of instances of a shared Uniface Server that the Uniface Router
can start
• Advice: Size to avoid resource problems (memory page swapping etc.)
/maxidle
• Description: maximum idle period for a shared Uniface Server before close
• Advice: Typically use to reduce server resource usage if /max not set or big spikes expected
/maxreq
• Description: maximum number of requests a shared Uniface server can execute
• Advice: Typically use if you have a memory leak or are short of memory
Other considerations
• Consider debugger port re-use
• See Help for other switches
wasv.asn (selected settings)
[SETTINGS]
;$TEST_MODE_COMPONENTS ; Don’t force reload
;$RESOURCES_OUTPUT webstart.uar ; Not needed for deployment
[WEB]
$SERVER_SECRET=xxxxxxxxxxxxxxxxxxxxxxx ; used to hash protect NED fields
$UNIFACE_RUNTIME_BASE_URL=../common ; default
$JS_BASE_URL=../common/dspjs ; default
[RESOURCES]
; Specifies folders or UAR files
; Can patch with additional resources (newest first)
webstart.uar
Troubleshooting
Browser Debugger Network Tab – do resources load?
Tomcat
• Can you load static resources?
• Check middleware connection in WEB-INFweb.xml (ports, credentials, UST)
Urouter/Userver
• Matching UST in urouter.asn
• Hostname in urouter.asn $DEFAULT_NET
• Log files
• Paths & File Permissions for userver user
• Monitor
License
Demo:
Application
Deployment
Suggested Further Investigation
Standardized Deployment (resources & urm)
• See previous deployment lectures
urouter monitor
• Gracefully reload application, e.g. after patch deployment
Tomcat
• Manager application
• WAR file deployment
- see “Creating and Deploying a Web Application WAR File” help topic
• Configuration, inc. Security and Performance optimization
Resources
Uniface Help: Tutorials
uniface.info
- Samples, forums, blogs & more
http://go.uniface.com/Lectures-page
- Historical Lectures
youtube.com/uniface
- Tutorials, demos & webinar recording
www.slideshare.net/Uniface
github.com/uniface
- Frameworks & tools
Uniface Training & Consultancy
Thank You
& Questions

More Related Content

What's hot

Building and managing java projects with maven part-III
Building and managing java projects with maven part-IIIBuilding and managing java projects with maven part-III
Building and managing java projects with maven part-IIIprinceirfancivil
 
Whats new in ASP.NET 4.0
Whats new in ASP.NET 4.0Whats new in ASP.NET 4.0
Whats new in ASP.NET 4.0py_sunil
 
Building and Managing Projects with Maven
Building and Managing Projects with MavenBuilding and Managing Projects with Maven
Building and Managing Projects with MavenKhan625
 
Running ms sql stored procedures in mule
Running ms sql stored procedures in muleRunning ms sql stored procedures in mule
Running ms sql stored procedures in muleAnilKumar Etagowni
 
How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0Takuya Tejima
 
Jsp (java server page)
Jsp (java server page)Jsp (java server page)
Jsp (java server page)Chitrank Dixit
 
Managing JavaScript Dependencies With RequireJS
Managing JavaScript Dependencies With RequireJSManaging JavaScript Dependencies With RequireJS
Managing JavaScript Dependencies With RequireJSDen Odell
 
Harish Aspnet Deployment
Harish Aspnet DeploymentHarish Aspnet Deployment
Harish Aspnet Deploymentrsnarayanan
 
An Introduction to webOS
An Introduction to webOSAn Introduction to webOS
An Introduction to webOSKevin Decker
 

What's hot (20)

T5 Oli Aro
T5 Oli AroT5 Oli Aro
T5 Oli Aro
 
Building and managing java projects with maven part-III
Building and managing java projects with maven part-IIIBuilding and managing java projects with maven part-III
Building and managing java projects with maven part-III
 
Whats new in ASP.NET 4.0
Whats new in ASP.NET 4.0Whats new in ASP.NET 4.0
Whats new in ASP.NET 4.0
 
Nodejs.meetup
Nodejs.meetupNodejs.meetup
Nodejs.meetup
 
Building and Managing Projects with Maven
Building and Managing Projects with MavenBuilding and Managing Projects with Maven
Building and Managing Projects with Maven
 
Running ms sql stored procedures in mule
Running ms sql stored procedures in muleRunning ms sql stored procedures in mule
Running ms sql stored procedures in mule
 
Vuex
VuexVuex
Vuex
 
Express js
Express jsExpress js
Express js
 
Nuxt.js - Introduction
Nuxt.js - IntroductionNuxt.js - Introduction
Nuxt.js - Introduction
 
Intro to Node
Intro to NodeIntro to Node
Intro to Node
 
Workshop 21: React Router
Workshop 21: React RouterWorkshop 21: React Router
Workshop 21: React Router
 
Nuxt Talk
Nuxt TalkNuxt Talk
Nuxt Talk
 
Websockets and SockJS, Real time chatting
Websockets and SockJS, Real time chattingWebsockets and SockJS, Real time chatting
Websockets and SockJS, Real time chatting
 
How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0
 
Jsp (java server page)
Jsp (java server page)Jsp (java server page)
Jsp (java server page)
 
Managing JavaScript Dependencies With RequireJS
Managing JavaScript Dependencies With RequireJSManaging JavaScript Dependencies With RequireJS
Managing JavaScript Dependencies With RequireJS
 
Jsf 2.0 in depth
Jsf 2.0 in depthJsf 2.0 in depth
Jsf 2.0 in depth
 
Harish Aspnet Deployment
Harish Aspnet DeploymentHarish Aspnet Deployment
Harish Aspnet Deployment
 
Vue, vue router, vuex
Vue, vue router, vuexVue, vue router, vuex
Vue, vue router, vuex
 
An Introduction to webOS
An Introduction to webOSAn Introduction to webOS
An Introduction to webOS
 

Similar to Uniface Lectures Webinar - Building Responsive Applications with Uniface: Deployment

TOMCAT WEB SERVER TECHNICAL BY SAIKIRAN PANJALA
TOMCAT WEB SERVER TECHNICAL BY SAIKIRAN PANJALATOMCAT WEB SERVER TECHNICAL BY SAIKIRAN PANJALA
TOMCAT WEB SERVER TECHNICAL BY SAIKIRAN PANJALASaikiran Panjala
 
web-servers3952 (1)qwjelkjqwlkjkqlwe.ppt
web-servers3952 (1)qwjelkjqwlkjkqlwe.pptweb-servers3952 (1)qwjelkjqwlkjkqlwe.ppt
web-servers3952 (1)qwjelkjqwlkjkqlwe.ppt20521742
 
Running Node.js in Production using Passenger
Running Node.js in Production using PassengerRunning Node.js in Production using Passenger
Running Node.js in Production using Passengerdavidchubbs
 
Apache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual HostingApache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual Hostingwebhostingguy
 
More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)Michael Collier
 
AAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty ProfileAAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty ProfileWASdev Community
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NETPeter Gfader
 
Java-Web-Applications.pdf
Java-Web-Applications.pdfJava-Web-Applications.pdf
Java-Web-Applications.pdfssuserf2dc4c1
 
Writing & Using Web Services
Writing & Using Web ServicesWriting & Using Web Services
Writing & Using Web ServicesRajarshi Guha
 
VMware Performance Troubleshooting
VMware Performance TroubleshootingVMware Performance Troubleshooting
VMware Performance Troubleshootingglbsolutions
 
Nginx A High Performance Load Balancer, Web Server & Reverse Proxy
Nginx A High Performance Load Balancer, Web Server & Reverse ProxyNginx A High Performance Load Balancer, Web Server & Reverse Proxy
Nginx A High Performance Load Balancer, Web Server & Reverse ProxyAmit Aggarwal
 
Web Applications and Deployment
Web Applications and DeploymentWeb Applications and Deployment
Web Applications and DeploymentBG Java EE Course
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetesBen Hall
 

Similar to Uniface Lectures Webinar - Building Responsive Applications with Uniface: Deployment (20)

TOMCAT WEB SERVER TECHNICAL BY SAIKIRAN PANJALA
TOMCAT WEB SERVER TECHNICAL BY SAIKIRAN PANJALATOMCAT WEB SERVER TECHNICAL BY SAIKIRAN PANJALA
TOMCAT WEB SERVER TECHNICAL BY SAIKIRAN PANJALA
 
Web servers
Web serversWeb servers
Web servers
 
Lect06 tomcat1
Lect06 tomcat1Lect06 tomcat1
Lect06 tomcat1
 
Tomcat server
 Tomcat server Tomcat server
Tomcat server
 
5-WebServers.ppt
5-WebServers.ppt5-WebServers.ppt
5-WebServers.ppt
 
web-servers3952 (1)qwjelkjqwlkjkqlwe.ppt
web-servers3952 (1)qwjelkjqwlkjkqlwe.pptweb-servers3952 (1)qwjelkjqwlkjkqlwe.ppt
web-servers3952 (1)qwjelkjqwlkjkqlwe.ppt
 
Running Node.js in Production using Passenger
Running Node.js in Production using PassengerRunning Node.js in Production using Passenger
Running Node.js in Production using Passenger
 
Apache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual HostingApache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual Hosting
 
Servlet.pptx
Servlet.pptxServlet.pptx
Servlet.pptx
 
Servlet.pptx
Servlet.pptxServlet.pptx
Servlet.pptx
 
More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)
 
AAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty ProfileAAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NET
 
Java-Web-Applications.pdf
Java-Web-Applications.pdfJava-Web-Applications.pdf
Java-Web-Applications.pdf
 
Writing & Using Web Services
Writing & Using Web ServicesWriting & Using Web Services
Writing & Using Web Services
 
VMware Performance Troubleshooting
VMware Performance TroubleshootingVMware Performance Troubleshooting
VMware Performance Troubleshooting
 
Nginx A High Performance Load Balancer, Web Server & Reverse Proxy
Nginx A High Performance Load Balancer, Web Server & Reverse ProxyNginx A High Performance Load Balancer, Web Server & Reverse Proxy
Nginx A High Performance Load Balancer, Web Server & Reverse Proxy
 
Web Applications and Deployment
Web Applications and DeploymentWeb Applications and Deployment
Web Applications and Deployment
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
 

More from Uniface

Ubg Uniface 10 Version Control and Additions 2019
Ubg Uniface 10 Version Control and Additions 2019Ubg Uniface 10 Version Control and Additions 2019
Ubg Uniface 10 Version Control and Additions 2019Uniface
 
Ubg Uniface 10 Community Edition 2019
Ubg Uniface 10 Community Edition 2019Ubg Uniface 10 Community Edition 2019
Ubg Uniface 10 Community Edition 2019Uniface
 
Ubg Roadmap 2019
Ubg Roadmap 2019Ubg Roadmap 2019
Ubg Roadmap 2019Uniface
 
Ubg eLearning 2019
Ubg eLearning 2019Ubg eLearning 2019
Ubg eLearning 2019Uniface
 
Ubg Business Update 2019
Ubg Business Update 2019Ubg Business Update 2019
Ubg Business Update 2019Uniface
 
Uniface 10 Around the world by Jason Huggins
Uniface 10  Around the world by Jason HugginsUniface 10  Around the world by Jason Huggins
Uniface 10 Around the world by Jason HugginsUniface
 
Software imaging by Peter Lismer CEO
Software imaging by Peter Lismer CEO Software imaging by Peter Lismer CEO
Software imaging by Peter Lismer CEO Uniface
 
Uniface 10 Now is the time by David Akerman
Uniface 10 Now is the time by David AkermanUniface 10 Now is the time by David Akerman
Uniface 10 Now is the time by David AkermanUniface
 
Roadmap by Mike Taylor
Roadmap by Mike TaylorRoadmap by Mike Taylor
Roadmap by Mike TaylorUniface
 
Uniface I0 IDE Custom Menus and Worksheets
Uniface I0 IDE Custom Menus and WorksheetsUniface I0 IDE Custom Menus and Worksheets
Uniface I0 IDE Custom Menus and WorksheetsUniface
 
E learning jason huggins
E learning jason hugginsE learning jason huggins
E learning jason hugginsUniface
 
Uniface 10
Uniface 10Uniface 10
Uniface 10Uniface
 
Uniface Lectures Webinar - Application & Infrastructure Security - JSON Web T...
Uniface Lectures Webinar - Application & Infrastructure Security - JSON Web T...Uniface Lectures Webinar - Application & Infrastructure Security - JSON Web T...
Uniface Lectures Webinar - Application & Infrastructure Security - JSON Web T...Uniface
 
Uniface Lectures Webinar - Extending Applications for Mobile
Uniface Lectures Webinar - Extending Applications for Mobile Uniface Lectures Webinar - Extending Applications for Mobile
Uniface Lectures Webinar - Extending Applications for Mobile Uniface
 
Customer Case Study: Synapse Innovation
Customer Case Study: Synapse InnovationCustomer Case Study: Synapse Innovation
Customer Case Study: Synapse InnovationUniface
 
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Get...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Get...Uniface Lectures Webinar - Building Responsive Applications with Uniface: Get...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Get...Uniface
 
Uniface Lectures Webinar - Uniface Mobile
Uniface Lectures Webinar - Uniface MobileUniface Lectures Webinar - Uniface Mobile
Uniface Lectures Webinar - Uniface MobileUniface
 
Uniface Lectures Webinar - Uniface 10 Technical Deep Dive
Uniface Lectures Webinar - Uniface 10 Technical Deep DiveUniface Lectures Webinar - Uniface 10 Technical Deep Dive
Uniface Lectures Webinar - Uniface 10 Technical Deep DiveUniface
 
Uniface 10 Infographic
Uniface 10 InfographicUniface 10 Infographic
Uniface 10 InfographicUniface
 
Uniface Lectures Webinar: An Introduction to Uniface 10
Uniface Lectures Webinar: An Introduction to Uniface 10Uniface Lectures Webinar: An Introduction to Uniface 10
Uniface Lectures Webinar: An Introduction to Uniface 10Uniface
 

More from Uniface (20)

Ubg Uniface 10 Version Control and Additions 2019
Ubg Uniface 10 Version Control and Additions 2019Ubg Uniface 10 Version Control and Additions 2019
Ubg Uniface 10 Version Control and Additions 2019
 
Ubg Uniface 10 Community Edition 2019
Ubg Uniface 10 Community Edition 2019Ubg Uniface 10 Community Edition 2019
Ubg Uniface 10 Community Edition 2019
 
Ubg Roadmap 2019
Ubg Roadmap 2019Ubg Roadmap 2019
Ubg Roadmap 2019
 
Ubg eLearning 2019
Ubg eLearning 2019Ubg eLearning 2019
Ubg eLearning 2019
 
Ubg Business Update 2019
Ubg Business Update 2019Ubg Business Update 2019
Ubg Business Update 2019
 
Uniface 10 Around the world by Jason Huggins
Uniface 10  Around the world by Jason HugginsUniface 10  Around the world by Jason Huggins
Uniface 10 Around the world by Jason Huggins
 
Software imaging by Peter Lismer CEO
Software imaging by Peter Lismer CEO Software imaging by Peter Lismer CEO
Software imaging by Peter Lismer CEO
 
Uniface 10 Now is the time by David Akerman
Uniface 10 Now is the time by David AkermanUniface 10 Now is the time by David Akerman
Uniface 10 Now is the time by David Akerman
 
Roadmap by Mike Taylor
Roadmap by Mike TaylorRoadmap by Mike Taylor
Roadmap by Mike Taylor
 
Uniface I0 IDE Custom Menus and Worksheets
Uniface I0 IDE Custom Menus and WorksheetsUniface I0 IDE Custom Menus and Worksheets
Uniface I0 IDE Custom Menus and Worksheets
 
E learning jason huggins
E learning jason hugginsE learning jason huggins
E learning jason huggins
 
Uniface 10
Uniface 10Uniface 10
Uniface 10
 
Uniface Lectures Webinar - Application & Infrastructure Security - JSON Web T...
Uniface Lectures Webinar - Application & Infrastructure Security - JSON Web T...Uniface Lectures Webinar - Application & Infrastructure Security - JSON Web T...
Uniface Lectures Webinar - Application & Infrastructure Security - JSON Web T...
 
Uniface Lectures Webinar - Extending Applications for Mobile
Uniface Lectures Webinar - Extending Applications for Mobile Uniface Lectures Webinar - Extending Applications for Mobile
Uniface Lectures Webinar - Extending Applications for Mobile
 
Customer Case Study: Synapse Innovation
Customer Case Study: Synapse InnovationCustomer Case Study: Synapse Innovation
Customer Case Study: Synapse Innovation
 
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Get...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Get...Uniface Lectures Webinar - Building Responsive Applications with Uniface: Get...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Get...
 
Uniface Lectures Webinar - Uniface Mobile
Uniface Lectures Webinar - Uniface MobileUniface Lectures Webinar - Uniface Mobile
Uniface Lectures Webinar - Uniface Mobile
 
Uniface Lectures Webinar - Uniface 10 Technical Deep Dive
Uniface Lectures Webinar - Uniface 10 Technical Deep DiveUniface Lectures Webinar - Uniface 10 Technical Deep Dive
Uniface Lectures Webinar - Uniface 10 Technical Deep Dive
 
Uniface 10 Infographic
Uniface 10 InfographicUniface 10 Infographic
Uniface 10 Infographic
 
Uniface Lectures Webinar: An Introduction to Uniface 10
Uniface Lectures Webinar: An Introduction to Uniface 10Uniface Lectures Webinar: An Introduction to Uniface 10
Uniface Lectures Webinar: An Introduction to Uniface 10
 

Recently uploaded

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 

Recently uploaded (20)

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 

Uniface Lectures Webinar - Building Responsive Applications with Uniface: Deployment

  • 1.
  • 2. Uniface Responsive Application Deployment David Akerman – Solution Consultant
  • 3. Agenda Web Deployment Architecture Considerations Tomcat Servlet Engine Configuration Uniface Server Configuration Deployment Demonstration
  • 5. Web Application Resources Static Content • CSS, Images, Fonts, JavaScript etc. • Served from Web Server or Java Servlet Engine (e.g. Tomcat) Dynamic Page Content (Uniface) • Requests forwarded by Servlet Engine via Web Request Dispatcher (WRD) using middleware interface • URouter: orchestrate Uniface uservers • UServer: generate pages & process updates
  • 6. Uniface Web Application Environment Server Uniface Server Runtime Engine Client * Web Server * Java Servlet Engine WRD UserBrowser http Uniface Router Network Connector Network Connector Network Connector Database Connector Uniface Runtime Objects * optional, e.g. IIS or Apache ajp * Tomcat can function as web server
  • 7. Universal Resource Locators (URL’s) Identify app/environment http://server/prod/wrd/main http://server/app1/test/main Map to urouter configuration via web servlet config Context Servlet ComponentProtocol Server:port
  • 8. Uniface Web Application Configuration Uniface Web Application Server 1. Web Browser 2. Tomcat 3. WRD Network 4. Uniface Router 5. Uniface Server Call my_server_page to get an HTTP Response http.//server.machine.8080/ 6 HTTP Request uniface/ /my_server_page urouter.asn Context* UV8.urouter.server-machine+13001 user-name [password] wasv Network WEB-INFweb.xml wrd/ *Context = Tomcat Virtual Directory typically defined via named xml file in confCatalinalocalhost pointing to physical folder containing WEB-INFweb.xml
  • 10. Preparation Plan • Deployment, Resources, Hardening etc. Resources • Product Availability Matrix on http://unifaceinfo.com • Local Administrator privilege for installations • License • Optional: Web Server Certificate for https:// connections Installation Media for target architecture • Uniface + patches (https://download.uniface.com), DBMS drivers (match 32 or 64 bit) • Optional: Java (for Tomcat), Tomcat, IIS + ISAPI Extensions and filters for Tomcat Connector, ODBC drivers Application Build • Configuration Files, Uniface Runtime Resources, Static Resources
  • 11. License Features Licensed per server core (not concurrent) • Web Features: USRVUSP, USRVSVC • + Database features etc. Use Distributed License Manage (DLM) to: • Identify host for license request • Add License • Emergency License: https://download.uniface.com/downloads Can specify license file in .asn • $LICENSE_OPTIONS=LM_LICENSE_FILE="C:DLMlicense.xml" ;7188@DLMserver, LM_NOTIFICATION=0, LM_TRANSCRIPT=15
  • 12. Security SSL (needs certificate) Customize Error Messages – See Help: • “Web Application Error Pages” • “Customize WRD Error Messages Hardening • See help “Configuring the Tomcat Security Manager” • Also check online references for Tomcat • Remove manager application • Various server.xml, web.xml & context.xml configuration changes • Service Account & file permissions Firewall
  • 13. Performance • Which Web Browser? • Optimize file transfer • Minify CSS & Javascript files • File Compression • Cache headers, Server Locations, CDN’s etc • Scalability (load balancing needed?) • Tuning: • Application • Code Performance, Logging, App Cache • Uniface • $memory zip=all • DBMS Connector • Web Server/Servlet Engine
  • 14. Redirection from another Web Server Serve static content from, e.g., IIS or Apache Redirect dynamic content, e.g. /wrd/* to Servlet Engine (e.g. Tomcat) using AJP binary protocol Web Server Redirection • IIS: Typically, Apache JK Redirector or BonCode Tomcat Redirector for AJP connections, or ARR if you want to modify headers • Apache: modules (mod_jk or mod_proxy_ajp) • Some connectors (e.g. Apache JK redirector) can load balance
  • 16. Uniface Web Request Dispatcher Browser Web Server App Server Client https:// WASV Tomcat userver urouter WRD (lib/wrd.jar) DSP ajp
  • 17. Configuration: Tomcat (Context) http://server:port/webstart Tomcat virtual directory definition: tomcatconfCatalinalocalhostwebstart.xml Points to project web folder: <Context docBase="D:Projectswebstartweb"> <Valve className="org.apache.catalina.valves.AccessLogValve" prefix="tabs-" suffix=".log" pattern="common"/> </Context>
  • 18. Configuration: Tomcat (wrd) Physical folder contains WEB-INFweb.xml D:ProjectsWebStartwebWEB-INFweb.xml web.xml defines servlet mapping, e.g. http://server:port/webstart/wrd/ Servlet defines connections to Uniface UROUTER
  • 19. Tomcat web.xml servlet configuration <!-- Uniface W(eb) R(equest) D(ispatcher) Servlet --> <servlet> <servlet-name> wrd </servlet-name> <servlet-class> com.compuware.uniface.urd.WRDServlet </servlet-class> <init-param> <param-name>MIDDLEWARE</param-name> <param-value>UV8:localhost+13001|userver|*|webstart</param-value> </init-param>
  • 20. Tomcat web.xml servlet mapping <servlet-mapping> <servlet-name>wrd</servlet-name> <url-pattern>/wrd/*</url-pattern> </servlet-mapping>
  • 21. Uniface Common resources e.g. unifacewebappsunifacecommonuniface.js Web folder: ../common Copy or override in wasv.asn: [SETTINGS] $UNIFACE_RUNTIME_BASE_URL=/uniface/common or create Tomcat Context (virtual dir): CommontomcatconfCatalinalocalhost webstart#common.xml
  • 23. Urouter.asn - Settings [SETTINGS] $putmess_logfile = D:ProjectsUniface10.2Defaultlogurouter%p.log $priv_mon_user = urouter $default_net = TCP:localhost+13001||| Explicit Hostname may be needed to bind to correct IP address (e.g. NAT used in Virtual Machine)
  • 24. Urouter.asn – Default Servers [SERVERS] default = "C:Program FilesUniface10.2commonbinuserver.exe" /adm="C:Program FilesUniface10.2unifaceadm" /maxidle=3m ; For Uniface WebApplication Server wasv = "C:Program FilesUniface10.2commonbinuserver.exe" /dir="D:ProjectsUniface10Defaultproject" /adm="C:Program FilesUniface10.2unifaceadm" /asn=wasv.asn ; For debug purposes debug = "C:Program FilesUniface10.2commonbinuserver.exe" /max=1 /dir="D:ProjectsUniface10Defaultproject" /adm="C:Program FilesUniface10.2unifaceadm" /deb=localhost+13002:wait /asn=wasv.asn
  • 25. Urouter.asn – server switch notes /max • Description: maximum number of instances of a shared Uniface Server that the Uniface Router can start • Advice: Size to avoid resource problems (memory page swapping etc.) /maxidle • Description: maximum idle period for a shared Uniface Server before close • Advice: Typically use to reduce server resource usage if /max not set or big spikes expected /maxreq • Description: maximum number of requests a shared Uniface server can execute • Advice: Typically use if you have a memory leak or are short of memory Other considerations • Consider debugger port re-use • See Help for other switches
  • 26. wasv.asn (selected settings) [SETTINGS] ;$TEST_MODE_COMPONENTS ; Don’t force reload ;$RESOURCES_OUTPUT webstart.uar ; Not needed for deployment [WEB] $SERVER_SECRET=xxxxxxxxxxxxxxxxxxxxxxx ; used to hash protect NED fields $UNIFACE_RUNTIME_BASE_URL=../common ; default $JS_BASE_URL=../common/dspjs ; default [RESOURCES] ; Specifies folders or UAR files ; Can patch with additional resources (newest first) webstart.uar
  • 27. Troubleshooting Browser Debugger Network Tab – do resources load? Tomcat • Can you load static resources? • Check middleware connection in WEB-INFweb.xml (ports, credentials, UST) Urouter/Userver • Matching UST in urouter.asn • Hostname in urouter.asn $DEFAULT_NET • Log files • Paths & File Permissions for userver user • Monitor License
  • 29. Suggested Further Investigation Standardized Deployment (resources & urm) • See previous deployment lectures urouter monitor • Gracefully reload application, e.g. after patch deployment Tomcat • Manager application • WAR file deployment - see “Creating and Deploying a Web Application WAR File” help topic • Configuration, inc. Security and Performance optimization
  • 30. Resources Uniface Help: Tutorials uniface.info - Samples, forums, blogs & more http://go.uniface.com/Lectures-page - Historical Lectures youtube.com/uniface - Tutorials, demos & webinar recording www.slideshare.net/Uniface github.com/uniface - Frameworks & tools Uniface Training & Consultancy