Presentation on theme: "Successfully Installing and Configuring Java Software Across Multiple Platforms Greg Maletic CTO Zero G."— Presentation transcript:
1Successfully Installing and Configuring Java Software Across Multiple Platforms Greg MaleticCTOZero G
2Agenda Overview of deployment issues How InstallAnywhere Enterprise Edition solves these issuesTechnical Case StudyInformix/CloudscapeQ & A
3Research Research shows: No one likes building installers. Things developers like to spend time on:182. Configure Linux OpenGL drivers…183. Re-install Windows NT 4184. Listen to installer presentation185. Build installer186. Grout shower tileOur goal: Minimize the time you have to spend with our product.
4Main Problems Deployment Launching Java software How do the files get to where they’re needed? On every platform?…uninstall?Launching Java softwareHow 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?
5Main Problems System Configuration How do I detect previous installations?Install into a special server directory?Set environment variables?Create shortcuts and links?Install services?
6InstallAnywhere™ Enterprise Edition Supports virtually all Java technology-enabled platformsEasy to useHandles all the platform-specific detailsSupports latest Java technologiesHighly customizableNot just for Java!
7InstallAnywhere 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 softwareOptionally installs private VM for appAutomatically detects MAIN class and CLASSPATHCreates WebInstall to deploy over Web
8InstallAnywhere Enterprise Edition Custom Code Action & Panel (Open API)Run actions before and after installationBuild updatersSet system variablesSerial number/passwordExtract archive
11Cloudscape Cloudscape (Java ORDBMS) A 100% Pure Java embeddable Object-Relational Database Management System with SynchronizationCloudscapeCloudsyncCloudconnectorCloudweb
12Cloudscape Distributed Internet Application Development Platform Deployment LandscapeHundreds of thousands of Eval copiesAll conceivable Java platformsComplexity of LandscapeDeploy variety of productsDeploy large applicationDeploy to every platformFrequent point releases
13The Challenge Ease of Use for Customer Large piece of software Quarter million evaluation copies can add up to an enormous tech support problemLarge piece of softwareThousands of files for our Cloudconnector productCross PlatformWindows NT well understood by usMacintosh… well…
14Cloudscape Tool Requirements Customization Features Ease of Use, both in-house and for customersSupports all platformsSpeed of InstallationBatch mode installer buildingCustomization FeaturesAbility to run code at Install timeAbility to perform functions like adding things to Windows Start Menu
16Open API Goals Major classes Let developers extend the behavior of the installerSupport use of native codeAdd GUI into the install wizardLet developers modify the installer’s behavior at install timeI18N compliantMajor classesCustomCodeActionInstallerProxyCustomCodePanel
17Open API: CustomCodeAction Lets you add your own new, reusable behaviors to the installerHow?Extend CustomCodeActionPut your action and any supporting classes or resources into a JARAdd Execute Custom Code Action action into installer project
18Open API: CustomCodeAction Override:void install(InstallerProxy)Code to be run at install timeUse InstallerProxy to get access to installer environmentString getInstallStatusMessage()Message to display onscreen during installvoid uninstall(UninstallerProxy)String getUninstallStatusMessage()Remember: you don't have to use the API--it's just if you want to do something special.
19Open API: CustomCodeAction What can you do?Write your own Java code to perform virtually any actionLog data that can be used at uninstallLoad I18N resourcesUse native codeUse InstallAnywhere Variables to pass dataUse progress bar to communicate statusCommunicate with InstallerProxy to do this
20Open 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()
21Open API: CustomCodePanel Lets you add your own GUI into the install wizardHow?Extend CustomCodePanelPut your panel and any supporting classes or resources into a JARAdd Show Custom Code Panel action into installer project
22Open API: CustomCodePanel What can you do?Specify your own wizard steps to ask configuration questionsSet InstallAnywhere Variables like USER_INSTALL_DIRIn simple cases, just use Show User Input PanelGo to demo—show “Show User Input” action under Post-Install.
25Why should you use InstallAnywhere? Multi-platformDesigned for Java developers…but not just for JavaEasy to useEasy to extend
26Who Uses InstallAnywhere? SunJFC classesBeans Development Kit (BDK)JavaHelpmany others…InpriseJBuilder 3.0IBM, HP, Intel, Lucent, AT&T, and thousands of others
27InstallAnywhere Editions Enterprise Edition$1,995 per developer seatStandard Edition$995InstallAnywhere Express$495InstallAnywhere Now!FREE
28Zero G DevNet Your resource for software deployment expertise Online communityNewsgroupKnowledge DatabasePosting area to share custom code actions and panelsUnlimited phone and supportUnlimited upgradesEarly access to latest technologiesAnnual subscription$995 per developer per yearThe fastest way to get your installer finished and over with!
29Conclusion InstallAnywhere Enterprise Edition More users of any multi-platform installer technologyMore features and functionalityMore platformsMore extensibilityHandles major deployment modelsStandalone applicationsRich and thin client-server applicationsMention trial versions on web site
30What 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
32Sun Microsystems Java™ Foundation Classes A Comprehensive Set of Class LibrariesGUI component suitePluggable Look and Feel API (PLAF)Accessibility APIDrag & Drop APIJava 2D™ APICore to Java™ 2, Standard Edition softwareExternal Package to JDK™ 1.1 Software Environments
33The Challenge Diverse Platforms, Diverse Requirements Classpath settingsHow to launch the demosWhich Java run-time environmentHow to uninstallLinks? Shortcuts? Aliases?The Customer’s Impression of the ProductInstallation is the customer’s first user experienceWe are Technology Developers, Not ...
34Impact of Using an Installer Great Decrease in s Regarding:Path, classpath problemsInstalling and running the demos on Mac OSOther Unix systemsRunning against wrong run-time environmentAbility to use “Billboards” During InstallUniform Install Experience on Most Platforms
35Why Zero G’s InstallAnywhere? Technology AdoptersInstallAnywhere is written in the Java™ programming language itselfZero G’s JFC adoptionApplication WrappersNative user experienceCustomizatione.g., which run-time environments, ability to install specific items on specific platformsCustomer SupportYou call, they fix it
36Why Zero G’s InstallAnywhere? Technology AdoptersInstallAnywhere is written in the Java™ programming language itselfSimilar cultures; fast turnaround time on features and point releasesCustomization FeaturesAbility to run code at Install timeAbility to perform functions like adding things to Windows Start MenuCustomer Support