SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
TRANSCONNECT®
Webschnittstellen für die Cloud, IoT & Co.
Webschnittstellen für die Cloud, IoT & Co
Anforderungen
 HTTP(s) in Firewalls/Routern offen
 SOAP: zu kompliziert
 RESTful Webservices
 hohe Dynamik der Schnittstellen
 Simples Protokoll
Webschnittstellen für die Cloud, IoT & Co
Adapter
HTTP In
Dateisystem
„ENTERPRISE SERVICE BUS“ (ESB)
HTTP Out
 HTTP Eingangsadapter
 Empfang und Verarbeitung von Requests
 synchron / asynchron
 Senden von Antworten
 HTTP Ausgangsadapter
 Aufruf von URLs (RESTful Webservices)
 Verarbeitung der Antwort
 Dateisystemadapter (Verbindungsart HTTP)
 Download von Dateien
Webschnittstellen für die Cloud, IoT & Co
HTTP Ausgangsadapter
HTTP Out
Service (Basis-) URL
Webschnittstellen für die Cloud, IoT & Co
 Ohne
 BASIC-Authentication
 Fixer Token im HTTP-Header
<HEADER xmlns:tns="xyz">
<tns:Credentials>
<tns:Ticket>iuozug7zoih9023uid8</tns:Ticket>
</tns:Credentials>
</HEADER>
 Token von Login-Service im HTTP-Header
