ruby in enterprise development

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

Upload: robbin-fan

Post on 02-Nov-2014

6 views

Category:

Technology


0 download

DESCRIPTION

published by Ye Zheng, consultant of ThoughtWorks

TRANSCRIPT

Page 1: Ruby In Enterprise Development

© ThoughtWorks 2008

Ruby/Rails in Enterprise Development

Ye Zheng

[email protected]

Page 2: Ruby In Enterprise Development

© ThoughtWorks 2008

ThoughtWorks

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

Page 3: Ruby In Enterprise Development

© ThoughtWorks 2008

Agenda

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

Page 9: Ruby In Enterprise Development

© ThoughtWorks 2008

Polyglot Programming (I)

Page 10: Ruby In Enterprise Development

© ThoughtWorks 2008

Polyglot Programming (II)

Page 11: Ruby In Enterprise Development

© ThoughtWorks 2008

Ruby as a …

• Development Language• Glue Language• Language for Legacy System• …

Page 12: Ruby In Enterprise Development

© ThoughtWorks 2008

Java EE Server

Ruby App Ruby App

Ruby App Ruby App

Ruby App

Page 13: Ruby In Enterprise Development

© ThoughtWorks 2008

Legacy System Case

New Ruby Application

SearchAsset

Management3rd Party

Components

Legacy Application Procedure

Legacy Database

Page 14: Ruby In Enterprise Development

© ThoughtWorks 2008

Last Mile in Enterprise Development

• People• Automation• Design for Automated Testing of Nonfunctional Requirements• Decouple Design from Production Environment• …

Page 15: Ruby In Enterprise Development

© ThoughtWorks 2008

Automationnamespace :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 Environment

Page 17: Ruby In Enterprise Development

© ThoughtWorks 2008

Enjoy Programming!