1. Dynamic Languages & Web Frameworks in GlassFish v3 Arun
Gupta (blogs.sun.com/arungupta, @arungupta) Sun Microsystems,
Inc.
2. What is a Dynamic Language ?
Broadly a language that allows a program to change its own code
at runtime
Evaluate data as code ("The name is: #{@name}" )
3. Manipulate code as data ({"name"=>"Duke"}.each {|data|
puts data})
4. High order functions
5. Dynamic Typing
6. Closures, Continuations, Macros, ...
Simple, human-readable syntax
7. List, Ruby, Python, Groovy, ...
8. Web Frameworks
Full-stack
Object relational mapping
9. MVC-pattern
10. Templating
11. JavaScript library
12. Extension points
Agile Development
No compile, redeploy, restart cycles
13. Testing built into the framework
14. Design Principles
Convention over Configuration (CoC)
Common cases easily served
15. Encourages standard practices
16. Everything simpler and smaller
Don't Repeat Yourself (DRY)
Framework written around minimizing repetition
17. What is GlassFish ?
A community
Users, Partners, Testers, Developers, ...
18. Started in 2005 on java.net
Application Server
Enterprise Quality and Open Source
19. Java EE Reference Implementation
20. Full Commercial Support from Sun
21. Sun GlassFish Enterprise Server GlassFish Open Source
Application Server Customer Focused Support Team Patches &
Upgrades 24x7 Support Customer Advocate Sun VIP Interoperability
Support Enterprise Manager eLearning Credit
82. Endorsements Look like thebest deploying optionI ever found
for Rails, GREAT!theeasiest rails stack in the world, jruby 1.2rc,
rails 2.3rc, glassfish v3 ... too easyto run jruby/rack/ glassfish
behind nginx leading the way to simple,scalable, no-hassle
hostingforRuby web applications. ... it's true one-step deployment
. hadno reliability and performance issueswith Glassfish money is
onJRuby (and Glassfish) for the long haul ; if you haven't checked
out Glassfish yet, you're doing yourself a disservice! nice way to
deploy andmanage my app whileleaving things open for scaling
83. Who loves Rails on GlassFish ?
85. What is?
Agile dynamic language for the JVM
86. Seamlessly integrates with all existing Java objects &
libraries
Compiles straight to bytecode
Current version: 1.6.7
87. groovy -e "println 'Hello ' + args[0]" World
88. What is?
MVC Web framework for the Java platform
Persistence framework (Hibernate)
89. Templating using GSP (Groovy Server Pages)
90. Tag libraries to create web page components
91. Good Ajax support
92. Web server & automatic resources reload
Current Version: 1.1.2, 1.2 RC1 released 12/5
93. Grails Hello World
Create app: grails create-app bookstore
Create domain class: grails create-domain-class book
94. Edit grails-app/domain/Book.groovy and add attributes
95. Create controller: grails create-controller Book