Talks
Speakers
Events
Topics
Search
Sign in
Search
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
search talks for
⏎
Suggest modification to this talk
Title
Description
By John Wilkinson and Anthony Zacharakis Going full SOA has unarguable benefits, but the steep startup cost and need for excessive forward planning goes against the agile mentality of strictly necessary, small, incremental changes. At Lumosity, we've developed a set of best practices using engines to entirely divide behavior and responsibility by wrapping new services within well-defined, small Ruby APIs. This technique obviates the need for complex network (HTTP) APIs with their well-known problems of maintenance and testing. Get rid of spaghetti code without diving into the deep end of recorded responses and fake servers. Later, if the architecture demands a separate service, the engine will already have an API fully defined and ready to port over from Ruby to HTTP. Help us caption & translate this video! http://amara.org/v/FG7f/
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the talk titled "SOA Without The Tears" presented by John Wilkinson and Anthony Zacharakis at GoGaRuCo 2013, the speakers delve into managing the complexity of Ruby on Rails applications through the use of embedded engines, offering insights into their experiences at Lumosity, a platform developed for brain training. They highlight several key points: - **Challenges of Large Applications**: Discussing the implications of a large codebase developed over years, they describe issues such as slow testing cycles (with their CI server test suite taking over an hour) and increased complexity leading to fragile dependencies within the application. - **Service-Oriented Architecture (SOA) Limitations**: The speakers initially explored SOA, which involves breaking applications into separate services; however, they encountered significant challenges such as new bugs, legacy code maintenance, and API complexities which hindered development instead of simplifying it. - **Transition to Embedded Engines**: Pivoting from SOA, the presenters introduced embedded engines—self-contained MVC frameworks that maintain a degree of isolation while still allowing access to the main application, fostering clearer organization and functionality without the operational overhead of separate servers. - **Setup of Embedded Engines**: John elaborated on the setup of an embedded engine, using UserAuth as an example that encapsulates user authentication logic away from the main application, allowing for easier development and testing. - **Dependency Management and Testing**: The talk touched upon ensuring minimal dependencies between the main app and engines, simplifying testing by isolating engine behavior. By using a dummy app for testing, they could achieve faster feedback cycles compared to testing the main application directly. - **Recommendations for Implementation**: For teams considering this approach, the speakers encourage adopting embedded engines early in a project's lifecycle to promote modular architecture, suggesting that smaller teams could benefit from the clarity and organization that results. In conclusion, the speakers advocate for the adoption of embedded engines in large, monolithic applications to enhance development efficiency, speed up testing, and improve code clarity. They emphasize that using embedded engines enables better collaboration within teams and contributes to a more maintainable codebase, leading to overall sped-up development processes at Lumosity.
Suggest modifications
Cancel