…
HTTP Ausgangsadapter | Authentisierung
Webschnittstellen für die Cloud, IoT & Co
HTTP Ausgangsadapter | Authentisierung über Login-Service
Webschnittstellen für die Cloud, IoT & Co
HTTP Ausgangsadapter | Aufruf mit XML Dokument
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<REQUEST OPERATION="POST" URL="order">
<PARAMS>
<PARAM NAME="Client">Dummy</PARAM>
</PARAMS>
<CONTENT CONTENT-TYPE="text/xml"><![CDATA[
<ORDER ID="4711">
<ITEM>
<POSITION>10</POSITION>
<MATNR>A12345</MATNR>
<AMOUNT>10</AMOUNT>
</ITEM>
</ORDER>
]]>
</CONTENT>
</REQUEST>
</ROOT>
Webschnittstellen für die Cloud, IoT & Co
HTTP Ausgangsadapter | Aufruf mit JSON Dokument
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<REQUEST OPERATION="POST" URL="order">
<PARAMS>
<PARAM NAME="Client">Dummy</PARAM>
</PARAMS>
<CONTENT CONTENT-TYPE="application/json"><![CDATA[
{
"ORDER": {
"ID": "4711",
"ITEM": {
"POSITION": "10",
"MATNR": "A12345",
"AMOUNT": "10"
}
}
}
]]></CONTENT>
</REQUEST>
</ROOT>
Webschnittstellen für die Cloud, IoT & Co
HTTP Ausgangsadapter | Antwort
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<RESPONSE OPERATION="POST" URL="order" CONTENT-TYPE="application/json">
<HEADER>…</HEADER>
<STATUS_CODE>200</STATUS_CODE>
<STATUS_TEXT>OK</STATUS_TEXT>
<CONTENT>&lt;JSON&gt;&lt;ORDER&gt;&lt;STATE&gt;BOOKED&lt;
/STATE&gt;&lt;ID&gt;4711&lt;/ID&gt;&lt;/ORDER&gt;&lt;/JSON&gt;</CONTENT>
</RESPONSE>
</ROOT>
Webschnittstellen für die Cloud, IoT & Co
HTTP Eingangsadapter
HTTP In
https://localhost:8443/transconnect/clientservices/rest-api
Webschnittstellen für die Cloud, IoT & Co
POST /transconnect/clientservices/rest-api/order?Client=Dummy HTTP/1.1
Authorization: Basic cmVzdHVzZXI6cmVzdHVzZXI=
Content-Length: 167
Content-Type: text/xml; Charset=UTF-8
<ORDER ID="4711">
<ITEM>
<POSITION>10</POSITION>
<MATNR>A12345</MATNR>
<AMOUNT>10</AMOUNT>
</ITEM>
</ORDER>
HTTP Eingangsadapter | HTTP-Request
Webschnittstellen für die Cloud, IoT & Co
POST /transconnect/clientservices/rest-api/order?Client=Dummy HTTP/1.1
Authorization: Basic cmVzdHVzZXI6cmVzdHVzZXI=
Content-Length: 167
Content-Type: application/json; Charset=UTF-8
{
"ORDER": {
"ID": "4711",
"ITEM": {
"POSITION": "10",
"MATNR": "A12345",
"AMOUNT": "10"
}
}
}
HTTP Eingangsadapter | HTTP-Request mit JSON
Webschnittstellen für die Cloud, IoT & Co
<?xml version="1.0" encoding="UTF-8"?>
<REQUEST URL="/transconnect/clientservices/rest-api/order" METHOD="POST"
CLIENTHOST="127.0.0.1" CLIENTADDRESS="127.0.0.1" PRINCIPAL="restuser"
ENCODING="UTF-8">
<HEADER>…</HEADER>
<BODY CONTENT-TYPE="text/xml">
<Client>Dummy</Client>
<ORDER ID="4711">
<ITEM>
<POSITION>10</POSITION>
<MATNR>A12345</MATNR>
<AMOUNT>10</AMOUNT>
</ITEM>
</ORDER>
</BODY>
</REQUEST>
HTTP Eingangsadapter | TransConnect Nachricht
Webschnittstellen für die Cloud, IoT & Co
<?xml version="1.0" encoding="UTF-8"?>
<REQUEST URL="/transconnect/clientservices/rest-api/order" METHOD="POST"
CLIENTHOST="127.0.0.1" CLIENTADDRESS="127.0.0.1" PRINCIPAL="restuser" ENCODING="UTF-8">
<HEADER>…</HEADER>
<BODY CONTENT-TYPE="text/xml">
<Client>Dummy</Client>
<JSON> <!– automatisch in XML konvertiert -->
<ORDER>
<ITEM>
<POSITION>10</POSITION>
<AMOUNT>10</AMOUNT>
<MATNR>A12345</MATNR>
</ITEM>
<ID>4711</ID>
</ORDER>
</JSON>
</BODY>
</REQUEST>
HTTP Eingangsadapter | TransConnect Nachricht
Webschnittstellen für die Cloud, IoT & Co
HTTP Eingangsadapter
TransConnect®
Mapping/
Transforming
HTTP
Eingangsadapter
TransConnect API
XML
XML
Request
Eingangs- und
Ausgangsmappings
HTTP
Response
Webschnittstellen für die Cloud, IoT & Co
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<tns:REQUEST xmlns:tns="com.sql-gmbh.de/TransConnect/2.2.0/clientservices">
<xsl:variable name="urlPart" select="substring-after( /REQUEST/@URL, 'rest-api/' )" />
<tns:processSync_Req>
<tns:message>
<type>web_<xsl:value-of select="$urlPart"/></type>
<creator><xsl:value-of select="//BODY//Client"/></creator>
<content>
<xsl:text disable-output-escaping="yes">&lt;![CDATA[</xsl:text>
<xsl:copy-of select="//BODY/*[name() != 'Client']"/>
<xsl:text disable-output-escaping="yes">]]&gt;</xsl:text>
</content>
</tns:message>
</tns:processSync_Req>
</tns:REQUEST>
</xsl:template>
</xsl:stylesheet>
HTTP Eingangsadapter | Eingangsmapping
Webschnittstellen für die Cloud, IoT & Co
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:java="http://xml.apache.org/xslt/java">
<xsl:output method="text" encoding="UTF-8" mediatype="text/xml" />
<xsl:template match="/">
<xsl:copy-of select="//content/*" />
</xsl:template>
</xsl:stylesheet>
HTTP Eingangsadapter | Ausgangsmapping für XML
Webschnittstellen für die Cloud, IoT & Co
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:java="http://xml.apache.org/xslt/java">
<xsl:output method="text" encoding="UTF-8" mediatype="application/json" />
<!-- we must create a Null-Transformer to convert from a node in the input document to XML text -->
<xsl:variable name="factory" select="java:javax.xml.transform.TransformerFactory.newInstance()" />
<xsl:variable name="transformer" select="java:newTransformer( $factory )" />
<xsl:variable name="buffer" select="java:java.io.ByteArrayOutputStream.new()" />
<xsl:template match="/">
<!-- convert XML node to XML text -->
<xsl:value-of select="java:transform( $transformer, java:javax.xml.transform.dom.DOMSource.new( //content/* ),
java:javax.xml.transform.stream.StreamResult.new( $buffer ) )" />
<xsl:variable name="xml" select="java:java.lang.String.new( java:toByteArray( $buffer ), 'UTF-8' )" />
<!-- convert XML text to JSON text -->
<xsl:value-of select="java:com.sqlag.tc.json.XML.toJSONObject( $xml )" />
</xsl:template>
</xsl:stylesheet>
HTTP Eingangsadapter | Ausgangsmapping für JSON
Dateisystem
Webschnittstellen für die Cloud, IoT & Co
Dateisystemausgangsadapter, Verbindungstyp HTTP(s)
Service (Basis-) URL
http://localhost:8080/service
Webschnittstellen für die Cloud, IoT & Co
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<FILE NAME="WSClientInterface?wsdl" PATH="services">
<XML />
</FILE>
</ROOT>
Dateisystemausgangsadapter | Aufruf
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<FILE NAME="WSClientInterface?wsdl" LASTMODIFIED="01.01.1970 01:00:00" PATH="services">
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://www.sql-
ag.de/transconnect/ci2" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ax21="http://ci.tc.sqlgmbh.com/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:ns1="http://org.apache.axis2/xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
targetNamespace="http://www.sql-ag.de/transconnect/ci2">
<wsdl:documentation>WSClientInterface</wsdl:documentation>
<wsdl:types>
…
</FILE>
</ROOT>
Webschnittstellen für die Cloud, IoT & Co
Zusammenfassung
HTTP In
Dateisystem
„ENTERPRISE SERVICE BUS“ (ESB)
HTTP Out
 RESTful Webservices
 Bereitstellen
 Aufrufen
 Verschiedene Authentisierungsvarianten
 Payload: XML oder JSON
 Download von Dateien
