Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Improve your Developer Experiece using the WAS Liberty Profile with JRebel

Anton Arhipov
October 18, 2012

Improve your Developer Experiece using the WAS Liberty Profile with JRebel

Anton Arhipov

October 18, 2012
Tweet

More Decks by Anton Arhipov

Other Decks in Technology

Transcript

  1. © IBM Corporation 2012 D-05 Improve your Developer Experiece using

    the WAS Liberty Profile with JRebel © IBM Corporation 2011 Anton Arhipov | JRebel Product Lead | ZeroTurnaround Tim deBoer | RAD & WDT Chief Architect | IBM
  2. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 Agenda •  WAS, RAD and WDT •  The WAS Liberty Profile •  JRebel
  3. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 WebSphere Application Server Family (V8.5) WAS for Developers WAS ND WAS for z/OS WAS Hypervisor Edition WAS WAS CE WAS Express Enables efficient development of innovative apps that will run on WAS in production Available as a no-charge edition for the developer desktop and includes Eclipse adapters Optimized to instantly run in VMware and other server virtualization environments Delivers near-continuous availability, with advanced performance and mgmt capabilities, for mission- critical apps Takes full advantage of the z/OS Sysplex to deliver a highly secure, reliable, and resource efficient server experience Provides secure, high performance transaction engine for moderately sized configurations with web tier clustering and failover across up to five application server profiles A lower-cost, ready-to-go solution to build dynamic Web sites & apps An open source-based, small footprint foundation with no up- front acquisition costs Tools Edition Built on a common code base +Liberty Profile +Liberty Profile +Intelligent Mgmt +Liberty Profile +Intelligent Mgmt +Liberty Profile +Intelligent Mgmt +Liberty Profile +Liberty Profile Tools Edition Tools Edition 3
  4. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 Rational Application Developer and the new WAS Developer Tools Eclipse WAS Developer Tools Rational Application Developer Premium Offering Freely available Supported for a fee Comprehensive Focused Basic Web 2.0 & mobile Portal & Portlet OSGi Java EE WAS & Liberty Profile Cloud JCA Batch SCA JSF iWidgets Visualization Team debug Analysis Profiling SIP CEA Team code coverage Free 4
  5. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 Agenda •  WAS, RAD and WDT •  The WAS Liberty Profile •  JRebel
  6. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 What Do Developers Care About? •  Common development tasks include: •  All tasks should be as painless as possible, with special emphasis on the more frequent ones. If the time taken to accomplish these tasks is an impediment to the development, the cost of the fidelity of the test server runtime is challenged •  These kind of capabilities reflect on the Application Server runtime as well as the tools Hourly Daily Weekly Monthly Frequency •  Modify file within an application •  Debug a problem in an application •  Restart/redeploy application •  Restart server •  Share code with team •  Change app structure (add/remove a module/bundle) •  Make config change •  Share config change with team •  Reproduce problem from another environment •  Upgrade to new service release •  Create application •  Install server fastest faster fast Time to complete 6
  7. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 WAS v8.5: Introduces the Lightweight “Liberty” Profile – For Web, OSGi and Mobile Apps Dynamic Server Profile Not static like Web Profile – determines by app at a fine- grained level Developer First Focus Simplified, shareable server config (like a dev. artifact). One XML file or several to simplify sharing & reuse of config Lightweight runtime Small memory footprint: (46MB for TradeLite) Integration with ND Job Mgr Optionally manage server lifecycle through ND Job Mgr Fidelity to full profile WAS Same reliable containers & QOS (easy migration from dev to ops) Dynamic Runtime Adding features & updating configs does not require server restart A highly composable, dynamic Server profile Popular Platforms Adds MAC OS for development Incredibly fast: start times: < 5 secs Small Download: < 50MB WAS v8.5 Liberty Profile Unzip Install & Deploy IM or unzip to install. Unzip deploy of server + app + config Integrated Tooling Powerful tools. Simple Eclipse feature 7
  8. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 No Hurdles to Install •  Tools and runtime are free for development. No time limit •  Eclipse feature install for tools; 40MB zip download for server profile. –  Installation Manager also supported à same installed result. •  2 minutes from “Nothing” to “Done”: •  Install WAS Developer Tools for Eclipse Feature •  •  Use the Tools to download the WAS Liberty Profile or download 40MB zip from WASdev.net www.wasdev.net 8
  9. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 Simplified Server Configuration •  Simplest case: One XML file for all server config •  Editable within the workspace •  Exportable, shareable, versionable No need for Admin Console, wsadmin, or extended EARs ws-security.xml server.xml etc. resources.xml X 9
  10. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 Feature Manager HTTP Transport Application Manager servlet-3.0 Highly Composable Runtime Based on ‘Features’ Full WAS Profile WAS v8.5 Liberty Profile jsp-2.2 appsecurity-1.0 restconnector-1.0 jpa-2.0 Java EE Support WAS Extensions Runtime Services & Config Model
  11. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 wab-1.0 WAS V8.5 Feature Set servlet-3.0 jsp-2.2 jsf-2.0 Programming Model Runtime jndi-1.0 jdbc-4.0 sessionDatabase-1.0 json-1.0 monitor-1.0 ssl-1.0 restConnector-1.0 localConnector-1.0 appSecurity-1.0 zosSecurity-1.0 zWlm-1.0 jpa-2.0 zosTransaction-1.0 blueprint-1.0 osgi-jpa-1.0 jaxrs-1.1 beanvalidation-1.0 cdi-1.0 ejblite-3.1 jaxws-2.2 Alpha
  12. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 Tomcat  7.0.12 J Boss  7.0  Web   Profile GlassFish  3.1   Web  Profile L iberty  Profile 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 0 20 40 60 80 100 120 1.7 5.3 7.8 2.3 34 93 104 46 S tartup  &  F ootprint  C omparis on   of  various  lig htweig ht  s ervers S tartup  time Footprint S tartup  time  in  seconds  (L ower  is  Better) Footprint  in  MB  (L ower  is  Better) Note: Tomcat , JBoss, and GlassFish were measured with the HotSpot JDK, while Liberty was measured with the IBM JDK. System Info: Lenovo T60p - 2 x 2.16 GHz Intel Core Duo T2600 2GB RAM, Windows XP 32-bit Apache Tomcat 7.0.12 JBoss Community Edition 7.0 Web Profile server GlassFish Server 3.1 Open Source Edition Web Profile WAS V8.5 Liberty Profile (All servers had the TradeLite benchmark application installed) 12 Liberty Profile – Startup & Footprint •  The problem of a lightweight development environment in WebSphere has been solved! –  Liberty Profile startup & footprint are on par with Tomcat. –  Liberty Profile starts up in less than half the time of JBoss Web profile.
  13. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 Agenda •  WAS, RAD and WDT •  The WAS Liberty Profile •  JRebel
  14. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 http://jrebel.com/ibmwtc
  15. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 The Typical Turnaround In Java EE Environment Make a change Build, deploy, wait Observe results
  16. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 http://zeroturnaround.com/java-ee-productivity-report-2011/ AVG ~2.5 min
  17. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 The Typical Turnaround In Java EE Environment Make a change Build, deploy, wait Observe results
  18. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 The Turnaround Time Sink 1s – 5m build 1s – 1m server startup 0,5 – 10m application initialization ~1m in-app navigation
  19. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 Build Package everything into WAR/EAR Package modules into JARs Compile classes Copy static resources Resolve dependencies
  20. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 Exploded Directory Deployment
  21. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 read(“src/main/.../hello.html”) getResource(“hello.html”) Resource Mapping
  22. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 Build Package everything into WAR/EAR Package modules into JARs Compile classes Copy static resources Resolve dependencies
  23. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 Build Package everything into WAR/EAR Package modules into JARs Compile classes Copy static resources Resolve dependencies
  24. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 MyObject MyObject.class OldClassLoader Debugger HotSwap New code 111000100 101010010 New code 111000100 101010010 Make changes in IDE HotSwap
  25. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 JRebel vs HotSwap HotSwap JRebel Changing method bodies + + Adding/removing methods IBM J9 + Adding/removing constructors - + Adding/removing fields - + Adding/removing classes - + Adding/removing annotations - + Replacing super class - - Adding/removing implemented interfaces - -
  26. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 MyObject MyObject.clas s OldClassLoader Code 101000101 100010010 New code 111000100 101010010 Make changes in IDE JRebel Framework Configuration (XML, annotations,..) JRebel
  27. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 The Turnaround Time Sink 1s – 5m build 1s – 5m server startup 0,5 – 10m application initialization ~1m in-app navigation
  28. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 JRebel for WebSphere •  WebSphere 6.1 •  WebSphere 7.x •  WebSphere 8.x-8.5 •  WebSphere 8.5 Liberty •  Including EJB support
  29. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 Available via Eclipse Marketplace •  Or the update site: http://zeroturnaround.com/update-site/
  30. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 http://jrebel.com/ibmwtc
  31. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 Questions? As a reminder, please fill out a session evaluation
  32. IBM WebSphere Technical Convention 2012 – Berlin, Germany © IBM

    Corporation 2012 Copyright Information •  © Copyright IBM Corporation 2012. All Rights Reserved. IBM, the IBM logo, ibm.com, AppScan, CICS, Cloudburst, Cognos, CPLEX, DataPower, DB2, FileNet, ILOG, IMS, InfoSphere, Lotus, Lotus Notes, Maximo, Quickr, Rational, Rational Team Concert, Sametime, Tivoli, WebSphere, and z/OS are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at ibm.com/legal/copytrade.shtml. •  Coremetrics is a trademark or registered trademark of Coremetrics, Inc., an IBM Company. •  SPSS is a trademark or registered trademark of SPSS, Inc. (or its affiliates), an IBM Company. •  Unica is a trademark or registered trademark of Unica Corporation, an IBM Company. •  Java and all Java-based trademarks and logos are trademarks of Oracle and/or its affiliates. Other company, product and service names may be trademarks or service marks of others. References in this publication to IBM products and services do not imply that IBM intends to make them available in all countries in which IBM operates.