0
JRubifying LinkedIn’s     Front-end            http://www.linkedin.com/in/baquera                  http://sna-projects/sna
[“iterate rapidly”,  “re-use code”,  “jvm”,  “hire ruby people”,  “have fun”].each { |important_thing|  important_thing.ca...
require ‘background’
front-end   back-endhomepage     service profile      service inbox       service
Existing full-featured        ?   custom Java web            application frameworkJRuby            using Spring MVC and   ...
Tomcat < Servlet APIRequest                    - production webapps                      deployed as wars
Tomcat < Servlet API              Custom LinkedIn Filters + Servlet < Spring MVCRequest          -   security             ...
Tomcat < Servlet API              Custom LinkedIn Filters + Servlet < Spring MVC                  SiteMeshRequest         ...
Tomcat < Servlet API              Custom LinkedIn Filters + Servlet < Spring MVC                  SiteMeshRequest         ...
Tomcat < Servlet API              Custom LinkedIn Filters + Servlet < Spring MVC                  SiteMeshRequest         ...
Tomcat < Servlet API              Custom LinkedIn Filters + Servlet < Spring MVC                  SiteMeshRequest         ...
Tomcat < Servlet API               Custom LinkedIn Filters + Servlet < Spring MVC                   SiteMeshRequest       ...
require ‘demo’
The Java virtual machine knows nothing of the Javaprogramming language, only of a particular binary format,the class file ...
Upcoming SlideShare
Loading in...5
×

JRuby Meetup

1,344

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
1,344
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript of "JRuby Meetup"

    1. 1. JRubifying LinkedIn’s Front-end http://www.linkedin.com/in/baquera http://sna-projects/sna
    2. 2. [“iterate rapidly”, “re-use code”, “jvm”, “hire ruby people”, “have fun”].each { |important_thing| important_thing.capitalize!}
    3. 3. require ‘background’
    4. 4. front-end back-endhomepage service profile service inbox service
    5. 5. Existing full-featured ? custom Java web application frameworkJRuby using Spring MVC and a custom JSP compiler deployed to Tomcat
    6. 6. Tomcat < Servlet APIRequest - production webapps deployed as wars
    7. 7. Tomcat < Servlet API Custom LinkedIn Filters + Servlet < Spring MVCRequest - security - authentication - tracking - service layer
    8. 8. Tomcat < Servlet API Custom LinkedIn Filters + Servlet < Spring MVC SiteMeshRequest - 3rd party open source library - header, footer control
    9. 9. Tomcat < Servlet API Custom LinkedIn Filters + Servlet < Spring MVC SiteMeshRequest JRuby-Rack - bridge between Servlet and Rack - customized LinkedIn Rack servlet for special case error handling - control transferred via named dispatcher
    10. 10. Tomcat < Servlet API Custom LinkedIn Filters + Servlet < Spring MVC SiteMeshRequest JRuby-Rack Sinatra - custom service DSL for making asynchronous backend calls (based on protobufs) - custom Sinatra extensions that wrap Java framework fxnality: ---> url generation ---> logging ---> authentication ---> resource formatting
    11. 11. Tomcat < Servlet API Custom LinkedIn Filters + Servlet < Spring MVC SiteMeshRequest JRuby-Rack Sinatra get ‘/hello’ do erb :layout end <html> <head> <title>Hi</title> </head> <body> Hello from JRuby! </body> </html>
    12. 12. Tomcat < Servlet API Custom LinkedIn Filters + Servlet < Spring MVC SiteMeshRequest JRuby-Rack Sinatra get ‘/hello’ do erb :layout end <html> <head> <title>Hi</title> </head> <body> Hello from JRuby! </body> </html>Response
    13. 13. require ‘demo’
    14. 14. The Java virtual machine knows nothing of the Javaprogramming language, only of a particular binary format,the class file format. A class file contains Java virtualmachine instructions (or bytecodes) and a symbol table, aswell as other ancillary information. -- JVM Specification
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×