Your SlideShare is downloading. ×
  • Like

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.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Baq haidri j rubyifying linked in's front-end

  • 2,423 views
Published

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

Published in Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Check out the video from this presentation at: http://marakana.com/f/200
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
2,423
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
14
Comments
1
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

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’