# Conzept 16

conzept 16 ist ein Softwareentwicklungssystem mit einer eigenen, an C/C++ angelehnten Programmiersprache, einem Compiler, Debugger sowie Designwerkzeugen für Oberflächen und Druckausgaben. Neben der Entwicklungsumgebung integriert das Produkt ein relationales Datenbanksystem (RDBMS) und ermöglicht schnelles Prototyping sowie eine effiziente Softwareentwicklung per Rapid Application Development (RAD). Anbieter ist die Vectorsoft AG. Das Programm wurde ab 1979 zur Beschleunigung der Softwareentwicklung entwickelt. Es wird seit 1985 kommerziell vertrieben und erschien für verschiedene Betriebssystemplattformen (u. a. DOS, Windows, OS/2, Netware, Unix, Linux). Im Oktober 2009 erschien die Version 5.5 der Software. In der aktuellen Version werden verschiedene Windows-Plattformen und Linux (für den Datenbank-Server) unterstützt.
Die Software basiert auf einer Client-Server-Architektur und ist plattformunabhängig sowie skalierbar. Das System unterstützt verschiedene Datenbank-Clients, wie beispielsweise Windows-Clients oder ODBC-Treiber und ist damit vielseitig einsetzbar. Zudem bieten die mit dem Programmpaket entwickelten Applikationen mehrere Applikationsschnittstellen, wie das Component Object Model (COM) und die Möglichkeit externe DLLs (Dynamic Link Library) einzubinden, sodass eine umfassende Kommunikation mit der lokalen Software-Umgebung ermöglicht wird.

## Philosophie

Die Software integriert alle Werkzeuge und Funktionen, die für das Entwickeln von Applikationen im Bereich Datenbankanwendungen erforderlich sind. Dabei verschmelzen das Datenbanksystem, die Entwicklungsumgebung und die Anwenderoberfläche völlig miteinander. Datenstruktur, Oberfläche und Quellcode lassen sich in einem gemeinsamen Designer definieren. Daher können Datenfelder einfach per Drag & Drop sowohl in der Oberfläche als auch im Quellcode platziert werden. Durch die Verschmelzung können Datenfelder jederzeit wie globale Variablen angesprochen werden. Eine Schnittstellenschicht ist nicht notwendig. Zudem entfällt der damit einhergehende Overhead bei der Datenübertragung und Entwicklung.
Durch die Verknüpfung von Datenbank und Applikation müssen Entwickler, Administratoren und Anwender nur ein Produkt einsetzen und verwalten. Dies bezieht sich ebenso auf die Produktunterstützung seitens des Herstellers als auch auf die Pflege der Computer-Systeme.

## Schnittstellen

Die Software bietet datenbank- und applikationsseitig eine Vielzahl an Schnittstellen. Applikationsseitig zählen dazu ODBC, COM/DDE, OLE, DLL, TCP/IP-Sockets sowie E-Mail. und TAPI (Telephony Application Programming Interface). Diese können zur Einbettung des Datenbanksystems in eine bestehende IT-Infrastruktur genutzt werden.
Datenbankseitig bietet die Software mehrere Clients, die ein Conzept 16-Datenbankserver bedienen kann. Neben der selbst entwickelten Oberfläche können sich ODBC-Clients, PHP-Skripts sowie externe Applikationen über die Programmierschnittstelle des Programms mit einem Conzept 16-Server verbinden. Zudem verfügt das Produkt über eine integrierte Web-Lösung, die Web-Seiten direkt aus der Datenbank heraus erstellen kann, sowie über einen SOA-Client, der beispielsweise Job-Server Aufgaben in einer Datenbank durchführt oder auf Anfragen über ein TCP/IP basiertem Protokoll reagiert.
Mit Hilfe der softwareeigenen Druckertreiber lassen sich unternehmensweit Software-Drucker einrichten, die Druckaufträge an die prozedurale Verarbeitung einer Conzept 16-Applikation senden und wahlweise parallel an einen Hardware-Drucker weiterleiten.

## Installation und Datenbankadministration

Sämtliche Komponenten des Produkts lassen sich über eine automatische Routine installieren beziehungsweise einrichten. Eine Wartung der Datenbank ist nicht notwendig, da Diagnosen und Sicherungen automatisch und im laufenden Betrieb durchgeführt werden können. Im Fehlerfall wird der Administrator automatisch per E-Mail oder SMS benachrichtigt.

## Applikationswartung

Alle entwickelten Ressourcen werden direkt in der Datenbank abgelegt, wodurch sich für den Entwickler die externe Organisation von Ressourcen erübrigt. Durch dieses Verfahren wird der Datenbankserver des Produkts auch in die Lage versetzt, eine vollautomatische Aktualisierung einer Applikation auf Grundlage der Entwicklungsversion durchzuführen. Dazu wird auf Abruf eine entsprechende Aktualisierungsdatei aus der Original-Datenbank erzeugt.

## Sicherheit und Hochverfügbarkeit

Für Sicherheit und Hochverfügbarkeit der Datenbank sorgt eine Hot-Standby-Lösung. Das System besteht aus zwei autarken Rechnern, die beide als Datenbank-Server dienen und auf denen jeweils die originale Datenbank vorhanden ist. Abgeschlossene Transaktionen in der primären Datenbank werden automatisch über eine direkte Hochgeschwindigkeitsverbindung in die sekundäre übertragen. Dabei können die Rechner sowohl in der Hardware als auch im verwendeten Betriebssystem unterschiedlich konfiguriert sein. Kommt es zum Ausfall eines Rechners, übernimmt sofort der zweite Rechner die Aufgaben. Durch die Verknüpfung zwischen Datenbank und Applikation sind dabei nicht nur alle Daten, sondern auch das gesamte restliche Datenbank-System sofort wieder verfügbar und die Anwender können ohne Verzögerung weiterarbeiten. Durch dieses System können auch Wartungen am Server zu normalen Geschäftszeiten durchgeführt werden, ohne die Benutzer davon zu beeinflussen.

