SlideShare a Scribd company logo
1 of 17
Download to read offline
Part I
   How much of your coding time is spent coding?


Seen this
before?




                                                   Also:
                                                   “My app is…”
                                                   * Building
                                                   * Redeploying
                                                   * Restarting…




               http://xkcd.com/303/
Redeploying sucks, so JRebel
eliminates it. How?



“  JRebel maps your project workspace directly to the
   application under development. When you change any
  class or resource in your IDE, the change is immediately
      reflected in the application, skipping the build and
                        redeploy phases.


                                                      ”
                                          Umm… What?
JRebel picks up changes to:
A) Class structure




                              …monitors the
                              timestamp of
                              classfiles..



                                          …and reflects
                                       those changes in
                                       your application,
                                               instantly
JRebel picks up changes to:
B) Framework configurations
       Frameworks




                          and 25+ others...




                                        …and reflects
                                     those changes in
                                     your application,
                                             instantly
JRebel picks up changes to:
C) Java EE technologies




                               …and reflects those
                              changes in… well, you
                                     get the point…
                                .. .. ..but HOW??
Part 2
Tech and Science stuff




                         http://xkcd.com
How JRebel works:
1) Classes

•  JRebel integrates with the JVM and rewrites each class to be
   updateable
•  JRebel versions each class individually, instead of an application or
   module at a time
•  It does not use classloaders!
•  Changes to classes are always visible in the Reflection API



                                                    MyObject.clas
                                                    MyObject.clas
                                                         ss
           MyClass                    MyClass’      MyClass_3
How JRebel works:
2) Framework configuration changes / details
•  JRebel integrates directly with application servers and frameworks
   to propagate configuration changes from the changed classes and
   resources
•  Annotation changes are always visible in Reflection API
•  JRebel provides an extensible SDK to allow contributions from third
   parties. Stripes, Struts 2, Wicket and several other integrations have
   already been contributed


                   Containers / Application Servers
How JRebel works:
3) Workspace mapping

                                         petclinic.war

                   •    JRebel integrates with application servers,
                        frameworks and your IDE
                   •    When a class or resource is being looked up,
                        JRebel redirects straight to the workspace
                   •    When an HTTP resource needs to be served,
                        JRebel serves it from the workspace



                                          IDEs
How does JRebel work?
Integration, Integration, Integration



         IDEs                   Containers   Frameworks




      Build Tools
Part 3
Getting JRebel for yourself and your team

•  Eclipse fans can get JRebel for Eclipse directly from the             For Eclipse
                                                                         IDE users
   Eclipse Marketplace (search “jrebel”) or here:
    •  http://www.zeroturnaround.com/jrebel/eclipse-eval/

•  MyEclipse users can get JRebel for MyEclipse free for 30
   days:
                                                                         For
    •  http://www.zeroturnaround.com/jrebel/myeclipse/                   MyEclipse
                                                                         IDE users
•  Everyone can get the same free 30-day evaluation from:
    •  http://www.zeroturnaround.com/jrebel/current/                      For
                                                                          everyone!

•  NEW! Use it for free at home for non-commercial development:
    •  http://social.jrebel.com - for students, open source committers
Part 4
Getting the P.H.B. (Pointy Haired Boss) on board




                                                   How do I talk
                                                   about JRebel
                                                   with my boss?
Talking about JRebel with your boss(es)

•  This depends on their level of technical understanding

•  Non-technical people understand the “Email Example” -
   •  Try telling them that redeploying a container to see changes that you make to code
      is like restarting their computer every time they want to send/receive email. It can
      take a similar amount of time, and is similarly disruptive.
   •  Or show them this presentation:
      www.zeroturnaround.com/jrebel/documentation (JRebel for Bosses)


•  More technical people like to know more about what’s going on –
   send them this presentation here:
   •  www.zeroturnaround.com/jrebel/documentation (JRebel for Developers)


                                                        Nice. But my boss likes stats
                                                        and charts - got any of those?
Resources

