• Liked Mushtaq Ahmed
    keyboard_arrow_down

    Using a modern web framework for big enterprise agile project

    Mushtaq Ahmed
    Mushtaq Ahmed
    schedule 3 years ago
    Sold Out!
    20 mins
    Demonstration
    Advanced

    At ThoughtWorks, a 50-people team is building a marketing website backend for one of the largest consumer electronics brands in the world. We are Play-Scala as our web framework which allows us to design the application in a very different but powerful ways. This experience based talk will talk about these differences, emphasizing on two of them: "Dealing with concurrency without threads" and "Dependency resolution with constructor injection".

    Dealing with concurrency without threads
    - The backend is end to end non-blocking with highly concurrent architecture
    - Each page consists of 20+ reusable snippets, so each page request translates into 20+ outbound web service calls to get data for the snippet data in parallel
    - Posting data involves download/upload of large images from/to remote services, also done in parallel
    - We will show you how Scala Futures, Play and ReactiveMongo functional programming paradigm allows us to do all this without blocking any thread or managing thread-pools by hand

    Dependency resolution with constructor injection
    - Dependency injection is considered essential for designing applications that are easy to test. Usaully, dependencies are specified as constructors parameters
    - Scala traits allow us to get rid of constructors by wrapping classes and their factories inside components that in turn can depend on other components, this enables a compile time mechanism for dependency resolution which is very flexible
    - We will show examples of this pattern, its effects testing without external DI frameworks

    We will briefly talk on how functional programming style in general helps with testing and software delivery on agile projects. Finally, we will also cover the pain-points these approaches bring out, and argue if it is worth to pay that cost.

     

     

  • Liked Mushtaq Ahmed
    keyboard_arrow_down

    Using a modern web framework for big enterprise agile project

    Mushtaq Ahmed
    Mushtaq Ahmed
    schedule 3 years ago
    Sold Out!
    20 mins
    Demonstration
    Advanced

    At ThoughtWorks, a 50-people team is building a marketing website backend for one of the largest consumer electronics brands in the world. We are Play-Scala as our web framework which allows us to design the application in a very different but powerful ways. This experience based talk will talk about these differences, emphasizing on two of them: "Dealing with concurrency without threads" and "Dependency resolution with constructor injection".

    Dealing with concurrency without threads
    - The backend is end to end non-blocking with highly concurrent architecture
    - Each page consists of 20+ reusable snippets, so each page request translates into 20+ outbound web service calls to get data for the snippet data in parallel
    - Posting data involves download/upload of large images from/to remote services, also done in parallel
    - We will show you how Scala Futures, Play and ReactiveMongo functional programming paradigm allows us to do all this without blocking any thread or managing thread-pools by hand

    Dependency resolution with constructor injection
    - Dependency injection is considered essential for designing applications that are easy to test. Usaully, dependencies are specified as constructors parameters
    - Scala traits allow us to get rid of constructors by wrapping classes and their factories inside components that in turn can depend on other components, this enables a compile time mechanism for dependency resolution which is very flexible
    - We will show examples of this pattern, its effects testing without external DI frameworks

    We will briefly talk on how functional programming style in general helps with testing and software delivery on agile projects. Finally, we will also cover the pain-points these approaches bring out, and argue if it is worth to pay that cost.

     

     

Sorry, no proposals found under this section.