ruby in enterprise development

17
© ThoughtWorks 2008 Ruby/Rails in Enterprise Development Ruby/Rails in Enterprise Development Ruby/Rails in Enterprise Development Ruby/Rails in Enterprise Development Ye Zheng Ye Zheng Ye Zheng Ye Zheng [email protected] [email protected] [email protected] [email protected]

Upload: yelogic

Post on 13-Dec-2014

631 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Ruby In Enterprise Development

© 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

© ThoughtWorks 2008

ThoughtWorksThoughtWorksThoughtWorksThoughtWorks

• Enterprise Development Experience• Ruby/Rails Development Experience• Agile Methodology

Page 3: Ruby In Enterprise Development

© ThoughtWorks 2008

AgendaAgendaAgendaAgenda

• Language/Framework in Enterprise Development• Ruby in Enterprise Development• Last Mile in Enterprise Development

Page 4: Ruby In Enterprise Development

© ThoughtWorks 2008

Language in Software DevelopmentLanguage in Software DevelopmentLanguage in Software DevelopmentLanguage in Software Development

Page 5: Ruby In Enterprise Development

© 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

© ThoughtWorks 2008

Framework in Software DevelopmentFramework in Software DevelopmentFramework in Software DevelopmentFramework in Software Development

Page 7: Ruby In Enterprise Development

© ThoughtWorks 2008

Convention Over Configuration

MVCTest

Automation

…………

Directory Structure

Page 8: Ruby In Enterprise Development

© ThoughtWorks 2008

Enterprise DevelopmentEnterprise DevelopmentEnterprise DevelopmentEnterprise Development

Page 9: Ruby In Enterprise Development

© ThoughtWorks 2008

Polyglot Programming (I)Polyglot Programming (I)Polyglot Programming (I)Polyglot Programming (I)

Page 10: Ruby In Enterprise Development

© ThoughtWorks 2008

Polyglot Programming (II)Polyglot Programming (II)Polyglot Programming (II)Polyglot Programming (II)

Page 11: Ruby In Enterprise Development

© 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

© 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

© 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

© 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

© 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

© ThoughtWorks 2008

User Acceptance Test EnvironmentUser Acceptance Test EnvironmentUser Acceptance Test EnvironmentUser Acceptance Test Environment

Page 17: Ruby In Enterprise Development

© ThoughtWorks 2008

Enjoy Programming!Enjoy Programming!Enjoy Programming!Enjoy Programming!