{"id":60575,"date":"2013-04-01T14:35:12","date_gmt":"2013-04-01T12:35:12","guid":{"rendered":"http:\/\/e3mag.com\/?p=60575"},"modified":"2020-03-24T08:04:12","modified_gmt":"2020-03-24T07:04:12","slug":"mobile-und-cloud-computing-oeffnen-den-weg-zu-open-source","status":"publish","type":"post","link":"https:\/\/e3mag.com\/de\/mobile-und-cloud-computing-oeffnen-den-weg-zu-open-source\/","title":{"rendered":"Mobile und Cloud Computing \u00f6ffnen den Weg zu Open Source"},"content":{"rendered":"\n<p>Oft wird ein Gesch\u00e4ftsprozess im Unternehmen \u00fcber mehrere Stationen oder Abteilungen geleitet, bis der Prozess abgeschlossen ist. Die involvierten Mitarbeiter haben dabei unterschiedliche Profile \u2013 vom SAP-Experten bis hin zum Gelegenheits-Benutzer.<\/p>\n\n\n\n<p>Um das Einbinden der Gelegenheits-Benutzer in die Gesch\u00e4ftsprozesse m\u00f6glichst einfach zu gestalten, empfiehlt es sich, die vorhandenen User-Interface-Technologien (UI) zu nutzen. Dies reduziert die Einarbeitungszeit und erh\u00f6ht die Akzeptanz der Benutzer.<\/p><div class=\"great-fullsize-content-de great-entity-placement\" style=\"float: left;\" id=\"great-533620626\"><div id=\"great-1719025582\" style=\"margin-bottom: 20px;\"><a data-no-instant=\"1\" href=\"https:\/\/www.youtube.com\/watch?v=iY5MDy00rN0\" rel=\"noopener\" class=\"a2t-link\" target=\"_blank\" aria-label=\"banner_26-05_06_1200x150\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_26-05_06_1200x150.jpg\" alt=\"\"  srcset=\"https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_26-05_06_1200x150.jpg 1200w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_26-05_06_1200x150-400x50.jpg 400w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_26-05_06_1200x150-768x96.jpg 768w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_26-05_06_1200x150-100x13.jpg 100w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_26-05_06_1200x150-480x60.jpg 480w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_26-05_06_1200x150-640x80.jpg 640w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_26-05_06_1200x150-720x90.jpg 720w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_26-05_06_1200x150-960x120.jpg 960w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_26-05_06_1200x150-1168x146.jpg 1168w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_26-05_06_1200x150-18x2.jpg 18w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_26-05_06_1200x150-600x75.jpg 600w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" width=\"1200\" height=\"150\"  style=\" max-width: 100%; height: auto;\" \/><\/a><\/div><\/div>\n\n\n\n<p>Oft findet man Technologien wie Microsoft SharePoint vor. Wenn nun die in SAP hinterlegten Informationen direkt und ohne Redundanzen in SharePoint angezeigt und bearbeitet werden k\u00f6nnen, so wird die Einstiegsschwelle zur Dateneingabe in das SAP-System dramatisch reduziert.<\/p>\n\n\n\n<p>Qualit\u00e4t und Aktualit\u00e4t der Daten steigen. Immer \u00f6fter verwenden Mitarbeiter aber auch mobile L\u00f6sungen wie Tablets oder Smartphones. Wie k\u00f6nnen diese neuen Benutzergruppen m\u00f6glichst einfach und sicher auf die im SAP-System vorhandenen Daten zugreifen?<\/p>\n\n\n\n<div class=\"wp-block-image size-full wp-image-60577\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"911\" height=\"802\" src=\"https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata.jpg\" alt=\"Gateway Odata\" class=\"wp-image-60577\" srcset=\"https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata.jpg 911w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata-768x676.jpg 768w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata-100x88.jpg 100w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata-480x423.jpg 480w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata-640x563.jpg 640w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata-720x634.jpg 720w\" sizes=\"auto, (max-width: 911px) 100vw, 911px\" \/><figcaption>SAP NetWeaver Gateway: einheitlicher Standard zum Austausch von Daten.<\/figcaption><\/figure><\/div>\n\n\n\n<p>Auch beim Umgang mit Social-Media-Plattformen stellt sich die Frage, wie durch eine engere Verkn\u00fcpfung der Plattformen mit den unternehmenskritischen Daten im SAP-System innovative neue L\u00f6sungen erstellt werden k\u00f6nnen.<\/p>\n\n\n\n<p>Die in SAP ERP integrierte Variantenkonfiguration bietet eine m\u00e4chtige L\u00f6sung, um abh\u00e4ngig von der Auswahl der Konfiguration im Kundenauftrag sowohl Produktionsprozesse als auch Prozesse im Backoffice zu starten.<\/p>\n\n\n\n<p>Um die Eingabe der Konfiguration noch weiter zu vereinfachen, wurde in diese Studie die Eingabem\u00f6glichkeit durch ein inte\u00adgriertes 3-D-Modell erm\u00f6glicht, das die ausgew\u00e4hlten Attribute sogleich visualisiert.<\/p>\n\n\n\n<p>Eingaben k\u00f6nnen so unmittelbar visuell \u00fcberpr\u00fcft und korrigiert werden, wobei sich gleichzeitig die Akzeptanz durch die Endanwender erh\u00f6ht. Ein weiteres Beispiel zeigt die L\u00f6sung SAP Citizen Connect.<\/p>\n\n\n\n<p>Basierend auf Funktionen des SAP-Systems wurde hier eine mobile L\u00f6sung erstellt, die es den Einwohnern einer Stadt oder Gemeinde erlaubt, Probleme oder Missst\u00e4nde direkt vom mobilen Ger\u00e4t aus in das SAP-System zu senden. Dadurch er\u00fcbrigen sich fr\u00fcher notwendige Zwischenschritte wie der Anruf in einer Telefonzentrale mit ungenauen Ortsangaben.<\/p>\n\n\n\n<p>Durch diese zus\u00e4tzlichen Informationen ist nun eine zeitnahe Entscheidung basierend auf richtigen Fakten m\u00f6glich. Und das direkte Feedback zur\u00fcck zum Meldenden erh\u00f6ht die Motivation, auch in Zukunft Missst\u00e4nde zu melden, die sonst unentdeckt bleiben w\u00fcrden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">L\u00f6sungsans\u00e4tze f\u00fcr Non-ABAP<\/h3>\n\n\n\n<p>Da das SAP-System offen ist, lie\u00dfen sich die oben genannten Szenarien bereits seit langer Zeit technisch realisieren. Nachteilig war jedoch, dass jeweils Punkt-zu-Punkt-L\u00f6sungen verwendet wurden.<\/p>\n\n\n\n<p>Au\u00dferdem ben\u00f6tigte der Entwickler der Non-SAP-L\u00f6sung ein profundes Detailwissen \u00fcber das SAP-System. Entwickler, die sowohl in SAP- als auch in Non-SAP-Entwicklungssprachen einen guten Kenntnisstand haben, sind leider nicht immer vorhanden.<\/p>\n\n\n\n<p>In der Folge verl\u00e4ngern oder verteuern sich Projekte und Wartung kann nur schwierig gew\u00e4hrt werden, da sich gerade das Frontend dynamisch weiterentwickelt. SAP-Bestandskunden und -Partner kennen sich meist sehr gut mit der Programmiersprache ABAP aus.<\/p>\n\n\n\n<p>Allerdings sind ABAP-Kenntnisse in anderen Entwickler-Communities wenig verbreitet, wo vor allem C, Java, Objective-C, PHP oder C# vorherrscht. Daher finden sich heute auch in Unternehmen typischerweise zwei parallele organisatorische Strukturen: eine Abteilung zur Betreuung der SAP-Systeme und eine weitere, die sich um Non-SAP-Themen k\u00fcmmert.<\/p>\n\n\n\n<p>Ziel f\u00fcr NetWeaver Gateway war auch, die Kommunikationsbarrieren zwischen den beiden Teams zu verringern. Auf der Suche nach einem Instrument, das sowohl von SAP- als auch von Non-SAP-Experten verstanden werden kann, wurde das REST-basierte Protokoll OData gew\u00e4hlt. Dieses Protokoll wird gerade in einen Oasis-Standard \u00fcberf\u00fchrt, um eine weitere Verbreitung zu beschleunigen.<\/p>\n\n\n\n<div class=\"wp-block-image size-full wp-image-60580\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"568\" src=\"https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_1.jpg\" alt=\"Gateway Odata 1\" class=\"wp-image-60580\" srcset=\"https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_1.jpg 1000w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_1-768x436.jpg 768w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_1-100x57.jpg 100w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_1-480x273.jpg 480w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_1-640x364.jpg 640w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_1-720x409.jpg 720w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_1-960x545.jpg 960w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption>Vision: OData als zentrales Kommunikationsprotokoll.<\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">SAP NW Gateway<\/h3>\n\n\n\n<p>\u00dcber NetWeaver Gateway wird ein Werkzeug zur Verf\u00fcgung gestellt, das die Entwicklung von ben\u00f6tigten REST-Services in ABAP-basierten SAP-Systemen beschleunigt und standardisiert.<\/p>\n\n\n\n<p>Viele T\u00e4tigkeiten, die nicht direkt mit der Entwicklung des Services zu tun haben, werden dem Entwickler abgenommen wie die Unterst\u00fctzung von Dialekten (XML oder JSON), das Aufbereiten der Nachrichten, das Analysieren der Nachrichten und zentrales Monitoring. Ein typischer Ablauf bei der Entwicklung einer neuen Benutzeroberfl\u00e4che kann (vereinfacht dargestellt) wie folgt aussehen:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>In einem gemeinsamen Workshop zwischen den Anwendern \u2013 meist repr\u00e4sentiert durch einen Key-User, den User-Interface-Experten und den Experten f\u00fcr das SAP-Backend \u2013 wird die gew\u00fcnschte neue Benutzeroberfl\u00e4che definiert und skizziert.<\/li><li>Basierend auf den Ergebnissen des Workshops werden dann Anforderungen an das SAP-Backend und Front\u00adend abgeleitet. Diese Anforderungen k\u00f6nnen in einem Entity-Relationship- Modell dokumentiert werden. Dieses Dokument bildet den Startpunkt f\u00fcr die n\u00e4chsten Schritte. Es kann sowohl in ein SAP-System als auch in die Entwicklungswerkzeuge f\u00fcr Frontend-Entwicklung importiert werden.<\/li><li>Sowohl im Backend als auch im Frontend werden nun die notwendigen Entwicklungen vorgenommen.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">OData kommt<\/h3>\n\n\n\n<p>Das OData-Protokoll basiert auf offenen Standards wie HTTP, XML, JSON oder AtomPub. Die bereits bekannten und durch HTTP-definierten Operatoren wie Get, Post, Put, Patch oder Delete haben stets dieselbe Bedeutung.<\/p>\n\n\n\n<p>Die REST-basierte Architektur erlaubt es auch Entwicklern, die keine speziellen SAP-Kenntnisse haben, ohne gro\u00dfen Schulungsaufwand mit Standard-Werkzeugen mit der Entwicklung zu beginnen.<\/p>\n\n\n\n<p>Definition eines OData-Modells: Ein Entity-Relationship-Modell dient als Basis zur Definition des Services. Jeder definierte Service liefert dabei ein Metadaten-Dokument. Dieses jeweils gleich aufgebaute Metadaten-Dokument abstrahiert und gleicht die Daten von Backend-Systemen an.<\/p>\n\n\n\n<p>Ist das Modell einer geplanten Bedienoberfl\u00e4che beispielsweise aus den Objekten Produkt, Hersteller und Produktkategorie aufgebaut, so wird das gew\u00fcnschte Modell dann in einem XML-Dokument (EDM) modelliert. Um das Modell in OData zu \u00fcberf\u00fchren, ist Wissen zu den zugrunde liegenden Konzepten von OData notwendig:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Entity Set: Im obigen Beispiel w\u00e4re \u201eProduct\u201c ein Entity Set. Es ist vergleichbar mit Listen oder Tabelleneintr\u00e4gen. Alle Eintr\u00e4ge (oder Entities) eines Entity Sets haben denselben Entity Type.<\/li><li>Entities: sind Instanzen des Entity Types. Sie k\u00f6nnen strukturiert sein und besitzen ein Schl\u00fcssel-Element (Entity Key). Die Struktur eines Entities wird durch Properties definiert. Ein Entity kann einzeln \u00fcber den Schl\u00fcssel angesprochen werden. \u00dcber eine Suche k\u00f6nnen mehrere Eintr\u00e4ge zur\u00fcckgegeben werden.<\/li><li>Entity Key: besteht aus Properties. Dieser Schl\u00fcssel ist wichtig, um einzelne Eintr\u00e4ge eindeutig identifizieren zu k\u00f6nnen. Au\u00dferdem wird er ben\u00f6tigt, um Assoziationen zwischen Entity Types zu definieren.<\/li><li>Association: Dies ist die benannte Verbindung zwischen zwei Entity Types. Jede Association besteht aus zwei Endpunkten, die die Entity Types und die Kardinalit\u00e4t (1:N, 1:1) festlegen.<\/li><li>Navigation Property: Es dient zur Navigation zwischen Entities und ist mit der Association und dem Entity Type verkn\u00fcpft.<\/li><li>EntityContainer: Hier werden alle Entity Sets, die zu einem Service geh\u00f6ren, zusammengefasst.<\/li><\/ul>\n\n\n\n<p>Mit dem oben skizzierten Beispiel l\u00e4sst sich diese Methodologie besser veranschaulichen: Die Properties des Suppliers sind: ID (Entity Key), Name, Address, Concurrency und Prodcuts (Navigation Property).<\/p>\n\n\n\n<p>Der EntityContainer mit dem Namen DemoService besteht aus den folgenden EntitySets und Associations zwischen den verschiedenen Objekten (die hier aber nicht aufgef\u00fchrt sind): Products, Categories und Supplier. Basierend auf diesen Prinzipien wird ein Modell definiert.<\/p>\n\n\n\n<p>Operationen basierend auf dem Modell: Ist dieses Modell definiert, so k\u00f6nnen zur Laufzeit Operationen auf dem Modell stattfinden. Diese Operationen k\u00f6nnen zum Beispiel Suche, Update, L\u00f6schen sein.<\/p>\n\n\n\n<p>Eine Auflistung aller Produkte l\u00e4sst sich mit der URL <a href=\"https:\/\/services.odata.org\/OData\/OData.svc\/Products\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/services.odata.org\/OData\/OData.svc\/Products\/<\/a> anzeigen. Diese Auflistung kann durch Hinzuf\u00fcgen eines Such-Parameters wie $top noch eingeschr\u00e4nkt werden.<\/p>\n\n\n\n<p>Die Adresse <a href=\"https:\/\/services.odata.org\/OData\/OData.svc\/Products\/?$top=3\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/services.odata.org\/OData\/OData.svc\/Products\/?$top=3<\/a> zeigt jetzt nur noch die drei ersten Produkte an. Die Antwort besteht dabei aus einem XML- oder JSON-Dokument mit dem Namen der Properties und ihren Werten.<\/p>\n\n\n\n<p>Zus\u00e4tzlich werden die Navigations-Properties in der Antwort mit<br>ausgegeben. Die verkn\u00fcpften Objekte (Category und Supplier) sind jetzt direkt durch eigene URLs aufrufbar.<\/p>\n\n\n\n<p>Ein einfaches Navigieren anhand der zur\u00fcckgelieferten URLs ist jetzt auch f\u00fcr Entwickler m\u00f6glich, die keine detaillierten Kenntnisse des verwendeten Backend-Systems besitzen. Details zur Kategorie und zum Lieferanten sind jetzt direkt erreichbar.<\/p>\n\n\n\n<p>Abfrageoperationen: Viele Benutzeroberfl\u00e4chen basieren auf \u00e4hnlichen, einfachen Mustern. Sehr oft beginnen diese Muster mit der Eingabe einer Suche. OData hat verschiedene M\u00f6glichkeiten, eine Suche zu formulieren. Allen Operatoren wird dabei ein $ vorangestellt.<\/p>\n\n\n\n<p>Eine Abfrage aller Produkte mit einem Preis unterhalb von 20 wird dann wie folgt formuliert: <a href=\"https:\/\/services.odata.org\/OData\/OData.svc\/Products\/?$filter=Price le 20\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/services.odata.org\/OData\/OData.svc\/Products\/?$filter=Price le 20<\/a>.<\/p>\n\n\n\n<p>Werden jetzt aus diesem Ergebnis nur die Werte Preis und Name ben\u00f6tigt, so kann man mittels $select die Spalten der Antwort festlegen: <a href=\"https:\/\/services.odata.org\/OData\/OData.svc\/Products?$select=Price,Name\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/services.odata.org\/OData\/OData.svc\/Products?$select=Price,Name<\/a>.<\/p>\n\n\n\n<p>Auch lassen sich die Antworten sortieren durch $orderby. Nat\u00fcrlich ist dieses Kommando nur bei Ausgabe einer Liste sinnvoll. In diesem Beispiel werden die Produkte der Reihenfolge nach sortiert:<\/p>\n\n\n\n<s> https:\/\/services.odata.org\/OData\/OData.svc\/Products?$orderby=Rating asc. <\/s> \n\n\n\n<p>Mittels $top und $skip lassen sich bestimmte Bereiche eines gr\u00f6\u00dferen Ergebnisses in einzelnen Paketen reduzieren, die dann bei Bedarf mit geringem Verbrauch an Ressourcen \u00fcbertragen werden.<\/p>\n\n\n\n<p><a href=\"https:\/\/services.odata.org\/OData\/OData.svc\/Products?$skip=2&amp;$top=2&amp;$orderby=Rating\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/services.odata.org\/OData\/OData.svc\/Products?$skip=2&amp;$top=2&amp;$orderby=Rating<\/a> \u00fcbertr\u00e4gt die dritte und vierte Reihe der Produkte, sortiert nach Bewertung.<\/p>\n\n\n\n<div class=\"wp-block-image size-full wp-image-60581\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"994\" height=\"498\" src=\"https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_2.jpg\" alt=\"Gateway Odata 2\" class=\"wp-image-60581\" srcset=\"https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_2.jpg 994w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_2-768x385.jpg 768w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_2-100x50.jpg 100w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_2-480x240.jpg 480w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_2-640x321.jpg 640w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_2-720x361.jpg 720w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_2-960x481.jpg 960w\" sizes=\"auto, (max-width: 994px) 100vw, 994px\" \/><figcaption>SAP NetWeaver Gateway: unterst\u00fctzte Szenarien der verschiedenen Anwendungsf\u00e4lle.<\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Von der Definition zur Implementierung<\/h3>\n\n\n\n<p>Nachdem das gew\u00fcnschte Verhalten definiert ist, kann im SAP-System mit der Implementierung des ben\u00f6tigten Services begonnen werden. Um den Entwickler des ben\u00f6tigten Services bestm\u00f6glich zu unterst\u00fctzen, bietet NetWeaver Gateway f\u00fcr die verschiedenen Anwendungsf\u00e4lle Unterst\u00fctzung an.<\/p>\n\n\n\n<p>Dabei wird im Detail zwischen der Definition und der Implementierung eines Services unterschieden. Die nachfolgenden Schritte finden alle im Service Builder statt. Dieser ist die zentrale Oberfl\u00e4che innerhalb von NetWeaver Gateway zur Service-Definition und Service-Implementierung.<\/p>\n\n\n\n<p>Zur Definition eines Services wird das Datenmodell entsprechend der zuvor beschriebenen OData-Syntax definiert. Dabei kann das Datenmodell deklarativ durch manuelle Eingabe festgelegt werden.<\/p>\n\n\n\n<p>Der Service Builder unterst\u00fctzt hier die Definition durch eine an das OData-Datenmodell angelehnte Ordnerstruktur, in der die Kategorien wie Relations oder Entities tabellarisch eingegeben werden k\u00f6nnen. Das Datenmodell kann alternativ auch durch den Import eines au\u00dferhalb des SAP-Systems befindlichen Datenmodells festgelegt werden.<\/p>\n\n\n\n<p>Zudem kann das Datenmodell basierend auf Strukturen und Informationen des zugrunde liegenden SAP-Systems (DDIC\/RFC- oder BOR-Schnittstellen) und durch Referenzieren auf Objektmodelle im SAP-System festgelegt werden. Viele Objekte werden intern objekt-orientiert entwickelt.<\/p>\n\n\n\n<p>Es ist daher relativ einfach, diese internen Objekte in OData Services zu \u00fcberf\u00fchren. Beispiele hier sind PLM, EAM oder CRM. Aber auch Queries aus Business Warehouse oder Views aus Hana k\u00f6nnen hier\u00fcber einfach in einen OData Service umgewandelt werden.<\/p>\n\n\n\n<p>Zus\u00e4tzlich wird hier die Implementierung gleich automatisch mit erzeugt. Falls bereits ein Service existiert, der \u00fcber NetWeaver Gateway entwickelt wurde, kann ein neuer Service basierend auf dem alten Service entwickelt werden.<\/p>\n\n\n\n<p>Dies kann dann sinnvoll sein, wenn zum Beispiel eine Erweiterung oder \u00c4nderung notwendig ist, der urspr\u00fcngliche Service jedoch nicht ver\u00e4ndert werden kann.<\/p>\n\n\n\n<p>Gerade bei Szenarien, die auf BW basieren, k\u00f6nnen \u00fcber Generatoren des Service Builders die enthaltenen Queries in OData Services umgewandelt werden. Da nicht alle Queries f\u00fcr die Verwendung als OData Service geeignet sind, m\u00fcssen die Queries vor der Verwendung im Service Builder im BW Query Designer mit einem Easy-Query-Kennzeichen markiert werden.<\/p>\n\n\n\n<p>Ist die Query nicht umwandelbar, dann kann dieses Kennzeichen nicht gesetzt werden. Eine weitere M\u00f6glichkeit zur Integration von Informationen aus dem SAP BW ist das MDX-Format. Auch dieses Format kann \u00fcber den Generator in einen OData Service umgewandelt werden.<\/p>\n\n\n\n<p>Die Implementierung der definierten Services im SAP-System kann jetzt \u00fcber zwei Arten erfolgen: durch ein Mapping des OData-Modells auf im SAP-System vorhandene Funktionsbausteine wie RFC, BAPI, BOR.<\/p>\n\n\n\n<p>Dabei kann pro Methode (L\u00f6schen, Lesen, Hinzuf\u00fcgen) ein eigener Funktionsbaustein zum Mapping verwendet werden. Das Mapping erfolgt im Service Builder bedienerfreundlich durch Drag&amp;Drop. Oder durch manuelle Implementierung \u00fcber die SAP-Standard-Werkzeuge in ABAP.<\/p>\n\n\n\n<div class=\"wp-block-image size-full wp-image-60582\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"909\" height=\"886\" src=\"https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_3.jpg\" alt=\"OData-Datenmodell\" class=\"wp-image-60582\" srcset=\"https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_3.jpg 909w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_3-768x749.jpg 768w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_3-100x97.jpg 100w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_3-480x468.jpg 480w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_3-640x624.jpg 640w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_3-720x702.jpg 720w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_3-24x24.jpg 24w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_3-48x48.jpg 48w\" sizes=\"auto, (max-width: 909px) 100vw, 909px\" \/><figcaption>OData-Datenmodell<\/figcaption><\/figure><\/div>\n\n\n\n<p>Dabei bietet das Backend Plug-in eine Super-Klasse, die dann entsprechend reimplementiert werden muss. Jede Methode (Lesen, L\u00f6schen, Suche) wird eigens entwickelt. In dieser Methode steht dann die eigentliche Logik, also das Coding, das die entsprechenden Funktionsbausteine und Tabellen ausliest oder aktualisiert.<\/p>\n\n\n\n<p>Wurde bei der Definition des Modells eine Assoziation zwischen Entities vorgegeben \u2013 wie etwa vom Produkt zur Kategorie \u2013, dann muss diese Assoziation im Service Builder auch implementiert werden.<\/p>\n\n\n\n<p>S\u00e4mtliche Implementierungen und generiertes Coding wird im sogenannten Kundennamensraum erzeugt. Das hat zum einen den Vorteil, dass manuelle Anpassungen immer m\u00f6glich sind. Dies wird auch durch ein Konzept von Erweiterungspunkten unterst\u00fctzt.<\/p>\n\n\n\n<p>Zum anderen werden die g\u00e4ngigen Instrumente im ABAP-Umfeld zur Source-Code-Verwaltung und zum Transport verwendet. Als Resultat der Definition und Implementierung ist jetzt ein funktionsf\u00e4higer OData Service erstellt.<\/p>\n\n\n\n<p>Nach der Erstellung des Services ist in einem n\u00e4chsten Schritt die Aktivierung erforderlich. Hintergrund dieses Schrittes ist, dass sich theoretisch die Service-Implementierung auf einem getrennten SAP-System vom zentralen NetWeaver Gateway Server befinden kann.<\/p>\n\n\n\n<p>Durch die Registrierung wird der Service im zentralen System bekannt gemacht und in einen zentralen Servicekatalog f\u00fcr OData Services aufgenommen. Innerhalb der Benutzeroberfl\u00e4che zur Registrierung und Aktivierung befinden sich auch Tools, die beim Fehlerbeheben und Testen hilfreich sind.<\/p>\n\n\n\n<p>Somit befinden sich im Service Builder alle Funktionen an einem Ort, die zur Definition und Implementierung ben\u00f6tigt werden, wobei in der Benutzeroberfl\u00e4che zur Registrierung und Aktivierung alle Tools zur Verwaltung eines bereits existierenden Services zu finden sind.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Benutzeroberfl\u00e4chen<\/h3>\n\n\n\n<p>Visual Studio LightSwitch: Nachdem der entsprechende Service im SAP-System jetzt implementiert oder generiert wurde, kann der Service direkt in verschiedenen Oberfl\u00e4chen verwendet werden, je nach Anforderung.<\/p>\n\n\n\n<p>Durch die Verwendung eines offenen Standards gibt es viele M\u00f6glichkeiten und Anbieter, die das OData-Format unterst\u00fctzen. Erw\u00e4hnenswert ist hier das Visual Studio LightSwitch von Microsoft, da es eine offene L\u00f6sung zur Erstellung von komplexeren Anwendungen basierend auf Templates bereitstellt, die nach der Generierung leicht erweitert und angepasst werden kann.<\/p>\n\n\n\n<p>Diese Tem\u00adplates k\u00f6nnen im Erstellungs-Assistenten unter anderem auch mit OData Services verbunden werden. Und seit Microsoft Excel Version 2010 gibt es die M\u00f6glichkeit, auch in Excel einen existierenden OData Service einzulesen und die Inhalte in der Tabellenansicht anzuzeigen.<\/p>\n\n\n\n<p>Bei der Umwandlung m\u00fcssen nat\u00fcrlich einige Anpassungen vorgenommen werden, so werden die Relationen in Tabellen hinterlegt. Dazu ist bei Excel 2010 die Installation des kostenlosen Power Pivot Add-ons notwendig.<\/p>\n\n\n\n<p>Excel kann \u00fcber diese M\u00f6glichkeit zwar nicht die Daten im SAP-System aktualisieren, das Anzeigen von Werten und die Excel-basierte Analyse sind dadurch aber einfach m\u00f6glich.<\/p>\n\n\n\n<p>Outside Consumption Tools: \u00dcber das SAP Community Network werden Erweiterungen zur Verf\u00fcgung gestellt, die bei der Erstellung von Anwendungen basierend auf HTML5 (jQuery mobile oder SAP UI5), Android, iOS, Java, PHP oder .Net helfen.<\/p>\n\n\n\n<p>Der Entwickler wird dabei durch die Wizard-basierten Erweiterungen unterst\u00fctzt. Dieser Wizard analysiert den OData Service, um beispielsweise die Relationen und Attribute zu identifizieren. Abh\u00e4ngig von der User-Interface-Technologie stehen List-Detail, manchmal auch Workflow als Template zur Verf\u00fcgung.<\/p>\n\n\n\n<div class=\"wp-block-image size-full wp-image-60583\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"813\" height=\"652\" src=\"https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_4.jpg\" alt=\"Gateway Odata 4\" class=\"wp-image-60583\" srcset=\"https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_4.jpg 813w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_4-768x616.jpg 768w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_4-100x80.jpg 100w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_4-480x385.jpg 480w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_4-640x513.jpg 640w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_4-720x577.jpg 720w\" sizes=\"auto, (max-width: 813px) 100vw, 813px\" \/><figcaption>Nachteilige Punkt-zu-Punkt-Verbindungen.<\/figcaption><\/figure><\/div>\n\n\n\n<p>Im n\u00e4chsten Schritt muss der Entwickler die Bilder, deren Reihenfolge und die darauf sichtbaren Felder definieren. Danach wird der Quell-Code generiert, der als Basis f\u00fcr kundenspezifische Anpassungen verwendet werden kann.<\/p>\n\n\n\n<p>Viele Elemente wie die Proxies k\u00f6nnen dann direkt als Basis zur individuellen Programmierung der Anwendung verwendet werden. Bei mobilen Technologien wie iOS oder Android erfolgt die Kommunikation anfangs direkt von der App \u00fcber OData zu NetWeaver Gateway.<\/p>\n\n\n\n<p>Wird die SAP Mobile Platform verwendet, so kann sehr einfach in den zentralen Proxies die Kommunikation auf Mobile Platform umgeschaltet werden, die restliche mobile Anwendung und die erstellten Services im SAP-System k\u00f6nnen gleich bleiben.<\/p>\n\n\n\n<p>SAP UI5: Am Thema HTML5 arbeiten aktuell viele Browser-Hersteller sowie Hersteller von Werkzeugen zur Erstellung und Wartung von Webseiten. Auch SAP ist aktiv.<\/p>\n\n\n\n<p>Da das Walldorfer Unternehmen einen Fokus auf die Unterst\u00fctzung von unternehmenskritischen Abl\u00e4ufen hat, wurde auch die HTML5-Unterst\u00fctzung optimiert.<\/p>\n\n\n\n<p>Durch die Verwendung des SAP UI5 Frameworks wird die Erstellung von HTML5-basierten Oberfl\u00e4chen erleichtert. Dies erfolgt beispielsweise durch die Bereitstellung von Controls, die ein einheitliches Erscheinungsbild und eine erleichterte Erstellung bieten.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Verwendete Komponenten<\/h3>\n\n\n\n<p>Die L\u00f6sung NetWeaver Gateway besteht vereinfacht aus zwei Komponenten, einem Backend Plug-in und dem eigentlichen Gateway Server. Das Backend Plug-in beinhaltet die notwendigen Funktionalit\u00e4ten, um sich direkt in das Backend integrieren zu k\u00f6nnen.<\/p>\n\n\n\n<p>Prominentestes Beispiel ist der Service Builder als zentrale Entwicklungs- und Modellierungsumgebung. Der Gateway Server beinhaltet die Server-Funktionen. Hier laufen die eventuell vorhandenen Backend Plug-ins zentral zusammen, hier werden die XML-Files generiert, Antworten entgegengenommen und vieles mehr.<\/p>\n\n\n\n<p>Eine wichtige Rolle spielen die Berechtigungen und der Zugriff zum SAP-System. Im NetWeaver-Applikationsserver ABAP ist bereits Unterst\u00fctzung f\u00fcr viele Protokolle enthalten wie SAML 2.0, X.509, Basic Authentication oder SSO2 Token.<\/p>\n\n\n\n<p>Diese Protokolle k\u00f6nnen daher direkt f\u00fcr die Kommunikation mit dem NetWeaver Gateway System verwendet werden. Man kann nun zwischen mehreren Architekturen unterscheiden:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Installation direkt auf dem Backend System: Bei der einfachsten Installation k\u00f6nnen sowohl der Gateway Server als auch das Backend Plug-in direkt auf dem SAP-System installiert werden.Dabei muss das System mindestens die NetWeaver Version 7.0 verwenden. Der Vorteil liegt in den geringen Kosten. Weitere Hardware wird nicht ben\u00f6tigt. Da der NetWeaver Gateway Server mit relativ wenig Ressourcen auskommt, k\u00f6nnen so bereits viele Szenarien bedient werden.<\/li><li>Installation auf einem separaten System: Gerade wenn mehr als ein Backend-System vorhanden ist, empfiehlt sich die Installation des Gateway Servers auf einem separaten Server.Die Backend Plug-ins werden hier immer noch in den SAP-Systemen installiert. Die verschiedenen SAP-Systeme kommunizieren jetzt direkt mit dem Gateway Server. In den Backend Plug-ins werden auch in diesem Szenario die notwendigen Services entwickelt.\n<p>Dies hat den Vorteil, dass sich die entsprechende Logik direkt im SAP-System befindet. Dadurch kann sehr performant entwickelt werden. Nur die ben\u00f6tigten Daten werden an den zentralen Gateway Server \u00fcbertragen.<\/p>\n<p>Selbst komplexere Szenarien wie die Zuweisung von Anfragen vom Gateway Server auf das richtige SAP-System sind m\u00f6glich \u2013 falls beispielsweise pro Region ein eigenes SAP-System vorhanden ist.<\/p>\n<p>Eine solche Architektur kann gew\u00e4hlt werden, wenn zum Beispiel durch ein Layered-Defence-Konzept erh\u00f6hte Sicherheit bei externen Zugriffen bereitgestellt werden soll. Das NetWeaver Gateway System kann dabei auch in der Demilitarisierten Zone (DMZ) installiert werden.<\/p>\n<\/li><li>Ohne Installation auf dem SAP-System: Die beiden oben skizzierten<\/li><\/ul>\n\n\n\n<p>Optionen haben den Nachteil, dass auf dem SAP-System zus\u00e4tzlich Software installiert werden muss. In manchen Konstellationen ist die In\u00adstallation von zus\u00e4tzlicher Software nur schwierig m\u00f6glich, wenn beispielsweise ein System nach FDA-Standards validiert wurde.<\/p>\n\n\n\n<p>In diesem Fall k\u00f6nnen sowohl Backend Plug-in als auch Gateway Server auf einem separaten System installiert werden. Die Kommunikation mit dem SAP-System erfolgt \u00fcber die bereits im System enthaltenen Schnittstellen wie RFC oder BAPI.<\/p>\n\n\n\n<div class=\"wp-block-image size-full wp-image-60584\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"808\" src=\"https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_6.jpg\" alt=\"Gateway Odata 6\" class=\"wp-image-60584\" srcset=\"https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_6.jpg 1000w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_6-768x621.jpg 768w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_6-100x81.jpg 100w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_6-480x388.jpg 480w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_6-640x517.jpg 640w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_6-720x582.jpg 720w, https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/gateway_odata_6-960x776.jpg 960w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption>Um Kunden bei der Verwendung und Entwicklung von Cloud-basierten Anwendungen zu unter-<br>st\u00fctzen, ist geplant, auch Teile von NetWeaver Gateway in der Hana Cloud zur Verf\u00fcgung zu stellen.<\/figcaption><\/figure><\/div>\n\n\n\n<p>Fortsetzung folgt \u2026<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seit 2011 bietet SAP mit NetWeaver Gateway eine Erweiterung f\u00fcr s\u00e4mtliche auf NetWeaver ABAP basierenden SAP-Produkte an, um \u00fcber eine offene, REST-basierte Schnittstelle einen einfachen, kontrollierten Zugang zu den Daten des SAP-Systems zu erm\u00f6glichen. Das dabei verwendete OData-Protokoll ist auf die Anforderungen im User-Interface-Bereich optimiert. Dadurch lassen sich verschiedene UI-Technologien mit unternehmenskritischen Daten aus dem SAP-System kombinieren.<\/p>\n","protected":false},"author":1777,"featured_media":60576,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"pmpro_default_level":"","footnotes":""},"categories":[5,31690],"tags":[453,59,722,5967,3888,119],"coauthors":[31710],"class_list":["post-60575","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-management","category-mag-1304","tag-abap","tag-microsoft","tag-netweaver","tag-odata","tag-sharepoint","tag-social-media","pmpro-has-access"],"acf":[],"featured_image_urls_v2":{"full":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013.jpg",1000,387,false],"thumbnail":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013-150x150.jpg",150,150,true],"medium":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013.jpg",400,155,false],"medium_large":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013-768x297.jpg",768,297,true],"large":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013.jpg",1000,387,false],"image-100":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013-100x39.jpg",100,39,true],"image-480":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013-480x186.jpg",480,186,true],"image-640":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013-640x248.jpg",640,248,true],"image-720":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013-720x279.jpg",720,279,true],"image-960":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013-960x372.jpg",960,372,true],"image-1168":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013.jpg",1000,387,false],"image-1440":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013.jpg",1000,387,false],"image-1920":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013.jpg",1000,387,false],"1536x1536":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013.jpg",1000,387,false],"2048x2048":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013.jpg",1000,387,false],"trp-custom-language-flag":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013.jpg",18,7,false],"bricks_large_16x9":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013.jpg",1000,387,false],"bricks_large":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013.jpg",1000,387,false],"bricks_large_square":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013.jpg",1000,387,false],"bricks_medium":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013.jpg",600,232,false],"bricks_medium_square":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013.jpg",600,232,false],"profile_24":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013-24x24.jpg",24,24,true],"profile_48":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013-48x48.jpg",48,48,true],"profile_96":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013-96x96.jpg",96,96,true],"profile_150":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013-150x150.jpg",150,150,true],"profile_300":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2013-300x300.jpg",300,300,true]},"post_excerpt_stackable_v2":"<p>Seit 2011 bietet SAP mit NetWeaver Gateway eine Erweiterung f\u00fcr s\u00e4mtliche auf NetWeaver ABAP basierenden SAP-Produkte an, um \u00fcber eine offene, REST-basierte Schnittstelle einen einfachen, kontrollierten Zugang zu den Daten des SAP-Systems zu erm\u00f6glichen. Das dabei verwendete OData-Protokoll ist auf die Anforderungen im User-Interface-Bereich optimiert. Dadurch lassen sich verschiedene UI-Technologien mit unternehmenskritischen Daten aus dem SAP-System kombinieren.<\/p>\n","category_list_v2":"<a href=\"https:\/\/e3mag.com\/de\/category\/it-management\/\" rel=\"category tag\">IT-Management<\/a>, <a href=\"https:\/\/e3mag.com\/de\/category\/mag-1304\/\" rel=\"category tag\">MAG 13-04<\/a>","author_info_v2":{"name":"Martin Bachmann, SAP","url":"https:\/\/e3mag.com\/de\/author\/martin-bachmann\/"},"comments_num_v2":"0 comments","_links":{"self":[{"href":"https:\/\/e3mag.com\/de\/wp-json\/wp\/v2\/posts\/60575","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/e3mag.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/e3mag.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/e3mag.com\/de\/wp-json\/wp\/v2\/users\/1777"}],"replies":[{"embeddable":true,"href":"https:\/\/e3mag.com\/de\/wp-json\/wp\/v2\/comments?post=60575"}],"version-history":[{"count":0,"href":"https:\/\/e3mag.com\/de\/wp-json\/wp\/v2\/posts\/60575\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/e3mag.com\/de\/wp-json\/wp\/v2\/media\/60576"}],"wp:attachment":[{"href":"https:\/\/e3mag.com\/de\/wp-json\/wp\/v2\/media?parent=60575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/e3mag.com\/de\/wp-json\/wp\/v2\/categories?post=60575"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/e3mag.com\/de\/wp-json\/wp\/v2\/tags?post=60575"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/e3mag.com\/de\/wp-json\/wp\/v2\/coauthors?post=60575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}