Ruby/Rails in Enterprise Development Ye Zheng  [email_address]
ThoughtWorks <ul><li>Enterprise Development Experience </li></ul><ul><li>Ruby/Rails Development Experience </li></ul><ul><...
Agenda <ul><li>Language/Framework in Enterprise Development </li></ul><ul><li>Ruby in Enterprise Development </li></ul><ul...
Language in Software Development
<ul><ul><ul><li>class User </li></ul></ul></ul><ul><ul><ul><ul><li>include Permission </li></ul></ul></ul></ul><ul><ul><ul...
Framework in Software Development
Convention Over Configuration MVC Test Automation … Directory Structure
Enterprise Development
Polyglot Programming (I)
Polyglot Programming (II)
Ruby as a … <ul><li>Development Language </li></ul><ul><li>Glue Language </li></ul><ul><li>Language for Legacy System </li...
Java EE Server Ruby App Ruby App Ruby App Ruby App Ruby App …
Legacy System Case New Ruby Application Search Asset Management 3 rd  Party Components Legacy Application Procedure Legacy...
Last Mile in Enterprise Development <ul><li>People </li></ul><ul><li>Automation </li></ul><ul><li>Design for Automated Tes...
Automation <ul><li>namespace :svn do </li></ul><ul><li>task :add do </li></ul><ul><li>sh %(svn st | grep &quot;^?&quot; | ...
User Acceptance Test Environment
Enjoy Programming!
Upcoming SlideShare
Loading in...5
×

Ruby In Enterprise Development

1,249

Published on

published by Ye Zheng, consultant of ThoughtWorks

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,249
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Ruby In Enterprise Development"

  1. 1. Ruby/Rails in Enterprise Development Ye Zheng [email_address]
  2. 2. ThoughtWorks <ul><li>Enterprise Development Experience </li></ul><ul><li>Ruby/Rails Development Experience </li></ul><ul><li>Agile Methodology </li></ul>
  3. 3. Agenda <ul><li>Language/Framework in Enterprise Development </li></ul><ul><li>Ruby in Enterprise Development </li></ul><ul><li>Last Mile in Enterprise Development </li></ul>
  4. 4. Language in Software Development
  5. 5. <ul><ul><ul><li>class User </li></ul></ul></ul><ul><ul><ul><ul><li>include Permission </li></ul></ul></ul></ul><ul><ul><ul><ul><li>set_super_role Role::GlobalAssurance </li></ul></ul></ul></ul><ul><ul><ul><ul><li>deny :add_comment, Role::DepartmentHead </li></ul></ul></ul></ul><ul><ul><ul><ul><li>... </li></ul></ul></ul></ul><ul><ul><ul><ul><li>grant :manage_groups, Role::GlobalAssurance </li></ul></ul></ul></ul><ul><ul><ul><ul><li>... </li></ul></ul></ul></ul><ul><ul><ul><li>end </li></ul></ul></ul>
  6. 6. Framework in Software Development
  7. 7. Convention Over Configuration MVC Test Automation … Directory Structure
  8. 8. Enterprise Development
  9. 9. Polyglot Programming (I)
  10. 10. Polyglot Programming (II)
  11. 11. Ruby as a … <ul><li>Development Language </li></ul><ul><li>Glue Language </li></ul><ul><li>Language for Legacy System </li></ul><ul><li>… </li></ul>
  12. 12. Java EE Server Ruby App Ruby App Ruby App Ruby App Ruby App …
  13. 13. Legacy System Case New Ruby Application Search Asset Management 3 rd Party Components Legacy Application Procedure Legacy Database
  14. 14. Last Mile in Enterprise Development <ul><li>People </li></ul><ul><li>Automation </li></ul><ul><li>Design for Automated Testing of Nonfunctional Requirements </li></ul><ul><li>Decouple Design from Production Environment </li></ul><ul><li>… </li></ul>
  15. 15. Automation <ul><li>namespace :svn do </li></ul><ul><li>task :add do </li></ul><ul><li>sh %(svn st | grep &quot;^?&quot; | awk -F &quot; &quot; '{printf &quot;amp;quot;%samp;quot;&quot;, $2}' | xargs -r svn add) </li></ul><ul><li>end </li></ul><ul><li>task :commit do </li></ul><ul><li>sh %(svn stat --ignore-externals) </li></ul><ul><li>require 'readline' </li></ul><ul><li>comment = Readline.readline(&quot;[Comment]: &quot;) </li></ul><ul><li>sh %(svn ci -m &quot;#{comment}&quot;) </li></ul><ul><li>end </li></ul><ul><li>task :up do </li></ul><ul><li>sh %(svn up}) </li></ul><ul><li>end </li></ul><ul><li>end </li></ul><ul><li>task :commit => %w(svn:up default svn:add svn:commit) </li></ul>
  16. 16. User Acceptance Test Environment
  17. 17. Enjoy Programming!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×