beam me up, scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfrails for the “enterprise”...
TRANSCRIPT
![Page 1: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/1.jpg)
Beam me up, Scotty!
Rails for the “Enterprise”
Rick BradleyCharles JohnsonProject ManagerDirector, IS Applications
Centerstone Centerstone
1
![Page 2: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/2.jpg)
What Enterprise?
2
![Page 3: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/3.jpg)
What Enterprise?• Enterprise system?
2
![Page 4: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/4.jpg)
What Enterprise?• Enterprise system?
•Enterprise software?
2
![Page 5: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/5.jpg)
What Enterprise?• Enterprise system?
•Enterprise software?
•Enterprise platform?
2
![Page 6: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/6.jpg)
Centerstone Enterprise
3
![Page 7: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/7.jpg)
Centerstone Enterprise
• 25 Counties
3
![Page 8: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/8.jpg)
Centerstone Enterprise
• 25 Counties • 150 Locations
3
![Page 9: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/9.jpg)
Centerstone Enterprise
• 25 Counties • 150 Locations
• 40,000 Clients
3
![Page 10: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/10.jpg)
Centerstone Enterprise
• 25 Counties • 150 Locations
• 40,000 Clients • 1,100 Staff
3
![Page 11: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/11.jpg)
Centerstone Enterprise
• 25 Counties • 150 Locations
• 40,000 Clients • 1,100 Staff
• Comprehensive Electronic Record
3
![Page 12: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/12.jpg)
Centerstone Enterprise
DimensionRequirements
4
![Page 13: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/13.jpg)
Centerstone Enterprise
Dimension
Available & Reliable
Requirements
4
![Page 14: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/14.jpg)
Centerstone Enterprise
Dimension
Available & Reliable • All the time
Requirements
4
![Page 15: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/15.jpg)
Centerstone Enterprise
Dimension
Available & Reliable • All the time
Accessible
Requirements
4
![Page 16: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/16.jpg)
Centerstone Enterprise
Dimension
Available & Reliable • All the time
Accessible • Everywhere
Requirements
4
![Page 17: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/17.jpg)
Centerstone Enterprise
Dimension
Available & Reliable • All the time
Accessible • Everywhere
Scalable
Requirements
4
![Page 18: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/18.jpg)
Centerstone Enterprise
Dimension
Available & Reliable • All the time
Accessible • Everywhere
Scalable • 300 to 9000 users
Requirements
4
![Page 19: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/19.jpg)
Centerstone Enterprise
Requirements Dimension
5
![Page 20: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/20.jpg)
Centerstone Enterprise
Maintenance
Requirements Dimension
5
![Page 21: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/21.jpg)
Centerstone Enterprise
Maintenance • Invisible
Requirements Dimension
5
![Page 22: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/22.jpg)
Centerstone Enterprise
Maintenance • Invisible
Management
Requirements Dimension
5
![Page 23: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/23.jpg)
Centerstone Enterprise
Maintenance • Invisible
Management • Central
Requirements Dimension
5
![Page 24: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/24.jpg)
Centerstone Enterprise
Maintenance • Invisible
Management • Central
Agnostic
Requirements Dimension
5
![Page 25: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/25.jpg)
Centerstone Enterprise
Maintenance • Invisible
Management • Central
Agnostic• Hardware
Requirements Dimension
5
![Page 26: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/26.jpg)
Centerstone Enterprise
Maintenance • Invisible
Management • Central
Agnostic• Hardware
• Database
Requirements Dimension
5
![Page 27: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/27.jpg)
“Enterprise”
6
![Page 28: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/28.jpg)
“Big”
7
![Page 29: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/29.jpg)
Bureaucratic
8
![Page 30: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/30.jpg)
SOA
9
![Page 31: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/31.jpg)
SOL
10
![Page 32: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/32.jpg)
Vendor-driven definition -- the true source of the term “Enterprise”.
11
![Page 33: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/33.jpg)
Java, XML, RDF... EJB3.0, J2EE, JUnit... Hibernate + XDoclet
... n-phase commit... RMI, XML-RPC, WSDL
... JMX, JAXL, SASL, CORBA... WOTA, FRXN, JOKE
Vendor-driven definition -- the true source of the term “Enterprise”.
11
![Page 34: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/34.jpg)
12
![Page 35: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/35.jpg)
Aggressive!
-- with sincerest apologies to the creators of “Bunk and Rambling”...
12
![Page 36: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/36.jpg)
Inverted
We don’t use the Internet to track down a market for our product.
We have a fixed market for whom we build a new product.
13
![Page 37: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/37.jpg)
ExistingUnlike “green field” applications,
“Enterprise” applications fight the ills of the organization at least as much as
technical hurdles.
14
![Page 38: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/38.jpg)
Stubborn
Changing business processes (even horrid ones) can be very difficult.
15
![Page 39: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/39.jpg)
@#$%!
Rick’s First Rule of Enterpriseyness:
Any sufficiently large system left at rest in any sufficiently @#$%!-ed up
environment will decay into a stack of electronic post-it notes.
16
![Page 40: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/40.jpg)
Start
17
![Page 41: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/41.jpg)
small team
+
18
![Page 42: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/42.jpg)
isolated offices
-
19
![Page 43: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/43.jpg)
open source open minds
+
20
![Page 44: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/44.jpg)
Big Design Up Front
-
21
![Page 45: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/45.jpg)
non-profit
+
22
![Page 46: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/46.jpg)
for-profit “collaborator”
-
23
![Page 47: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/47.jpg)
web + DB experience
+
24
![Page 48: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/48.jpg)
Java + Oracle
-
25
![Page 49: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/49.jpg)
support from the Penthouse
+
26
![Page 50: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/50.jpg)
widely distributed “customers”
-
27
![Page 51: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/51.jpg)
camaraderie
+
28
![Page 52: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/52.jpg)
bad legacy habits...
-
29
![Page 53: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/53.jpg)
no unit tests,no functional tests,no automated tests,no automated build.
-
30
![Page 54: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/54.jpg)
Goal
31
![Page 55: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/55.jpg)
agility
+
small milestones, story-driven design, refactoring, pairing, few meetings, ...
32
![Page 56: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/56.jpg)
domaindriven design
+
in some ways we have to be careful not to end up BDUF. This can be meshed with “Getting Real” and TDD/BDD if done carefully. “Shared Domain Language” is critical. Avoid “too much talk, too little code.”
33
![Page 57: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/57.jpg)
solid testing
+
34
![Page 58: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/58.jpg)
reproducibility
+
continous integration, one-word builds, automated deployments, automated upgrades and rollbacks, nightly data conversions, etc.
35
![Page 59: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/59.jpg)
scalability&
portability
+
“Share Nothing” horizontal scalability, lightweight software, fast commodity hardware; database agnosticism, browser agnosticism.
36
![Page 60: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/60.jpg)
launch bonus:a basket full of psychotropics.
+++!!!
37
![Page 61: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/61.jpg)
legacy system
250,000+ lines of embedded “thedailywtf”-compliant
Oracle PLSQL code
38
![Page 62: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/62.jpg)
java system
JBoss, Struts, JSP, Hibernate, EJB3 (draft), JUnit, Ant, CruiseControl, ...
39
![Page 63: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/63.jpg)
rails transition
http://weblog.rubyonrails.com/2005/10/11/major-healthcare-application-switches-from-j2ee-to-rails/
40
![Page 64: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/64.jpg)
41
![Page 65: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/65.jpg)
rails transition
20+ : 1 code reduction25+ : 1 “stuff” reduction
41
![Page 66: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/66.jpg)
42
![Page 68: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/68.jpg)
rails today+----------------------+-------+-------+---------+---------+-----+-------+| Name | Lines | LOC | Classes | Methods | M/C | LOC/M |+----------------------+-------+-------+---------+---------+-----+-------+| Helpers | 385 | 227 | 0 | 29 | 0 | 5 || Controllers | 989 | 593 | 19 | 64 | 3 | 7 || Components | 0 | 0 | 0 | 0 | 0 | 0 || Functional tests | 1110 | 815 | 31 | 117 | 3 | 4 || Models | 1418 | 508 | 56 | 47 | 0 | 8 || Unit tests | 2218 | 1407 | 49 | 213 | 4 | 4 || Libraries | 0 | 0 | 0 | 0 | 0 | 0 || Integration tests | 42 | 33 | 2 | 5 | 2 | 4 |+----------------------+-------+-------+---------+---------+-----+-------+| Total | 6162 | 3583 | 157 | 475 | 3 | 5 |+----------------------+-------+-------+---------+---------+-----+-------+
Code LOC: 1328 Test LOC: 2255 Code to Test Ratio: 1:1.7
43
![Page 69: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/69.jpg)
Techniques
44
![Page 70: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/70.jpg)
domaindrivendesign
45
![Page 71: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/71.jpg)
party, accountability, observation, phenomenon, measurement, plan, action,
specification, time ranges, ...
analysis patterns
46
![Page 72: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/72.jpg)
47
try to burn a little time here... talk about how finding “Analysis Patterns” was such a useful discovery, having gotten to meet Martin was a real boon to us, even exchanged some emails. Keeping Martin Fowler at the core of the system ended up being really beneficial to us.
![Page 73: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/73.jpg)
database “agnosticism”
...any database, as long as it’s Oracle or Postgres
48
to paraphrase Henry Ford: ....; Actually we may support SQLServer. We simply need to have an ACID db, with standard SQL support, with support for constraints and triggers sufficient to perform auditing.
![Page 74: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/74.jpg)
49
![Page 75: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/75.jpg)
50
![Page 76: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/76.jpg)
51
![Page 77: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/77.jpg)
searching
52
searchable_models plugin provides the ‘searchable’ DSL as well as a search controller, and a helper to let you put simple searches anywhere for any class.
![Page 78: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/78.jpg)
53
![Page 79: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/79.jpg)
Graphs
53
![Page 80: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/80.jpg)
Graphs
53
![Page 81: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/81.jpg)
stories
54
![Page 82: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/82.jpg)
55
![Page 83: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/83.jpg)
Form mocking
55
![Page 84: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/84.jpg)
Form mocking
55
![Page 85: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/85.jpg)
Form mocking
55
![Page 86: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/86.jpg)
ActiveRecord magic
56
![Page 87: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/87.jpg)
Level 0 - No auditing.
Level 1 - Read-only. Audit creation.
Level 2 - No deletion. Audit creation, changes.
Level 3 - Archive all changes and deletions.
auditing
57
![Page 88: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/88.jpg)
58
![Page 89: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/89.jpg)
foreign key extensions
59
![Page 90: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/90.jpg)
acts_as_date_range
60
![Page 91: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/91.jpg)
USPScounty, state, ZIP modelsCD-ROM import scripts
61
![Page 92: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/92.jpg)
Pitfalls
62
![Page 93: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/93.jpg)
N. I. H.syndrome
63
Refusing to use good code simply because it wasn’t written by us. With Ruby sometimes it /is/ faster to write it ones self than use a plugin. Fortunately, as the plugin space has matured this has become less of an issue for us.
![Page 94: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/94.jpg)
I. H.syndrome
64feeling compelled to write a bit of functionality. when someone else, two weeks later, releases a plugin for the same thing, feeling compelled to adopt it. Also, overturning homegrown methodologies to do things The Rails Way. Contrast: moving from homegrown Login to Acts_as_authenticated-generated homegrown login with moving from SQL table scripts to Migrations.
![Page 95: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/95.jpg)
CTI
65
In implementing Fowler’s “Party” and “Accountability” patterns, we attempted to use Class Table Inheritance with Rails. Getting inherited behavior, much less cross-database, was a nightmare.
![Page 96: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/96.jpg)
parties in class table inheritance
66
![Page 97: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/97.jpg)
parties in single table inheritance
67Downsides: we still have report writers, outside processes working against database. Makes it difficult to allow access to some identifying data (for example, staff data) without giving access to client data. We were planning on using exports to reporting database anyway, but this requires us to think more carefully about views, etc., to control reporting access.
Attempts at CTI failed -- while possible to get the database semantics correct, synchronizing the separate tables (esp. efficiently, was a nightmare -- esp. database independent). We shared common methods with a module, but still hackish.
![Page 98: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/98.jpg)
Bleeding Edge
68
In a number of areas we were able to identify just whose blood was on the bleeding edge.
![Page 99: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/99.jpg)
Oracle
-
69performance issues, primary key names, performance, adding/removing constraints, testing with constraints, synonyms, Windows-only/Oracle-only date problem, etc.
Nearly all the oracle people you find want to show you how cool they are by writing a bunch of non-portable Oracle crap, half of which doesn’t work half as well as half of them think. As for standards-compliance and ease of use, Oracle blows.
![Page 100: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/100.jpg)
70
here’s a fun one: oracle 10g, with rails running on Windows, can’t store dates prior to the UNIX(!) epoch.
![Page 101: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/101.jpg)
monkey-patching
+
71
![Page 102: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/102.jpg)
72
![Page 103: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/103.jpg)
great upstream
+
73
when we wrote a ticket, sent in a patch, we dealt directly (and immediately) with the maintainers of those functional areas. When the patch landed and we pulled edge or a new release, we just removed our monkey-patch.
![Page 104: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/104.jpg)
plugins
+
74
Now, instead of monkey-patching, we refactor fixes to plugins, which are a clean point of change and which can be easily removed when patches land in trunk.
![Page 105: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/105.jpg)
Maximum Rateof Change
75
![Page 106: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/106.jpg)
<
76
Less than the maximal rate of change? The obvious risk would be that the change by the target date would be less than ideal. The real risk is that without an aggressive change rate, NO real change would take place.
![Page 107: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/107.jpg)
>
77
Faster than maximal? You risk confusing the team members, failing to provide enough stability to allow progress. Worse, you may awaken politically entrenched opponents who will cause harm to the project.
![Page 108: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/108.jpg)
78
![Page 109: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/109.jpg)
time
suckage
good
age
78
![Page 110: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/110.jpg)
Oracle time
suckage
good
age
78
![Page 111: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/111.jpg)
Oracle time
suckage
good
age
Big Design Up Front
78
![Page 112: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/112.jpg)
Oracle time
suckage
good
age
Big Design Up Front
“deployments”
78
![Page 113: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/113.jpg)
Oracle time
suckage
good
age
Big Design Up Front
for-profit partner
“deployments”
78
![Page 114: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/114.jpg)
Oracle
Java
time
suckage
good
age
Big Design Up Front
for-profit partner
“deployments”
78
![Page 115: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/115.jpg)
Oracle
Java
cvs
time
suckage
good
age
Big Design Up Front
for-profit partner
“deployments”
78
![Page 116: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/116.jpg)
Oracle
Java
cvs
time
suckage
good
age
SQL schemae
Big Design Up Front
for-profit partner
“deployments”
78
![Page 117: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/117.jpg)
Oracle
Java
cvs
JBoss
time
suckage
good
age
SQL schemae
Big Design Up Front
for-profit partner
“deployments”
78
![Page 118: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/118.jpg)
Oracle
Java
cvsPostgres
JBoss
time
suckage
good
age
SQL schemae
Big Design Up Front
for-profit partner
“deployments”
78
![Page 119: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/119.jpg)
Oracle
Java
cvsPostgres
JBoss
time
suckage
good
age
SQL schemae
Hibernate
Big Design Up Front
for-profit partner
“deployments”
78
![Page 120: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/120.jpg)
Oracle
Java
svn
Postgres
JBoss
time
suckage
good
age
SQL schemae
Hibernate
Big Design Up Front
for-profit partner
“deployments”
78
![Page 121: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/121.jpg)
Oracle
Java
svn
Postgres
Ant
JBoss
time
suckage
good
age
SQL schemae
Hibernate
Big Design Up Front
for-profit partner
“deployments”
78
![Page 122: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/122.jpg)
Oracle
Java
svn
Postgres
Ant
JBoss
EJB3.0
time
suckage
good
age
SQL schemae
Hibernate
Big Design Up Front
for-profit partner
“deployments”
78
![Page 123: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/123.jpg)
Oracle
Java
svn trac
Postgres
Ant
JBoss
EJB3.0
time
suckage
good
age
SQL schemae
Hibernate
Big Design Up Front
assigned tickets
for-profit partner
“deployments”
78
![Page 124: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/124.jpg)
Oracle
Java
svn trac
Postgres
Ant
JBoss
EJB3.0
time
suckage
good
age
SQL schemae
Hibernate
Big Design Up Front
domain driven design
assigned tickets
for-profit partner
analysis patterns
“deployments”
78
![Page 125: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/125.jpg)
Oracle
Java
svn trac
Postgres
Ant
continuous integration
JBoss
EJB3.0
time
suckage
good
age
SQL schemae
Hibernate
Big Design Up Front
domain driven design
assigned tickets
for-profit partner
CruiseControl
analysis patterns
“deployments”
78
![Page 126: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/126.jpg)
Oracle
Java
svn trac
IRCPostgres
Ant
continuous integration
JBoss
EJB3.0
time
suckage
good
age
SQL schemae
Hibernate
Big Design Up Front
domain driven design
assigned tickets
for-profit partner
CruiseControl
analysis patterns
“deployments”
78
![Page 127: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/127.jpg)
Oracle
Java
svn trac
IRCPostgres
Ant
continuous integration
JBoss
EJB3.0
time
suckage
good
age
SQL schemae
Hibernate
Big Design Up Front
domain driven design
assigned tickets
pair-on-demand
for-profit partner
CruiseControl
analysis patterns
“deployments”
78
![Page 128: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/128.jpg)
Oracle
Java
svn trac
IRCPostgres
Ant
continuous integration
JUnit, etc.JBoss
EJB3.0
time
suckage
good
age
unit tests
SQL schemae
Hibernate
Big Design Up Front
domain driven design
assigned tickets
pair-on-demand
for-profit partner
CruiseControl
analysis patterns
“deployments”
78
![Page 129: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/129.jpg)
Oracle
Java
svn trac
IRCPostgres
Ant
continuous integration
JUnit, etc.JBoss
EJB3.0
time
suckage
good
age
unit tests
SQL schemae
Hibernate
Big Design Up Front
domain driven design
assigned tickets
pair-on-demand
for-profit partner
CruiseControl
analysis patterns
auto deployments
78
![Page 130: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/130.jpg)
Oracle
Java
svn trac
IRCPostgres
Ant
continuous integration
JUnit, etc.JBoss
EJB3.0
time
suckage
good
age
unit tests
SQL schemae
Hibernate
Big Design Up Front
domain driven design
assigned tickets
pair-on-demand
for-profit partner
CruiseControl
public svn
analysis patterns
auto deployments
78
![Page 131: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/131.jpg)
Oracle
Java
svn trac
IRCPostgres
Ant
continuous integration
JUnit, etc.JBoss
EJB3.0
time
suckage
good
age
unit tests
SQL schemae
Hibernate
Big Design Up Front
domain driven design
AJAX
assigned tickets
pair-on-demand
for-profit partner
CruiseControl
public svn
analysis patterns
auto deployments
78
![Page 132: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/132.jpg)
Oracle
Java
svn trac
IRCPostgres
Ant
continuous integration
JUnit, etc.JBoss
EJB3.0
time
suckage
good
age
unit tests
SQL schemae
Hibernate
Big Design Up Front
domain driven design
AJAX
assigned tickets
pair-on-demand
for-profit partner
CruiseControl
public IRC
public svn
analysis patterns
auto deployments
78
![Page 133: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/133.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit tests
SQL schemae
Big Design Up Front
domain driven design
AJAX
assigned tickets
pair-on-demand
Rails
public IRC
public svn
Rakeanalysis patterns
auto deployments
78
![Page 134: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/134.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit tests
SQL schemae
Big Design Up Front
domain driven design
AJAX
assigned tickets
pair-on-demand
Rails
continuous builder
public IRC
public svn
Rake continuous integrationanalysis patterns
auto deployments
78
![Page 135: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/135.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit tests
SQL schemae
Big Design Up Front
domain driven design
AJAX
assigned tickets
pair-on-demand
Rails
nightly conversions
continuous builder
public IRC
public svn
Rake continuous integrationanalysis patterns
auto deployments
78
![Page 136: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/136.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit tests
SQL schemae
Big Design Up Front
domain driven design
AJAX
assigned tickets
pair-on-demand
Rails
nightly conversions
continuous builder
public IRC
public svn
CTI
Rake continuous integrationanalysis patterns
auto deployments
78
![Page 137: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/137.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit tests
SQL schemae
Big Design Up Front
domain driven design
AJAX
assigned tickets
pair-on-demand
Rails
nightly conversions
public releases
continuous builder
public IRC
public svn
CTI
Rake continuous integrationanalysis patterns
auto deployments
78
![Page 138: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/138.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit tests
SQL schemae
Big Design Up Front
domain driven design
AJAX
assigned tickets
pair-on-demand
Rails
nightly conversions
public releases
continuous builder
public IRC
public svn
lose technical lead
CTI
Rake continuous integrationanalysis patterns
auto deployments
78
![Page 139: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/139.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit tests
SQL schemae
Big Design Up Front
domain driven design
AJAX
assigned tickets
pair-on-demand
Rails
nightly conversions
public releases
continuous builder
public trac
public IRC
public svn
lose technical lead
CTI
Rake continuous integrationanalysis patterns
auto deployments
78
![Page 140: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/140.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit tests
SQL schemae
Big Design Up Front
domain driven design
AJAX
assigned tickets
pair-on-demand
Rails
nightly conversions
public releases
continuous builder
public trac
public IRC
public svn
hire new developers
CTI
Rake continuous integrationanalysis patterns
auto deployments
78
![Page 141: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/141.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit tests
SQL schemae
Big Design Up Front
domain driven design
AJAX
assigned tickets
pair-on-demand
Rails
nightly conversions
public releases
continuous builder
public trac
public IRC
public svn
mac laptops
hire new developers
CTI
Rake continuous integrationanalysis patterns
auto deployments
78
![Page 142: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/142.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit tests
SQL schemae
Big Design Up Front
domain driven design
AJAX
assigned tickets
pair-on-demand
Rails
nightly conversions
public releases
continuous builder
public trac
public IRC
public svn
mac laptops
hire new developers
CTI
1,000 meetings
Rake continuous integrationanalysis patterns
auto deployments
78
![Page 143: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/143.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit tests
Big Design Up Front
domain driven design
AJAX
assigned tickets
pair-on-demand
Rails
nightly conversions
public releases
continuous builder
public trac
public IRC
public svn
mac laptops
hire new developers
migrations
CTI
1,000 meetings
Rake continuous integrationanalysis patterns
auto deployments
78
![Page 144: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/144.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit tests
Big Design Up Front
domain driven design
AJAX
assigned tickets
pair-on-demand
Rails
nightly conversions
public releases
continuous builder
public trac
public IRC
public svn
mac laptops
hire new developers
migrationsswitchtower
CTI
1,000 meetings
Rake continuous integrationanalysis patterns
auto deployments
78
![Page 145: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/145.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit tests
Big Design Up Front
domain driven design
AJAX
assigned tickets
pair-on-demand
Rails
nightly conversions
public releases
continuous builder
public trac
public IRC
public svn
mac laptops
hire new developers
migrationsswitchtower
STI
1,000 meetings
Rake continuous integrationanalysis patterns
auto deployments
78
![Page 146: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/146.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit testsdomain driven design
AJAX
assigned tickets
pair-on-demand
Rails
nightly conversions
public releases
continuous builder
public trac
public IRC
public svn
mac laptops
hire new developers
migrationsswitchtower
STI
1,000 meetings
stories
Rake continuous integrationanalysis patterns
auto deployments
78
![Page 147: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/147.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit testsdomain driven design
AJAX
assigned tickets
pair-on-demand
Rails
nightly conversions
public releases
continuous builder
public trac
public IRC
public svn
mac laptops
wifi
hire new developers
migrationsswitchtower
STI
1,000 meetings
stories
Rake continuous integrationanalysis patterns
auto deployments
78
![Page 148: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/148.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit testsdomain driven design
AJAX
assigned tickets
pair-on-demand
Rails
nightly conversions
public releases
continuous builder
public trac
public IRC
public svn
mac laptops
wifi
hire new developers
migrationsswitchtower
STI
1,000 meetings
stories
getting more “Real”
Rake continuous integrationanalysis patterns
auto deployments
78
![Page 149: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/149.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit testsdomain driven design
AJAX
pair-on-demand
Rails
nightly conversions
public releases
continuous builder
public trac
public IRC
public svn
mac laptops
wifi
hire new developers
migrationsswitchtower
STI
1,000 meetings
stories
getting more “Real”
Rake
voluntary tickets
continuous integrationanalysis patterns
auto deployments
78
![Page 150: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/150.jpg)
Oracle
svn trac
IRCPostgres
time
suckage
good
age
unit testsdomain driven design
AJAX
pair-on-demand
Rails
nightly conversions
public releases
continuous builder
public trac
public IRC
public svn
mac laptops
wifi
hire new developers
migrationsswitchtower
STI
1,000 meetings
storiesrelocating
getting more “Real”
Rake
voluntary tickets
continuous integrationanalysis patterns
auto deployments
78
![Page 151: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/151.jpg)
Insights
79
![Page 152: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/152.jpg)
The Rails Way
80You really have to do things the Rails Way. All the little opinionated choices turn out to be right, whether they seem important or not. We fought pluralization for a long time. When we finally turned it on so many little headaches disappeared. When we were able to get onto Migrations (too early to start there) so many big headaches disappeared. We still keep foreign keys, auditing, various constraints, which are a big headache -- but at least we can have them in plugins and not have to think about them again.
![Page 153: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/153.jpg)
81
![Page 154: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/154.jpg)
Back in the fall I'd go to Healthcare Technology conferences and I'd
mention to people that we were doing our system in Ruby on Rails and they'd say, ‘Ruby on Rails... What's that?’
81
![Page 155: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/155.jpg)
Back in the fall I'd go to Healthcare Technology conferences and I'd
mention to people that we were doing our system in Ruby on Rails and they'd say, ‘Ruby on Rails... What's that?’
Now when I go to conferences they say, “Nobody is using Ruby on Rails.”
81
![Page 156: Beam me up, Scotty!rewrite.rickbradley.com/files/railsconf-cleaned.pdfRails for the “Enterprise” ... web + DB experience + 24. Java + Oracle-25. support from the Penthouse + 26](https://reader031.vdocuments.site/reader031/viewer/2022011905/5f33036743847237452b0ee0/html5/thumbnails/156.jpg)
Q&A
82