Nutzung von CQRS in ASP.Net MVC mit Entity Framework

novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien

Die Entwicklung von Anwendungen in einem mehrschichtigen Aufbau hat sich etabliert. Sucht man heute nach Vorgehensweisen für den Aufbau einer Webanwendung, ist es schwierig – wenn nicht sogar nahezu unmöglich – an Design Patterns wie MVC vorbeizukommen. Nicht zuletzt Frameworks wie ASP.Net MVC haben dazu beigetragen, dass in einer Webanwendung Anwendungslogik nach ihren einzelnen Zuständigkeiten getrennt wird. Soll dann noch eine Anbindung an eine Datenbank erfolgen, ist die Verwendung von Entity Framework und Microsoft SQL Server am häufigsten anzutreffen. Und obgleich letztere durchaus auch ersetzt werden können durch beispielsweise NHibernate und ein beliebiges anderes Datenbanksystem – gängige Implementationen erweitern diese Dreiteilung (MVC für das Frontend, Entity Framework als Datenabstraktionslayer (DAL) und SQL Server als Datenbank) häufig noch um eine Schicht dazwischen: das Repository Pattern. Erst werden Entitäten modelliert, welche die Datenobjekte der Anwendung repräsentieren. Dann wird eine Basis-Repositoryklasse entworfen, welche allgemeine CRUD-Funktionalitäten nach außen anbietet und intern die Kommunikation mit Entity Framework übernimmt. Schließlich werden aufbauend auf dieser Basisklasse konkrete Repository-Klassen für die einzelnen Entitäten erstellt. Um nun also Entitäten eines Typs abzufragen, anzulegen oder zu aktualisieren, wird die klar definierte Repository-Schnittstelle verwendet.
Soll die eher allgemein gehaltene API von Repositories dann ebenfalls nicht veröffentlicht werden, wird in vielen Implementationen noch eine weitere Schicht eingezogen: Data Services. Hier werden gemeinhin konkrete Zugriffsfunktionen definiert, welche dann an die generischen Repository-Schnittstellen weitergereicht werden. Resultat ist eine API, die klar vermittelt, welche Aktionen für die in der Anwendung definierten Entitäten zur Verfügung stehen.

Grafik Nutzung von CQRS in ASP.Net MVC mit Entity Framework

Controller innerhalb einer MVC-Anwendung kommunizieren nun nicht mehr mit der Datenbank direkt. Auch der direkte Zugriff auf Entity Framework ist entfernt. Stattdessen wird innerhalb eines Controllers die jeweilige Funktion im entsprechenden Service aufgerufen.

Grafik Nutzung von CQRS in ASP.Net MVC mit Entity Framework

So weit – so gut. Eine klar strukturierte API wurde definiert, Anwendungslogik wurde in verschiedene logisch vertikal voneinander getrennte Bereiche ausgelagert. Und doch – so sauber auch die einzelnen Schichten voneinander getrennt wurden: das Single-Responsibility-Prinzip (SRP) bleibt weiterhin verletzt. Schichten wie beispielsweise die abgebildete Service-Schicht werden sowohl für das Lesen von Daten als auch das Validieren und Schreiben von Daten herangezogen.

Single Responsibility ist Teil des SOLID-Prinzips in der objektorientierten Entwicklung und beschreibt den Entwurf, dass innerhalb der objektorientierten Entwicklung eine Klasse nur eine fest definierte Aufgabe zu erfüllen hat. Und ferner: innerhalb dieser Klasse sollten lediglich Funktionen vorhanden sein, die direkt zur Erfüllung dieser Aufgabe beitragen. Betrachtet man jedoch die beiden zuvor gezeigten Abbildungen – insbesondere die UML-Notation der beschriebenen Architektur – so wird erkenntlich, dass sowohl Service-Klassen wie auch Repository-Klassen nicht etwa nur die Funktion des Lesens eines Datensatzes bereitstellen. Auch Funktionen wie das Lesen mehrerer Entitäten oder gar Schreibfunktionen (welche eben gegensätzlich zu Lese-Operationen sind) sind darin enthalten. In größeren Projekten kann dies sehr schnell zu enorm großen Klassen führen – besonders dann, wenn konsequenterweise versucht wird, in den Serviceklassen immer für den Controller passende Zugriffsfunktionen zu integrieren.

An diesem Punkt setzt CQRS als Gegenentwurf an. CQRS (Command Query Responsibility Segregation) erfordert nun die Aufteilung der Architektur in zwei voneinander getrennte Teile. Diese Teile haben getrennte Verantwortlichkeiten: einerseits das Ausführen von Benutzeraktionen, die eine Zustandsänderung des Systems nach sich ziehen können (Commands), andererseits das seiteneffektfreie Bedienen von Abfragen (Queries). Eine weitere Trennung in einen dritten Bereich – das Validieren von auszuführenden Aktionen – ist dabei genauso einfach wie grundsätzlich im Konzept vorgesehen.

Wurde vom Controller bisher die jeweilige Serviceklasse konsultiert, um aus der Menge der verfügbaren Operationen eine bestimmte Operation auszuführen, ist die jeweilige Anforderung nun in separate Command- bzw. Query-Klassen sowie Handler-Klassen zur tatsächlichen Bearbeitung der Commands bzw. Queries aufgeteilt.

