SlideShare une entreprise Scribd logo
1  sur  28
Using Rails to Create an Enterprise App: A Real-Life Case Study By David Keener http://www.keenertech.com AOL proprietary information used with permission.
Overview ,[object Object],[object Object],[object Object],[object Object],[object Object],Ruby on Rails is clearly an exciting and ground-breaking technology. But how good is it at solving the types of problems that corporate developers need to solve?   My team put Rails to the test in a real-world internal application for AOL that’s used by hundreds of employees. This case study, the  Exception Request Tool , is a non-trivial application that features:
What We Wanted to Know ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],The underlying question affecting the adoption of Rails for corporate development is: “How good is it at producing web sites that aren’t blogs?”
Rails Adoption Rails is in a unique place, just to the left of the “Chasm”. Its capacity for successful delivery of real business applications will probably be a key factor in crossing the chasm between early adopters and widespread adoption.  From:  Diffusion of Innovations , by E. M. Rogers, 1995
The Case Study Application ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],The Exception Request Tool (ERT) allows AOL employees to request production installs for time periods when such installs are not normally allowed. Key features included:
Database Objects ,[object Object],[object Object],[object Object],[object Object],[object Object],Exception Type Request Unit Install Item Approver
Exception Request Tool Screenshot used with AOL permission.
Process Change ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],The first, and perhaps most striking, change due to Rails, was its impact on the development process.
Environments ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Applications need a place to run, where they will be properly supported. Environment set-up was  not  a trivial exercise.
Database Support ,[object Object],[object Object],[object Object],[object Object],[object Object]
Migrations ,[object Object],[object Object],[object Object],[object Object],[object Object],class CreateRiskLookup < ActiveRecord::Migration def self.up create_table :btr_risk_lookup do |t| # t.column :name, :string t.column :risk_name, :string, :null=>false, :limit => 50 t.column :risk_desc, :string, :null=>true, :limit => 100 end end def self.down drop_table :btr_risk_lookup end end
Cross-Database Migration Issues ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conditional Logic in Migrations ,[object Object],[object Object],[object Object],[object Object],def self.down adapter = User.connection.instance_variable_get(&quot;@config&quot;)[:adapter] puts(&quot;Database Adapter Detected: &quot; + adapter) if adapter == &quot;mysql“ drop_table :btr_users end end
Killer Legacy Database ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Our legacy database put Rails to the test. Our legacy database possessed the following features:
Legacy Database Cheat Sheet ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Dual Query Tactic ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JavaScript & Validations ,[object Object],[object Object],[object Object],[object Object],[object Object]
Date Manipulation ,[object Object],[object Object],[object Object],[object Object],[object Object]
Popup Calendar Component Popup Calendar - Date selection - Time selection
Email in Rails ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sample Email Real-Life Email - Mimics web page - Dual format
Spaminator Model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sending Email ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Testing ,[object Object],[object Object],[object Object],[object Object],[object Object]
Overall Rails “Report Card” – 1 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Overall Rails “Report Card” - 2 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],* Note: See JRuby as an alternative environment for Rails applications.
The “Green Field” Perception One of the biggest problems facing Rails adoption is the growing “green field” perception, i.e. – that Rails is only good for brand-new applications…. An Excerpt from a Real-Life Conversation : David Keener: I’d like to promote Rails as a tool to get  more done with fewer people. Executive: Well, it was my understanding that Rails was only good for “green field”  applications.
Summary ,[object Object],[object Object],[object Object],[object Object]

Contenu connexe

Tendances

Ten Tiny Things To Try Today - Hidden APEX5 Gems Revealed
Ten Tiny Things To Try Today - Hidden APEX5 Gems RevealedTen Tiny Things To Try Today - Hidden APEX5 Gems Revealed
Ten Tiny Things To Try Today - Hidden APEX5 Gems RevealedRoel Hartman
 
Abstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and tricksAbstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and trickstimtow
 
Oracle SQL Developer Tips and Tricks: Data Edition
Oracle SQL Developer Tips and Tricks: Data EditionOracle SQL Developer Tips and Tricks: Data Edition
Oracle SQL Developer Tips and Tricks: Data EditionJeff Smith
 
