300 likes | 442 Views
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.
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