Your current filters are…
Within this talk we will discuss patterns for building highly interactive, massively scalable web applications by leveraging some of the best projects available in the Scala community.
Recent years have seen a distinct shift in user behavior online: applications now have to deal with heavily write-orientated, event-driven architectures (E.D.A) and real-time user interfaces. Couple this with the operational challenges of scaling these types of applications and one can quickly find themselves having to cope with a lot of additional complexity.
With this in mind, this talk guides you through some of the paradigms associated with E.D.A and Task-based User Interfaces, whilst discussing how the Scala eco-system has evolved over the past years into a vibrant and intellectually rich place, which has yielded many excellent projects, such as Akka and Lift. Whilst these projects have remained largely independent and standalone, consider that utilizing parts of each can make building these highly event-driven, interactive applications far easier than it would otherwise be with more traditional software stacks.
Prototypical applications found in industry today are heavily orientated toward solving the relevant problem, with a UI that is designed for simply satisfying input to the domain objects; resulting in UIs that often leave the user with little specific information on what the primary intent of the display is. Task-based UIs however can greatly assist in these scenarios by placing the user experience in a central place during the inception of any given system. Task-based UI design is orientated toward capturing user intention and sending messages (or commands) back to the server, rather than mutated transformation objects (DTOs) that are simply persisted by the system, with little appreciation for what specifically changed or what the user was achieving.
This notion of sending messages has a strong synergy with actor based messaging, and specifically as the messages are being sent from the client-side UI, with responses being dynamically propagated back to that same client, that in turn is an excellent fit with Lift’s comet support, which is entirely based on actor message sending. More broadly, within this talk you will hear how you can neatly integrate a highly interactive, task-based user experience powered by Lift and propagate user events through entire software architectures, with a robust, distributed backend provided by Akka. Specifically, patterns of implementation such as CQRS and Event Sourcing have excellent synergy with the actor pattern and are superbly supported by Akka with its lightweight, fault-tolerant actors.
Building asynchronous E.D.As within Scala is a lot of fun, and this talk will give attendees a view into what is possible and aim to inspire them to implement task-based UIs and message-orientated systems with the awesome Scala eco-system of tools.