SE2016 - Java EE revisits design patterns 2016
SE2016 - Java EE revisits design patterns 2016SE2016 - Java EE revisits design patterns 2016
SE2016 - Java EE revisits design patterns 2016Alex Theedom
 
Oracle SQL Developer: 3 Features You're Not Using But Should Be
Oracle SQL Developer: 3 Features You're Not Using But Should BeOracle SQL Developer: 3 Features You're Not Using But Should Be
Oracle SQL Developer: 3 Features You're Not Using But Should BeJeff Smith
 
Spring Data JPA + JSF + Maven + Mysql using Eclipse IDE
Spring Data JPA + JSF + Maven + Mysql using Eclipse IDESpring Data JPA + JSF + Maven + Mysql using Eclipse IDE
Spring Data JPA + JSF + Maven + Mysql using Eclipse IDENikhil Bhalwankar
 
Parsing strange v4
Parsing strange v4Parsing strange v4
Parsing strange v4Hal Stern
 
Oracle SQL Developer Reports
Oracle SQL Developer ReportsOracle SQL Developer Reports
Oracle SQL Developer ReportsJeff Smith
 
SQLcl overview - A new Command Line Interface for Oracle Database
SQLcl overview - A new Command Line Interface for Oracle DatabaseSQLcl overview - A new Command Line Interface for Oracle Database
SQLcl overview - A new Command Line Interface for Oracle DatabaseJeff Smith
 
Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!Jeff Smith
 
Understanding and preventing sql injection attacks
Understanding and preventing sql injection attacksUnderstanding and preventing sql injection attacks
Understanding and preventing sql injection attacksKevin Kline
 
Oracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDSOracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDSDoug Gault
 
Oracle SQL Developer version 4.0 New Features Overview
Oracle SQL Developer version 4.0 New Features OverviewOracle SQL Developer version 4.0 New Features Overview
Oracle SQL Developer version 4.0 New Features OverviewJeff Smith
 
Browser Developer Tools for APEX Developers
Browser Developer Tools for APEX DevelopersBrowser Developer Tools for APEX Developers
Browser Developer Tools for APEX DevelopersChristian Rokitta
 
Parsing strange v4
Parsing strange v4Parsing strange v4
Parsing strange v4Hal Stern
 
Satyapriya rajguru: Every day, in one way or another.
Satyapriya  rajguru:  Every day, in one way or another.Satyapriya  rajguru:  Every day, in one way or another.
Satyapriya rajguru: Every day, in one way or another.Satyapriya Rajguru
 
C sharp and asp.net interview questions
C sharp and asp.net interview questionsC sharp and asp.net interview questions
C sharp and asp.net interview questionsAkhil Mittal
 

Tendances (20)

Ten Tiny Things To Try Today - Hidden APEX5 Gems Revealed
Ten Tiny Things To Try Today - Hidden APEX5 Gems RevealedTen Tiny Things To Try Today - Hidden APEX5 Gems Revealed
Ten Tiny Things To Try Today - Hidden APEX5 Gems Revealed
 
Abstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and tricksAbstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and tricks
 
Oracle SQL Developer Tips and Tricks: Data Edition
Oracle SQL Developer Tips and Tricks: Data EditionOracle SQL Developer Tips and Tricks: Data Edition
Oracle SQL Developer Tips and Tricks: Data Edition
 
Oracle SQLcl
Oracle SQLcl Oracle SQLcl
Oracle SQLcl
 
Plugins unplugged
Plugins unpluggedPlugins unplugged
Plugins unplugged
 
SE2016 - Java EE revisits design patterns 2016
SE2016 - Java EE revisits design patterns 2016SE2016 - Java EE revisits design patterns 2016
SE2016 - Java EE revisits design patterns 2016
 
Oracle SQL Developer: 3 Features You're Not Using But Should Be
Oracle SQL Developer: 3 Features You're Not Using But Should BeOracle SQL Developer: 3 Features You're Not Using But Should Be
Oracle SQL Developer: 3 Features You're Not Using But Should Be
 