Mit einer Architektur nach dem CQRS-Ansatz ergeben sich nun folgende neuen Bestandteile der Anwendung:

Commands

Alle Command-Klassen implementieren ein Interface ICommand, um diese später als Commands zu identifizieren. Die konkreten Command-Klassen selbst sind derweil vergleichbar mit reinen ViewModel-Klassen und dienen nur zum Transport von Werten.

Grafik Nutzung von CQRS in ASP.Net MVC mit Entity Framework
Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Screenshot Commands

Command Handler

Command-Handler implementieren die konkrete Logik zur Bearbeitung eines Commands. Sie sind dabei zuständig für Operationen, die den Zustand eines Systems verändern können aber auch Aktionen wie zum Beispiel das Versenden von Mails.

Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Screenshot Command Handler
Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Screenshot Command Handler
Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Screenshot Command Handler

Validation Handler

Validation-Handler implementieren die konkrete Logik zur Validierung eines auszuführenden Commands.

Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Screenshot Command Handler
Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Screenshot Validation Handler

Query Handler

Query-Handler implementieren die konkrete Logik zur Selektion von Daten anhand der in einem Command hinterlegten Parameter. Sie sind dabei ausschließlich für Operationen zuständig, die Daten aus einem System ermitteln ohne das System als solches dabei zu verändern.

Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Screenshot Query Handler
Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Screenshot Query Handler

Command Dispatcher

Command-Dispatcher dienen als Schnittstelle zwischen der aufrufenden Instanz und dem zu einem Command passenden Command-Handler. Sie nehmen einen Command entgegen, ermitteln den entsprechenden Command-Handler und reichen den Command an diesen Handler weiter.

Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Screenshot Command Dispatcher
Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Screenshot Command Dispatcher

Validation Dispatcher

Validation-Dispatcher dienen als Schnittstelle zwischen der aufrufenden Instanz und dem zu einem Command passenden Validation-Handler. Sie nehmen einen Command entgegen, ermitteln den entsprechenden Validation-Handler und reichen den Command an diesen Handler weiter.

Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Screenshot Validation Dispatcher
Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Screenshot Validation Dispatcher

Query Dispatcher

Query -Dispatcher dienen als Schnittstelle zwischen der aufrufenden Instanz und dem zu einem Command passenden Query-Handler. Sie nehmen einen Command entgegen, ermitteln den entsprechenden Query -Handler und reichen den Command an diesen Handler weiter.

Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Screenshot Query Dispatcher
Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Screenshot Query Dispatcher

Beispiel 1: Abfrage der Detaildaten zu einem Produkt

Dem vertikalen Aufbau des Repository-Patterns entsprechend würde innerhalb des Controllers nun die Methode GetProductById(id) innerhalb der ProductService-Klasse aufgerufen.

Mit einem Aufbau nach der CQRS-Architektur hingegen wird eine Instanz einer Klasse GetSingleProductCommand erzeugt. Diese Klasse besitzt nun eine einzelne Eigenschaft „Id”, welche die ID des zu selektierenden Produkts angibt. Die GetSingleProductCommand-Instanz wird nun an einen generischen QueryDispatcher weitergereicht. Die Aufgabe des QueryDispatcher ist es, den für GetSingleProductCommand zuständigen Query-Handler zu ermitteln und den Query-Command an diesen weiterzureichen. Der ermittelte Query-Handler führt nun die entsprechend notwendigen Abfragen aus und liefert das finale Ergebnis zurück.​

Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Grafik Abfrage der Detaildaten zu einem Produkt

Beispiel 2: Aktualisieren eines Produkts

Dem vertikalen Aufbau des Repository-Patterns entsprechend würde innerhalb des Controllers nun die Methode UpdateProduct(product) innerhalb der ProductService-Klasse aufgerufen.

Mit einem Aufbau nach der CQRS-Architektur hingegen wird eine Instanz einer Klasse UpdateProductCommand erzeugt. Diese Klasse besitzt die Eigenschaften, welche zur Änderung eines Produkts verfügbar sind. Die UpdateProductCommand-Instanz wird nun an einen generischen CommandDispatcher weitergereicht. Die Aufgabe des CommandDispatcher ist es, den für UpdateProductCommand zuständigen Command-Handler zu ermitteln und den Command an diesen weiterzureichen. Der ermittelte Command-Handler führt nun die entsprechend notwendigen Aktionen zur Änderung aus und liefert eine Instanz einer CommandResult-Klasse zurück innerhalb welcher das Ergebnis der Aktion gekapselt wird.​

Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Grafik Aktualisieren eines Produkts

Beispiel 3: Löschen eines Produkts

Als Regel soll hier gelten: ein Produkt kann nur dann gelöscht werden, wenn es in keiner Bestellung enthalten ist.

Dem vertikalen Aufbau des Repository-Patterns entsprechend würden innerhalb des Controllers nun zuerst beispielsweise über die OrderService-Klasse alle Bestellungen ermittelt, welche das gewählte Produkt beinhalten. Wird dabei kein Eintrag gefunden, wird nun die Methode DeleteProduct(product) innerhalb der ProductService-Klasse aufgerufen.

