Glass fish rubyconf-india-2010-Arun gupta

  • 1,212 views
Uploaded on

GlassFish is an open source and production-quality application server with full enterprise support from Sun Microsystems. In addition to traditional Java EE applications, it allows applications …

GlassFish is an open source and production-quality application server with full enterprise support from Sun Microsystems. In addition to traditional Java EE applications, it allows applications developed using different Ruby frameworks to be easily deployed as well. The choice of application frameworks is also available for Groovy/Grails and Python/Django apps and can be easily extended further.

This talk will demonstrate how GlassFish provides an extensible framework that allow applications created using different Ruby frameworks can be easily deployed. The attendees will learn the different deployment models available in GlassFish through live coding examples and several customer use cases of Rails deployments on GlassFish. The talk will show how Rails, Sinatra, Merb and any Rack-based framework can be easily deployed on GlassFish. It demonstrates how popular Rails applications can be easily deployed on GlassFish without any modification, and shows how GlassFish Gem can be used as an effective alternative to WEBrick, Mongrel, and other traditional deployment models.

It also explains the inner workings of GlassFish so that developers understand what’s happening under the hood. It will explain how standard Java monitoring technologies like JMX can be used to monitor/manage these applications.

The session also demonstrates how NetBeans provides a comprehensive IDE for developing, running, and debugging a Rails application directly on GlassFish – all without using any Java code.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,212
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
0

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