Spring Data JPA + JSF + Maven + Mysql using Eclipse IDE
Spring Data JPA + JSF + Maven + Mysql using Eclipse IDESpring Data JPA + JSF + Maven + Mysql using Eclipse IDE
Spring Data JPA + JSF + Maven + Mysql using Eclipse IDE
 
Parsing strange v4
Parsing strange v4Parsing strange v4
Parsing strange v4
 
Oracle SQL Developer Reports
Oracle SQL Developer ReportsOracle SQL Developer Reports
Oracle SQL Developer Reports
 
SQLcl overview - A new Command Line Interface for Oracle Database
SQLcl overview - A new Command Line Interface for Oracle DatabaseSQLcl overview - A new Command Line Interface for Oracle Database
SQLcl overview - A new Command Line Interface for Oracle Database
 
Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!
 
Understanding and preventing sql injection attacks
Understanding and preventing sql injection attacksUnderstanding and preventing sql injection attacks
Understanding and preventing sql injection attacks
 
High Performance PL/SQL
High Performance PL/SQLHigh Performance PL/SQL
High Performance PL/SQL
 
Oracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDSOracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDS
 
Oracle SQL Developer version 4.0 New Features Overview
Oracle SQL Developer version 4.0 New Features OverviewOracle SQL Developer version 4.0 New Features Overview
Oracle SQL Developer version 4.0 New Features Overview
 
Browser Developer Tools for APEX Developers
Browser Developer Tools for APEX DevelopersBrowser Developer Tools for APEX Developers
Browser Developer Tools for APEX Developers
 
Parsing strange v4
Parsing strange v4Parsing strange v4
Parsing strange v4
 
Satyapriya rajguru: Every day, in one way or another.
Satyapriya  rajguru:  Every day, in one way or another.Satyapriya  rajguru:  Every day, in one way or another.
Satyapriya rajguru: Every day, in one way or another.
 
C sharp and asp.net interview questions
C sharp and asp.net interview questionsC sharp and asp.net interview questions
C sharp and asp.net interview questions
 

En vedette

Университеты Англии
Университеты АнглииУниверситеты Англии
Университеты АнглииKlukva
 
Entrepreneurship as a Career Choice
Entrepreneurship as a Career ChoiceEntrepreneurship as a Career Choice
Entrepreneurship as a Career ChoiceDimitris Tsingos
 
Pharma: Sky’s the Limit if You Have an ‘Entrepreneurial’ Mindset
Pharma: Sky’s the Limit if You Have an ‘Entrepreneurial’ MindsetPharma: Sky’s the Limit if You Have an ‘Entrepreneurial’ Mindset
Pharma: Sky’s the Limit if You Have an ‘Entrepreneurial’ MindsetAnup Soans
 
HSA Drama Symbolic Capital
HSA Drama Symbolic CapitalHSA Drama Symbolic Capital
HSA Drama Symbolic CapitalDimitris Tsingos
 
Συμμετοχή του ΤΕΕ Ειδικής Αγωγής Α΄ Βαθμίδας -(Ειδικό ΕΠΑΛ Σερρών) στον Διαγω...
Συμμετοχή του ΤΕΕ Ειδικής Αγωγής Α΄ Βαθμίδας -(Ειδικό ΕΠΑΛ Σερρών) στον Διαγω...Συμμετοχή του ΤΕΕ Ειδικής Αγωγής Α΄ Βαθμίδας -(Ειδικό ΕΠΑΛ Σερρών) στον Διαγω...
Συμμετοχή του ΤΕΕ Ειδικής Αγωγής Α΄ Βαθμίδας -(Ειδικό ΕΠΑΛ Σερρών) στον Διαγω...KESYPSERRON
 
Being john malkovich no vi
Being john malkovich no viBeing john malkovich no vi
Being john malkovich no viKa Hui
 