Mit einem Aufbau nach der CQRS-Architektur hingegen wird eine Instanz einer Klasse DeleteProductCommand erzeugt. Diese Klasse besitzt die Eigenschaften, welche zur Löschung eines Produkts verfügbar sind. Die DeleteProductCommand-Instanz wird nun an einen generischen ValidationDispatcher weitergereicht. Die Aufgabe des ValidationDispatcher ist es, den für DeleteProductCommand zuständigen Validation-Handler zu ermitteln und den Command an diesen weiterzureichen. Der ermittelte Validation-Handler führt nun die entsprechend notwendigen Prüfungen aus und liefert eine Instanz einer ValidationResult-Klasse zurück innerhalb welcher das Ergebnis der Validierung gekapselt wird. Gibt diese ValidationResult-Instanz eine erfolgreiche Validierung an, wird die zuvor bereits erzeugte DeleteProductCommand-Instanz nun wie in Beispiel 2 an einen Command-Dispatcher weitergereicht. Die weitere Verarbeitung ist nun identisch wie in Beispiel 2.

Nutzung von CQRS in ASP.Net MVC mit Entity Framework: Grafik Löschen eines Produkts

Fazit

Mit einer Architektur nach dem CRQS-Prinzip ist eine Aufteilung in mehrere Applikationsschichten nicht verworfen. Im Gegenteil: die Aufteilung wurde konkretisiert, um dem Prinzip der Single-Responsibility gerecht zu werden. Die einzelnen Schichten wurden aufgelöst und neu aufgebaut in Komponenten, die jeweils einer konkreten Aufgabe zugeordnet werden können. Als Folge ergibt sich daraus, dass die dabei entstandenen Komponenten nun kompakter und atomarer sind. Sie sind nun losgelöst von allen anderen Bestandteilen separat testbar (Stichwort: Unit Tests). Und mit Blick auf den Einsatz in Cloud-Umgebungen ist es nun ein einfaches, die einzelnen Ausrichtungen (Lese-Operationen vs. Schreib-Operationen) oder gar die einzelnen Komponenten unterschiedlich zu skalieren. Eine Applikation, die vorrangig Lesezugriffe hat, kann das Verarbeiten von Query-Commands also beispielsweise auf separat skalierbare Instanzen auslagern, während für Schreib-Operationen immer noch eine minimale Instanz ausreicht.

Das CQRS-Prinzip ist dabei natürlich nicht ausschließlich auf die Verwendung mit Entity Framework beschränkt. Es beschreibt vielmehr einen grundlegenden Ansatz zur Architektur innerhalb der objektorientierten Entwicklung. Ein Einsatz in anderen Gebieten wie beispielsweise der Entwicklung von Desktop-Anwendung ebenso wie SharePoint-Applikationen, ist ebenfalls möglich.​

novaCapta
Michael SonntagBlog
Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog

Tipps und Tricks mit Entity Framework

In diesem Blogbeitrag möchte ich einige Tipps und Tricks rund um Entity Framework mit euch teilen. In allen Beispielen gehen wir vom Code-First Ansatz aus.

novaCapta
Michael SonntagBlog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

GraphQL – Die Alternative zu REST

GraphQL ist eine Abfragesprache für APIs zur Ausführung von Abfragen mit Hilfe eines für die Daten definierten Typensystems. In dieser kleinen Blog-Serie schauen wir uns einfache Queries und Mutations an.

novaCapta
Blog
Blue sky and clouds
Blog

Grundlagen der Datenmodellierung

Fachliches Modell mit ER-Diagrammen (auch ERM – Entity Relationship Model)

novaCapta
Kathrin HeinrothBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Spaltenformatierung in SharePoint: Column formatting vs. JS

Eine Gegenüberstellung der Spaltenformatierung von JSLink zu der neueren Methode Column formating in Office 365.

novaCapta
Blog
News der novaCapta
Blog

Zentralisiertes Logging – Simpler Logging-Stack mit Graylog

Logging ist ein komplexes und doch essenzielles Thema. Gute Logs vereinfachen einem Supporter die Arbeit und ermöglichen es, Probleme schneller einzugrenzen.

novaCapta
Andy KurzBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Warum ist Inline-CSS und JavaScript-Code so schlecht?

Warum der Einsatz von Inline-CSS bzw. JavaScript-Code schlecht ist, da Dinge wie Caching, DRY-Prinzip, Wartbarkeit und Media-Queries gänzlich außer Acht gelassen werden.

novaCapta
Blog
Close up of female hands while typing on laptop
Blog

SharePoint Framework Client-Side Webparts mit React

React ist ein Framework zum Erstellen von Benutzeroberflächen. In der SharePoint Online Entwicklung bietet es sich für die Entwicklung von Client-Side Webparts an.

TIMETOACT
Referenz
Referenz

TIMETOACT realisiert integrierte Versicherungs-Software

