25 Jun 18:00
Michael Hackstein
i

Michael Hackstein

JavaScript und NoSQL Enthusiast. In seiner Freizeit organisiert er cologne.js die JavaScript User Group in Köln. Master of Science Abschluss der RWTH Aachen in Informatik. Im Beruf wirkt er als Kernentwickler der ArangoDB mit und ist dort vor allem zuständig für das Web Interface und Graphen-funktionalität. Michael ist regelmäßiger Sprecher auf diversen User Groups in ganz Deutschland.

Domain Driven Design & NoSQL

von Michael Hackstein

Domain Driven Design ist ein Softwareentwicklungsprozess dessen Fokus auf der Findung einer gemeinsamen Sprache aller involvierten Parteien liegt. Diese Sprache und die daraus resultierenden Modelle kommen oft von der Fachseite und nicht aus dem technischen Details der Implementierung. Das Ziel ist die Verbesserung der Kommunikation zwischen Kunden, Entwicklern und allen anderen involvierten Gruppen. Auch wenn Eric Evans Buch über dieses Thema fast 10 Jahre alt ist: Das Thema bleibt wichtig weil weiterhin viele Projekte aufgrund von Kommunikationsproblemen scheitern.

Programm

Domain Driven Design & NoSQL

von Michael Hackstein

Domain Driven Design ist ein Softwareentwicklungsprozess dessen Fokus auf der Findung einer gemeinsamen Sprache aller involvierten Parteien liegt. Diese Sprache und die daraus resultierenden Modelle kommen oft von der Fachseite und nicht aus dem technischen Details der Implementierung. Das Ziel ist die Verbesserung der Kommunikation zwischen Kunden, Entwicklern und allen anderen involvierten Gruppen. Auch wenn Eric Evans Buch über dieses Thema fast 10 Jahre alt ist: Das Thema bleibt wichtig weil weiterhin viele Projekte aufgrund von Kommunikationsproblemen scheitern.

Relationale Datenbanken haben ihre eigene Sprache und beeinflussen das Design von Software, welches es weiter von der Domäne entfernt: Entitäten werden nur deswegen erstellt um den Entwurf nach Best Practices für relationale Datenbanken zu entsprechen. Zwei Arten von NoSQL Datenbanken ändern dies: Document Stores und Graphendatenbanken. In einem Document Store können ‘Enthält’ Relationen auf eine natürliche Art modelliert werden. Eine Graphendatenbank erlaubt es die Beziehung zwischen Objekten in der Sprache der Domäne abzubilden.