•  Java EE Productivity Report 2011
   •  Includes lots of stats & charts on the popularity of Java development
      tools & technologies – plus a section on Turnaround Time (builds,
      redeploys, restarts).
   •  http://www.zeroturnaround.com/java-ee-productivity-report-2011/


•  Want to see how fast JRebel will pay for itself? (for finance
   guys)
   •  http://www.zeroturnaround.com/jrebel
   •  ROI calculator is on the right side of the page
                                                          I don’t have much
                                                          time to read reports.
                                                          Have you got some
                                                          quick stats I can
                                                          reference?
Quick Stats

•  Here are some cool stats taken from the Java EE
   Productivity Report:
   •  17.5% - the average percentage of coding time spent
      redeploying (this varies by app size and container used - check
      out the report for details on yours)
   •  10.5 - the # of minutes wasted per hour of coding
   •  4.38 - the # of hours wasted per week
   •  5.25 - number of full work weeks wasted per year (40-hour
      weeks).
   •  ...and over 18 hours per month….
                                                 Interesting…anything
                                                 else cool?
(also cool)




      Over 39 Million builds, redeploys & restarts
        prevented for 11,000+ Java developers

More Related Content

What's hot

Mobile Test Automation at eBay
Mobile Test Automation at eBayMobile Test Automation at eBay
Mobile Test Automation at eBay
Dominik Dary
 
Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copy
David O'Dowd
 
Native iphone app test automation with appium
Native iphone app test automation with appiumNative iphone app test automation with appium
Native iphone app test automation with appium
James Eisenhauer
 

What's hot (18)

Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile Projects
 
プレゼンビフォアアフタ
プレゼンビフォアアフタプレゼンビフォアアフタ
プレゼンビフォアアフタ
 
Using Spring Boot Effectively in Cloud Foundry
Using Spring Boot Effectively in Cloud FoundryUsing Spring Boot Effectively in Cloud Foundry
Using Spring Boot Effectively in Cloud Foundry
 
AtlasCamp US 2012 Keynote, Jean-Michel Lemieux
AtlasCamp US 2012 Keynote, Jean-Michel LemieuxAtlasCamp US 2012 Keynote, Jean-Michel Lemieux
AtlasCamp US 2012 Keynote, Jean-Michel Lemieux
 
2017 03 25 Microsoft Hacks, How to code efficiently
2017 03 25 Microsoft Hacks, How to code efficiently2017 03 25 Microsoft Hacks, How to code efficiently
2017 03 25 Microsoft Hacks, How to code efficiently
 
Developing for Remote Bamboo Agents, AtlasCamp US 2012
Developing for Remote Bamboo Agents, AtlasCamp US 2012Developing for Remote Bamboo Agents, AtlasCamp US 2012
Developing for Remote Bamboo Agents, AtlasCamp US 2012
 
Mobile Test Automation at eBay
Mobile Test Automation at eBayMobile Test Automation at eBay
Mobile Test Automation at eBay
 
Intro To AOP
Intro To AOPIntro To AOP
Intro To AOP
 
Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copy
 
Automation Best Practices
Automation Best PracticesAutomation Best Practices
Automation Best Practices
 
Java days Lviv 2015
Java days Lviv 2015Java days Lviv 2015
Java days Lviv 2015
 
VodQA_ParallelizingCukes_AmanKing
VodQA_ParallelizingCukes_AmanKingVodQA_ParallelizingCukes_AmanKing
VodQA_ParallelizingCukes_AmanKing
 
Native iphone app test automation with appium
Native iphone app test automation with appiumNative iphone app test automation with appium
Native iphone app test automation with appium
 
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
 
La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!
 
Android Test Automation – one year later
Android Test Automation – one year laterAndroid Test Automation – one year later
Android Test Automation – one year later
 
Introduction To AOP
Introduction To AOPIntroduction To AOP
Introduction To AOP
 
Java tutorial
Java tutorialJava tutorial
Java tutorial
 

Similar to How to explain what JRebel does to a developer

Coding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedCoding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever Changed
Madeline Gauthier
 
Coding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedCoding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever Changed
K. Dachos
 
Discovery Life Project Portfolio
Discovery Life Project PortfolioDiscovery Life Project Portfolio
Discovery Life Project Portfolio
Jaco Koekemoer
 
