LEISTUNGEN | Software Engineering

Planung und Entwicklung individueller Software

Klassische Enterprise-Lösungen auf dem Application-Server, SOA-Architekturen oder Containerized Solutions als Microservices - sie alle haben besondere Eigenschaften im Einsatz bei Unternehmen.

Neben state-of-the-art Technologien wird dabei auf Zuverlässigkeit, Sicherheit und Effizienz gesetzt. So werden standardisierte Konzepte für ihren individuellen Projektrahmen gefunden .

Lizenz_ Adobe Stock #311320661-Programmer working On Computer In IT Office Typing Data Coding in software and checking code on computer screen, Autor: Pichsakul

Drucken

  • Softwarebasis für die IT-Landschaft   

    Lizenz Adobe Stock 311294635 - Business Intelligence icons set. Vector illustration. Editable stroke., Von: lovemask

    Die Umsetzung einer digitale Transformation oder die Schaffung von modernen wettbewerbsfähigen IT-Systemen benötigt leistungsfähige Software und effiziente Konzepte. Mit JAVA Technologien werden wichtige Grundlagen geschaffen, diese schnell und kostengünstig umzusetzen. Frameworks und Tools bieten herausragende Funktionen um 'mit wenigen Klicks' besondere Erfolge zu erzielen.

    Von der Analyse über den Entwurf zum agil programmierten System - hierzu wird methodisches Wissen, ein Überblick über den gesamten Software-Lifecycle und Know-how zu etablierten Standards benötigt. Und natürlich die Kompetenz zu Frameworks wie Spring, Containerized Applications unter Docker oder Lifeycle-Tools wie Jenkins oder dem Management mit Kubernetes. 

    Aber auch klassische Systemlösungen auf dem Java-Application Server mit JEE oder Serverless-Applications haben ihre Berechtigung und erfordern weiterhin das Wissen um zukunftsfähige Konzepte, Lösungen und betriebliche Aspekte.    

  • Services und Architektur auf fachlicher Basis

    Lizenz Adobe Stock 311294635 - Business Intelligence icons set. Vector illustration. Editable stroke., Von: lovemask

    Unternehmen unterhalten vielfältigste Schnittstellen für den Datenaustausch mit ihren Geschäftspartnern oder Kunden. Ihre Softwarelandschaft ist über Webservices und Schnittstellen miteinander vernetzt. Und auch die eingesetzten Softwareapplikationen tragen intern Schnittstellen (Interfaces), um Daten (i.d.R. Objekte) auszutauschen.

    Mit Domain-driven Design (DDD) wird ein Konzept und Pattern etabliert, das alle diese Schnittstellen in einen zusammenhängenden fachlichen Kontext setzt. Es besitzt Namenskonventionen, strukturiert die Daten in sog. Entitäten und sorgt so für herausragende Übersicht, Einfachheit und Standardisierung. Ein Programmierer muss nicht erst sein Interface oder Objekt 'erfinden', nein er bekommt es mit DDD vorgegeben. Und ein Geschäftspartner erhält für seinen Webservice ein Kommunikationshandbuch (KHB), dass intern wie extern verstanden wird. IT kann so einfach sein...

    DDD kann in ihrer IT-Architektur für den Entwurf Microservice-basierter Lösungen, Webservices oder auch als Grundlage der 'inneren Micro-Architektur' für alle Interfaces genutzt werden. Fachliche Daten-Domainen bilden Entitäten und Attribut-Gruppen. Fachlichkeit wird in eine überaus saubere und nachvollziehbare Daten- und damit auch Softwarearchitektur überführt.

  • Methoden zur Performance-Steigerung

    Lizenz Adobe Stock 311294635 - Business Intelligence icons set. Vector illustration. Editable stroke., Von: lovemask

    Der einfachste Weg zu mehr Kundenzufriedenheit besteht darin, die eigenen IT-Systeme schneller zu machen. Der einfachste Weg zu einem günstigerem Betrieb liegt darin, die eigenen Systeme ressourcen-schonender zu machen. Wir unterscheiden hier von einem "IT-Benchmarking", welches ihre (IT-)Organisation selbst bewertet, wir schauen auf die Technik.

    Ein starkes Schwert zur Optimierung liegt daher zunächst im Benchmarking, gefolgt von Optimierungsansätzen in den Lösungen. Dabei unterstützen moderne Tools wie Apache JMeter oder AppDynamics die Messungen. Aber auch spezifische Messpunkte oder ein Performance-Debugging müssen den betrieblichen Lauf einer Softwarelösung bewertbar machen und so Erkenntnisse zu deren Ressourcenverbrauch und Optimierungspotential ermöglichen.

  • Applikationen nach Aufgaben strukturieren 

    Lizenz Adobe Stock 311294635 - Business Intelligence icons set. Vector illustration. Editable stroke., Von: lovemask

    Die Um- oder Neugestaltung einer Anwendungslandschaft fordert heute eine flexible und in technischer wie funktionaler Weise entkoppelte Servicelandschaft, entwickelt nach nach modernen, agilen Methoden und umgesetzt mit verschiedenartigsten Produkten.

    Mit Microservices wird ein Architektur-Entwurfsmuster (Pattern) geliefert, das lose gekoppelte Anwendungen konzipiert um ehemals monolitische Anwendungen in Einzelservices zu zerteilen. Der Gewinn liegt in betrieblichen Aspekten wie Skalierung und Wartung als auch in entwicklungstechnischen Aspekten wie freier Softwarekontrolle, einfachen Modifikation in den Anwendungsteilen. Man wird bei zukunftigen Modifikationen - so die Erwartung - unabhängig von Benutzern und Zeitpunkt. Ein Nachteil liegt in einem möglichen immensen Kontrollverlust und hohen Aufwänden bei Strukturfehlern in der Planung und dem Design der Gesamtlösung und seiner Kommunikation.

    Microservices sind nicht automatisch Docker-Lösungen, doch docker und kubernetes sind eine ideale Grundlagen für containerized solutions. Microservices kommunizeren über (RESTful) Webservices, das Paradigma lässt sich für einen bounded context nutzen und daher idealerweise mit einem Domain-driven Design kombinieren. Auch agile Methodik wie  continuous integration oder continuous delivery werden perfekt unterstützt.

  • Agile Methodik und Testautomatisierung

    Lizenz Adobe Stock 311294635 - Business Intelligence icons set. Vector illustration. Editable stroke., Von: lovemask

    Continuous integration kann klassische V-Modelle unterstützen oder in agilen Unternehmens-Prozessen der Schlüssel zu einer Qualitätssteigerung werden.

    Moderne Tools zur Testautomatisierung gestalten den Prozess der Einführung von Neuerungen sicher.