Tidspunkt: 19.30 - 22.00
Emne: Command-Query Responsibility Segregation
Virksomhed: Logimatic Software A/S, Sofiendalsvej 5, DK-9200 Aalborg SV
TILMELD DIG VED AT KLIKKE HER!!
Command-Query Responsibility Segregation
"The Command Query Responsibility Segregation (CQRS) pattern is an enterprise pattern that can be used to increase the performance, scalability, and reliability of distributed applications that may experience heavy load. It is especially effective in situations where an immediate response is not required, or often even expected, by the user, or to offload processing that need not occur while the user is interacting directly with the system.
The Command-Query Responsibility Segregation pattern introduces a logical separation between read and write operations within a distributed application. There are several reasons for and benefits that result from this separation, as well as some application design implications. Typically, the CQRS pattern is implemented by introducing the concept of message queues into an application, eliminating the need for direct access to the central data store for write operations for the application.
The intent of CQRS is to allow the individual nodes in a distributed application (assuming it is a web-based application, these would be the web servers) to handle user requests with a minimum of interaction with or dependency on difficult-to-scale resources (most often, the central data store, but also other resources such as sending emails). This is can be achieved by creating a local read-only copy of the data the individual node requires (for Queries) and introducing a reliable messaging system that can handle writes (for Commands) in an offline, asynchronous fashion. As individual user requests come into the server, it reads data from its local store, and writes any Commands to its local message queue (which is then picked up and handled outside of the web application and its limited pipeline). The result is a huge increase in performance and scalability for the web node, since there is no longer synchronous, transactional access to a single, shared data store involved in each request." - udsnit fra artiklen http://aspalliance.com/2039_Introducing_Command_Query_Responsibility_Separation_CQRS.all
I denne præsentation får du en introduktion til CQRS. Vi gennemgår de principper tilgangen baseres på og dykker ned i eksempel implementeringer hvor vi ser nærmere på systemets forskellige dele.
Emnet kan være ret vanskeligt for novice udvikleren og henvender sig mest til erfarne udviklere og system arkitekter.
Martin B. Olesen arbejder til dagligt som udviklingsansvarlig souschef hos UVdata A/S