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.capital...
require ‘background’
homepage
profile
inbox
service
service
service
front-end back-end
JRuby
Existing full-featured
custom Java web
application framework
using Spring MVC and
a custom JSP compiler
deployed to ...
Tomcat < Servlet API
Request
- production webapps
deployed as wars
Tomcat < Servlet API
Request
Custom LinkedIn Filters + Servlet < Spring MVC
- security
- authentication
- tracking
- servi...
Tomcat < Servlet API
Request
Custom LinkedIn Filters + Servlet < Spring MVC
SiteMesh
- 3rd party open source library
- hea...
Tomcat < Servlet API
Request
Custom LinkedIn Filters + Servlet < Spring MVC
SiteMesh
JRuby-Rack
- bridge between Servlet a...
Tomcat < Servlet API
Request
Custom LinkedIn Filters + Servlet < Spring MVC
SiteMesh
JRuby-Rack
SiteMesh
Sinatra
- custom ...
Tomcat < Servlet API
Request
Custom LinkedIn Filters + Servlet < Spring MVC
SiteMesh
JRuby-Rack
SiteMesh
Sinatra
get ‘/hel...
Tomcat < Servlet API
Request
Custom LinkedIn Filters + Servlet < Spring MVC
SiteMesh
JRuby-Rack
SiteMesh
Sinatra
get ‘/hel...
require ‘demo’
Upcoming SlideShare
Loading in...5
×

Baq haidri j rubyifying linked in's front-end

2,496

Published on

At an event hosted at LinkedIn on November 2, 2010, Baq Haidri from LinkedIn gave us an inside look at how LinkedIn is using JRuby to iterate rapidly, re-use code, and leverage its Java-heavy codebase.

In this 20 minute presentation, you'll get:
- An inside look into LinkedIn's web application architecture
- Code examples
- Demo of a new LinkedIn product using JRuby

** check out the video from this presentation at: http://marakana.com/f/200 **

...and as always, you can find more educational videos on Ruby and open-source at http://marakana.com/techtv

Published in: Technology, Education
1 Comment
3 Likes
Statistics
Notes
No Downloads
Views
Total Views
2,496
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "Baq haidri j rubyifying linked in's front-end"

  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. homepage profile inbox service service service front-end back-end
  5. 5. JRuby Existing full-featured custom Java web application framework using Spring MVC and a custom JSP compiler deployed to Tomcat ?
  6. 6. Tomcat < Servlet API Request - production webapps deployed as wars
  7. 7. Tomcat < Servlet API Request Custom LinkedIn Filters + Servlet < Spring MVC - security - authentication - tracking - service layer
  8. 8. Tomcat < Servlet API Request Custom LinkedIn Filters + Servlet < Spring MVC SiteMesh - 3rd party open source library - header, footer control
  9. 9. Tomcat < Servlet API Request Custom LinkedIn Filters + Servlet < Spring MVC SiteMesh JRuby-Rack - bridge between Servlet and Rack - customized LinkedIn Rack servlet for special case error handling - control transferred via named dispatcher SiteMesh
  10. 10. Tomcat < Servlet API Request Custom LinkedIn Filters + Servlet < Spring MVC SiteMesh JRuby-Rack SiteMesh 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 Request Custom LinkedIn Filters + Servlet < Spring MVC SiteMesh JRuby-Rack SiteMesh Sinatra get ‘/hello’ do erb :layout end <html> <head> <title>Hi</title> </head> <body> Hello from JRuby! </body> </html>
  12. 12. Tomcat < Servlet API Request Custom LinkedIn Filters + Servlet < Spring MVC SiteMesh JRuby-Rack SiteMesh Sinatra get ‘/hello’ do erb :layout end <html> <head> <title>Hi</title> </head> <body> Hello from JRuby! </body> </html> Response
  13. 13. require ‘demo’
  1. A particular slide catching your eye?

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

×