SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
TorqueBox
Like a JBoss
What’s TorqueBox
• JRuby API around JBoss to:
• Run Ruby apps in JBoss AS
Who’s TorqueBox?
• Project built and supported by Red Hat
• #torquebox on IRC
• LGPL
• 5 years of active development
What’s JRuby
• Ruby on the JVM
• Not a toy
• Runs unmodified Ruby code
• Fast; Real Threads; Java Integration
What’s JBoss
Why JBoss?
• For an Ordinary Web Application
Why JBoss?
• For an Ordinary Web Application
• Just Run Passenger / Gunicorn
Why JBoss?
• Ordinary Web Application
• Just Run Passenger / Gunicorn
• And Memcached/Redis for caching
Why JBoss?
• Ordinary Web Application
• Just Run Passenger / Gunicorn
• And Memcached/Redis for caching
• And Sidekiq/Celery for background jobs
Why JBoss?
• Ordinary Web Application
• Just Run Passenger / Gunicorn
• And Memcached/Redis for caching
• And Sidekiq/Celery for background jobs
• And Cron/Sidetiq for scheduled jobs
Why JBoss?
• Ordinary Web Application
• Just Run Passenger / Gunicorn
• And Memcached/Redis for caching
• And Sidekiq/Celery for background jobs
• And Cron/Sidetiq for scheduled jobs
• And EventMachine and Faye for Websockets
Why JBoss?
• Ordinary Web Application
• Just Run Passenger / Gunicorn
• And Memcached/Redis for caching
• And Sidekiq/Celery for background jobs
• And Cron/Sidetiq for scheduled jobs
• And EventMachine and Faye for Websockets
• And a Load Balancer
Or
• Just Run JBoss
What’s in the Tin
• JBoss Web + Rack for running Web applications
What’s in the Tin
• JBoss Web + Rack for running Web applications
• Infinispan for caching
What’s in the Tin
• JBoss Web + Rack for running Web applications
• Infinispan for caching
• HornetQ/JMS for messaging
What’s in the Tin
• JBoss Web + Rack for running Web applications
• Infinispan for caching
• HornetQ/JMS for messaging
• Quartz for scheduled events
What’s in the Tin
• JBoss Web + Rack for running Web applications
• Infinispan for caching
• HornetQ/JMS for messaging
• Quartz for scheduled events
• Stilts for STOMP messaging over Websockets
What’s in the Tin
• JBoss Web + Rack for running Web applications
• Infinispan for caching
• HornetQ/JMS for messaging
• Quartz for scheduled events
• Stilts for STOMP messaging over Websockets
• mod_cluster/JGroups for clustering/load balancing
That’s a lot of stuff
• Can pick and choose
• But it’s all supported
• All within a single JVM, with JVMs clustered
across nodes
Torquebox API
• Caching
• Messaging/Backgroundable
• Scheduled Jobs
• Services
• STOMP
Caching
• Infinispan Data Grid
• Local memory
• Invalidate across cluster <- Rails Store Default
• Distributed <- Non-Rails Default, most
interesting
• XA Transactions
• Configure Rails Cache Store for Torquebox
!
!
• Use the Rails.cache normally
!
Caching
• Or Use TorqueBox’s Infinispan API directly
Messaging
!
• HornetQ
• Load balancing, Failover, Timeouts, Retries
• Persistent across restarts
• TorqueBox API offers
• Topics (all subscribers get message)
• Queues (first subscriber to pop message gets it)
Topics vs Queues
• Configure a Topic at deployment
!
!
• Set up a class to process the messages
Backgroundable
• Simpler abstraction for fire-and-forget
Scheduled Jobs
Services
• TorqueBox managed background thread
• Like a daemon
• Can run on a single-node with fail-over to
another node in the cluster
WebSockets
• STOMP Protocol
• Ships with client JS library
• Can use Topics and Queues we saw earlier
Even More
• Authentication
• Hot deploys
• Dependency Injection
I wanna try this!
• rvm install jruby
• gem install rails
• rails new your_app
• echo ‘gem torquebox’ >> Gemfile
• bundle install
• torqeubox run
• torquebox deploy
• OR
• docker run mguymon/torquebox
Backstage
• Dashboard monitor for your applications
• Deploys into Torquebox
Immutant
• Same thing for Clojure
• Red Hat’s Polyglot strategy
• Escalante for Scala
Rough Spots, IMO
• Clustering is non-trivial without multicast
• Logging
• Source is mostly Java
• JBoss configuration is intimidating
What’s Next
• Torquebox 4
• Probably Wildfly-based
• aka JBoss 8
• Improved Performance
Da Mystery of Torqueboxin’
Joe Winter
• jwinter@gmail.com
• @jwinter
• From Sungard Consulting Services
• We’re hiring
• We’re looking for Ruby || Front-end JS || Java
• Come talk to me about JRuby
• We’re hiring
TorqueBox - Like a JBoss - Philly RedSnake Talk
TorqueBox - Like a JBoss - Philly RedSnake Talk
TorqueBox - Like a JBoss - Philly RedSnake Talk

