Rails Disco - The party starts now
Gestern haben wir Rails Disco — unser auf Rails basiertes CQRS-Framework — in Version 0.1.0 auf Github veröffentlicht. Es implementiert die Grundzüge von CQRS und einfachem Event Sourcing und bietet so die Möglichkeit die Vorzüge dieser beiden Ideen auch mit Ruby on Rails zu verwenden.
CQRS ist einfach gesagt ein Muster einer Anwendung, welche zwei Modelle nutzt. Eines der Modelle wird zum Lesen das zweite zum Schreiben verwendet. Neben anderen Vorteilen ist es dabei zum Beispiel möglich, unterschiedlich skalierte und skalierbare Ressourcen für den lesenden und schreibenden Zugriff zu benutzen. Martin Fowler bietet in seinem Bliki einen guten Überblick über CQRS.1
Event Sourcing wiederum erweitert das CQRS Muster dahingehend, dass alle Änderungen am Modell als Ereignisse abgespeichert werden.2 Durch diese Methode lässt sich der Zustand des Modells zu jedem Zeitpunkt aus den entsprechenden Ereignissen herstellen. Dadurch können vorherige Zustände — vergleichbar mit einem Versionskontrollsystem — ohne Probleme wieder herstellen werden.
Bisher gab es keine vollständig verwendbare CQRS und Evenet Sorucing Implementierung für Ruby On Rails. Unser Framework soll diese Lücke füllen, indem es CQRS und Event Sourcing auch für Webanwendungen in Ruby On Rails ermöglicht.
Ausführliche Information über “Rails Disco” stehen im Wiki des Github Projekts breit