SCHNITTSTELLENPROGRAMMIERUNG

Kommunikation zwischen Teilsystemen.
Vom Monolithen zu Microservices

Haben Sie Fragen?

SCHNITTSTELLEN-
PROGRAMMIERUNG

Kommunikation zwischen Teilsystemen.
Vom Monolithen zu Microservices

Haben Sie Fragen?

SCHNITTSTELLENPROGRAMMIERUNG - WOZU?

SCHNITTSTELLEN-
PROGRAMMIERUNG - WOZU?

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 Schnitt­stellen. 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. 

VON MONOLITHEN ZU MICROSERVICES

TOOLINTEGRATION

Viele Aktivitäten in einem Unternehmen sind von der Interaktion verschiedenster IT-Systeme und Anwendungen bestimmt. Schnittstellenprogrammierungen ermöglichen es, bestehende Software­anwendungen oder Standard­software 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 d.3 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 Software­lösungen, die die für Sie notwendigen Zusatz­funktionali­täten beinhalten. 

Machen Sie aus Ihren Softwareanwendungen eine runde Sache. Wir unterstützen Sie gerne!

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.