WebObjects Developer Tools
WebObjects Developer ToolsWebObjects Developer Tools
WebObjects Developer Tools
WO Community
 

Similar to How to explain what JRebel does to a developer (20)

Coding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedCoding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever Changed
 
Coding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedCoding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever Changed
 
Introduction to react native with redux
Introduction to react native with reduxIntroduction to react native with redux
Introduction to react native with redux
 
Discovery Life Project Portfolio
Discovery Life Project PortfolioDiscovery Life Project Portfolio
Discovery Life Project Portfolio
 
Building extensible application using MEF
Building extensible application using MEFBuilding extensible application using MEF
Building extensible application using MEF
 
WebObjects Developer Tools
WebObjects Developer ToolsWebObjects Developer Tools
WebObjects Developer Tools
 
Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
 
DevOps: Automate all the things
DevOps: Automate all the thingsDevOps: Automate all the things
DevOps: Automate all the things
 
Scrumbox ece2011.pptx
Scrumbox ece2011.pptxScrumbox ece2011.pptx
Scrumbox ece2011.pptx
 
Effective .NET Core Unit Testing with SQLite and Dapper
Effective .NET Core Unit Testing with SQLite and DapperEffective .NET Core Unit Testing with SQLite and Dapper
Effective .NET Core Unit Testing with SQLite and Dapper
 
Spring session
Spring sessionSpring session
Spring session
 
Effective .NET Core Unit Testing with SQLite and Dapper
Effective .NET Core Unit Testing with SQLite and DapperEffective .NET Core Unit Testing with SQLite and Dapper
Effective .NET Core Unit Testing with SQLite and Dapper
 
DefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStackDefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStack
 
MWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCMWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVC
 
An evening with React Native
An evening with React NativeAn evening with React Native
An evening with React Native
 
Writing Well Abstracted Automation on Foundations of Jello
Writing Well Abstracted Automation on Foundations of JelloWriting Well Abstracted Automation on Foundations of Jello
Writing Well Abstracted Automation on Foundations of Jello
 
An Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPagesAn Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPages
 
Top 7 react developer tools to use in 2021
Top 7 react developer tools to use in 2021Top 7 react developer tools to use in 2021
Top 7 react developer tools to use in 2021
 

More from Bogomil Shopov (9)

Mozilla и отвореният код
Mozilla и отвореният кодMozilla и отвореният код
Mozilla и отвореният код
 
Mozilla Drumbeat
Mozilla DrumbeatMozilla Drumbeat
Mozilla Drumbeat
 
My vision about SUMO project
My vision about SUMO projectMy vision about SUMO project
My vision about SUMO project
 
What is MOZILLA and what is Open Web about.
What is MOZILLA and what is Open Web about.What is MOZILLA and what is Open Web about.
What is MOZILLA and what is Open Web about.
 
What is Mozilla and what is Open Web about. Rousse university
What is Mozilla and what is Open Web about. Rousse universityWhat is Mozilla and what is Open Web about. Rousse university
What is Mozilla and what is Open Web about. Rousse university
 
Mozllla Labs presentation
Mozllla Labs presentationMozllla Labs presentation
Mozllla Labs presentation
 
What is Mozilla and what is OpenWeb about. Browser;s history
What is Mozilla and what is OpenWeb about. Browser;s historyWhat is Mozilla and what is OpenWeb about. Browser;s history
What is Mozilla and what is OpenWeb about. Browser;s history
 
Електронни терористи ли сме
Електронни терористи ли смеЕлектронни терористи ли сме
Електронни терористи ли сме
 
Secure OpenID
Secure OpenIDSecure OpenID
Secure OpenID
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

