SlideShare a Scribd company logo
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Deployment
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 (20)

PDF
T5 Oli Aro
Javier Toledo
 
PPTX
Building and managing java projects with maven part-III
princeirfancivil
 
PPTX
Whats new in ASP.NET 4.0
py_sunil
 
PPTX
Nodejs.meetup
Vivian S. Zhang
 
PPTX
Building and Managing Projects with Maven
Khan625
 
ODP
Running ms sql stored procedures in mule
AnilKumar Etagowni
 
PPTX
Express js
Manav Prasad
 
PDF
Nuxt.js - Introduction
Sébastien Chopin
 
PPTX
Intro to Node
Aaron Stannard
 
PDF
Workshop 21: React Router
Visual Engineering
 
PPTX
Nuxt Talk
Sébastien Chopin
 
PPTX
Websockets and SockJS, Real time chatting
University of Alabama at Birmingham
 
PPTX
How to Build SPA with Vue Router 2.0
Takuya Tejima
 
PPTX
Jsp (java server page)
Chitrank Dixit
 
PPT
Managing JavaScript Dependencies With RequireJS
Den Odell
 
PPT
Jsf 2.0 in depth
SILBURY IT SOLUTIONS GMBH
 
PPTX
Harish Aspnet Deployment
rsnarayanan
 
PDF
Vue, vue router, vuex
Samundra khatri
 
KEY
An Introduction to webOS
Kevin Decker
 
T5 Oli Aro
Javier Toledo
 
Building and managing java projects with maven part-III
princeirfancivil
 
Whats new in ASP.NET 4.0
py_sunil
 
Nodejs.meetup
Vivian S. Zhang
 
Building and Managing Projects with Maven
Khan625
 
Running ms sql stored procedures in mule
AnilKumar Etagowni
 
Express js
Manav Prasad
 
Nuxt.js - Introduction
Sébastien Chopin
 
Intro to Node
Aaron Stannard
 
Workshop 21: React Router
Visual Engineering
 
Websockets and SockJS, Real time chatting
University of Alabama at Birmingham
 
How to Build SPA with Vue Router 2.0
Takuya Tejima
 
Jsp (java server page)
Chitrank Dixit
 
Managing JavaScript Dependencies With RequireJS
Den Odell
 
Jsf 2.0 in depth
SILBURY IT SOLUTIONS GMBH
 
Harish Aspnet Deployment
rsnarayanan
 
Vue, vue router, vuex
Samundra khatri
 
An Introduction to webOS
Kevin Decker
 

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

PPTX
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Get...
Uniface
 
PPTX
Fastest Servlets in the West
Stuart (Pid) Williams
 
PDF
01 overview-and-setup
snopteck
 
DOC
Websphereinterview 100725022705-phpapp02
kishore2526
 
PPT
Introduction to Java Servlets and JSP (1).ppt
ansariparveen06
 
PPTX
Servlets
Rajkiran Mummadi
 
DOCX
Web Sphere Application Server Features
Symbyo Technologies
 
PPTX
Web container and Apache Tomcat
Auwal Amshi
 
PPT
Web Server Primer
webhostingguy
 
PPT
Web Server Primer
webhostingguy
 
PPT
Web Servers: Architecture and Security
george.james
 
PPT
Tomcat
Venkat Pinagadi
 
DOC
Unit5 servlets
Praveen Yadav
 
DOC
Websphere interview Questions
gummadi1
 
PDF
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
David Delabassee
 
PPTX
1 app 2 developers 3 servers
Mark Myers
 
PPT
Web servers
webhostingguy
 
ODP
Tc Server Glance Over
Iwein Fuld
 
PPT
Webapplication ppt prepared by krishna ballabh gupta
Shivalik college of engineering
 
PDF
WSO2 Application Server
Sagara Gunathunga
 
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Get...
Uniface
 
Fastest Servlets in the West
Stuart (Pid) Williams
 
01 overview-and-setup
snopteck
 
Websphereinterview 100725022705-phpapp02
kishore2526
 
Introduction to Java Servlets and JSP (1).ppt
ansariparveen06
 
Web Sphere Application Server Features
Symbyo Technologies
 
Web container and Apache Tomcat
Auwal Amshi
 
Web Server Primer
webhostingguy
 
Web Server Primer
webhostingguy
 
Web Servers: Architecture and Security
george.james
 
Unit5 servlets
Praveen Yadav
 
Websphere interview Questions
gummadi1
 
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
David Delabassee
 
1 app 2 developers 3 servers
Mark Myers
 
Web servers
webhostingguy
 
Tc Server Glance Over
Iwein Fuld
 
Webapplication ppt prepared by krishna ballabh gupta
Shivalik college of engineering
 
WSO2 Application Server
Sagara Gunathunga
 
Ad

More from Uniface (20)

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

Recently uploaded (20)

PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PPTX
Comprehensive Guide: Shoviv Exchange to Office 365 Migration Tool 2025
Shoviv Software
 
PDF
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
 
PDF
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
PDF
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PDF
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
PPTX
MailsDaddy Outlook OST to PST converter.pptx
abhishekdutt366
 
PDF
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PDF
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
PDF
Executive Business Intelligence Dashboards
vandeslie24
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PDF
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPTX
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
Tally software_Introduction_Presentation
AditiBansal54083
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
Comprehensive Guide: Shoviv Exchange to Office 365 Migration Tool 2025
Shoviv Software
 
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
 
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
MailsDaddy Outlook OST to PST converter.pptx
abhishekdutt366
 
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
Executive Business Intelligence Dashboards
vandeslie24
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 

Uniface Lectures Webinar - Building Responsive Applications with Uniface: Deployment

  • 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