successfully installing and configuring java software across multiple platforms greg maletic cto...
TRANSCRIPT
Successfully Installing and Configuring Java Software Across Multiple Platforms
Greg MaleticCTOZero G
Agenda
• Overview of deployment issues
• How InstallAnywhere Enterprise Edition solves these issues
• Technical Case Study– Informix/Cloudscape
• Q & A
Things developers like to spend time on:
Research
183. Re-install Windows NT 4
186. Grout shower tile
184. Listen to installer presentation185. Build installer
Our goal: Minimize the time you have to spend with our product.
Research shows: No one likes building installers.
182. Configure Linux OpenGL drivers
…
Main Problems
• Deployment– How do the files get to where they’re needed? On
every platform?– …uninstall?
• Launching Java software– How do end users or other processes run my
Java software?– How does the classpath get set properly?– How do I make sure the right
VM is being used?
Main Problems
• System Configuration– How do I detect previous installations?– Install into a special server directory?– Set environment variables?– Create shortcuts and links?– Install services?
InstallAnywhere™Enterprise Edition
• Supports virtually all Java technology-enabled platforms
• Easy to use
• Handles all the platform-specific details
• Supports latest Java technologies
• Highly customizable
• Not just for Java!
InstallAnywhere Enterprise Edition -Core Features
• Installs to Windows 98/NT/2000, Solaris, Linux, Mac OS, HP-UX, AIX, IRIX, and more...
• Creates LaunchAnywhere™ app launchers for Java software
• Optionally installs private VM for app
• Automatically detects MAIN class and CLASSPATH
• Creates WebInstall to deploy over Web
InstallAnywhere SupportsMultiple Deployment Models
Development Computer(any Java-compatible system)
Deployment Server(HTTP server)
ClientsCD-ROMs
DisconnectedUsers
Windows
Unix
Mac OS
HeterogeneousWeb and Application
Servers
Case Study
CloudscapeCloudscape (Java ORDBMS)
• A 100% Pure Java embeddable Object-Relational Database Management System with Synchronization– Cloudscape– Cloudsync – Cloudconnector– Cloudweb
Cloudscape
• Distributed Internet Application Development Platform
• Deployment Landscape– Hundreds of thousands of Eval copies– All conceivable Java platforms
• Complexity of Landscape– Deploy variety of products– Deploy large application– Deploy to every platform– Frequent point releases
The Challenge
• Ease of Use for Customer– Quarter million evaluation copies can add up to
an enormous tech support problem
• Large piece of software– Thousands of files for our Cloudconnector
product
• Cross Platform– Windows NT well understood by us– Macintosh… well…
Cloudscape
• Tool Requirements– Ease of Use, both in-house and for customers– Supports all platforms– Speed of Installation– Batch mode installer building
• Customization Features– Ability to run code at Install time– Ability to perform functions like
adding things to WindowsStart Menu
Cloudscape Project
Open API
• Goals– Let developers extend the behavior of the installer– Support use of native code– Add GUI into the install wizard– Let developers modify the installer’s behavior at
install time– I18N compliant
• Major classes– CustomCodeAction– InstallerProxy– CustomCodePanel
Open API: CustomCodeAction
• Lets you add your own new, reusable behaviors to the installer
• How?– Extend CustomCodeAction– Put your action and any
supporting classes or resources into a JAR
– Add Execute Custom Code Action action into installer project
Open API: CustomCodeAction
• Override:– void install(InstallerProxy)
• Code to be run at install time
• Use InstallerProxy to get access to installer environment
– String getInstallStatusMessage()
• Message to display onscreen during install
– void uninstall(UninstallerProxy)– String getUninstallStatusMessage()
Open API: CustomCodeAction
• What can you do?– Write your own Java code to perform virtually any
action– Log data that can be used at uninstall– Load I18N resources– Use native code– Use InstallAnywhere Variables to pass data– Use progress bar to communicate status
• Communicate with InstallerProxy to do this
Open API: InstallerProxy
• What can you do with InstallerProxy?– void setVariable(String varName, Object)Object getVariable(String varName)
– String getLogOutput()
– void setProgressPercentage(int percent)
– File getTemporaryDirectory()
– URL getResource(String archivePath)
– void AbortInstallation()
Open API: CustomCodePanel
• Lets you add your own GUI into the install wizard
• How?– Extend CustomCodePanel
– Put your panel and any supporting classes or resources into a JAR
– Add Show Custom Code Panel action into installer project
Open API: CustomCodePanel
• What can you do?– Specify your own wizard steps to ask configuration
questions– Set InstallAnywhere Variables like USER_INSTALL_DIR
– In simple cases, just use Show User Input Panel
Building the Installer
Installing Cloudscape
Why should you use InstallAnywhere?
• Multi-platform
• Designed for Java developers– …but not just for Java
• Easy to use
• Easy to extend
Who Uses InstallAnywhere?
• Sun– JFC classes– Beans Development Kit (BDK)– JavaHelp– many others…
• Inprise– JBuilder 3.0
• IBM, HP, Intel, Lucent, AT&T, and thousands of others
InstallAnywhere Editions
• Enterprise Edition– $1,995 per developer seat
• Standard Edition– $995
• InstallAnywhere Express– $495
• InstallAnywhere Now!– FREE
Zero G DevNet
• Your resource for software deployment expertise– Online community– Newsgroup– Knowledge Database– Posting area to share custom code actions and panels– Unlimited phone and e-mail support– Unlimited upgrades– Early access to latest technologies
• Annual subscription– $995 per developer per year
• The fastest way to get yourinstaller finished and over with!
Conclusion
• InstallAnywhere Enterprise Edition– More users of any multi-platform installer
technology– More features and functionality– More platforms– More extensibility
• Handles major deployment models– Standalone applications– Rich and thin client-server applications
What You Can Do
• Visit the Zero G web site (www.ZeroG.com)
• Download a trial edition of Enterprise, et. al.
• …or, use InstallAnywhere Now! absolutely free of charge