Weniger als ein Jahr von Projektstart bis Systemeinführung: TIMETOACT entwickelte für die VOV D&O-Versicherungsgemeinschaft die integrierte, browserbasierte Versicherungssoftware „HERMES“. Die abteilungsübergreifende Individualsoftware deckt alle Kernprozesse der Versicherung vollständig ab. Die Anwender schätzen insbesondere die intuitive Nutzeroberfläche und die hohe Performance von HERMES.

novaCapta
Blog
Für versicherungsmathematische Berechnungen, Projektionen, die Gewinnprüfung, stochastische Modellierung und das Asset-Liability-Management ist ein modernes Framework unverzichtbar. Was muss es im Spannungsfeld gesetzlicher und unternehmerischer Hürden leisten? Und was muss aktuarielle Software mitbringen, wenn sie den Herausforderungen von heute und morgen gerecht werden will?
Blog

Eine Frage des Frameworks

Die Digitalisierung macht auch vor der Veränderung aktuarieller Tätigkeiten nicht Halt. Hinzu kommen längst beschlossene gesetzliche Vorgaben, die u.a. IT-Abteilungen vor größte Herausforderungen stellen.

novaCapta
Blog
Close up of female hands while typing on laptop
Blog

Grundlagen der Gestaltung

Die Gestaltgesetze der Wahrnehmungspsychologie

novaCapta
Blog
Schreibtisch
Blog

Anhänge nach Datentyp in PowerApps einschränken

Eine immer wieder auftauchende Anfrage bei digitalen Prozessen ist die Beschränkbarkeit von Anhangsdokumenten. Glücklicherweise lässt sich diese Funktionalität relativ unkompliziert mit wenigen kleinen Formeln in PowerApps nachbauen.

novaCapta
Kathrin HeinrothBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Testen von Angular Anwendungen mit Cypress

Cypress ist ein End-to-End Testing Framework, mit dem man einfache Tests erstellen kann, die in Echtzeit ausgeführt werden. Mit Cypress kann man auch Snapshots von den einzelnen Schritten während der Testausführung sehen. Tests können schnell erstellt werden, ohne dass bestimmte Server oder Driver benötigt werden.

novaCapta
Blog
Blue sky and clouds
Blog

Farben zur Optimierung des SharePoint-Kalender

Auch in SharePoint kann man Kategorien für Teamkalender-Einträge farblich abheben und damit die Lesbarkeit erhöhen. Wir zeigen Ihnen, wie das geht.

novaCapta
Blog
Drei Personen in einer Besprechung an einem Tisch besprechen den Zeitplan auf ihrem Microsoft-Laptop
Blog

Die Bedeutung einer Governance

In der Governance-Struktur legen Sie fest, wie Sie mit Ihrer SharePoint-Umgebung arbeiten. Governance beschreibt die Rollen der Nutzer und legt Verantwortlichkeiten fest.

novaCapta
Blog
Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog

Corporate News – Das zentrale Medium interner Kommunikation

Um die Akzeptanz des unternehmenseigenen Intranets zu steigern, sind Corporate News ein erster Schritt, um Neuigkeiten, Strategie und Strukturen gleichmäßig zu kommunizieren.

novaCapta
Blog
Close up shot of female hands typing on laptop
Blog

SharePoint vs. TYPO3 – Sechs Gründe für SharePoint-Intranet

Hier lesen Sie die sechs wichtigsten Argumente, warum Sie Office 365 mit SharePoint für Ihre Intranetlösung gegenüber TYPO3 bevorzugen sollten.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Was kann der neue Office 365 Planner – und was kann er nicht

„Office 365 Planner“ ist das neue Tool von Microsoft, mit dem sich Zusammenarbeit und Aufgabenverteilung in Teams organisieren lässt. Was kann der neue Office 365 Planner – und was kann er nicht

novaCapta
Blog
Close up of female hands while typing on laptop
Blog

Was ist Application Lifecycle Management (ALM)?

Application Lifecycle Management beschreibt einen ganzheitlichen Ansatz, der eine Anwendung während allen Phasen der Software begleitet.

novaCapta
Andy KurzBlog
Blue sky and clouds
Blog

Angular Route-Guards

Was versteht man eigentlich unter Angular Route-Guards?

novaCapta
Julius ElsnerBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Nutzung der SharePoint REST API mit Microsoft Flow

Durch Zugriffe über die REST API lassen sich viele Vorgänge mit Microsoft Flow automatisieren.

novaCapta
Andy KurzBlog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Struktureller Aufbau eines Angular Modules

Dieser Blogbeitrag beschäftigt sich mit dem strukturellen Aufbau eines Angular Modules und der Kommunikation der einzelnen Komponenten.

novaCapta
Blog
Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog

Xamarin – plattformübergreifende App-Entwicklung

Xamarin ist eine übergreifende Entwicklungsplattform, die die Welten zusammenführt und die bislang erforderliche Mehrarbeit weitgehend überflüssig macht.

novaCapta
Blog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Migration IBM Lotus Notes zu Microsoft SharePoint

Eine Migration von Lotus Notes/Domino nach SharePoint/Exchange besteht grundsätzlich aus mindestens zwei Bereichen.

novaCapta
Blog
Blue sky and clouds
Blog

