Enterprise Rails
What does it take to develop an enterprise application with Rails? Enterprise Rails introduces several time-tested software engineering principles to prepare you for the challenge of building a high-performance, scalable website with global reach. You'll learn how to design a solid architectur...
Autor principal: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Beijing :
O'Reilly
2009.
|
Edición: | First edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009627312806719 |
Tabla de Contenidos:
- Enterprise Rails; Speed Versus Scalability; What to Expect in This Book; How This Book Is Organized; Who Is This Book For?; Conventions Used in This Book; Using Code Examples; Safari® Books Online; Comments and Questions; Acknowledgments; 1. The Big Picture; Growing Slowly; Understanding All the Pieces; Application Layer; Web-services layer; Caching Layer; Messaging System; Web Server; Firewall; 2. Organizing with Plugins; Writing Your Own Plugins; Core plugin template; Testing; Using a core plugin; Custom Extensions; Extension plugin template; Using a custom extension; Testing; Deployment
- 3. Organizing with ModulesModule Boundaries for Namespacing; Reciprocal Relationships; Modules Presage Services; Ensuring Proper Load Order; Exercises; Refactor Steps; Detangling Utility Methods; 4. Database As a Fortress; "No One in My Company Will Ever Write a Bug"; "This Rails Application Is the Only Application on Earth"; Sit Atop the Shoulders of Giants; A Note on Migrations; Dispelling Myths; Operations and Reporting; 5. Building a Solid Data Model; Constraints; Mythbusting; Referential Integrity; Intro to Indexing; 6. Refactoring to Third Normal Form
- Refactoring: Inheritance and MixinsExercises; Refactor Steps; 7. Domain Data; Strategy Pattern with Domain Tables; Refactor from Day One; 8. Composite Keys and Domain Key/Normal Form; Atop the Shoulders of...; Using Composite Keys in Rails; Using a DK/NF-Rails hybrid; Making assignment easier with method overrides; Deferrable Foreign Key Constraints; Understanding the Trade-offs; Ease of writing code; Exercises; Refactor Steps; Multiple Column Refactor; 9. Guaranteeing Complex Relationships with Triggers; Local variables and assignment; Blocks; Trigger-specific features
- Triggers: fail safe versus fail fastConditionals; 10. Multiple Table Inheritance; What Is Polymorphism?; Inheritance and Persistence; Multiple Table Inheritance; XOR on Columns; Elegant MTI in Rails; Factory Classes; Exercises; Refactor Steps; Refactoring: polymorphic => true; 11. View-Backed Models; Basing a Model on a View; Considerations; References and Constraints; Indexing; Exercises; Refactor Steps; 12. Materialized Views; A View to Materialize; The Target Table; Refresh and Invalidation Functions; Who Pays the Price?; 1:N updates; N:1 updates; Triggered Refreshes and Invalidations
- TheatresOrders; Purchased tickets; Hiding the Implementation with the Reconciler View; Cache Indexes; Results; Cascading Caches; Exercises; 13. SOA Primer; Why SOA?; A shared database; A service-oriented architecture; Reduce Database Load; The myth of database replication; Scalability II: Caching Is Tricky; Reduce Local Complexity; In Summary; Exercises; 14. SOA Considerations; API Is Accessible; API Design Best Practices; Limit Round Trips; Look for Opportunities for Parallelization; Send as Little as Possible; REST Versus XML-RPC Versus SOAP; SOAP; 15. An XML-RPC Service
- Creating an Abstraction Barrier