You are on page 1of 52

Develop with Pleasure, Deploy

with Fun: NetBeans and


GlassFish for a Better Rails
Experience
Arun Gupta, GlassFish Guy
http://blogs.sun.com/arungupta
Sun Microsystems, Inc.
What is GlassFish ?

dkimages.com
What is GlassFish ?
GlassFish: It's a Community!
GlassFish: Lives on java.net

Since 2005
GlassFish: Open Source and Enterprise Quality
GlassFish: Java EE 5 and 6 Reference
Implementation

Java EE 5
Java EE 6
Commercially Supported Product: Sun GlassFish
Enterprise Server

Enterprise Manager

Customer
Advocate eLearning
Credit

Customer Focused 24x7 Support


Support Team

GlassFish
Sun VIP Open Source
Interoperability Patches &
Application Server
Support Upgrades
GlassFish v2
GlassFish v2: Web-based Administration
GlassFish v2: SOAP, REST, .NET interoperability
GlassFish v2: Clustering & Load Balancing
GlassFish v2: IDE support
GlassFish v3
GlassFish v3: Modular
GlassFish v3: Embeddable
GlassFish v3: Extensible
Why Rails on GlassFish ? - Agile
Why ? - Easy prototyping, yet powerful
Why ? - Best of both worlds
Why ? - A feature for every one: Database
Connection Pooling
Why ? - A feature for every one: Management
Why ? - A feature for every one: Monitoring
Why ? - A feature for every one: Threading
Why ? - A feature for every one
Why ? - Improvements in JVM DL Compilers
Why ? - Deployment choices: Directory, WAR,
Embedded

Credits: http://www.flickr.com/photos/bostonbrahmin/177442308/
Directory-based deployment: How ?

jruby -S rails railsconf

asadmin start-domain
asadmin create-jvm-options -DJRUBY_HOME=...
asadmin deploy railsconf
Directory-based deployment: Recipes

Credits: http://blogs.sun.com/Jacobkessler/entry/capistrano_and_glassfish
Rails on GlassFish: GlassFish Gem
GlassFish Gem: How ?

jruby -S rails railsconf

jruby -S gem install glassfish


cd railsconf
jruby -S glassfish

http://blogs.sun.com/arungupta/entry/totd_70_jruby_and_glassfish
GlassFish Gem: Options

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)
GlassFish Gem: Recipes

Credits: http://blogs.sun.com/Jacobkessler/entry/capistrano_and_glassfish_now_with
Not Just Rails ...

http://blogs.sun.com/arungupta/entry/totd_53_scaffold_in_merb
http://blogs.sun.com/arungupta/entry/totd_80_sinatra_crud_application
And more ...

http://weblogs.java.net/blog/vivekp/archive/2009/04/plugin_any_ruby.html
Deployment Options

http://blogs.sun.com/arungupta/entry/totd_81_how_to_use
http://blog.headius.com/2009/04/apache-jruby-rails-glassfish-easy.html
Rails on GlassFish: WAR Deployment

Credits: http://birdwatchersdigest.com
WAR Deployment: How ?

jruby -S gem install warbler


jruby -S warble

http://blogs.sun.com/arungupta/entry/totd_73_jruby_and_glassfish
WAR Deployment: How in NetBeans ?
WAR Deployment: Packaging
Rails on GlassFish: Update Center
NetBeans: Develop with Pleasure

http://blogs.sun.com/arungupta/entry/screencast_26_develop_run_debug
Rails 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, ...
jConsole

http://blogs.sun.com/arungupta/tags/rubyonrails+jmx
Turning A platform and ecosystem
collaboration for Developers to:
upside-down
• Freely host open source
projects and code
• Connect, Communicate,
Collaborate, and Code with
peers
• Eventually easily deploy
applications/services to
“clouds”
• http://kenai.com
Endorsements had no reliability and
performance issues with
Glassfish
money is on JRuby (and
Look like the best Glassfish) for the long
deploying option I ever haul; if you haven't checked
found for Rails, GREAT! out Glassfish yet, you're doing
yourself a disservice!
nice way to deploy and
manage my app while leaving
things open for scaling

the easiest rails stack


in the world, jruby 1.2rc, rails 2.3rc, leading the way to simple,
glassfish v3 scalable, no-hassle hosting for
... Ruby web applications.
too easy to run jruby/rack/ ...
glassfish behind nginx it's true one-step deployment.
Who loves Rails on GlassFish ?
JRuby, Rails, and GlassFish Bootcamp
May 19/20, San Francisco

railscamp.eventbrite.com
Resources
• glassfish.org
• blogs.sun.com/theaquarium
• glassfish-scripting.dev.java.net
• wiki.glassfish.java.net/Wiki.jsp?page=JRuby
• blogs.sun.com/arungupta

You might also like