Συμμετοχή του 2ου ΕΠΑΛ Σερρών στον περσινό Διαγωνισμό Επιχειρηματικότητας με ...
Συμμετοχή του 2ου ΕΠΑΛ Σερρών στον περσινό Διαγωνισμό Επιχειρηματικότητας με ...Συμμετοχή του 2ου ΕΠΑΛ Σερρών στον περσινό Διαγωνισμό Επιχειρηματικότητας με ...
Συμμετοχή του 2ου ΕΠΑΛ Σερρών στον περσινό Διαγωνισμό Επιχειρηματικότητας με ...KESYPSERRON
 
"Strategy, tactics and staying interested."
"Strategy, tactics and staying interested.""Strategy, tactics and staying interested."
"Strategy, tactics and staying interested."habit47
 
Sept10 slides
Sept10 slidesSept10 slides
Sept10 slideshollsterm
 
профессиональные компетенции ппс
профессиональные компетенции ппспрофессиональные компетенции ппс
профессиональные компетенции ппсfarcrys
 
Web 2.0 - Social Media Emergency Management
Web 2.0 - Social Media Emergency ManagementWeb 2.0 - Social Media Emergency Management
Web 2.0 - Social Media Emergency ManagementPaolo Cavaliere, MSc
 
Lecture 1: Presentation and staging msk tumour
Lecture 1: Presentation and staging msk tumourLecture 1: Presentation and staging msk tumour
Lecture 1: Presentation and staging msk tumourUniversiti Sains Malaysia
 
Inaguration of Mission Year in the Diocese of Sagar
Inaguration of Mission Year in the Diocese of SagarInaguration of Mission Year in the Diocese of Sagar
Inaguration of Mission Year in the Diocese of Sagarpatergiri
 
A tribute to Bishop Clemens Thottungal
A tribute to Bishop Clemens ThottungalA tribute to Bishop Clemens Thottungal
A tribute to Bishop Clemens Thottungalpatergiri
 
SheSpeaks 2009 Social Media Study
SheSpeaks 2009 Social Media StudySheSpeaks 2009 Social Media Study
SheSpeaks 2009 Social Media StudySheSpeaks Inc.
 

En vedette (20)

Университеты Англии
Университеты АнглииУниверситеты Англии
Университеты Англии
 
Entrepreneurship as a Career Choice
Entrepreneurship as a Career ChoiceEntrepreneurship as a Career Choice
Entrepreneurship as a Career Choice
 
Pharma: Sky’s the Limit if You Have an ‘Entrepreneurial’ Mindset
Pharma: Sky’s the Limit if You Have an ‘Entrepreneurial’ MindsetPharma: Sky’s the Limit if You Have an ‘Entrepreneurial’ Mindset
Pharma: Sky’s the Limit if You Have an ‘Entrepreneurial’ Mindset
 
HSA Drama Symbolic Capital
HSA Drama Symbolic CapitalHSA Drama Symbolic Capital
HSA Drama Symbolic Capital
 
Συμμετοχή του ΤΕΕ Ειδικής Αγωγής Α΄ Βαθμίδας -(Ειδικό ΕΠΑΛ Σερρών) στον Διαγω...
Συμμετοχή του ΤΕΕ Ειδικής Αγωγής Α΄ Βαθμίδας -(Ειδικό ΕΠΑΛ Σερρών) στον Διαγω...Συμμετοχή του ΤΕΕ Ειδικής Αγωγής Α΄ Βαθμίδας -(Ειδικό ΕΠΑΛ Σερρών) στον Διαγω...
Συμμετοχή του ΤΕΕ Ειδικής Αγωγής Α΄ Βαθμίδας -(Ειδικό ΕΠΑΛ Σερρών) στον Διαγω...
 
How to apply for part time jobs
How to apply for part time jobsHow to apply for part time jobs
How to apply for part time jobs
 
Being john malkovich no vi
Being john malkovich no viBeing john malkovich no vi
Being john malkovich no vi
 
