Domain-driven design in action

Designing an identity provider

M.Sc. Thesis by Klaus Byskov Hoffmann


Abstract

In many scientific disciplines "complexity" is one of the most exciting current topics, as researchers attempt to tackle the messiness of the real world. A software developer has that same prospect when facing a complicated domain that has never been formalized.

In this thesis the principles of domain-driven design are used to model a real-world business problem, namely a framework for an extensible identity provider. A specification for the software is presented and based on this specification a complete model is created, using the principles of domain-driven design which are also presented. The thesis also includes an implementation of a generic domain-driven design framework that leverages object-relational mappers. It is then showed how this framework can be used to implement the designed model. Finally, the quality and completeness of the model is validated through a series of reviews and interviews.

The work shows that applying the principles of domain-driven design is a good approach to modelling a complex business domain.

Resumé

I mange videnskabelige discipliner er kompleksitet et af mest spændende aktuelle emner, idet forskere forsøger at takle den virkelige verdens rod. En software udvikler har den samme udsigt når han står overfor et kompliceret domæne der aldrig er blevet formaliseret.

I dette speciale bruges principperne fra domænedrevet design til at modellere et forretningsproblem fra den virkelige verden, nemlig et rammeværk for en udvidbar identity provider. En specifikation for softwaren præsenteres, og baseret på denne specifikation udvikles en komplet model ved brug af principperne fra domænedrevet design, der ligeledes præsenteres. Specialet indeholder også en implementering af et generisk domænedrevet design rammeværk der gør brug af objeckt-relationelle oversættere. Herefter bliver det vist hvordan dette rammeværk kan bruges til at implementere den designede model. Slutteligt valideres modellens kvalitet og komplethed igennem en række reviews og interviews.

Arbejdet viser at det at benytte principperne fra domænedrevet design er en god tilgang til at modellere komplekse forretningsdomæner.


The following files are available for download: