Platforms & Experiences

Backend Development

Moderne Software-Architektur für Ihr Backend

Es gibt Situationen, bei denen der Einsatz von Produkten wie ein CMS- oder E-Commerce-System nicht sinnvoll ist. Das ist in der Regel dann der Fall, wenn es um den Ausbau spezieller USPs geht. Die Produkte, die wir einsetzen, können zwar sehr gut customized werden, aber das ist in speziellen Fällen nicht wirtschaftlich. Die Entscheidung für oder gegen die Individualentwicklung hängt im Wesentlichen von der Anzahl und Tiefe der notwendigen Anpassungen ab.

Joachim Weiß
Ihr Ansprechpartner
Joachim Weiß
Director Sales

Individuallösungen leiden unter dem Ruf teuer und aufwendig zu sein; da neben der reinen Entwicklung bereits vorhandener Features, welche oftmals in marktüblichen Produkten bereits vorhanden sind, zusätzlich die Wartung und der Support mit berücksichtigt werden müssen.

Den Kosten und dem Aufwand steht aber – richtig ausgeführt – ein hoher ROI entgegen. Unseren Kunden gelingt es damit besser und nachhaltiger, ihre bereits vorhandenen spezifischen Stärken und Wettbewerbsvorteile noch einmal durch eine perfekte Abbildung in der digitalen Welt auszubauen. Im Rahmen unserer Beratung prüfen wir stets die Wirtschaftlichkeit gegenüber einer Produktanpassung.

Unsere Leistung: Erfolgreiche Projekte mit neuen Technologien

Die wesentlichen Erfolgsfaktoren hierbei sind das richtige Vorgehen und die Erfahrung mit solchen Projekten. Agile Softwareentwicklung und unsere breite Erfahrung mit aktuellen Frameworks und Technologien stellen sicher, dass unsere Kunden die Projekte erfolgreich durchführen.

Ein immer häufiger auftretender Fall der Individualentwicklung ist die Vereinigung mehrerer Systeme (Best of Breed). Die Produkte unserer Partner decken in der Regel viele der Bedürfnisse unserer Kunden ab. Allerdings sind Wettbewerbsdruck und Notwendigkeit der Differenzierung vom Wettbewerb so groß, dass ein einzelnes Produkt zu kurz greift. Am Beispiel von Content-driven E-Commerce (Content Commerce) wird das sehr gut deutlich. Es gibt für beide Disziplinen jeweils gut geeignete Produkte – CMS für Content einerseits und Shops für Commerce andererseits. Um nun die Stärken wie beispielsweise die Wirtschaftlichkeit und Geschwindigkeit zu nutzen, haben wir uns darauf spezialisiert, diese Produkte miteinander zu verschmelzen. In enger Abstimmung mit den Herstellern entwickeln wir seit Jahren Komponenten und Module, um diese Systeme zu verbinden und die Stärken aus beiden Welten zu vereinen. Ein plakatives Beispiel für den oben genannten Fall ist beispielsweise eine E-Commerce-Search-Engine, die sich aus Inhalten von mehreren Systemen bedient. So garantieren wir bestmögliche User Experience für die Kunden unserer Kunden.

Unsere Tools: Automatisierung durch Containertechnologien

Wir kombinieren Systeme und Frameworks stets mit modernen Software-Architekturen. Hierbei werden Daten über einen Enterprise Service Bus entkoppelt integriert (bspw. durch Mule oder Camel in Kombination mit ActiveMQ), Daten über RESTful Webservice für das Frontend bereitgestellt und eine Volltextsuche mit allen Vorteilen über ElasticSearch gewährleistet.

Die moderne Vorgehensweise zur Erstellung von Microservices ist uns durch unsere langjährige Erfahrung mit modularer Software schnell in Fleisch und Blut übergegangen. Damit diese Services schnell live gebracht werden können, bedarf es einem hohen Grad an Automatisierung. Hierzu verwenden wir Containertechnologien wie Docker in Verbindung mit Jenkins. Tools zum Provisionieren von Servern wie Ansible sind unseren Entwicklern schon beim Aufsetzen der Entwicklungsumgebung bekannt und werden an sehr vielen Stellen eingesetzt.

Artefakte automatisiert in Produktion zu bringen erfordert eine hohe Softwarequalität. Diese gewährleisten wir durch eine sehr hohe Testabdeckung. Wir erstellen neben Unittests und Integrationstests auch frühzeitig Performancetests (jMeter oder Gatling), um das System schon frühzeitig gegen die nicht funktionalen Anforderungen zu testen. Regressionen fangen wir mit sinnvoll erstellen Webtests ab. Erst durch dieses vielschichtige Sicherheitsnetz wird ein automatisiertes Deployment sinnvoll und professionell möglich.

Microservice-Systeme müssen auch überwacht werden und resilient umgesetzt sein. Das heißt: Falls einer der Services ausfällt, muss das System für den Kunden funktionsfähig bleiben, bis der ausgefallenen Service – meist automatisiert – wiederhergestellt ist. Hierbei sind Frameworks wie der Netflix-Stack bei den diva-e Projekten im Einsatz.

Viele unserer Projekte werden aber auch direkt in der Cloud betrieben. Je nach Projekt werden dann proprietäre Services wie Amazon Webservices oder Microsoft Azure Cloud Services eingesetzt.

Bei all diesen Anforderungen setzen wir häufig das sehr flexible und verbreitete Spring Framework ein. Unsere Entwickler beherrschen auch den Umgang mit Java-Enterprise-Umgebungen, jedoch treffen wir diese Technologien immer weniger an und werden immer mehr durch leichtgewichtige Microservices ersetzt.

Top Kunden