Συμμετοχή του 2ου ΕΠΑΛ Σερρών στον περσινό Διαγωνισμό Επιχειρηματικότητας με ...
Συμμετοχή του 2ου ΕΠΑΛ Σερρών στον περσινό Διαγωνισμό Επιχειρηματικότητας με ...Συμμετοχή του 2ου ΕΠΑΛ Σερρών στον περσινό Διαγωνισμό Επιχειρηματικότητας με ...
Συμμετοχή του 2ου ΕΠΑΛ Σερρών στον περσινό Διαγωνισμό Επιχειρηματικότητας με ...
 
"Strategy, tactics and staying interested."
"Strategy, tactics and staying interested.""Strategy, tactics and staying interested."
"Strategy, tactics and staying interested."
 
Sept10 slides
Sept10 slidesSept10 slides
Sept10 slides
 
Elvis 1984
Elvis 1984Elvis 1984
Elvis 1984
 
профессиональные компетенции ппс
профессиональные компетенции ппспрофессиональные компетенции ппс
профессиональные компетенции ппс
 
Web 2.0 - Social Media Emergency Management
Web 2.0 - Social Media Emergency ManagementWeb 2.0 - Social Media Emergency Management
Web 2.0 - Social Media Emergency Management
 
One 2 One Rollover
One 2 One RolloverOne 2 One Rollover
One 2 One Rollover
 
Lecture 1: Presentation and staging msk tumour
Lecture 1: Presentation and staging msk tumourLecture 1: Presentation and staging msk tumour
Lecture 1: Presentation and staging msk tumour
 
Inaguration of Mission Year in the Diocese of Sagar
Inaguration of Mission Year in the Diocese of SagarInaguration of Mission Year in the Diocese of Sagar
Inaguration of Mission Year in the Diocese of Sagar
 
A tribute to Bishop Clemens Thottungal
A tribute to Bishop Clemens ThottungalA tribute to Bishop Clemens Thottungal
A tribute to Bishop Clemens Thottungal
 
Yes for eban w.u
Yes for eban w.uYes for eban w.u
Yes for eban w.u
 
SheSpeaks 2009 Social Media Study
SheSpeaks 2009 Social Media StudySheSpeaks 2009 Social Media Study
SheSpeaks 2009 Social Media Study
 
CHOReOS Exploitation
CHOReOS ExploitationCHOReOS Exploitation
CHOReOS Exploitation
 

Similaire à Using Rails to Create an Enterprise App: A Real-Life Case Study

Practical catalyst
Practical catalystPractical catalyst
Practical catalystdwm042
 
The Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with RubyThe Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with RubyRobert Dempsey
 
Sql Injection and Entity Frameworks
Sql Injection and Entity FrameworksSql Injection and Entity Frameworks
Sql Injection and Entity FrameworksRich Helton
 
Data Mining for Developers
Data Mining for DevelopersData Mining for Developers
Data Mining for Developersllangit
 
BI 2008 Simple
BI 2008 SimpleBI 2008 Simple
BI 2008 Simplellangit
 
What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?ukdpe
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performanceEngine Yard
 
Data Handning with Sqlite for Android
Data Handning with Sqlite for AndroidData Handning with Sqlite for Android
Data Handning with Sqlite for AndroidJakir Hossain
 
Scaling asp.net websites to millions of users
Scaling asp.net websites to millions of usersScaling asp.net websites to millions of users
Scaling asp.net websites to millions of usersoazabir
 
SproutCore and the Future of Web Apps
SproutCore and the Future of Web AppsSproutCore and the Future of Web Apps
SproutCore and the Future of Web AppsMike Subelsky
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Servicesukdpe
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudMicrosoft ArcReady
 
One does not simply "Upgrade to Rails 3"
One does not simply "Upgrade to Rails 3"One does not simply "Upgrade to Rails 3"
One does not simply "Upgrade to Rails 3"testflyjets
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Miningllangit
 

Similaire à Using Rails to Create an Enterprise App: A Real-Life Case Study (20)

Practical catalyst
Practical catalystPractical catalyst
Practical catalyst
 
The Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with RubyThe Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with Ruby
 
Sql Injection and Entity Frameworks
Sql Injection and Entity FrameworksSql Injection and Entity Frameworks
Sql Injection and Entity Frameworks
 
