ruby in enterprise development
DESCRIPTION
TRANSCRIPT
© 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
© ThoughtWorks 2008
ThoughtWorksThoughtWorksThoughtWorksThoughtWorks
• Enterprise Development Experience• Ruby/Rails Development Experience• Agile Methodology
© ThoughtWorks 2008
AgendaAgendaAgendaAgenda
• Language/Framework in Enterprise Development• Ruby in Enterprise Development• Last Mile in Enterprise Development
© ThoughtWorks 2008
Language in Software DevelopmentLanguage in Software DevelopmentLanguage in Software DevelopmentLanguage in Software Development
© ThoughtWorks 2008
class Userinclude Permission set_super_role Role::GlobalAssurance deny :add_comment, Role::DepartmentHead...grant :manage_groups, Role::GlobalAssurance...
end
© ThoughtWorks 2008
Framework in Software DevelopmentFramework in Software DevelopmentFramework in Software DevelopmentFramework in Software Development
© ThoughtWorks 2008
Convention Over Configuration
MVCTest
Automation
…………
Directory Structure
© ThoughtWorks 2008
Enterprise DevelopmentEnterprise DevelopmentEnterprise DevelopmentEnterprise Development
© ThoughtWorks 2008
Polyglot Programming (I)Polyglot Programming (I)Polyglot Programming (I)Polyglot Programming (I)
© ThoughtWorks 2008
Polyglot Programming (II)Polyglot Programming (II)Polyglot Programming (II)Polyglot Programming (II)
© ThoughtWorks 2008
Ruby as a Ruby as a Ruby as a Ruby as a …………
• Development Language• Glue Language• Language for Legacy System• …
© ThoughtWorks 2008
Java EE ServerJava EE ServerJava EE ServerJava EE Server
Ruby App Ruby App
Ruby App Ruby App
Ruby App
…………
© ThoughtWorks 2008
Legacy System CaseLegacy System CaseLegacy System CaseLegacy System Case
New Ruby Application
Search AssetManagement
3rd PartyComponents
Legacy Application Procedure
Legacy Database
© 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• …
© 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)
© ThoughtWorks 2008
User Acceptance Test EnvironmentUser Acceptance Test EnvironmentUser Acceptance Test EnvironmentUser Acceptance Test Environment
© ThoughtWorks 2008
Enjoy Programming!Enjoy Programming!Enjoy Programming!Enjoy Programming!