## Versionshistorie

| Jahr | Version | Wesentliche Neuerungen in der Version |
| 1985 | 1.0 | Markteinführung des Datenbanksystems. Das System stellt Funktionen zur Verwaltung von Tabelle und zur Konfiguration der Datenbank zur Verfügung. Eine Programmierung im heutigen Sinne ist nicht möglich. Das System ist unter Wang-PC und MS-DOS lauffähig. |
| 1986 | 1.3 | Erste netzwerkfähige Version. Unterstützung zusätzlicher Systeme: IBM-PC, Sirius I, Siemens PC-D und Microsoft Xenix 286. |
| 1989 | 2.4 | Neue Oberfläche mit textbasierter Fenstertechnik. Durch die Programmierung von Funktionen werden komplexe Verarbeitungen möglich. Die Betriebssysteme MS-DOS und OS/2 werden unterstützt. |
| 1991 | 3.2 | Alternativ zu der vorhandenen Menüführung werden CUA-Menüs eingeführt. Die erste 32-Bit Version wird freigegeben. |
| 1993 | 3.4 | Die erste Client-Server-Version. Die Clients sind unter den Systemen MS-DOS, OS/2 und Unix verfügbar, der Server läuft zunächst nur unter NetWare. Später folgen weitere Server-Versionen für OS/2 und Unix. |
| 1994 | 4.0 | Client- und Server-Version für Microsoft Windows. Später wird eine semigrafische Version (Oberfläche bleibt textbasiert, es können aber Windows-ähnliche Elemente erzeugt werden) released. |
| 1996 | 4.1 | Client mit vollständiger grafischer Oberfläche für Windows- und OS/2-Systeme. Serverseitig werden immer mehr Plattformen (DEC Alpha, Sun SPARC, IBM RS/6000, …) unterstützt. Der Zugriff über ODBC ist möglich. |
| 1999 | 4.2 | Vollständige Unterstützung der grafischen Oberfläche wird entfernt, da eine Unterstützung unterschiedlicher Systeme (Windows und OS/2, X-Windows war vorbereitet) nicht mehr benötigt wird. Eine neue Programmiersprache wird eingeführt. Die Web-Schnittstelle wird freigegeben. |
| 2000 | 4.3 | Die überarbeitete Unterstützung für grafische Oberflächen speziell zugeschnitten auf Windows wird eingeführt. Mit einem externen Debugger können auch die Funktionen, die von Schnittstellen aufgerufen werden, auf Fehler untersucht werden. |
| 2002 | 4.5 | Unterstützung der COM-Schnittstelle. Zugriff auf COM-Server werden möglich. |
| 2006 | 5.1 | Neue Prozess-Struktur des Servers. Unterstützung von 64-Bit-Architekturen von Windows und Linux-Betriebssystemen. Die PHP-Schnittstelle wird freigegeben. |
| 2008 | 5.3 | Ein neues Benutzersystem erlaubt das Anlegen eines nicht hierarchischen Benutzersystems. Die Administration des Servers kann über einen Webbrowser erfolgen. Selektionen können auf dem Server ausgeführt werden. |
| 2009 | 5.4 | Die Programmiersprache wird um Objekte erweitert, mit denen XML-, JSON- und PDF-Formate bearbeitet werden können. Der bis zu diesem Zeitpunkt vorhandene Service-Client wird durch einen SOA-Service ersetzt. Die Sprache wird um ein HTTP-Objekt zur einfachen Implementierung einer Kommunikation über HTTP erweitert. Es werden virtuelle Server unterstützt. |
| 2010 | 5.5. | Die Datenstruktur unterstützt temporäre Tabellen. Der Client wird um ein Modul zur Erzeugung von Geschäftsgrafiken erweitert. |
| 2011 | 5.6 | Speicherung von alphanumerischen Feldinhalten im Unicode-Zeichensatz. Unterstützung asynchroner Replikation von Datenbanken. Dateibasierter Zugriff auf Datenbankinhalte via virtuellem Laufwerk. Alle Komponenten unterstützen die Version 6 des IP-Protokolls IPv6. Neuer ODBC-Treiber mit 64-Bit-Variante. |
| 2012 | 5.7 | Unterstützung von Windows 8 und Windows Server 2012. Dynamische Erstellung von grafischen Steuerelementen. |
| 2015 | 5.8 | Unterstützung von Windows 10. |
| 2016 | 5.8.06 | Erweiterung der PDF-Schnittstelle zum Generieren von ZUGFeRD-konformen Dokumenten. |
| 2017 | 5.8.07 | Komprimierung von Daten auf Basis der Formate zlib, gzip und deflate. |
| 2019 | 5.8.12 | Erstellen von elektronischen Signaturen für papierlose Prozesse. |
| 2021 | 5.9.01 | Neues Objekt auf Basis des Chromium Embedded Framework (CEF) zur Darstellung von Webinhalten. Objekt zum Zeichnen geometrischer Formen wie zum Beispiel Quadrate, Rechtecke, Kreise und Linien. Unterstützung von ZUGFeRD 2.1 mit Profil XRechnung. |
| 2022 | 5.9.02 | Unterstützung von Windows 11 und Windows Server 2022. |
| 2023 | 5.9.03 | Unterstützung der Authentifizierungsmethode OAuth 2.0 beim Versand von E-Mails. Freigabe für den Einsatz auf Linux-Systemen mit Kernel 6.x. |
Quelle: