300 likes | 310 Views
Learn how to successfully install and configure Java software on multiple platforms with InstallAnywhere Enterprise Edition. Includes a technical case study and deployment strategies.
E N D
Successfully Installing and Configuring Java Software Across Multiple Platforms Greg Maletic CTO Zero 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: … 182. Configure Linux OpenGL drivers Research Research shows: No one likes building installers. 183. Re-install Windows NT 4 184. Listen to installer presentation 185. Build installer 186. Grout shower tile Our goal: Minimize the time you have to spend with our product.
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 rightVM 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 Heterogeneous Web and ApplicationServers Development Computer (any Java-compatible system) Deployment Server (HTTP server) CD-ROMs Clients Mac OS Disconnected Users Unix Windows
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 likeadding things to WindowsStart Menu
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
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
Q & A Zero G www.ZeroG.com (415) 512-7771 Greg Maletic - greg@ZeroG.com