Vorgesetzte in Nintex per LDAP-Abfrage ermitteln

"Meine Sekretärin erledigt das für mich." Es ist der Klassiker der Workflows: Die Genehmigung. Neu im novaCapta Blog ► Mit Nintex Vorgesetzte per LDAP-Abfrage ermitteln ✓ So funktioniert's ✓ Jetzt nachlesen!

novaCapta
Thomas KoglerThomas KoglerBlog
News der novaCapta
Blog

Gefilterte Ansicht über Unterschiede in mehreren Spalten

Die Filtermöglichkeiten in Ansichten in SharePoint sind begrenzt. So ist z.B. der direkte Vergleich zwischen zwei Spalten nicht möglich. Möchte ich Unterschiede beim Vergleich zweier Spalten angezeigt bekommen so ist dies nur über einen einzelnen Wertevergleich möglich (Quelle1=“A“ und Kopie1<>“A“). Möchte man dann noch mehrere Spalten miteinander vergleichen wird es schwierig bis unmöglich.

novaCapta
Blog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Fünf Tipps für mehr SharePoint-Adoption in Unternehmen

SharePoint ist eine vielseitige und mächtige technologische Plattform mit vielen Funktionen. Unseren fünf Expertentipps erhöhen die Adoption.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Produktiver lernen mit SharePoint

Bringt die aktuelle Version der SharePoint-Plattform so viele neue Features mit, es zu einem perfekten Learning Management System zu machen? Wir beleuchten es.

novaCapta
Blog
Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog

Fünf Tipps für eine verbesserte Software-Adoption

Die Generation Y stellt im Arbeitsumfeld neue Anforderungen an Unternehmens-Software und -Systeme. Unsere fünf Tipps, um die Adoption einer Software erhöhen.

novaCapta
Blog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Drei Tipps für mehr SharePoint-Begeisterung

Wir geben Tipps zur der Microsoft Serverplattform für Content Management, (Social)-Collaboration, Portalfunktion, Business Intelligence und Enterprise Search.

novaCapta
Blog
Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog

Change Management in IT-Projekten

Viele IT-Projekte scheitern am Zusammenspiel verschiedener Faktoren, wie unklare Ziele, ungenügende Ressourcen, schlechte Kommunikation und fehlende User-Akzeptanz.

novaCapta
Andy KurzBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Angular 5 Custom Filter in Angular Material Data-Table

In diesem Blogbeitrag will ich euch darlegen, wie man einen Custom Filter für das Angular Material Data-Table Modul erstellt.

novaCapta
Blog
News der novaCapta
Blog

Der wiederholte Bereich in Nintex Forms

Nintex für Fortgeschrittene

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Handlebars.js – Semantische Template Library

Handlebars.js ist eine Template-Engine für JavaScript. Sie ermöglicht dem Entwickler, mit Hilfe von semantischen Templates Business-Logik und HTML zu trennen.

novaCapta
Andy KurzBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Braucht man wirklich jQuery?

Ich beleuchte diese Frage anhand von Beispielen aus der Praxis und hinterfrage, ob in der modernen Browserlandschaft auch natives JavaScript ausreicht.

novaCapta
Blog
Blue sky and clouds
Blog

Hat Ihr Unternehmen einen Informations-Lebenszyklus?

Jede Information hat eine Aktualitätsphase, eine Nachschlag-Phase, eine Archiv-Phase und einen Obsoleszenz-Punkt. Steuern Sie den Lebenszyklus Ihrer Informationen?

novaCapta
Blog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

SharePoint und Informationsarchitektur – worauf kommt es an?

Wie definiert sich eine Informationsarchitektur und die Rolle eines Informationsarchitekten im SharePoint-Umfeld?

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Teams Extensions – Erstellen von Erweiterungen für Teams

Mit der Entwicklung von Extensions kann Teams einfach erweitert werden. Hierfür gibt es das App Studio, welches über den Teams Store installiert werden kann.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Ich bin im Flow! – Eine Übersicht zu Microsoft Flow

Die Power Platform wird aktuell von Microsoft sehr stark gepusht. Zeit, sich mit dem Potenzial der einzelnen Komponenten zu beschäftigen. Heute: Flow.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 4

Dieser letzte Teil der Artikelserie befasst sich mit dem Schutz von Dokumenten innerhalb von SharePoint.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 3

Dieser Teil der Artikelserie befasst sich mit der RMS-Freigabeanwendung, welche Dateien jeglichen Dateityps verschlüsseln kann.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 2

Dieser Teil der Artikelserie befasst sich mit der Anwendung von den Microsoft RMS in der Praxis.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 1

Diese Artikelserie befasst sich mit der Einrichtung und Verwendung der Rights Management Services (RMS) von Microsoft, die eine sichere Verschlüsselung von Dateien bieten.

novaCapta
Michael  MatuschekMichael MatuschekBlog
Close up of female hands while typing on laptop
Blog

Qualitätsmanagement - Dokumentation verwalten mit SharePoint

Qualitätsmanagement-Dokumente zu verwalten wird schnell unübersichtlich und kompliziert. Wir haben eine Lösung entwickelt, die das Dokumentenmanagement deutlich vereinfacht.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Multi Factor Authentication (Azure und SharePoint)

Microsoft führt mit der Multi Faktor Authentisierung (MFA) eine weitere und kostenlose Authentifizierungsebene zu in Office 365 hinzu.

novaCapta
Lars EschweilerLars EschweilerBlog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

PDF-Konverter in Power Automate

Kann ich mittels Microsoft Power Automate und einer SPFx-Anwendung ohne größere Probleme einen PDF-Konverter erstellen? Die einfache Antwort: Ja. Und auch die Ausführliche gibt’s hier.

novaCapta
Blog
Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog

Umfragen in Teams mit Microsoft Forms

Umfragen bieten die Möglichkeit, bei der Planung von beispielsweise Events schnell zu einem Termin/Ergebnis zu kommen oder aber auch Feedback zu vergangenen Ereignissen einzuholen. Mit Microsoft Forms lassen sich Umfragen schnell und einfach in Teams erstellen bzw. integrieren.

novaCapta
Blog
Eine Angestellte lädt auf ihrem Handy die Microsoft Teams App für digitale Zusammenarbeit herunter.
Blog

Microsoft Teams: mehr als Videotelefonie und Chat

Corona treibt viele Arbeitnehmer ins Homeoffice – und zu Microsoft Teams. Eine Umfrage der novaCapta zeigt, dass Teams mehr Potenzial bietet als viele wissen. Wie Teams den Alltag wirklich erleichtert, verrät Andy Frei, Mitglied der Geschäftsleitung novaCapta CH, im Interview.

novaCapta
Blog
Team of programmers working in office
Blog

Was Sie beim nächsten IT-Projekt beachten sollten

Unternehmen sind in ihrer digitalen Transformation erfolgreicher, wenn sie bei der Umsetzung auf ein wirksames Change Management setzen. Wie der Wandel gelingt, verrät Nora Sommer, Senior Business Consultant bei der novaCapta, im Interview.

novaCapta
Blog
Programmer Woman Coding On Computer
Blog

Ohne Programmierkenntnisse zum Entwickler werden

Bei der Digitalisierung von Unternehmen erfordern passgenaue Business-Apps und automatisierte Workflows bislang ­erheblichen Entwicklungsaufwand. Microsoft setzt dem die Power Platform entgegen, mit der sich auch ohne Programmierkenntnisse gleichwertige Geschäftsanwendungen erstellen lassen sollen.

novaCapta
Blog
Phishing, mobile phone hacker or cyber scam concept. Password and login pass code in smartphone. Online security threat and fraud. Female scammer with cellphone and laptop. Bank account security.
Blog

Die Awareness kommt mit dem ersten Cyberangriff

Aktuell gehören Cyberangriffe zu den grössten Betriebsrisiken eines Unternehmens. Wie IT-Abteilungen sensible Unternehmensdaten effektiv schützen können und warum Cloud Computing die sicherere Wahl sein kann, weiss Sandra Zimmerli, Cloud Engineer bei der novaCapta Schweiz AG.

novaCapta
Referenz
Bild einer Farbmuster-Karte
Referenz

Muster-Straub: Webshop mit SharePoint-Integration

Um Bestellungen und Versand effizienter und einfacher zu gestalten entwickelte novaCapta für das Unternehmen eine ganzheitliche Webshop-Lösung mit Hilfe des ASP.NET MVC-Frameworks.

Blog
Blog

Das synaigy-Framework Teil 3

Der priorisierte Matchplan ist Grundlage für die in den einzelnen Phasen einzuführenden Systeme. Er ist sozusagen die Übersichtskarte der nun folgenden Schritte in großem Maßstab. Die Karte wird durch die in den nächsten Schritten erstellten Konzepte Stück für Stück höher aufgelöst.

Blog
Blog

Das synaigy-Framework Teil 2

Zur Erarbeitung eines kundenindividuellen Matchplans werden verschiedene Werkzeuge aus dem synaigy Methodenkoffer kombiniert. Ein Fokus liegt hierbei auf kreativen Workshops. Hierzu finden sich abteilungsübergreifend Mitarbeiter des Kunden sowie Experten der synaigy zusammen, um Geschäftswissen und Expertenwissen interaktiv zu vereinen.

Blog
Blog

Das synaigy-Framework Teil 1

Es ist kurz vor Quartalsende. Der Außendienst verschiedener IT-Dienstleister dreht frei, verfängt sich im mittleren oder gehobenen Management, und schon wird kurzfristig eine neue Software angeschafft, weil sie gerade jetzt so günstig ist und die Fachabteilung ja schon lange Bedarf an IT-Unterstützung angemeldet hat.

novaCapta
Leistung
Zwei Männer am Smartphone
Leistung

Business Productivity Framework

Unser Mittelweg bei der Einführung neuer Software: Business Productivity Framework. Dies ist nichts anderes als die Wiederverwendung von bewährten Architekturen. Individuelle Kundenwünsche lassen sich damit in kürzerer Zeit und ohne hohen Kostenaufwand realisieren.

novaCapta
Leistung
Close up ux developer and ui designer use augmented reality brainstorming about mobile app interface wireframe design on desk at modern office.Creative digital development agency
Leistung

