THE TECHNOLOGY BASE OF THE TI&M CHANNEL SUITE
Customer front end
ti&m channel suite business modules can be accessed via web technologies as well as natively on mobile devices. This is made possible by the REST-based service and security architecture. The individual out-of-the-box modules can be embedded in a portal or a website, for example, but can also be operated as so-called Single Page Applications (SPA). The embedding in an existing Web Content Management System contains further important integration options which form the basis of the ti&m channel suite. CDK can also be used to develop your own modules, which can be seamlessly integrated into the ti&m channel suite frontend landscape. If desired, the frontend can be adapted to the needs of the customer.
Business Workbench / Cockpit
ti&m channel suite Business Modules digitize the customer relationship holistically. The focus is on the Omni-Channel capability. Of course, your own company or employees are also involved in the customer relationship. The Business Workbench and Cockpit were created to provide customers with appropriate advice, exchange documents or receive a chat. The Business Workbench represents the professional view on the activities in the digitalization of the customer relationship. The cockpit has a technical character because the platform is administered there.
Web Content Management Systems (excerpt): Magnolia, Liferay, Adobe Experience Manager
Runtime Container: Apache HTTPD, NGINX
Web technologies (excerpt): AngularJS, Bootstrap, CSS, Webpack A frontend component based on the ti&m channel suite does not necessarily have to be implemented with the above mentioned technology stack. The REST-based service architecture also allows other technologies in this environment.
Platform - Micro Services
The ti&m channel suite is based on a micro service architecture. The most important components are the API gateway or security proxy, the service registry and the security aspects of the platform. The API Gateway / Security Proxy ensures the central input channel to the Micro Services. The REST-based endpoints are terminated in the respective security zones. The API Gateway resolves the respective endpoint of the services via the Service Registry and forwards the request. The Service Registry manages the respective services, which are registered in the Service Registry when they are started. Failover and load balancing are further functions of the Service Registry. The identities of the respective service consumers are forwarded to the service using security tokens. The authentication of a request takes place on the security infrastructure. Authorization is performed by configuration via the service.
System modules and libraries
In addition to the business modules, the ti&m channel suite contains a wealth of system modules and libraries. The Spring Boot based Micro Services are complemented by the ti&m channel suite Micro Services. The use of the ti&m channel suite libraries also makes it possible to implement software faster and more standardized. System modules such as notifications, user services or the cockpit support the developer in his daily work. The Business Process Management module makes it possible to digitalize processes end-to-end. Proven modeling standards such as BPMN or CMMN are used to design the processes and execute them at runtime. Rule-based systems can be modeled based on DMN and used in the software components. Libraries facilitate the daily life of the developer in different areas. The functional scope ranges from security-related tools to protect the Micro Services role-based, and service registry calls to simple logging support.
API Gateway (Service / Security Proxy) - Runtime Container: Apache Tomcat - Java Technology Stack (excerpt): Spring Boot, Spring Core, Spring Security Service Registry - Runtime Container: Apache Tomcat - Java Technology Stack (excerpt): Spring Boot, Spring Core, Spring Cloud, Eureka Micro Services - Runtime Container: Apache Tomcat - Java Technology Stack (excerpt): Spring Boot, Spring Core, Spring Web MVC, Spring Cloud, Spring Data, Apache Shiro, Dozer, Hibernate - Databases: Oracle, PostgreSQL A Micro Service based on the ti&m channel suite does not necessarily have to be implemented with the mentioned technology stack. The charm of a micro service architecture lies in the fact that technologies can also be mixed. This includes for example Python or .NET Services.
The ti&m channel suite is divided into two areas: business services and integration services (adapters). Technologically, the two service types do not differ - both are Micro Services, which register in the distributed Service Registry and are made accessible. All security-relevant functions are also used identically, for example to transmit a user identity to the core system. Business services are responsible for the technical aspects, while integration services (adapters) ensure the interface/endpoints to the surrounding systems. The so-called "Enterprise Integration Patterns" are implemented by Spring Integration or Apache Camel. An integration platform is a combination of various components to form a unified platform. These components include middleware / message broker, communication and integration frameworks, business process management, software component frameworks, message exchange, service discovery and service engine.
Integration Modules and Services
The ti&m channel suite integration platform consists of two types of components or integration modules: The runtime and the management modules. The runtime modules consist of already existing ti&m channel suite components, such as the service registry, the API gateway or the service repository. Furthermore, libraries are used at runtime that support monitoring or logging, among other things. The management components mainly exist offline and are used to manage the platform. These are modules such as the API and service management, but also SLA management to gain an end-to-end view of the availability of services.
Concepts / Technologies
Middleware / Message Broker: Apache Kafka Communication Framework: Spring Web MVC Integration Framework: Spring Integration / Apache Camel Business Process Management: Camunda Component 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
The Channel Suite Development Kit (CDK) combines various technologies to simplify and standardize software development. One of the biggest problems is that software components in a productive environment differ from a development environment. These include, for example, different installations or operating systems, difficult traceability of errors, and clustering. In addition, long deployment cycles are a fact in most cases.
CDK addresses these issues by relying on a docker-based development infrastructure. Thus, development can be standardized as well as deployed (if required) up to production based on Docker. Standardization brings additional advantages, so that "expensive" ramp-up times for new software engineers are a thing of the past.
On the other hand, CDK does not prescribe any technologies. On the basis of the respective software project, it can be decided which technologies will be used and how a single project will be set up. This so-called "environment plugin" can be configured through the CDK plugin mechanism so that each individual project can configure its own policies and technologies or environment.
Another component of CDK is the "Generator Plugin". With the generator, entire source code fragments or project structures are created by means of scaffolding. Typically, project modules can be set up in this way and whole services, entities, controllers, etc. can be generated within these. These generators can be defined and integrated project-specifically. The ti&m channel suite also has standard environment and generator plug-ins.
Software projects are becoming increasingly complex these days. Especially in a micro service architecture, several hundred software components may be consolidated into services and deployed on one platform. In order to eliminate sources of error and fully implement entire systems within a useful period of time, the automation of the deployment pipelines is an absolute must. CDK therefore supports build processes that can be abstracted by CDK and integrated into the build pipeline.
CDK: GIT, Node.js, Docker
Any technology/software is available that is needed locally to develop the desired software. For example Java, Maven and Gradle, but also the required development environment like IntelliJ.