Mais conteúdo relacionado

Último

Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 

Último (20)

Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 

Destaque

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming LanguageSimplilearn
 

Destaque (20)

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 

TorqueBox - Like a JBoss - Philly RedSnake Talk

  • 1.
  • 3. What’s TorqueBox • JRuby API around JBoss to: • Run Ruby apps in JBoss AS
  • 4. Who’s TorqueBox? • Project built and supported by Red Hat • #torquebox on IRC • LGPL • 5 years of active development
  • 5. What’s JRuby • Ruby on the JVM • Not a toy • Runs unmodified Ruby code • Fast; Real Threads; Java Integration
  • 7. Why JBoss? • For an Ordinary Web Application
  • 8. Why JBoss? • For an Ordinary Web Application • Just Run Passenger / Gunicorn
  • 9. Why JBoss? • Ordinary Web Application • Just Run Passenger / Gunicorn • And Memcached/Redis for caching
  • 10. Why JBoss? • Ordinary Web Application • Just Run Passenger / Gunicorn • And Memcached/Redis for caching • And Sidekiq/Celery for background jobs
  • 11. Why JBoss? • Ordinary Web Application • Just Run Passenger / Gunicorn • And Memcached/Redis for caching • And Sidekiq/Celery for background jobs • And Cron/Sidetiq for scheduled jobs
  • 12. Why JBoss? • Ordinary Web Application • Just Run Passenger / Gunicorn • And Memcached/Redis for caching • And Sidekiq/Celery for background jobs • And Cron/Sidetiq for scheduled jobs • And EventMachine and Faye for Websockets
  • 13. Why JBoss? • Ordinary Web Application • Just Run Passenger / Gunicorn • And Memcached/Redis for caching • And Sidekiq/Celery for background jobs • And Cron/Sidetiq for scheduled jobs • And EventMachine and Faye for Websockets • And a Load Balancer
  • 15. What’s in the Tin • JBoss Web + Rack for running Web applications
  • 16. What’s in the Tin • JBoss Web + Rack for running Web applications • Infinispan for caching
  • 17. What’s in the Tin • JBoss Web + Rack for running Web applications • Infinispan for caching • HornetQ/JMS for messaging
  • 18. What’s in the Tin • JBoss Web + Rack for running Web applications • Infinispan for caching • HornetQ/JMS for messaging • Quartz for scheduled events
  • 19. What’s in the Tin • JBoss Web + Rack for running Web applications • Infinispan for caching • HornetQ/JMS for messaging • Quartz for scheduled events • Stilts for STOMP messaging over Websockets
  • 20. What’s in the Tin • JBoss Web + Rack for running Web applications • Infinispan for caching • HornetQ/JMS for messaging • Quartz for scheduled events • Stilts for STOMP messaging over Websockets • mod_cluster/JGroups for clustering/load balancing
  • 21. That’s a lot of stuff • Can pick and choose • But it’s all supported • All within a single JVM, with JVMs clustered across nodes
  • 22. Torquebox API • Caching • Messaging/Backgroundable • Scheduled Jobs • Services • STOMP
  • 23. Caching • Infinispan Data Grid • Local memory • Invalidate across cluster <- Rails Store Default • Distributed <- Non-Rails Default, most interesting • XA Transactions
  • 24. • Configure Rails Cache Store for Torquebox ! ! • Use the Rails.cache normally !
  • 25. Caching • Or Use TorqueBox’s Infinispan API directly
  • 26. Messaging ! • HornetQ • Load balancing, Failover, Timeouts, Retries • Persistent across restarts • TorqueBox API offers • Topics (all subscribers get message) • Queues (first subscriber to pop message gets it)
  • 28. • Configure a Topic at deployment ! ! • Set up a class to process the messages
  • 31. Services • TorqueBox managed background thread • Like a daemon • Can run on a single-node with fail-over to another node in the cluster
  • 32. WebSockets • STOMP Protocol • Ships with client JS library • Can use Topics and Queues we saw earlier
  • 33.
  • 34.
  • 35. Even More • Authentication • Hot deploys • Dependency Injection
  • 36. I wanna try this! • rvm install jruby • gem install rails • rails new your_app • echo ‘gem torquebox’ >> Gemfile • bundle install • torqeubox run • torquebox deploy • OR • docker run mguymon/torquebox
  • 37. Backstage • Dashboard monitor for your applications • Deploys into Torquebox
  • 38. Immutant • Same thing for Clojure • Red Hat’s Polyglot strategy • Escalante for Scala
  • 39. Rough Spots, IMO • Clustering is non-trivial without multicast • Logging • Source is mostly Java • JBoss configuration is intimidating
  • 40. What’s Next • Torquebox 4 • Probably Wildfly-based • aka JBoss 8 • Improved Performance
  • 41. Da Mystery of Torqueboxin’
  • 42. Joe Winter • jwinter@gmail.com • @jwinter • From Sungard Consulting Services • We’re hiring • We’re looking for Ruby || Front-end JS || Java • Come talk to me about JRuby • We’re hiring