Kontakt
SQL Projekt AG Fon +49 351 876 19 0
Franklinstraße 25a Fax +49 351 876 19 99
01069 Dresden Mail: transconnect@sql-ag.de
TRANSCONNECT®
22 Jahre Kompetenz in Business Integration

Weitere ähnliche Inhalte

Ähnlich wie 3) TRANSCONNECT®-Webschnittstellen für die Cloud, IoT & Co. - TRANSCONNECT-Tag 2017

REST mit APEX 18.1
REST mit APEX 18.1REST mit APEX 18.1
REST mit APEX 18.1Oliver Lemm
 
Citrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx NetworkingCitrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx NetworkingDigicomp Academy AG
 
Agiles Modellieren mit Domain Specific Languages
Agiles Modellieren mit Domain Specific LanguagesAgiles Modellieren mit Domain Specific Languages
Agiles Modellieren mit Domain Specific LanguagesDominik Hirt
 
Prometheus Monitoring
Prometheus MonitoringPrometheus Monitoring
Prometheus Monitoringinovex GmbH
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?adesso AG
 
Frontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 BestellsystemeFrontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 BestellsystemeNico Steiner
 
Back to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesBack to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesAndré Fleischer
 
OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...
OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...
OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...NETWAYS
 
Internet Information Services (deutsch)
Internet Information Services (deutsch)Internet Information Services (deutsch)
Internet Information Services (deutsch)Joerg Krause
 
Präsentation webservices
Präsentation webservicesPräsentation webservices
Präsentation webservicesxxtesaxx
 
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG
 
C5 Mettenmeier Lotusday2007
C5 Mettenmeier Lotusday2007C5 Mettenmeier Lotusday2007
C5 Mettenmeier Lotusday2007Andreas Schulte
 
Wieviel client braucht das web
Wieviel client braucht das webWieviel client braucht das web
Wieviel client braucht das webgedoplan
 
Open Source BPM - iteratec Architekturtag
Open Source BPM - iteratec ArchitekturtagOpen Source BPM - iteratec Architekturtag
Open Source BPM - iteratec Architekturtagcamunda services GmbH
 
HTTP und Java Servlets Programmierung
HTTP und Java Servlets ProgrammierungHTTP und Java Servlets Programmierung
HTTP und Java Servlets ProgrammierungChristian Baranowski
 
WebAPIs mit ASP.NET MVC 6
WebAPIs mit ASP.NET MVC 6WebAPIs mit ASP.NET MVC 6
WebAPIs mit ASP.NET MVC 6Manfred Steyer
 
Legacy WebApps mit AngularJS pimpen
Legacy WebApps mit AngularJS pimpenLegacy WebApps mit AngularJS pimpen
Legacy WebApps mit AngularJS pimpenPhilipp Burgmer
 
XML-Socket-Server zur Kommunikation mit Flash
XML-Socket-Server zur Kommunikation mit FlashXML-Socket-Server zur Kommunikation mit Flash
XML-Socket-Server zur Kommunikation mit FlashStephan Schmidt
 
Ist GraphQL das bessere REST
Ist GraphQL das bessere RESTIst GraphQL das bessere REST
Ist GraphQL das bessere RESTMartin Abraham
 

Ähnlich wie 3) TRANSCONNECT®-Webschnittstellen für die Cloud, IoT & Co. - TRANSCONNECT-Tag 2017 (20)

REST mit APEX 18.1
REST mit APEX 18.1REST mit APEX 18.1
REST mit APEX 18.1
 
Citrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx NetworkingCitrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx Networking
 
Agiles Modellieren mit Domain Specific Languages
Agiles Modellieren mit Domain Specific LanguagesAgiles Modellieren mit Domain Specific Languages
Agiles Modellieren mit Domain Specific Languages
 
