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

Baq haidri j rubyifying linked in's front-end

  • 2,413 views
Uploaded 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 …

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

More 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,413
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’