novaThink: Design Thinking mit Künstlicher Intelligenz

Entdecken Sie was mit KI alles möglich ist! novaThink, eine innovative Symbiose aus Design Thinking und KI, ist nur ein Beispiel für eine individuelle KI-Anwendung. Unsere Expert:innen sind darauf spezialisiert, maßgeschneiderte KI-Anwendungen zu entwickeln, die exakt auf die individuellen Anforderungen Ihres Unternehmens zugeschnitten sind. Wir beraten Sie gerne!

novaCapta
Pascal  Brunner Pascal Brunner Blog
Blog

Wieso braucht es Change Management?

Immer häufiger liest man von der Wichtigkeit von Change & Adoption. Doch wieso braucht es das und wie gehe ich das an?

Blog
Blog

10 Must-Have-Faktoren für ein herausragendes Kundenerlebnis

Was sind die wichtigsten Faktoren, die du berücksichtigen musst, um ein herausragendes Kundenerlebnis zu schaffen? Wie kannst du die Kundenzufriedenheit verbessern und langfristige Kundenbeziehungen aufbauen? Genau darüber sprechen wir in der heutigen insights!-Folge. Mit den praktischen 10 Must-Have-Faktoren garantierst du deinen Kunden ein optimiertes Kundenerlebnis.

novaCapta
Lösung
Person in grauen Jeans mit Surface-Gerät
Lösung

Enterprise Application Integration Framework

Eine Mischung an Software-Applikationen, die an unterschiedlichsten Stellen miteinander kommunizieren und gemeinsam Daten nutzen , ist häufig in Unternehmen zu finden. Mit unserem Enterprise Application Integration Framework sorgen Sie für vernetzte Systeme.

novaCapta
Workshop
Mann schreib auf Whiteboard
Workshop

Agiles Arbeiten mit der Power Platform

Wir vereinen agile Software-Entwicklung mit der Microsoft Power Plattform und arbeiten gemeinsam an einer Lösung für Ihren Geschäftsprozess.

novaCapta
News
finger push the enter button of notebook keyboard. selective and soft focus. subject is blurred
News

novaCapta im Wissensmanagement-Magazin: User Stories

Wissensmanagement, das Magazin für Digitalisierung, Vernetzung und Collaboration veröffentlicht in der Online-Ausgabe 10/2018 einen Fachbeitrag von Philip Schaffner zum Thema User Stories - und warum sie so wichtig sind. Der Fachbeitrag beleuchtet das ideale Vorgehen und gibt viele praktische Beispiele, wie User Stories aufgebaut sein sollten.

novaCapta
News
Close up of female hands while typing on laptop
News

novaCapta ab sofort Mitglied in der Azure Advisor Community

Die novaCapta ist ab sofort Teil des (inoffiziellen) „Azure Advisor"-Programms von Microsoft. Dabei handelt es sich um eine erlauchte Yammer-Community, in der Microsoft-Ingenieurteams aktiv sind und sich aktiv in der Community zu Azure-Themen (vor allem technischer Art) austauschen.

novaCapta
News
finger push the enter button of notebook keyboard. selective and soft focus. subject is blurred
News

Theobald Software neuer Partner von novaCapta

Komplexe SAP-Prozesse direkt in SharePoint durchführen – dabei unterstützt uns unser neuer Partner Theobald Software.

novaCapta
News
finger push the enter button of notebook keyboard. selective and soft focus. subject is blurred
News

Intranets: Klassisch, kollaborativ oder social

Intranets sind in aller Munde – und dennoch gibt es dabei ein weit verbreitetes Verständnisproblem: Jeder definiert den Begriff anders.

novaCapta
News
finger push the enter button of notebook keyboard. selective and soft focus. subject is blurred
News

novaCapta nun Premium Partner von Sharegate

Sharegate vereinfacht Verwaltungsaufgaben für SharePoint, Office 365 und Microsoft OneDrive for Business für Tausende von Administratoren und Power-User auf der ganzen Welt. Als Premium Partner können wir Sie bei der Migration Ihrer SharePoint-Inhalte problemlos unterstützen.

novaCapta
News
finger push the enter button of notebook keyboard. selective and soft focus. subject is blurred
News

novaCapta mit pronova BKK-Projekt in der Fachpresse

Mithilfe der novaCapta beginnt bei der pronova BKK, einer der größten deutschen Betriebskrankenkassen (BKK), 2016 ein neues Kommunikationszeitalter.

novaCapta
News
Close up shot of female hands typing on laptop
News

novaCapta akquiriert zwei weitere SharePoint-Spezialisten

Im März akquirierte der Microsoft Premium Partner novaCapta zwei Microsoft SharePoint IT-Dienstleister und Lösungsanbieter – die Manneimer Concept-EU und die in München ansässige Smarter Business Solutions Germany GmbH.

novaCapta
News
Female student using laptop on desk at library
News

novaCapta übernimmt BlueBridge Technologies AG

Zum 2. März 2018 übernimmt die novaCapta vollständig die Anteile der in Bonn und Buttenheim ansässigen BlueBridge Technologies AG und verfolgt damit weiter erfolgreich den Wachstumskurs der letzten Jahre.