Prometheus Monitoring
Prometheus MonitoringPrometheus Monitoring
Prometheus Monitoring
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
 
Frontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 BestellsystemeFrontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 Bestellsysteme
 
Back to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesBack to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit Microservices
 
OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...
OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...
OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...
 
Internet Information Services (deutsch)
Internet Information Services (deutsch)Internet Information Services (deutsch)
Internet Information Services (deutsch)
 
Präsentation webservices
Präsentation webservicesPräsentation webservices
Präsentation webservices
 
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
 
C5 Mettenmeier Lotusday2007
C5 Mettenmeier Lotusday2007C5 Mettenmeier Lotusday2007
C5 Mettenmeier Lotusday2007
 
Wieviel client braucht das web
Wieviel client braucht das webWieviel client braucht das web
Wieviel client braucht das web
 
Open Source BPM - iteratec Architekturtag
Open Source BPM - iteratec ArchitekturtagOpen Source BPM - iteratec Architekturtag
Open Source BPM - iteratec Architekturtag
 
HTTP und Java Servlets Programmierung
HTTP und Java Servlets ProgrammierungHTTP und Java Servlets Programmierung
HTTP und Java Servlets Programmierung
 
WebAPIs mit ASP.NET MVC 6
WebAPIs mit ASP.NET MVC 6WebAPIs mit ASP.NET MVC 6
WebAPIs mit ASP.NET MVC 6
 
Rails goes SOA
Rails goes SOARails goes SOA
Rails goes SOA
 
Legacy WebApps mit AngularJS pimpen
Legacy WebApps mit AngularJS pimpenLegacy WebApps mit AngularJS pimpen
Legacy WebApps mit AngularJS pimpen
 
XML-Socket-Server zur Kommunikation mit Flash
XML-Socket-Server zur Kommunikation mit FlashXML-Socket-Server zur Kommunikation mit Flash
XML-Socket-Server zur Kommunikation mit Flash
 
Ist GraphQL das bessere REST
Ist GraphQL das bessere RESTIst GraphQL das bessere REST
Ist GraphQL das bessere REST
 

Mehr von SQL Projekt AG

TRANSCONNECT 2.3.2 product presentation
TRANSCONNECT  2.3.2 product presentationTRANSCONNECT  2.3.2 product presentation
TRANSCONNECT 2.3.2 product presentationSQL Projekt AG
 
So geht digital - agil zur digitalen Fertigung - mafrino
So geht digital - agil zur digitalen Fertigung - mafrinoSo geht digital - agil zur digitalen Fertigung - mafrino
So geht digital - agil zur digitalen Fertigung - mafrinoSQL Projekt AG
 
Business Platform 3DEXPERIENCE 2019
Business Platform 3DEXPERIENCE 2019Business Platform 3DEXPERIENCE 2019
Business Platform 3DEXPERIENCE 2019SQL Projekt AG
 
