Your SlideShare is downloading. ×
GlassFish can support multiple Ruby frameworks ... really ?
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

GlassFish can support multiple Ruby frameworks ... really ?

2,631
views

Published on

"GlassFish can support multiple Ruby frameworks ... really ?" preso at Ruby Conf India 2010

"GlassFish can support multiple Ruby frameworks ... really ?" preso at Ruby Conf India 2010

Published in: Technology

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,631
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
22
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. GlassFish can support multiple Ruby frameworks ... really ? Arun Gupta, Oracle Corp blogs.sun.com/arungupta, @arungupta
  • 2. What is GlassFish ?
  • 3. What is GlassFish ?
  • 4. GlassFish: It's a Community!
  • 5. GlassFish: Lives on java.net Since 2005
  • 6. GlassFish: Reference Implementation
  • 7. GlassFish v3
  • 8. JRuby • Ruby interpreter written in Java • Current Version: 1.4.0 • 1.5 RC coming soon • Ruby 1.8.7 compatible • Some Ruby 1.9 support • --1.9 flag (80%)
  • 9. • Solid performance (~Ruby 1.9) • Startup is poor, execution usually better than 1.9 • Runs native threads • Foreign Function Interface (FFI)for C libraries • Adopted from Rubinius, CRuby gem • Runs Rails great!
  • 10. Ruby Frameworks on GlassFish
  • 11. GlassFish v3 Architecture JSF Grails ... Rails Merb ... Django ... Servlet Spec Rack WSGI Web JRuby Jython Container Container Container V3 Kernel Grizzly JVM Key GlassFish v3 Modules Java Framework Python Framework Web Framework Ruby Framework Interface
  • 12. Why Ruby on GlassFish ? - Agile
  • 13. Why ? - Easy prototyping, yet powerful
  • 14. Why ? - Best of both worlds
  • 15. Why ? - Database Connection Pooling
  • 16. Why ? - Management
  • 17. Why ? - Monitoring
  • 18. Rails Deployment choices Directory, WAR, Gem
  • 19. jruby -S gem install glassfish jruby -S rails helloworld cd helloworld jruby -S glassfish http://blogs.sun.com/arungupta/entry/totd_70_jruby_and_glassf sh i
  • 20. jruby -S glassfish -h -c: change the context root -e: environment -d: Runs as daemon -P: location of PID file -l: log file location -log-level: Logging level (0-7)
  • 21. asadmin start-domain asadmin deploy --property "jruby.home=JRUBY_HOME" helloworld Complete Absolute Path
  • 22. http://wiki.glassf sh.java.net/Wiki.jsp?page=GlassFishV3CapistranoRecipes i
  • 23. jruby -S gem install warbler jruby -S warble http://blogs.sun.com/arungupta/entry/totd_73_jruby_and_glassf sh i
  • 24. WAR Deployment: Packaging
  • 25. http://blogs.sun.com/arungupta/entry/totd_80_sinatra_crud_application
  • 26. Any Rack-based framework ... http://weblogs.java.net/blog/vivekp/archive/2009/04/plugin_any_ruby.html
  • 27. Deployment Options http://blogs.sun.com/arungupta/entry/totd_81_how_to_use http://blog.headius.com/2009/04/apache-jruby-rails-glassf sh-easy.html i
  • 28. NetBeans: Develop with Pleasure http://blogs.sun.com/arungupta/entry/screencast_26_develop_run_debug
  • 29. Ruby Monitoring • Basic Monitoring • jinfo: System properties and VM CLI flags • jmap: Shared object memory map • jstack: Stack traces of Java threads • jstat: Performance statistics on class, JIT compiler, GC, ... • Advanced • jconsole / Visual VM • NewRelic, FiveRuns, ...
  • 30. jConsole http://blogs.sun.com/arungupta/tags/rubyonrails+jmx
  • 31. Who loves Ruby on GlassFish ?
  • 32. Turbo charging your JRuby Startup • “-client” or “-server” ? (Upto 50%) • Faster startup or solid runtime ? • export JAVA_OPTS=”-client -D32” • Upto 50% improvement • For Linux: Class Data Sharing • Delay or disable JRuby's JIT (Upto 10%) • -X-C • jruby.compile.mode=OFF • Avoid spawning “sub-Rubies” • Nailgun for small JRuby CLI invocations • Favorite JVM Flags http://blog.headius.com/2010/03/jruby-startup-time-tips.html
  • 33. Resources • glassfish.org • blogs.sun.com/theaquarium • glassfish-scripting.dev.java.net • @glassfish
  • 34. GlassFish can support multiple Ruby frameworks ... really ? Arun Gupta, Oracle Corp blogs.sun.com/arungupta, @arungupta