{{indexmenu_n>2}} ====== Erweiterte Features Liste ====== ===== Schnittstellen ===== Mannigfaltige Schnittstellen bilden die Grundlage der Integration und sind essentiell für die Transformation von einem Schnittstellentyp auf einen anderen. - alle strukturierten Dateitypen, z.,Bsp.: - XML - JSON - CSV((Einige generische Typen sind im eBiss Rollout enthalten.)) - UN/EDIFACT(( 23 Edifact Releases mit bis zu 19 Dokumenttypen bei den gängigsten Releases im eBiss Rollout enthalten.)) - ANSIX12((ASN, INVOIC, ORDERS, ORDERSKN im eBiss Rollout enthalten.)) - etc. - Datenbank-Integrationen - MS-SQL - MySQL - MariaDB - POSTGRESQL - DB2 - DB2 iSeries - Oracle - ODBC - REST API - SOAP API - COM Zum Abbilden dieser verschiedenen Typen bietet eBiss mit dem Modul [[programmierung:typbibliotheken:typeditor|]] ein sehr performantes Werkzeug an. ===== Repositorien ===== Die eBiss-[[prozessdefinition:repositorien:start|Repositorien]] beinhalten notwendige, grundlegende Einstellungen bzw. Komponenten zur Erkennung, zum Lesen/Schreiben und Kontainerisieren von Dokumenttypen. Im "eBiss Rollout StandardTemplates"-Verzeichnis befinden sich bereits drei wesentliche Repositorien, welche die wesentlichen EDIFACT-, sowie Hersteller- und Retailer-spezifischen MiddleWare-Typen beinhalten bzw. deklarieren. I.d.R. werden Typen nach Projekt/ Integration getrennt in Repositorien separat deklariert. Voraussetzung dafür sind die mit dem Typeditor erzeugten Plugins. eBiss-Repositorien können beliebig viel Entitätstypen beinhalten. Wie die Entitätstypen mit den verschiedenen Repositorienkomponenten verknüpft werden, ist aus dem [[prozessdefinition:repositorien:er|]] ersichtlich.\\ Es gibt: * **11**((z.Zt. der Schriftlegung)) [[prozessdefinition:repositorien:lesekomponenten:start|Lesekomponententypen]] * Es können **12((z.Zt. der Schriftlegung)) Zeichensatz-Kodierungen** voreingestellt, auf eine automatische Erkennung zurückgegriffen und weitere typspezifische Eigenschaften eingestellt werden. * **11**((z.Zt. der Schriftlegung)) [[prozessdefinition:repositorien:schreibkomponenten:start|Schreibkomponententypen]] * Die Schreibkomponente bietet **13((z.Zt. der Schriftlegung)) Zeichensatz-Kodierungen** und weitere typspezifische Eigenschaften an. * **8**((z.Zt. der Schriftlegung)) [[prozessdefinition:repositorien:kontainerisierer:start|Kontainerisierungstypen]] * Für die Generierung von Dateinamen und Betreff bietet die Kontainerisierungskomponente jeweils drei Möglichkeiten an. Der Geltungsbereich eines Kontainerisierers kann auf die **4((z.Zt. der Schriftlegung))** verschiedenen Einstellungen individuell per **Dokument**, per **Dokumenttyp**, per **Nachricht** oder per **Eingangsdatei** festgelegt werden. Je nach Kontainerisierungstyp kann mit den **23 Adresstypen** festgelegt werden, welche Adresse für die Interchange oder MapFrameDocumentSender/Recipient verwendet werden soll. * **17**((z.Zt. der Schriftlegung)) [[prozessdefinition:repositorien:analysator:start|Analysatorentypen]] * Analysatoren erlauben **14**((z.Zt. der Schriftlegung)) verschiedene Arten der Partneridentifikation. * **10**((z.Zt. der Schriftlegung)) [[prozessdefinition:repositorien:erkennungskomponenten:start|Erkennertypen]] * Es können **12((z.Zt. der Schriftlegung)) Zeichensatz-Kodierungen** voreingestellt, auf eine automatische Erkennung zurückgegriffen und weitere typspezifische Eigenschaften eingestellt werden. ===== Partner Management ===== Die logischen Geschäftsentitäten werden in eBiss in die zwei wesentlichen Lager unterschieden. Diese sind zum einen die Handelspartner und zum anderen die Systempartner((Dies können z.Bsp. verschiedene Brands sein.)). Gruppen von Handelspartnern mit gleichen Eigenschaften können innerhalb sog. Partnervorlagen zusammengefasst werden. Ein System- bzw. Handelspartner kann beliebige Kommunkationsadressen basierend auf **16((z.Zt. der Schriftlegung)) [[partnerverwaltung:kommunikation:adresseanlegen|Adresstypen]]** besitzen. Dazu kann die hierarchische Struktur eines Partners mit den Partnerlokationen abgebildet werden. Partnerlokationen können beliebige Variableninstanzen besitzen. Eine partnerspezifische Behandlung von Nachrichten erfolgt über die Verdrahtung von [[prozessdefinition:repositorien:entitaetstyp:start|Entitätstypen]], [[transformation:mappings:start|Mappings]], [[kommunikation:kanal:start|Kommunikationskanälen]], Kommunikationsadressen mithilfe der sog. Typsatzdefinitionen. Die Partnererkennung erfolgt über ein flexibles System, welches entweder auf Kommunikationsadressen beim Partner selbst oder bei der Lokation auf die TNr, GLN oder andere BackendIDs schaut. ===== Empfangende Kommunikation ===== ==== Empfangskanäle ==== **11((z.Zt. der Schriftlegung)) [[kommunikation:kanal:start#eingehende_kommunikationskanaele|Empfangskanäle]]** bieten ein rasche Anbindung von Standarddatenübertragunsprotokollen an. ==== Backend-Integrationen ==== Wenn eine Integration über Datenaustausch keine Option ist und eine **direkte Integration** angestrebt wird, dann kommen [[prozessdefinition:jobs:jobsteps:kommunikation:backend:backendobjectretrieverex|]] für eine Datenbankanbindung oder eigens entwickelte Jobobjekte zum Einsatz, um z.Bsp. REST- oder SOAP-APIs abzufragen. ===== Nachrichtenkörbe ===== Zur Organisation der Nachrichten bietet eBiss die beliebige Anlage von Nachrichtenkörben an, in welche die von extern vereinnahmten bzw. die von eBiss erzeugten Nachrichten abgelegt werden können. Nachrichten können aus diesen Nachrichtenkörben auch manuell gedebugged oder ins Filesystem gespeichert werden. Darüberhinaus können beliebige Dateien per Drag & Drop oder Copy & Paste in Nachrichtenkörbe bewegt werden. ===== Prozesse ===== Zur Abbildung und Automatisierung der mannigfaltigen EDI-Anforderungen bietet eBiss eine Vielzahl an sog. Job-Objekten an. Diese können durch kunden- oder projektspezifische eigene Objekte erweitert werden und in [[prozessdefinition:start|Prozessen]] eingesetzt werden. Hier sind alle nur denkbaren Konstellationen innerhalb einer Digitalisierung im B2B((Business to Business)), B2C((Business to Customer)) oder A2A((Application to Application))-Umfeld möglich. eBiss verfügt über **110((z.Zt. der Schriftlegung)) Job-Objekte**, mit denen die vielfältigsten Anforderungen gelöst werden können. Die offene Architektur von eBiss erlaubt es, projekt- bzw. kundenspezifische Komponenten zu erzeugen, um besondere Aufgaben zu lösen. Mit dem standardmäßig verfügbaren Job-Objekt [[prozessdefinition:jobs:jobsteps:allgemein:executeexternal|]] können beliebige externe Prozesse des OS ausgeführt werden. ===== Automatisierungen ===== eBiss bietet sechs unterschiedliche Möglichkeiten der [[prozessdefinition:automatisierungen:automatisierungen|]] an. Sehr häufig werden die Prozesse durch wiederkehrende Zeitereignisse angestoßen. Oft bietet sich auch das Horchen auf Veränderungen in einem Dateienverzeichnis an. Bei einer zeitgemäßen Integration kommen häufig sog. Port-EventListener zum Einsatz. ===== Variablen ===== Oft werden varibale Schaltungen benötigt, um [[howtos:businesslogic|Business Logik]] abzubilden. Dafür können in eBiss drei Typen von [[prozessdefinition:variablendefinition:start|Variablen]] frei definiert werden. - Variablen vom Typ **Flag** - Variablen vom Typ **Text** - Variablen vom Typ **Werteliste** Diese Variablen können in beliebiger Anzahl angelegt und auch in Unterknoten vererbt sowie für System- und/oder Handelspartner verfügbar gemacht werden. Durch einen Verwendungsnachweis ist es wiederum möglich zu sehen, wo Variablen instanziiert sind. Variablen können in Mappings oder Prozessen mit Hilfe der Mappingfunktionen abgefragt werden. ===== Transformationen ===== eBiss bietet im Editor für [[transformation:start|Transformationen]] schier unendliche Freiheiten. I.d.R. wird eine zweistufige Transformation genutzt. Im ersten Schritt werden Dokumenttypen von einem Quelltyp zu einem normalisierende **MiddleWare**-Typ und im zweiten Schritt von der MiddleWare in den gewünschten Zieltyp konvertiert. Dies ist kein zwingend notwendiges Vorgehen, bietet sich aber im normalen EDI-Geschäft an. Es gibt Konstellationen, in denen es sinnvoller ist, direkt vom Quelltyp in den Zieltyp zu mappen. Es gibt auch Konstellationen, in denen es sinnvoll ist, mehr als zwei Mappings in einer Reihe hintereinander anzuwenden. Die Möglichkeiten sind sehr vielfältig und können je nach aktuellem Bedürfnis gewählt werden. Es können sogar Mappings mit identischem Quell- und Zieltypen sinnvoll sein, z.B. um Typsätze zu verwenden oder in den Mappings Validierungen zu machen. Im StandardTemplates-Verzeichnis befinden sich bereits > **60((z.Zt. der Schriftlegung)) Mappings**, welche die gängigsten EDIFACT-Szenarien für D96a und D01b abdecken. Mit dem Modul [[programmierung:typbibliotheken:typeditor|]] können beliebige Schnittstellentpyen mit wenigen Mausklicks aus CSV, XML, XSD und Tabellen aus den unterstützten Datenbanksystemen abgeleitet werden. ==== Mappingfunktionen ==== eBiss verfügt über **174((z.Zt. der Schriftlegung)) EDI-spezifische [[transformation:mappings:funktionen:start|Mappingfunktionen]]**. Diese "hauseigenen" Funktionen ergänzen die ohnehin schon systembedingt vorhandenen XPATH-Funktionen. Mappingfunktionen können nicht nur in Mappings, sonderen auch in Job-Objekten zur Anwendung kommen, welche eine XPATH-Expression als Eigenschaft anbieten. Mit der standardmäßig verfügbaren Mappingfunktion [[transformation:mappings:funktionen:allgemein:executeexternal|]] können beliebige externe Prozesse des OS ausgeführt werden. Praktisch ist auch die Mappingfunktion [[transformation:mappings:funktionen:allgemein:sendmail|SendMail()]], die es ermöglicht, aus dem Transformstionskontext beliebige Nachrichten für informative Zwecke zu erzeugen. ==== Mappings ==== Die eBiss-Mappings sind mit dem [[transformation:mappings:anlegen:start|Mapping Editor]] in allen möglichen Ausprägungen editierbar, und es können die unterschiedlichsten Konstrukte transformiert werden. Häufig werden hierarchische Strukturen umstrukturiert oder auf flache((Mit flachen Strukturen sind Objekte gemeint, welche in jedem Datensatz oder jeder Datenzeile die Informationen über Gruppenzugehörigkeit oder sogar hierarschiche Abhängigkeiten beinhalten.)) Strukturen transformiert, oder flache Strukturen werden über Gruppierungen zu hierarchischen Strukturen umgewandelt. Da eBiss alle Dokument-Entitäten in XML-Dokumenten im Speicher hält, kann mit der XPATH-Technologie alles aus einem Quellobjekt abgefragt und auch wieder in ein Zielobjekt addressiert bzw. geschrieben werden. Durch geschickte Anwendung der Mapping-Regelsätze, -Regeln und alternativen Selektoren bleiben die Mappings selbst bei komplexen Konstrukten überschaubar. Mit dem sog. [[prozessdefinition:jobs:jobsteps:allgemein:multientitytransformer|]] ist es möglich, über mehrere Dokumente gleichen Typs innerhalb einer Nachricht übergreifende Auswertungen bzw. Transformierungen zu tätigen. eBiss bietet darüber hinaus spezielle Mappingfunktionen an, welche es erlauben, Daten aus Umschlüsselungstabellen(([[transformation:mappings:funktionen:abfragefunktionen:lookup:start|]])), aus Excel(([[transformation:mappings:funktionen:excel:loadtab|]]))-Dateien oder aus anderen Dokumenten((Zu verwenden, wenn mehrere Dokumente im Mapping zusammengeführt werden müssen.)) der gleichen oder anderen Nachricht(en)(([[transformation:mappings:funktionen:allgemein:getmessage|]]))(([[en:transformation:mappings:funktionen:allgemein:getmessagebysubject|]])) zu extrahieren. ==== Umschlüsselungen ==== eBiss kann sämtliche Umschlüsselungen innerhalb der Transformierung von Dokumenten vornehmen. Dazu können beliebige [[transformation:lookuptables:start|Umschlüsselungstabellen]] angelegt werden. Diese können global oder partnerspezifisch verwendet werden. Die Fremdschlüssel können automatisch angelegt werden, um dann einmalig mit den Rückgabewerten verknüpft zu werden. Die [[transformation:werteprovider:start|Wertelisten]] und [[transformation:lookuptables:start|Umschlüsselungstabellen]] können per Copy&Paste aus Excel-Listen angelegt werden. [[transformation:werteprovider:start|Wertelisten]] können dazu auch über [[transformation:werteprovider:backendid|Backendprovider]] bedient werden. ==== Zähler ==== Mit beliebigen **[[transformation:zaehler:|Zählern]]** können fortlaufende Nummerierungen in den Transformierungen bewältigt werden. ===== Sendende Kommunikation ===== ==== Sendekanäle ==== eBiss verfügt über **9((z.Zt. der Schriftlegung)) [[kommunikation:kanal:start#ausgehende_kommunikationskanaele|Sendekanäle]]**, die "out of the box" verwendet werden können ==== Backend-Integrationen ==== Wenn eine Integration über Datenaustausch keine Option ist und eine **direkte Integration** angestrebt wird, dann kommen [[prozessdefinition:jobs:jobsteps:kommunikation:backend:backendobjecttransmitterex|]] für eine-Datenbankanbidung oder eigens entwickelte Job-Objekte zum Einsatz, um z.Bsp. REST- oder SOAP-APIs zu bedienen. ===== Module ===== Erweiterte Anforderungen werden mit den zusätzlich verfügbaren **17((z.Zt. der Schriftlegung)) [[ueberblick:ebiss_module:start|eBiss Modulen]]** bedient.