Leute sitzen auf der Couch. Spass, Spass, Spass.

Die Technologiebasis der ti&m channel suite

User Interface

Kunden-Frontend

ti&m channel suite Business Module sind einerseits über Web Technologien, aber auch nativ auf mobilen Endgeräten abrufbar. Dies wird durch die REST-basierte Service- und Sicherheitsarchitektur ermöglicht. Die einzelnen out-of-the-box Module sind dabei zum Beispiel in ein Portal oder eine Webseite einbettbar, können aber auch als sogenannte Single Page Applications (SPA) betrieben werden. Die Einbettung in ein existierendes Web Content Management System beinhaltet weitere wichtige Integrations-Optionen, welche der ti&m channel suite zugrunde liegen. Mittels CDK können auch eigene Module entwickelt werden, welche sich nahtlos in die ti&m channel suite Frontend-Landschaft integrieren lassen. Das Frontend wird, sofern dies gewünscht wird, an die Bedürfnisse des Kunden angepasst.

Business Workbench / Cockpit

ti&m channel suite Business Module digitalisieren die Kundenbeziehung ganzheitlich. Im Zentrum steht dabei die Omni-Channel Fähigkeit. In der Kundenbeziehung sind selbstverständlich auch die eigene Unternehmung respektive die eigenen Mitarbeiter involviert. Um den Kunden angemessen zu beraten, Dokumente auszutauschen oder einen Chat entgegen zu nehmen, wurde die Business Workbench und das Cockpit ins Leben gerufen. Die Business Workbench stellt dabei die fachliche Sicht auf die Tätigkeiten in der Digitalisierung der Kundenbeziehung dar. Das Cockpit hat einen technischen Charakter, denn dort wird die Plattform administriert.

Eingesetzte Technologien

  • Web Content Management Systeme (Auszug): Magnolia, Liferay, Adobe Experience Manager
  • Runtime Container: Apache HTTPD, NGINX
  • Web Technologien (Auszug): AngularJS, Bootstrap, CSS, Webpack Eine Frontend Komponente auf Basis der ti&m channel suite muss nicht zwingend mit dem obengenannten Technologie Stack implementiert werden. Die REST-basierte Service Architektur lässt auch andere Technologien in diesem Umfeld zu.

Plattform – Micro Services

Plattform Komponenten

Die ti&m channel suite basiert auf einer Micro Service Architektur. Die wichtigsten Komponenten sind dabei der API Gateway bzw. Security Proxy, die Service Registry sowie die Sicherheitsaspekte der Plattform. Der API Gateway / Security Proxy stellt den zentralen Eingangskanal zu den Micro Services sicher. Dabei werden die REST-basierten Endpunkte in den jeweiligen Sicherheitszonen terminiert. Der API Gateway löst den jeweiligen Endpunkt der Services via Service Registry auf und leitet die Anfrage weiter. Die Service Registry verwaltet die jeweiligen Services, welche sich beim Starten in der Service Registry registrieren. Failover und Loadbalancing sind weitere Funktionen der Service Registry. Die Identitäten der jeweiligen Service Konsumenten werden mittels Sicherheitstoken an den Service weitergeleitet. Die Authentisierung eines Requests passiert auf der Sicherheitsinfrastruktur. Die Autorisierung wird per Konfiguration über den Service durchgeführt.

System Module und Bibliotheken

Die ti&m channel suite beinhaltet neben den Business Modulen eine Fülle von Systemmodulen und -bibliotheken. Die auf Spring Boot basierten Micro Services werden durch die ti&m channel suite Micro Services ergänzt. Der Einsatz der ti&m channel suite Bibliotheken ermöglicht es zudem, Software schneller und standardisierter umzusetzen. System Module wie zum Beispiel Notifications, User Services oder das Cockpit unterstützen den Entwickler in seiner täglichen Arbeit. Das Business Process Management Modul ermöglicht es, Prozesse End-to-End zu digitalisieren. Bewährte Modellierungsstandards wie zum Beispiel BPMN oder CMMN werden eingesetzt, um die Prozesse zu entwerfen und zur Laufzeit auszuführen. Regelbasierte Systeme können auf Basis DMN modelliert und in den Software Komponenten verwendet werden. Bibliotheken erleichtern das tägliche Leben des Entwicklers in verschiedenen Bereichen. Der Funktionsumfang reicht von sicherheitsbezogenen Werkzeugen, um die Micro Services rollenbasiert zu schützen, und Service Registry Aufrufen bis hin zur einfachen Logging Unterstützung.

Eingesetzte Technologien

API Gateway (Service / Security Proxy) - Runtime Container: Apache Tomcat - Java Technologie Stack (Auszug): Spring Boot, Spring Core, Spring Security Service Registry - Runtime Container: Apache Tomcat - Java Technologie Stack (Auszug): Spring Boot, Spring Core, Spring Cloud, Eureka Micro Services - Runtime Container: Apache Tomcat - Java Technologie Stack (Auszug): Spring Boot, Spring Core, Spring Web MVC, Spring Cloud, Spring Data, Apache Shiro, Dozer, Hibernate - Datenbanken: Oracle, PostgreSQL Einen Micro Service auf Basis der ti&m channel suite muss nicht zwingend mit dem genannten Technologie Stack implementiert werden. Der Charme einer Micro Service Architektur besteht darin, dass Technologien auch gemischt werden können. Dazu gehören zum Beispiel Python oder .NET Services.

Plattform – Integration

Plattform Komponenten

