Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Like this? Share it with your network

Share

Baq haidri j rubyifying linked in's front-end

on

  • 2,873 views

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 ...

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

Statistics

Views

Total Views
2,873
Views on SlideShare
1,855
Embed Views
1,018

Actions

Likes
3
Downloads
14
Comments
1

2 Embeds 1,018

http://ontwik.com 1016
http://translate.googleusercontent.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Check out the video from this presentation at: http://marakana.com/f/200
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 1. JRubifying LinkedIn’s Front-end http://www.linkedin.com/in/baquera http://sna-projects/sna
  • 2. [“iterate rapidly”, “re-use code”, “jvm”, “hire ruby people”, “have fun”].each { |important_thing| important_thing.capitalize! }
  • 3. require ‘background’
  • 4. front-end back-end homepage service profile service inbox service
  • 5. Existing full-featured ? custom Java web application framework JRuby using Spring MVC and a custom JSP compiler deployed to Tomcat
  • 6. Tomcat < Servlet API Request - production webapps deployed as wars
  • 7. Tomcat < Servlet API Custom LinkedIn Filters + Servlet < Spring MVC Request - security - authentication - tracking - service layer
  • 8. Tomcat < Servlet API Custom LinkedIn Filters + Servlet < Spring MVC SiteMesh Request - 3rd party open source library - header, footer control
  • 9. Tomcat < Servlet API Custom LinkedIn Filters + Servlet < Spring MVC SiteMesh Request JRuby-Rack - bridge between Servlet and Rack - customized LinkedIn Rack servlet for special case error handling - control transferred via named dispatcher
  • 10. Tomcat < Servlet API Custom LinkedIn Filters + Servlet < Spring MVC SiteMesh Request 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. Tomcat < Servlet API Custom LinkedIn Filters + Servlet < Spring MVC SiteMesh Request JRuby-Rack Sinatra get ‘/hello’ do erb :layout end <html> <head> <title>Hi</title> </head> <body> Hello from JRuby! </body> </html>
  • 12. Tomcat < Servlet API Custom LinkedIn Filters + Servlet < Spring MVC SiteMesh Request JRuby-Rack Sinatra get ‘/hello’ do erb :layout end <html> <head> <title>Hi</title> </head> <body> Hello from JRuby! </body> </html> Response
  • 13. require ‘demo’