JRuby Meetup

1,583 views

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,583
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
4
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
  • 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

    ×