Die ti&m channel suite unterteilt sich in zwei Bereiche: einerseits in Business-Services, andererseits in Integrations-Services (Adapter). Technologisch unterscheiden sich die beiden Servicetypen nicht – beide sind Micro Services, welche sich in der verteilten Service Registry registrieren und zugreifbar gemacht werden. Sämtliche sicherheitsrelevanten Funktionen werden ebenfalls identisch verwendet, um zum Beispiel eine Benutzeridentität bis ans Kernsystem übermitteln zu können. Business-Services verantworten die fachlichen Aspekte, während die Integrations-Services (Adapter) die Schnittstelle / Endpunkte zu den Umsystemen sicherstellen. Die sogenannten „Enterprise Integration Patterns“ werden durch Spring Integration oder Apache Camel umgesetzt. Eine Integrationsplattform wird aus verschiedenen Komponenten zu einer vereinten Plattform kombiniert. Zu diesen Komponenten gehören Middleware / Message Broker, Kommunikations- und Integrations-Frameworks, Business Process Management, Software Komponenten Frameworks, Message Exchange, Service Discovery und Service Engine.

Integrationsmodule und Services

Die ti&m channel suite Integrationsplattform besteht aus zwei Arten von Komponenten bzw. Integrationsmodulen: Die Laufzeit- und die Managementmodule. Die Laufzeitmodule setzen sich aus bereits bestehenden ti&m channel suite Komponenten, wie zum Beispiel der Service Registry, der API Gateway oder dem Service Repository, zusammen. Weiter werden Bibliotheken zur Laufzeit verwendet, welche unter anderem das Monitoring oder Logging unterstützen. Die Managementkomponenten bestehen hauptsächlich offline und dienen zur Verwaltung der Plattform. Das sind Module wie zum Beispiel die API und das Service Management, aber auch ein SLA Management, um eine End-to-End Sicht in Bezug auf die Verfügbarkeit von Services zu gewinnen.

Konzepte / Technologien

Middleware / Message Broker: Apache Kafka Kommunikations-Framework: Spring Web MVC Integrations-Framework: Spring Integration / Apache Camel Business Process Management: Camunda Komponenten-Framework: CDK – ti&m channel suite development kit Message Exchange: JSON / REST Service Discovery: ti&m channel suite Service Registry (Eureka) Service Engine: Spring Boot.

CDK – Channel Suite Development Kit

Plattform Komponenten

Das Channel Suite Development Kit (CDK) kombiniert verschiedene Technologien, um die Entwicklung von Software zu vereinfachen und zu standardisieren. Eines der grössten Probleme besteht dabei darin, dass sich Softwarekomponenten in einer produktiven Umgebung von einer Entwicklungsumgebung unterscheiden. Dazu gehören zum Beispiel unterschiedliche Installationen oder Betriebssysteme, schwierige Nachvollziehbarkeit von Fehlern und Clustering. Zudem sind in den meisten Fällen lange Deployment-Zyklen ein Fakt.

CDK adressiert diese Themen, indem einerseits auf eine Docker-basierte Entwicklungsinfrastruktur gesetzt wird. So kann sowohl die Entwicklung standardisiert, als auch (bei Bedarf) bis hin zur Produktion auf Basis von Docker deployed werden. Die Standardisierung bringt dahingehend zusätzliche Vorteile, so dass „teure“ Ramp-Up Zeiten für neue Software Engineers der Vergangenheit angehören.

Andererseits schreibt CDK keine Technologien vor. Es kann auf Basis des jeweiligen Software Projekts entschieden werden, welche Technologien eingesetzt und wie ein einzelnes Projekt aufgesetzt wird. Dieses sogenannte „Environment Plugin“ lässt sich durch den CDK Plugin Mechanismus soweit konfigurieren, dass jedes einzelne Projekt seine eigenen Richtlinien und Technologien resp. Umgebung konfigurieren kann.

Ein weiterer Bestandteil von CDK ist das „Generator Plugin“. Mit dem Generator werden mittels Scaffolding ganze Source Code Fragmente oder Projektstrukturen erzeugt. Typischerweise können so Projektmodule aufgesetzt und innerhalb dieser ganze Services, Entitäten, Controllers usw. erzeugt werden. Diese Generatoren können projektspezifisch definiert und eingebunden werden. Die ti&m channel suite besitzt zudem standardmässige Umgebungs- und Generator-Plugins.

Continuous Delivery

Softwareprojekte werden heutzutage immer komplexer. Vor allem im Bereich einer Micro Service Architektur werden unter Umständen mehrere hundert Softwarekomponenten in Services konsolidiert und auf einer Plattform deployed. Um Fehlerquellen zu eliminieren und innerhalb nützlicher Frist ganze Systeme vollumfänglich zu implementieren, ist die Automatisierung der Deployment Pipelines ein absolutes Muss. CDK unterstützt darum Build Prozesse, die durch CDK abstrahiert und in die Build Pipeline integriert werden können.

Technologien

CDK: GIT, Node.js, Docker
Jegliche Technologie/Software ist vorhanden, welche lokal benötigt wird, um die gewünschte Software zu entwickeln. Zum Beispiel Java, Maven und Gradle, aber auch die benötigte Entwicklungsumgebung wie zum Beispiel IntelliJ.

André Markwalder
Fragen? Kontaktieren Sie unseren Experten.

Rufen Sie uns an oder schreiben Sie eine Mail, unser Head of Product Engineering André Markwalder wird Sie gerne weiter beraten.