PROGRAMMIERUNG
Kommunikation zwischen Teilsystemen.
Vom Monolithen zu Microservices
Haben Sie Fragen?
Schnittstelle – auch Softwareschnittstelle, softwareseitige Datenschnittstelle oder Interface – bezeichnet eine Stelle innerhalb einer Softwarearchitektur, an der unterschiedliche Systeme, Prozesse oder Komponenten miteinander kommunizieren. Dabei ist es unerheblich, was jeweils im Hintergrund passiert. Über die Schnittstellenprogrammierung „versteht“ man sich. Hier wird Kommunikation im System ermöglicht und geregelt.
Datenorientierte Schnittstellen dienen dabei lediglich als Übermittler. Schnittstellen wie beispielsweise Druckertreiber werden hingegen als „funktionale Einheiten“ bezeichnet. Sie übernehmen im Gegensatz zu den datenorientierten Schnittstellen eine bestimmte Funktionalität.
Bis vor einiger Zeit herrschten monolithische Softwarestrukturen vor. Komplexe Systeme wurden (und werden) zu einem großen Ganzen miteinander verbunden. Eine monolithische Anwendung besteht meist aus drei Teilen – einer serverseitigen Anwendung, einer Datenbank und einem User-Interface.
Eine monolithische Architektur hat durchaus ihre Vorteile, beispielsweise für kleinere Anwendungen. Sie ist jedoch oft sehr komplex, für Entwickler schwieriger zu verstehen und wenig flexibel. Die Wartung ist aufwändig und Änderungen in einem Teilbereich betreffen die komplette Softwarearchitektur.
In den letzten Jahren entwickelte sich ein neuer Trend in der Softwarearchitektur (manche mögen es auch als Hype bezeichnen) – die Microservices. “Micro” bezieht sich dabei nicht unbedingt auf den Code oder die Komplexität, sondern vielmehr auf die Aufgabe, den Service.
Die Microservice-Architektur zerlegt eine große Anwendung in viele kleinerer Komponenten. Diese sind weitgehend von einander entkoppelt und kommunizieren miteinander über Schnittstellen.
Dieser modulare Aufbau ermöglicht große Flexibilität, auch in Bezug auf zukünftige Veränderungen und Anforderungen. Er bringt aber auch Herausforderungen mit sich, z. B. im Hinblick auf Integration und Überwachung. Hier kann der Einsatz einer Container-Technologie wie
Docker
sinnvoll sein.
Viele Aktivitäten in einem Unternehmen sind von der Interaktion verschiedenster IT-Systeme und Anwendungen bestimmt. Schnittstellenprogrammierungen ermöglichen es, bestehende Softwareanwendungen oder Standardsoftware um fehlende Funktionen zu erweitern. Klassische erweiternde Module sind Anwendungen aus den Bereichen ERP (Enterprise Resource Planning), CMS (Content Managementsystem), DMS (Dokumenten-Management-System) oder Output-Management.
Manchmal gibt es nach außen hin eine einheitliche Oberfläche, beispielsweise bei einem
Portal
für ein Fachteam. Neben den Prozessen, die dort im Hintergrund laufen, kann es sein, dass für gewisse zusätzliche Funktionalitäten Tools eingebunden werden müssen. Genau diese Integration von Tools ist eine der Aufgaben, der wir uns innerhalb von Projekten widmen.
Sie nutzen im Bereich Outputmanagement z.B.
M/TEXT
für die Dokumentenerstellung oder
als ECM-Lösung?
Wir integrieren Tools dieser Art so für Sie, dass Sie es eigentlich gar nicht merken. Für den Nutzer ist es nicht notwendig, mehrere Anwendungen zu starten und hin-und herzuwechseln. Alle Funktionalitäten stellen eine Einheit dar und der Nutzer behält den Überblick.
Gemeinsam mit Ihnen integrieren wir die Tools in Ihre Softwarelösungen, die die für Sie notwendigen Zusatzfunktionalitäten beinhalten.
Machen Sie aus Ihren Softwareanwendungen eine runde Sache. Wir unterstützen Sie gerne!
Sprechen Sie uns an!
Ernsting’s familiy GmbH & Co. KG
PROZESSOPTIMIERUNG MIT EASY2ORDER
Prozessoptimierung im Bereich Beschaffung mithilfe eines Desktop-Client und Programmierung der Schnittstelle für eine SAP-Anbindung.
Zur Projektstory