Data Mining for Developers
Data Mining for DevelopersData Mining for Developers
Data Mining for Developers
 
PPT
PPTPPT
PPT
 
BI 2008 Simple
BI 2008 SimpleBI 2008 Simple
BI 2008 Simple
 
CV Chandrajit Samanta
CV Chandrajit SamantaCV Chandrajit Samanta
CV Chandrajit Samanta
 
What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performance
 
PHP FUNCTIONS
PHP FUNCTIONSPHP FUNCTIONS
PHP FUNCTIONS
 
Data Handning with Sqlite for Android
Data Handning with Sqlite for AndroidData Handning with Sqlite for Android
Data Handning with Sqlite for Android
 
Web Security
Web SecurityWeb Security
Web Security
 
Scaling asp.net websites to millions of users
Scaling asp.net websites to millions of usersScaling asp.net websites to millions of users
Scaling asp.net websites to millions of users
 
SproutCore and the Future of Web Apps
SproutCore and the Future of Web AppsSproutCore and the Future of Web Apps
SproutCore and the Future of Web Apps
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Services
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2
 
Practical OData
Practical ODataPractical OData
Practical OData
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The Cloud
 
One does not simply "Upgrade to Rails 3"
One does not simply "Upgrade to Rails 3"One does not simply "Upgrade to Rails 3"
One does not simply "Upgrade to Rails 3"
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Mining
 

Plus de David Keener

Writing Killer Fight Scenes
Writing Killer Fight ScenesWriting Killer Fight Scenes
Writing Killer Fight ScenesDavid Keener
 
Build a Space Battle
Build a Space BattleBuild a Space Battle
Build a Space BattleDavid Keener
 
Creating an Adaptive Setting
Creating an Adaptive SettingCreating an Adaptive Setting
Creating an Adaptive SettingDavid Keener
 
Public Speaking for Writers
Public Speaking for WritersPublic Speaking for Writers
Public Speaking for WritersDavid Keener
 
21st Century Writer
21st Century Writer21st Century Writer
21st Century WriterDavid Keener
 
Titanic: The Forgotten Passengers
Titanic: The Forgotten PassengersTitanic: The Forgotten Passengers
Titanic: The Forgotten PassengersDavid Keener
 
Rails Tips and Best Practices
Rails Tips and Best PracticesRails Tips and Best Practices
Rails Tips and Best PracticesDavid Keener
 
Elevator Up, Please!
Elevator Up, Please!Elevator Up, Please!
Elevator Up, Please!David Keener
 
Rails and the Apache SOLR Search Engine
Rails and the Apache SOLR Search EngineRails and the Apache SOLR Search Engine
Rails and the Apache SOLR Search EngineDavid Keener
 
Killer Business Models
Killer Business ModelsKiller Business Models
Killer Business ModelsDavid Keener
 
Building Facebook Apps
Building Facebook AppsBuilding Facebook Apps
Building Facebook AppsDavid Keener
 
Leveraging Rails to Build Facebook Apps
Leveraging Rails to Build Facebook AppsLeveraging Rails to Build Facebook Apps
Leveraging Rails to Build Facebook AppsDavid Keener
 
Quick Start: ActiveScaffold
Quick Start: ActiveScaffoldQuick Start: ActiveScaffold
Quick Start: ActiveScaffoldDavid Keener
 
Creating Custom Charts With Ruby Vector Graphics
Creating Custom Charts With Ruby Vector GraphicsCreating Custom Charts With Ruby Vector Graphics
Creating Custom Charts With Ruby Vector GraphicsDavid Keener
 
A Tour of Ruby On Rails
A Tour of Ruby On RailsA Tour of Ruby On Rails
A Tour of Ruby On RailsDavid Keener
 
Implementing OpenID for Your Social Networking Site
Implementing OpenID for Your Social Networking SiteImplementing OpenID for Your Social Networking Site
Implementing OpenID for Your Social Networking SiteDavid Keener
 
Creating Dynamic Charts With JFreeChart
Creating Dynamic Charts With JFreeChartCreating Dynamic Charts With JFreeChart
Creating Dynamic Charts With JFreeChartDavid Keener
 
