2. • customer requirement
• Windows integration
• WebObjects 4.x migration / mixed deployment
• Why not?
Windows deployment, why?
3. WebObjects on Windows
• Setup explained, Demos
• Common pitfalls
• Tools and techniques for Debugging
• URLs for stuff you need
• Q&A
4. Windows prerequisites
• Windows Server 2003, 2008 (and 2012), 64/32 Bit
• (Windows 7)
• Install all updates / service packs
• Install Java RE (current 64 Bit)
• Turn off Firewall
• Install Notepad++
5. WO prerequisites
• Install WebObjects 5.4.3 on a Mac
• pack /System/Library/Frameworks/Java* (except JavaVM.fw)
• Compile current WONDER
• pack WONDER fw, apps, examples
6. Windows basic setup
• InstallVC 2010 Redistributable Packages (64 Bit / 32 Bit)
(Apache & WOStart depend on it)
64 Bit / 32 Bit
• Choose proper hostname
7. WO basic setup
• Choose WO base dir (c:Apple)
• ENV-Variable NEXT_ROOT
• Create Subfolders
• .LibraryFrameworks
• .LocalLibraryFrameworks
• .LocalLibraryWebObjectsConfiguration
• .LocalLibraryWebObjectsJavaApplications
10. WOStart, advantages
• no sub process
• process name == App name
• classpath loaded as system classpath
• able to run as NT Service
with same cmd line parameters
11. WO app as NT Service
• sc.exe create <ServiceName>
displayName= "<DisplayName>"
binPath = "<PathToWOStart> <WOParameters>"
start= auto
• sc.exe failure <ServiceName>
reset= 30
actions= restart/3000
• sc.exe start <ServiceName>
12. WOStart 64 Bit vs. 32 Bit
• 2 Binaries: 64 Bit and 32 Bit
• WOStart.exe must match the chosen JavaVM architecture!
• VC 10 redist!
17. WebServer / Apache vs. IIS
• IIS
• integrate remote static content
• integrate ASP/.NET content
• modify Adaptor
• needs patched Application class
• Apache
• need for Apache modules
• integrate PHP (secure)
18. IIS
• Refurbished WOAdaptor
• IIS 7 / 64 Bit and 32 Bit
• Bugfixes (stable like Apache-Adaptor)
• Streaming (even with unset Content-Length)
• Compile using MingW
• WebObjects 4.x compatibility
19. IIS, cont.
• WOAdaptor is ISAPI-Extension, NOT ISAPI-Filter
• Add Server Role „Web Server (IIS)“
• Option „ISAPI-Extensions“
• Register WOAdaptor at „CGI and ISAPI Restrictions“
• Enable ISAPI-dll at „Handler Mappings“
• Create folders / declare in WebSite
• Configure in Registry
20. IIS / Application patch
// patch ERXApplication or your Application by adding:
String[] myAdaptorExtensions = new String[]{}
@Override
public String[] adaptorExtensions() {
return myAdaptorExtensions;
}
24. Debugging WOAdaptor
• IIS
• always runs as background task
• Process Explorer: is DLL loaded?
• Where is my TMP-Folder?
• New Reg-Key
LOG_PATH (full path to log file)
LOG_FLAG (full path to log flag)
• Apache
• start manually
25. Pitfalls
• text files & line endings
• 32 Bit vs. 64 Bit (Wow64)
• ONE user for all WO apps
• LocalService or dedicated user
• no sudo (RunAs does not help)
• Permissions Logs & config files
• process / user limits