35
© 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

Improve your Developer Experiece using the WAS Liberty Profile with JRebel

Embed Size (px)

Citation preview

Page 1: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

© 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

Page 2: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

IBM WebSphere Technical Convention 2012 – Berlin, Germany

© IBM Corporation 2012

Agenda

• WAS, RAD and WDT • The WAS Liberty Profile •  JRebel

Page 3: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 4: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Com

prehensive 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

Page 5: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

IBM WebSphere Technical Convention 2012 – Berlin, Germany

© IBM Corporation 2012

Agenda

•  WAS, RAD and WDT •  The WAS Liberty Profile •  JRebel

Page 6: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 7: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 8: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 9: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 10: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 11: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 12: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

IBM WebSphere Technical Convention 2012 – Berlin, Germany

© IBM Corporation 2012

Tomcat  7.0.12 J Boss  7.0  Web  P rofile

GlassF ish  3.1  Web  P rofile

L iberty  P rofile0.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.334

93

104

46

S tartup  &  F ootprint  C omparis on  of  various  lig htweig ht  s ervers

S tartup  timeFootprint

Startup  tim

e  in  sec

onds

 (Low

er  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.

Page 13: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

IBM WebSphere Technical Convention 2012 – Berlin, Germany

© IBM Corporation 2012

Agenda

• WAS, RAD and WDT • The WAS Liberty Profile •  JRebel

Page 14: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

IBM WebSphere Technical Convention 2012 – Berlin, Germany

© IBM Corporation 2012

http://jrebel.com/ibmwtc

Page 15: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 16: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

IBM WebSphere Technical Convention 2012 – Berlin, Germany

© IBM Corporation 2012 http://zeroturnaround.com/java-ee-productivity-report-2011/

AVG ~2.5 min

Page 17: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 18: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 19: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 20: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

IBM WebSphere Technical Convention 2012 – Berlin, Germany

© IBM Corporation 2012

Exploded Directory Deployment

Page 21: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

IBM WebSphere Technical Convention 2012 – Berlin, Germany

© IBM Corporation 2012

read(“src/main/.../hello.html”) getResource(“hello.html”)

Resource Mapping

Page 22: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 23: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 24: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 25: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

- -

Page 26: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

IBM WebSphere Technical Convention 2012 – Berlin, Germany

© IBM Corporation 2012

MyObject

MyObject.class

OldClassLoader

Code 101000101 100010010 New code

111000100 101010010

Make changes in IDE

JRebel

Fram

ewor

k

Configuration (XML, annotations,..)

JRebel

Page 27: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

IBM WebSphere Technical Convention 2012 – Berlin, Germany

© IBM Corporation 2012

in action

Page 28: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 29: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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

Page 30: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

IBM WebSphere Technical Convention 2012 – Berlin, Germany

© IBM Corporation 2012

Available via Eclipse Marketplace

•  Or the update site: http://zeroturnaround.com/update-site/

Page 31: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

IBM WebSphere Technical Convention 2012 – Berlin, Germany

© IBM Corporation 2012

JRebel Nature

Page 32: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

IBM WebSphere Technical Convention 2012 – Berlin, Germany

© IBM Corporation 2012

JRebel for Liberty

Page 33: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

IBM WebSphere Technical Convention 2012 – Berlin, Germany

© IBM Corporation 2012

http://jrebel.com/ibmwtc

Page 34: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

IBM WebSphere Technical Convention 2012 – Berlin, Germany

© IBM Corporation 2012

Questions?

As a reminder, please fill out a session evaluation

Page 35: Improve your Developer Experiece using the WAS Liberty Profile with JRebel

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.