3. Introductie
• Werkzaam in ICT sinds 1990
• Per 1 september 2007 bij
Wisdom Ordina
• Software ontwikkeling en docent
informatica
• Sinds 1998 Javaan
• Sinds 2006 Ruby on Rails
vrijdag 7 november 2008 3
5. Wat is Ruby?
• Programmeertaal
• Ontwikkeld in 1993
• Door Yukihiro Matsumoto
• Objectgeörienteerd
• Geïnterpreteerd
• Dynamisch
vrijdag 7 november 2008 5
6. Wat is Ruby? (2)
• Geschreven in C
• Ook wel Matz’ Ruby genoemd
(naar Yukihiro Matsumoto)
• http://www.ruby-lang.org
• Versie 1.8.6/7
vrijdag 7 november 2008 6
7. Ruby on Rails
• Webapplication framework
• 2004
• David Heinemeijer Hanson
• Principes:
• Convention over configuration
• Don’t Repeat Yourself
vrijdag 7 november 2008 7
8. Ruby on Rails
• Snelle ontwikkeling / geen compilatieslag
• Model-View-Controller
• ActiveRecord / Migraties
• Web 2.0 / Ajax integratie
• Ondersteuning voor testen
vrijdag 7 november 2008 8
11. Wat is JRuby?
• Ruby implementatie in de Java VM
• Compatibel met Ruby 1.8.6
• Compatibility d.m.v. testen
• Ruby spec site:
http://spec.ruby-doc.org
• Laatste JRuby versie is 1.1.5
http://www.jruby.org
vrijdag 7 november 2008 11
18. Waarom?
Twee invalshoeken:
• Vanuit de commercie
• Vanuit de techniek
vrijdag 7 november 2008 18
19. Vanuit de commercie
• Opleveren wat de klant nodig heeft
i.p.v. wat de klant wil hebben
• Snellere time-to-market
• Manier om hierop aan te sluiten:
Agile development / SCRUM
vrijdag 7 november 2008 19
22. Vanuit de commercie
• Opleveren wat de klant nodig heeft
i.p.v. wat de klant wil hebben
• Snellere time-to-market
• Manier om hierop aan te sluiten:
Agile development / SCRUM
• Tools om hierop aan te sluiten
vrijdag 7 november 2008 22
23. Vanuit de techniek
• (J)Ruby on Rails voor agile projecten
• Java is voorgeschreven vanuit de klant
vrijdag 7 november 2008 23
24. Vanuit de techniek
• Gebruik van Java VM:
• Java Virtual Machine is stabiel en snel
• JVM is op veel platformen beschikbaar
• Bekende deployment en tuning
• Minder “politieke” weerstand
• JRuby is sneller dan Ruby (volgens Sun)
vrijdag 7 november 2008 24
25. Charles Nutter
op RubyEnRails 2008:
“If JRuby is slower than Ruby,
file a bug”
vrijdag 7 november 2008 25
27. Hoe?
• Download en unzip jruby.zip
• Add JRuby.jar to the classpath
• Install gems (libraries) such as Rails
• Use command line tools like IRB,
rake, etc.
vrijdag 7 november 2008 27
28. Hoe?
• Ontwikkelen en deployen van
(J)Ruby on Rails webapplicaties
• Swing applicaties
• Mix van Java en Ruby
(obv scriptengines)
vrijdag 7 november 2008 28
29. Hoe?
Deploy Rails applicatie
• via WAR-file
Genereer WAR-file met warbler gem
gebaseerd op JRuby-Rack
• via Directory based deploy
Use Sun’s GlassFish v2 or v3 gem
vrijdag 7 november 2008 29
30. GlassFish
HTTP HTTP HTTP
Listener Listener Listener
Servlet Bridge
Rails Rails Rails
JRuby JRuby JRuby
JVM
Java OS
Key Rails
code Proc.
vrijdag 7 november 2008 30
31. Voorbeelden
• Rails app in JRuby
• Swing applications from JRuby
• Mix Rails and Java
vrijdag 7 november 2008 31