Smart City Dresden – Datenintegration für Parkplätze, Museen und Schulen (TRA...
Smart City Dresden – Datenintegration für Parkplätze, Museen und Schulen (TRA...Smart City Dresden – Datenintegration für Parkplätze, Museen und Schulen (TRA...
Smart City Dresden – Datenintegration für Parkplätze, Museen und Schulen (TRA...SQL Projekt AG
 
Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...
Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...
Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...SQL Projekt AG
 
TRANSCONNECT® als Rückgrat für die Industrie 4.0 (TRANSCONNECT®-ANWENDERTAG 2...
TRANSCONNECT® als Rückgrat für die Industrie 4.0 (TRANSCONNECT®-ANWENDERTAG 2...TRANSCONNECT® als Rückgrat für die Industrie 4.0 (TRANSCONNECT®-ANWENDERTAG 2...
TRANSCONNECT® als Rückgrat für die Industrie 4.0 (TRANSCONNECT®-ANWENDERTAG 2...SQL Projekt AG
 
TRANSCONNECT® als Integrationslayer in einem Master-Data-Management-Projekt (...
TRANSCONNECT® als Integrationslayer in einem Master-Data-Management-Projekt (...TRANSCONNECT® als Integrationslayer in einem Master-Data-Management-Projekt (...
TRANSCONNECT® als Integrationslayer in einem Master-Data-Management-Projekt (...SQL Projekt AG
 
Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)
Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)
Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)SQL Projekt AG
 
Neuerungen in der TRANSCONNECT® Version 2.3.2 (TRANSCONNECT®-ANWENDERTAG 2018)
Neuerungen in der TRANSCONNECT® Version 2.3.2 (TRANSCONNECT®-ANWENDERTAG 2018)Neuerungen in der TRANSCONNECT® Version 2.3.2 (TRANSCONNECT®-ANWENDERTAG 2018)
Neuerungen in der TRANSCONNECT® Version 2.3.2 (TRANSCONNECT®-ANWENDERTAG 2018)SQL Projekt AG
 
DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...
DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...
DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...SQL Projekt AG
 
DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...
DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...
DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...SQL Projekt AG
 
Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...
Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...
Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...SQL Projekt AG
 
Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...
Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...
Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...SQL Projekt AG
 
Begrüßung & Eröffnungsvortrag (TRANSCONNECT®-ANWENDERTAG 2018)
Begrüßung & Eröffnungsvortrag (TRANSCONNECT®-ANWENDERTAG 2018)Begrüßung & Eröffnungsvortrag (TRANSCONNECT®-ANWENDERTAG 2018)
Begrüßung & Eröffnungsvortrag (TRANSCONNECT®-ANWENDERTAG 2018)SQL Projekt AG
 
TRANSCONNECT® Whitepaper DE
TRANSCONNECT® Whitepaper DETRANSCONNECT® Whitepaper DE
TRANSCONNECT® Whitepaper DESQL Projekt AG
 
Whitepaper TRANSCONNECT - EN | SQL Projekt AG
Whitepaper TRANSCONNECT - EN | SQL Projekt AG Whitepaper TRANSCONNECT - EN | SQL Projekt AG
Whitepaper TRANSCONNECT - EN | SQL Projekt AG SQL Projekt AG
 
Produktblatt TRANSCONNECT - DE | SQL Projekt AG
Produktblatt TRANSCONNECT - DE | SQL Projekt AGProduktblatt TRANSCONNECT - DE | SQL Projekt AG
Produktblatt TRANSCONNECT - DE | SQL Projekt AGSQL Projekt AG
 
Product Presentation IIoT-SAP TRANSCONNECT 2.3.0 - EN
Product Presentation IIoT-SAP TRANSCONNECT 2.3.0 - ENProduct Presentation IIoT-SAP TRANSCONNECT 2.3.0 - EN
Product Presentation IIoT-SAP TRANSCONNECT 2.3.0 - ENSQL Projekt AG
 
Product Presentation TRANSCONNECT 2.3.0 - EN
Product Presentation TRANSCONNECT 2.3.0 - ENProduct Presentation TRANSCONNECT 2.3.0 - EN
Product Presentation TRANSCONNECT 2.3.0 - ENSQL Projekt AG
 
7) Produkt-RoadMap TRANSCONNECT® - TRANSCONNECT®-Tag 2017
7) Produkt-RoadMap TRANSCONNECT® - TRANSCONNECT®-Tag 20177) Produkt-RoadMap TRANSCONNECT® - TRANSCONNECT®-Tag 2017
7) Produkt-RoadMap TRANSCONNECT® - TRANSCONNECT®-Tag 2017SQL Projekt AG
 

Mehr von SQL Projekt AG (20)

TRANSCONNECT 2.3.2 product presentation
TRANSCONNECT  2.3.2 product presentationTRANSCONNECT  2.3.2 product presentation
TRANSCONNECT 2.3.2 product presentation
 
So geht digital - agil zur digitalen Fertigung - mafrino
So geht digital - agil zur digitalen Fertigung - mafrinoSo geht digital - agil zur digitalen Fertigung - mafrino
So geht digital - agil zur digitalen Fertigung - mafrino
 
Business Platform 3DEXPERIENCE 2019
Business Platform 3DEXPERIENCE 2019Business Platform 3DEXPERIENCE 2019
Business Platform 3DEXPERIENCE 2019
 
Smart City Dresden – Datenintegration für Parkplätze, Museen und Schulen (TRA...
Smart City Dresden – Datenintegration für Parkplätze, Museen und Schulen (TRA...Smart City Dresden – Datenintegration für Parkplätze, Museen und Schulen (TRA...
Smart City Dresden – Datenintegration für Parkplätze, Museen und Schulen (TRA...
 
Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...
Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...
Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...
 
TRANSCONNECT® als Rückgrat für die Industrie 4.0 (TRANSCONNECT®-ANWENDERTAG 2...
TRANSCONNECT® als Rückgrat für die Industrie 4.0 (TRANSCONNECT®-ANWENDERTAG 2...TRANSCONNECT® als Rückgrat für die Industrie 4.0 (TRANSCONNECT®-ANWENDERTAG 2...
TRANSCONNECT® als Rückgrat für die Industrie 4.0 (TRANSCONNECT®-ANWENDERTAG 2...
 
TRANSCONNECT® als Integrationslayer in einem Master-Data-Management-Projekt (...
TRANSCONNECT® als Integrationslayer in einem Master-Data-Management-Projekt (...TRANSCONNECT® als Integrationslayer in einem Master-Data-Management-Projekt (...
TRANSCONNECT® als Integrationslayer in einem Master-Data-Management-Projekt (...
 
Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)
Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)
Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)
 
Neuerungen in der TRANSCONNECT® Version 2.3.2 (TRANSCONNECT®-ANWENDERTAG 2018)
Neuerungen in der TRANSCONNECT® Version 2.3.2 (TRANSCONNECT®-ANWENDERTAG 2018)Neuerungen in der TRANSCONNECT® Version 2.3.2 (TRANSCONNECT®-ANWENDERTAG 2018)
Neuerungen in der TRANSCONNECT® Version 2.3.2 (TRANSCONNECT®-ANWENDERTAG 2018)
 
DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...
DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...
DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...
 
DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...
DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...
DSGVO-konform arbeiten mit TRANSCONNECT® und intergator (TRANSCONNECT®-ANWEND...
 
Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...
Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...
Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...
 
Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...
Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...
Automatisierung von Geschäftsprozessen am Beispiel des Landratsamtes Meißen (...
 
Begrüßung & Eröffnungsvortrag (TRANSCONNECT®-ANWENDERTAG 2018)
Begrüßung & Eröffnungsvortrag (TRANSCONNECT®-ANWENDERTAG 2018)Begrüßung & Eröffnungsvortrag (TRANSCONNECT®-ANWENDERTAG 2018)
Begrüßung & Eröffnungsvortrag (TRANSCONNECT®-ANWENDERTAG 2018)
 
TRANSCONNECT® Whitepaper DE
TRANSCONNECT® Whitepaper DETRANSCONNECT® Whitepaper DE
TRANSCONNECT® Whitepaper DE
 
Whitepaper TRANSCONNECT - EN | SQL Projekt AG
Whitepaper TRANSCONNECT - EN | SQL Projekt AG Whitepaper TRANSCONNECT - EN | SQL Projekt AG
Whitepaper TRANSCONNECT - EN | SQL Projekt AG
 
Produktblatt TRANSCONNECT - DE | SQL Projekt AG
Produktblatt TRANSCONNECT - DE | SQL Projekt AGProduktblatt TRANSCONNECT - DE | SQL Projekt AG
Produktblatt TRANSCONNECT - DE | SQL Projekt AG
 
Product Presentation IIoT-SAP TRANSCONNECT 2.3.0 - EN
Product Presentation IIoT-SAP TRANSCONNECT 2.3.0 - ENProduct Presentation IIoT-SAP TRANSCONNECT 2.3.0 - EN
Product Presentation IIoT-SAP TRANSCONNECT 2.3.0 - EN
 
Product Presentation TRANSCONNECT 2.3.0 - EN
Product Presentation TRANSCONNECT 2.3.0 - ENProduct Presentation TRANSCONNECT 2.3.0 - EN
Product Presentation TRANSCONNECT 2.3.0 - EN
 
7) Produkt-RoadMap TRANSCONNECT® - TRANSCONNECT®-Tag 2017
7) Produkt-RoadMap TRANSCONNECT® - TRANSCONNECT®-Tag 20177) Produkt-RoadMap TRANSCONNECT® - TRANSCONNECT®-Tag 2017
7) Produkt-RoadMap TRANSCONNECT® - TRANSCONNECT®-Tag 2017
 

3) TRANSCONNECT®-Webschnittstellen für die Cloud, IoT & Co. - TRANSCONNECT-Tag 2017

  • 2. Webschnittstellen für die Cloud, IoT & Co Anforderungen  HTTP(s) in Firewalls/Routern offen  SOAP: zu kompliziert  RESTful Webservices  hohe Dynamik der Schnittstellen  Simples Protokoll
  • 3. Webschnittstellen für die Cloud, IoT & Co Adapter HTTP In Dateisystem „ENTERPRISE SERVICE BUS“ (ESB) HTTP Out  HTTP Eingangsadapter  Empfang und Verarbeitung von Requests  synchron / asynchron  Senden von Antworten  HTTP Ausgangsadapter  Aufruf von URLs (RESTful Webservices)  Verarbeitung der Antwort  Dateisystemadapter (Verbindungsart HTTP)  Download von Dateien
  • 4. Webschnittstellen für die Cloud, IoT & Co HTTP Ausgangsadapter HTTP Out Service (Basis-) URL
  • 5. Webschnittstellen für die Cloud, IoT & Co  Ohne  BASIC-Authentication  Fixer Token im HTTP-Header <HEADER xmlns:tns="xyz"> <tns:Credentials> <tns:Ticket>iuozug7zoih9023uid8</tns:Ticket> </tns:Credentials> </HEADER>  Token von Login-Service im HTTP-Header … HTTP Ausgangsadapter | Authentisierung
  • 6. Webschnittstellen für die Cloud, IoT & Co HTTP Ausgangsadapter | Authentisierung über Login-Service
  • 7. Webschnittstellen für die Cloud, IoT & Co HTTP Ausgangsadapter | Aufruf mit XML Dokument <?xml version="1.0" encoding="UTF-8"?> <ROOT> <REQUEST OPERATION="POST" URL="order"> <PARAMS> <PARAM NAME="Client">Dummy</PARAM> </PARAMS> <CONTENT CONTENT-TYPE="text/xml"><![CDATA[ <ORDER ID="4711"> <ITEM> <POSITION>10</POSITION> <MATNR>A12345</MATNR> <AMOUNT>10</AMOUNT> </ITEM> </ORDER> ]]> </CONTENT> </REQUEST> </ROOT>
  • 8. Webschnittstellen für die Cloud, IoT & Co HTTP Ausgangsadapter | Aufruf mit JSON Dokument <?xml version="1.0" encoding="UTF-8"?> <ROOT> <REQUEST OPERATION="POST" URL="order"> <PARAMS> <PARAM NAME="Client">Dummy</PARAM> </PARAMS> <CONTENT CONTENT-TYPE="application/json"><![CDATA[ { "ORDER": { "ID": "4711", "ITEM": { "POSITION": "10", "MATNR": "A12345", "AMOUNT": "10" } } } ]]></CONTENT> </REQUEST> </ROOT>
  • 9. Webschnittstellen für die Cloud, IoT & Co HTTP Ausgangsadapter | Antwort <?xml version="1.0" encoding="UTF-8"?> <ROOT> <RESPONSE OPERATION="POST" URL="order" CONTENT-TYPE="application/json"> <HEADER>…</HEADER> <STATUS_CODE>200</STATUS_CODE> <STATUS_TEXT>OK</STATUS_TEXT> <CONTENT>&lt;JSON&gt;&lt;ORDER&gt;&lt;STATE&gt;BOOKED&lt; /STATE&gt;&lt;ID&gt;4711&lt;/ID&gt;&lt;/ORDER&gt;&lt;/JSON&gt;</CONTENT> </RESPONSE> </ROOT>
  • 10. Webschnittstellen für die Cloud, IoT & Co HTTP Eingangsadapter HTTP In https://localhost:8443/transconnect/clientservices/rest-api
  • 11. Webschnittstellen für die Cloud, IoT & Co POST /transconnect/clientservices/rest-api/order?Client=Dummy HTTP/1.1 Authorization: Basic cmVzdHVzZXI6cmVzdHVzZXI= Content-Length: 167 Content-Type: text/xml; Charset=UTF-8 <ORDER ID="4711"> <ITEM> <POSITION>10</POSITION> <MATNR>A12345</MATNR> <AMOUNT>10</AMOUNT> </ITEM> </ORDER> HTTP Eingangsadapter | HTTP-Request
  • 12. Webschnittstellen für die Cloud, IoT & Co POST /transconnect/clientservices/rest-api/order?Client=Dummy HTTP/1.1 Authorization: Basic cmVzdHVzZXI6cmVzdHVzZXI= Content-Length: 167 Content-Type: application/json; Charset=UTF-8 { "ORDER": { "ID": "4711", "ITEM": { "POSITION": "10", "MATNR": "A12345", "AMOUNT": "10" } } } HTTP Eingangsadapter | HTTP-Request mit JSON
  • 13. Webschnittstellen für die Cloud, IoT & Co <?xml version="1.0" encoding="UTF-8"?> <REQUEST URL="/transconnect/clientservices/rest-api/order" METHOD="POST" CLIENTHOST="127.0.0.1" CLIENTADDRESS="127.0.0.1" PRINCIPAL="restuser" ENCODING="UTF-8"> <HEADER>…</HEADER> <BODY CONTENT-TYPE="text/xml"> <Client>Dummy</Client> <ORDER ID="4711"> <ITEM> <POSITION>10</POSITION> <MATNR>A12345</MATNR> <AMOUNT>10</AMOUNT> </ITEM> </ORDER> </BODY> </REQUEST> HTTP Eingangsadapter | TransConnect Nachricht
  • 14. Webschnittstellen für die Cloud, IoT & Co <?xml version="1.0" encoding="UTF-8"?> <REQUEST URL="/transconnect/clientservices/rest-api/order" METHOD="POST" CLIENTHOST="127.0.0.1" CLIENTADDRESS="127.0.0.1" PRINCIPAL="restuser" ENCODING="UTF-8"> <HEADER>…</HEADER> <BODY CONTENT-TYPE="text/xml"> <Client>Dummy</Client> <JSON> <!– automatisch in XML konvertiert --> <ORDER> <ITEM> <POSITION>10</POSITION> <AMOUNT>10</AMOUNT> <MATNR>A12345</MATNR> </ITEM> <ID>4711</ID> </ORDER> </JSON> </BODY> </REQUEST> HTTP Eingangsadapter | TransConnect Nachricht
  • 15. Webschnittstellen für die Cloud, IoT & Co HTTP Eingangsadapter TransConnect® Mapping/ Transforming HTTP Eingangsadapter TransConnect API XML XML Request Eingangs- und Ausgangsmappings HTTP Response
  • 16. Webschnittstellen für die Cloud, IoT & Co <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <tns:REQUEST xmlns:tns="com.sql-gmbh.de/TransConnect/2.2.0/clientservices"> <xsl:variable name="urlPart" select="substring-after( /REQUEST/@URL, 'rest-api/' )" /> <tns:processSync_Req> <tns:message> <type>web_<xsl:value-of select="$urlPart"/></type> <creator><xsl:value-of select="//BODY//Client"/></creator> <content> <xsl:text disable-output-escaping="yes">&lt;![CDATA[</xsl:text> <xsl:copy-of select="//BODY/*[name() != 'Client']"/> <xsl:text disable-output-escaping="yes">]]&gt;</xsl:text> </content> </tns:message> </tns:processSync_Req> </tns:REQUEST> </xsl:template> </xsl:stylesheet> HTTP Eingangsadapter | Eingangsmapping
  • 17. Webschnittstellen für die Cloud, IoT & Co <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:java="http://xml.apache.org/xslt/java"> <xsl:output method="text" encoding="UTF-8" mediatype="text/xml" /> <xsl:template match="/"> <xsl:copy-of select="//content/*" /> </xsl:template> </xsl:stylesheet> HTTP Eingangsadapter | Ausgangsmapping für XML
  • 18. Webschnittstellen für die Cloud, IoT & Co <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:java="http://xml.apache.org/xslt/java"> <xsl:output method="text" encoding="UTF-8" mediatype="application/json" /> <!-- we must create a Null-Transformer to convert from a node in the input document to XML text --> <xsl:variable name="factory" select="java:javax.xml.transform.TransformerFactory.newInstance()" /> <xsl:variable name="transformer" select="java:newTransformer( $factory )" /> <xsl:variable name="buffer" select="java:java.io.ByteArrayOutputStream.new()" /> <xsl:template match="/"> <!-- convert XML node to XML text --> <xsl:value-of select="java:transform( $transformer, java:javax.xml.transform.dom.DOMSource.new( //content/* ), java:javax.xml.transform.stream.StreamResult.new( $buffer ) )" /> <xsl:variable name="xml" select="java:java.lang.String.new( java:toByteArray( $buffer ), 'UTF-8' )" /> <!-- convert XML text to JSON text --> <xsl:value-of select="java:com.sqlag.tc.json.XML.toJSONObject( $xml )" /> </xsl:template> </xsl:stylesheet> HTTP Eingangsadapter | Ausgangsmapping für JSON
  • 19. Dateisystem Webschnittstellen für die Cloud, IoT & Co Dateisystemausgangsadapter, Verbindungstyp HTTP(s) Service (Basis-) URL http://localhost:8080/service
  • 20. Webschnittstellen für die Cloud, IoT & Co <?xml version="1.0" encoding="UTF-8"?> <ROOT> <FILE NAME="WSClientInterface?wsdl" PATH="services"> <XML /> </FILE> </ROOT> Dateisystemausgangsadapter | Aufruf <?xml version="1.0" encoding="UTF-8"?> <ROOT> <FILE NAME="WSClientInterface?wsdl" LASTMODIFIED="01.01.1970 01:00:00" PATH="services"> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://www.sql- ag.de/transconnect/ci2" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ax21="http://ci.tc.sqlgmbh.com/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://www.sql-ag.de/transconnect/ci2"> <wsdl:documentation>WSClientInterface</wsdl:documentation> <wsdl:types> … </FILE> </ROOT>
  • 21. Webschnittstellen für die Cloud, IoT & Co Zusammenfassung HTTP In Dateisystem „ENTERPRISE SERVICE BUS“ (ESB) HTTP Out  RESTful Webservices  Bereitstellen  Aufrufen  Verschiedene Authentisierungsvarianten  Payload: XML oder JSON  Download von Dateien
  • 22. Kontakt SQL Projekt AG Fon +49 351 876 19 0 Franklinstraße 25a Fax +49 351 876 19 99 01069 Dresden Mail: transconnect@sql-ag.de TRANSCONNECT® 22 Jahre Kompetenz in Business Integration