novaCapta
News
Female student using laptop on desk at library
News

novaCapta expandiert in die Schweiz

Zum 1. Oktober 2017 beteiligt sich die novaCapta Software und Consulting GmbH am Schweizer Microsoft Entwickler ARGUSNET AG Software Solutions und firmiert diese zukünftig als novaCapta Software und Consulting Schweiz AG.

novaCapta
News
Female student using laptop on desk at library
News

Fachbeitrag der novaCapta: Das personalisierte Intranet

Effektivität erhöhen, Motivation steigern, die Zusammenarbeit fördern: das alles kann ein personalisiertes Intranet leisten. Was dieses ausmacht, erklären Ihnen unsere Experten in unserem Fachbeitrag "Das personalisierte Intranet" im Online Magazin „pressesprecher“.

novaCapta
News
Close up of female hands while typing on laptop
News

Mit der HoloLens ein Stück Berlin nach Köln holen

Im Rahmen eines zweitägigen Hackathons haben sich einige Mitarbeiter der novaCapta der Microsoft HoloLens und dem Thema Mixed Reality gewidmet. Dabei haben wir die HoloLens nicht nur ausprobiert, sondern auch eine App dafür geschrieben.

novaCapta
News
finger push the enter button of notebook keyboard. selective and soft focus. subject is blurred
News

Arbeitsplatz 4.0 im Büro Köln

Die novaCapta realisiert nicht nur digital die modernsten Arbeitsplatzlösungen für ihre Kunden - auch bei der Inneneinrichtung wird auf Innovation und Transparenz gesetzt.

novaCapta
News
finger push the enter button of notebook keyboard. selective and soft focus. subject is blurred
News

Wir sind umgezogen!

Nach dem Umzug des Kölner und des Münchener Teams der novaCapta freuen sich nun auch die Mannheimer Kollegen über neue, modernere Räumlichkeiten: So gewinnt auch der Mannheimer Standort mehr Raum für Innovation, Kreativität und Wachstum.

novaCapta
News
finger push the enter button of notebook keyboard. selective and soft focus. subject is blurred
News

Kooperation mit dox42

In unseren Projekten setzen wir bei Dokumentenautomation und Datenintegration ab sofort auf unseren Partner dox42.

novaCapta
News
Female student using laptop on desk at library
News

Gastbeitrag der novaCapta in der Computerworld Schweiz

Las Vegas, Juli 2018 - Microsoft-Partnerkonferenz "Inspire": Heinz Süess, Geschäftsführer der novaCapta Schweiz, berichtet in der Computerworld wie Microsoft mit seinen Partnern an der künftigen Strategie feilt.

novaCapta
News
Close up shot of female hands typing on laptop
News

novaCapta erfolgreich bei Ausschreibung des Kantons Basel

Der Kanton Basel-Stadt hat in einer Ausschreibung vom letzten Dezember nach IT-Dienstleistern gesucht, welche die eigenen zentralen Informatikdienste (ZID) bei bestimmten Projekten unterstützen. Die novaCapta Schweiz bietet erfolgreich mit!

novaCapta
News
finger push the enter button of notebook keyboard. selective and soft focus. subject is blurred
News

Auf Goldkurs in der Cloud

Die novaCapta hat ihren Partnerstatus bei Microsoft zusätzlich vergoldet: Auch in der Sparte Cloud Productivity haben wir jetzt den Goldstatus.

novaCapta
News
Female student using laptop on desk at library
News

Valo ist neuer Partner der novaCapta für Intranets

Durch die Partnerschaft mit Valo, dem Ready-2-Go Intranet-Baukasten aus Finnland baut die novaCapta ihr Angebot bei der Umsetzung von schnellen und funktionalen Intranets weiter aus.

novaCapta
News
Laptop mit Valo Intranet Seite und mit roter Tasse vor einem Wald.
News

Digital Workplace Tour mit Valo und Office 365 in Zürich

Wir laden Sie zur nächsten Station der Digital Workplace Tour ein – diesmal machen wir halt in Zürich bei Microsoft. Erfahren Sie, wie die Zukunft von Mitarbeiterkommunikation, Microsoft Office 365, Intranet-Features und Workplace-Anwendungen aussieht.

novaCapta
News
Manager presenting project strategy to coworkers, drawing hierarchy chart. Business colleagues in casual working together in contemporary office space. Presentation concept
News

novaCapta mit Teams-Workshop auf Tagung

Einen intensiven Deep-Dive in gelungene Zusammenarbeit mit Microsoft Teams veranstaltet die novaCapta am 18. und 19. November auf der Tagung „Interne Kommunikation“ in Berlin

novaCapta
Event
Teamwork Excel Berichte Power BI
Event

Workshop: Paginated Reports in a Day

Paginierte Berichte in Power BI ermöglichen es, pixelgenaue Berichte zu erstellen, die für den Druck und die gemeinsame Nutzung optimiert sind. Bei unserem kostenlosen eintägigen Workshop lernen Sie, Berichte in Power BI zu erstellen, zu veröffentlichen und zu verteilen.