Quick Start: Rails
Quick Start: RailsQuick Start: Rails
Quick Start: RailsDavid Keener
 

Plus de David Keener (20)

Writing Killer Fight Scenes
Writing Killer Fight ScenesWriting Killer Fight Scenes
Writing Killer Fight Scenes
 
Build a Space Battle
Build a Space BattleBuild a Space Battle
Build a Space Battle
 
Creating an Adaptive Setting
Creating an Adaptive SettingCreating an Adaptive Setting
Creating an Adaptive Setting
 
Public Speaking for Writers
Public Speaking for WritersPublic Speaking for Writers
Public Speaking for Writers
 
21st Century Writer
21st Century Writer21st Century Writer
21st Century Writer
 
Titanic: The Forgotten Passengers
Titanic: The Forgotten PassengersTitanic: The Forgotten Passengers
Titanic: The Forgotten Passengers
 
Rails Tips and Best Practices
Rails Tips and Best PracticesRails Tips and Best Practices
Rails Tips and Best Practices
 
Elevator Up, Please!
Elevator Up, Please!Elevator Up, Please!
Elevator Up, Please!
 
Rails and the Apache SOLR Search Engine
Rails and the Apache SOLR Search EngineRails and the Apache SOLR Search Engine
Rails and the Apache SOLR Search Engine
 
Killer Business Models
Killer Business ModelsKiller Business Models
Killer Business Models
 
Rails Security
Rails SecurityRails Security
Rails Security
 
Building Facebook Apps
Building Facebook AppsBuilding Facebook Apps
Building Facebook Apps
 
Leveraging Rails to Build Facebook Apps
Leveraging Rails to Build Facebook AppsLeveraging Rails to Build Facebook Apps
Leveraging Rails to Build Facebook Apps
 
Quick Start: ActiveScaffold
Quick Start: ActiveScaffoldQuick Start: ActiveScaffold
Quick Start: ActiveScaffold
 
Creating Custom Charts With Ruby Vector Graphics
Creating Custom Charts With Ruby Vector GraphicsCreating Custom Charts With Ruby Vector Graphics
Creating Custom Charts With Ruby Vector Graphics
 
A Tour of Ruby On Rails
A Tour of Ruby On RailsA Tour of Ruby On Rails
A Tour of Ruby On Rails
 
Practical JRuby
Practical JRubyPractical JRuby
Practical JRuby
 
Implementing OpenID for Your Social Networking Site
Implementing OpenID for Your Social Networking SiteImplementing OpenID for Your Social Networking Site
Implementing OpenID for Your Social Networking Site
 
Creating Dynamic Charts With JFreeChart
Creating Dynamic Charts With JFreeChartCreating Dynamic Charts With JFreeChart
Creating Dynamic Charts With JFreeChart
 
Quick Start: Rails
Quick Start: RailsQuick Start: Rails
Quick Start: Rails
 

Dernier

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

Dernier (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Using Rails to Create an Enterprise App: A Real-Life Case Study

  • 1. Using Rails to Create an Enterprise App: A Real-Life Case Study By David Keener http://www.keenertech.com AOL proprietary information used with permission.
  • 2.
  • 3.
  • 4. Rails Adoption Rails is in a unique place, just to the left of the “Chasm”. Its capacity for successful delivery of real business applications will probably be a key factor in crossing the chasm between early adopters and widespread adoption. From: Diffusion of Innovations , by E. M. Rogers, 1995
  • 5.
  • 6.
  • 7. Exception Request Tool Screenshot used with AOL permission.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. Popup Calendar Component Popup Calendar - Date selection - Time selection
  • 20.
  • 21. Sample Email Real-Life Email - Mimics web page - Dual format
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. The “Green Field” Perception One of the biggest problems facing Rails adoption is the growing “green field” perception, i.e. – that Rails is only good for brand-new applications…. An Excerpt from a Real-Life Conversation : David Keener: I’d like to promote Rails as a tool to get more done with fewer people. Executive: Well, it was my understanding that Rails was only good for “green field” applications.
  • 28.