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

Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsDominik Dary
 
プレゼンビフォアアフタ
プレゼンビフォアアフタプレゼンビフォアアフタ
プレゼンビフォアアフタTsuyoshi Ushio
 
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 FoundryJosh Ghiloni
 
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 LemieuxAtlassian
 
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 efficientlyBruno Capuano
 
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 2012Atlassian
 
Mobile Test Automation at eBay
Mobile Test Automation at eBayMobile Test Automation at eBay
Mobile Test Automation at eBayDominik Dary
 
Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copyDavid O'Dowd
 
Automation Best Practices
Automation Best PracticesAutomation Best Practices
Automation Best PracticesSauce Labs
 
Java days Lviv 2015
Java days Lviv 2015Java days Lviv 2015
Java days Lviv 2015Alex Theedom
 
VodQA_ParallelizingCukes_AmanKing
VodQA_ParallelizingCukes_AmanKingVodQA_ParallelizingCukes_AmanKing
VodQA_ParallelizingCukes_AmanKingpoojaelkunchwar
 
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 appiumJames Eisenhauer
 
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...Codemotion
 
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!Ulrich Krause
 
Android Test Automation – one year later
Android Test Automation – one year laterAndroid Test Automation – one year later
Android Test Automation – one year laterDominik Dary
 

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 ChangedMadeline Gauthier
 
Coding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedCoding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedK. Dachos
 
Introduction to react native with redux
Introduction to react native with reduxIntroduction to react native with redux
Introduction to react native with reduxMike Melusky
 
Discovery Life Project Portfolio
Discovery Life Project PortfolioDiscovery Life Project Portfolio
Discovery Life Project PortfolioJaco Koekemoer
 
Building extensible application using MEF
Building extensible application using MEFBuilding extensible application using MEF
Building extensible application using MEFRonak Thakkar
 
WebObjects Developer Tools
WebObjects Developer ToolsWebObjects Developer Tools
WebObjects Developer ToolsWO Community
 
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 weili_at_slideshare
 
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 !Cédric Brun
 
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 2012Adam Mokan
 
DevOps: Automate all the things
DevOps: Automate all the thingsDevOps: Automate all the things
DevOps: Automate all the thingsMat Mannion
 
Scrumbox ece2011.pptx
Scrumbox ece2011.pptxScrumbox ece2011.pptx
Scrumbox ece2011.pptxda152
 
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 DapperMike Melusky
 
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 DapperMike Melusky
 
DefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStackDefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStackMark Voelker
 
MWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCMWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCUlrich Krause
 
An evening with React Native
An evening with React NativeAn evening with React Native
An evening with React NativeMike Melusky
 
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 JelloDan Cuellar
 
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 XPagesUlrich Krause
 
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 2021WrapPixel
 

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

Mozilla и отвореният код
Mozilla и отвореният кодMozilla и отвореният код
Mozilla и отвореният кодBogomil Shopov
 
My vision about SUMO project
My vision about SUMO projectMy vision about SUMO project
My vision about SUMO projectBogomil Shopov
 
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.Bogomil Shopov
 
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 universityBogomil Shopov
 
Mozllla Labs presentation
Mozllla Labs presentationMozllla Labs presentation
Mozllla Labs presentationBogomil Shopov
 
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 historyBogomil Shopov
 
Електронни терористи ли сме
Електронни терористи ли смеЕлектронни терористи ли сме
Електронни терористи ли смеBogomil Shopov
 

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

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

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