How to explain what JRebel does to a developer

  • 1.
  • 2. Part I How much of your coding time is spent coding? Seen this before? Also: “My app is…” * Building * Redeploying * Restarting… http://xkcd.com/303/
  • 3. Redeploying sucks, so JRebel eliminates it. How? “ JRebel maps your project workspace directly to the application under development. When you change any class or resource in your IDE, the change is immediately reflected in the application, skipping the build and redeploy phases. ” Umm… What?
  • 4. JRebel picks up changes to: A) Class structure …monitors the timestamp of classfiles.. …and reflects those changes in your application, instantly
  • 5. JRebel picks up changes to: B) Framework configurations Frameworks and 25+ others... …and reflects those changes in your application, instantly
  • 6. JRebel picks up changes to: C) Java EE technologies …and reflects those changes in… well, you get the point… .. .. ..but HOW??
  • 7. Part 2 Tech and Science stuff http://xkcd.com
  • 8. How JRebel works: 1) Classes •  JRebel integrates with the JVM and rewrites each class to be updateable •  JRebel versions each class individually, instead of an application or module at a time •  It does not use classloaders! •  Changes to classes are always visible in the Reflection API MyObject.clas MyObject.clas ss MyClass MyClass’ MyClass_3
  • 9. How JRebel works: 2) Framework configuration changes / details •  JRebel integrates directly with application servers and frameworks to propagate configuration changes from the changed classes and resources •  Annotation changes are always visible in Reflection API •  JRebel provides an extensible SDK to allow contributions from third parties. Stripes, Struts 2, Wicket and several other integrations have already been contributed Containers / Application Servers
  • 10. How JRebel works: 3) Workspace mapping petclinic.war •  JRebel integrates with application servers, frameworks and your IDE •  When a class or resource is being looked up, JRebel redirects straight to the workspace •  When an HTTP resource needs to be served, JRebel serves it from the workspace IDEs
  • 11. How does JRebel work? Integration, Integration, Integration IDEs Containers Frameworks Build Tools
  • 12. Part 3 Getting JRebel for yourself and your team •  Eclipse fans can get JRebel for Eclipse directly from the For Eclipse IDE users Eclipse Marketplace (search “jrebel”) or here: •  http://www.zeroturnaround.com/jrebel/eclipse-eval/ •  MyEclipse users can get JRebel for MyEclipse free for 30 days: For •  http://www.zeroturnaround.com/jrebel/myeclipse/ MyEclipse IDE users •  Everyone can get the same free 30-day evaluation from: •  http://www.zeroturnaround.com/jrebel/current/ For everyone! •  NEW! Use it for free at home for non-commercial development: •  http://social.jrebel.com - for students, open source committers
  • 13. Part 4 Getting the P.H.B. (Pointy Haired Boss) on board How do I talk about JRebel with my boss?
  • 14. Talking about JRebel with your boss(es) •  This depends on their level of technical understanding •  Non-technical people understand the “Email Example” - •  Try telling them that redeploying a container to see changes that you make to code is like restarting their computer every time they want to send/receive email. It can take a similar amount of time, and is similarly disruptive. •  Or show them this presentation: www.zeroturnaround.com/jrebel/documentation (JRebel for Bosses) •  More technical people like to know more about what’s going on – send them this presentation here: •  www.zeroturnaround.com/jrebel/documentation (JRebel for Developers) Nice. But my boss likes stats and charts - got any of those?
  • 15. Resources •  Java EE Productivity Report 2011 •  Includes lots of stats & charts on the popularity of Java development tools & technologies – plus a section on Turnaround Time (builds, redeploys, restarts). •  http://www.zeroturnaround.com/java-ee-productivity-report-2011/ •  Want to see how fast JRebel will pay for itself? (for finance guys) •  http://www.zeroturnaround.com/jrebel •  ROI calculator is on the right side of the page I don’t have much time to read reports. Have you got some quick stats I can reference?
  • 16. Quick Stats •  Here are some cool stats taken from the Java EE Productivity Report: •  17.5% - the average percentage of coding time spent redeploying (this varies by app size and container used - check out the report for details on yours) •  10.5 - the # of minutes wasted per hour of coding •  4.38 - the # of hours wasted per week •  5.25 - number of full work weeks wasted per year (40-hour weeks). •  ...and over 18 hours per month…. Interesting…anything else cool?
  • 17. (also cool) Over 39 Million builds, redeploys & restarts prevented for 11,000+ Java developers