ruby in enterprise development
DESCRIPTION
TRANSCRIPT
![Page 1: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/1.jpg)
© ThoughtWorks 2008
Ruby/Rails in Enterprise DevelopmentRuby/Rails in Enterprise DevelopmentRuby/Rails in Enterprise DevelopmentRuby/Rails in Enterprise Development
Ye Zheng Ye Zheng Ye Zheng Ye Zheng [email protected]@[email protected]@thoughtworks.com
![Page 2: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/2.jpg)
© ThoughtWorks 2008
ThoughtWorksThoughtWorksThoughtWorksThoughtWorks
• Enterprise Development Experience• Ruby/Rails Development Experience• Agile Methodology
![Page 3: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/3.jpg)
© ThoughtWorks 2008
AgendaAgendaAgendaAgenda
• Language/Framework in Enterprise Development• Ruby in Enterprise Development• Last Mile in Enterprise Development
![Page 4: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/4.jpg)
© ThoughtWorks 2008
Language in Software DevelopmentLanguage in Software DevelopmentLanguage in Software DevelopmentLanguage in Software Development
![Page 5: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/5.jpg)
© ThoughtWorks 2008
class Userinclude Permission set_super_role Role::GlobalAssurance deny :add_comment, Role::DepartmentHead...grant :manage_groups, Role::GlobalAssurance...
end
![Page 6: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/6.jpg)
© ThoughtWorks 2008
Framework in Software DevelopmentFramework in Software DevelopmentFramework in Software DevelopmentFramework in Software Development
![Page 7: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/7.jpg)
© ThoughtWorks 2008
Convention Over Configuration
MVCTest
Automation
…………
Directory Structure
![Page 8: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/8.jpg)
© ThoughtWorks 2008
Enterprise DevelopmentEnterprise DevelopmentEnterprise DevelopmentEnterprise Development
![Page 9: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/9.jpg)
© ThoughtWorks 2008
Polyglot Programming (I)Polyglot Programming (I)Polyglot Programming (I)Polyglot Programming (I)
![Page 10: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/10.jpg)
© ThoughtWorks 2008
Polyglot Programming (II)Polyglot Programming (II)Polyglot Programming (II)Polyglot Programming (II)
![Page 11: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/11.jpg)
© ThoughtWorks 2008
Ruby as a Ruby as a Ruby as a Ruby as a …………
• Development Language• Glue Language• Language for Legacy System• …
![Page 12: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/12.jpg)
© ThoughtWorks 2008
Java EE ServerJava EE ServerJava EE ServerJava EE Server
Ruby App Ruby App
Ruby App Ruby App
Ruby App
…………
![Page 13: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/13.jpg)
© ThoughtWorks 2008
Legacy System CaseLegacy System CaseLegacy System CaseLegacy System Case
New Ruby Application
Search AssetManagement
3rd PartyComponents
Legacy Application Procedure
Legacy Database
![Page 14: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/14.jpg)
© ThoughtWorks 2008
Last Mile Last Mile Last Mile Last Mile inininin Enterprise Development Enterprise Development Enterprise Development Enterprise Development
• People• Automation• Design for Automated Testing of Nonfunctional Requirements• Decouple Design from Production Environment• …
![Page 15: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/15.jpg)
© ThoughtWorks 2008
AutomationAutomationAutomationAutomationnamespace :svn do task :add do sh %(svn st | grep "^?" | awk -F " " '{printf "\\"%s\\"\\n", $2}' | xargs -r svn add) end
task :commit do sh %(svn stat --ignore-externals) require 'readline' comment = Readline.readline("[Comment]: ") sh %(svn ci -m "#{comment}") end
task :up do sh %(svn up}) endend
task :commit => %w(svn:up default svn:add svn:commit)
![Page 16: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/16.jpg)
© ThoughtWorks 2008
User Acceptance Test EnvironmentUser Acceptance Test EnvironmentUser Acceptance Test EnvironmentUser Acceptance Test Environment
![Page 17: Ruby In Enterprise Development](https://reader033.vdocuments.net/reader033/viewer/2022061300/548db76bb479590d2b8b4add/html5/thumbnails/17.jpg)
© ThoughtWorks 2008
Enjoy Programming!Enjoy Programming!Enjoy Programming!Enjoy Programming!