Zwei einfache Beispiele im „Hallo Welt“-Stil.
Wir verwenden in unseren Beispielen das Tool cURL und xmllint für die Anzeige von formatiertem XML.
Ein GET-Aufruf auf die folgenden URL liefert alle Artikel mit einem Verkaufspreis zwischen 40 und 50 EUR.
curl -X GET 'http://dbap-demo.dstore.de/default/item/get?Template=ItemList&Price=40%20TO%2050' | xmllint --format -
Wir können auch direkt nach den lilafarbenen Ohrenschützern für Mr. Spock per Freitextsuche suchen:
curl -X GET 'http://dbap-demo.dstore.de/default/item/get?Template=ItemList&Search=Spock%20lila' | xmllint --format -
Im Beispiel oben haben wir die Daten per item/get aus dem schnellen NoSQL-Datenspeicher geholt. Die Verfügbarkeit wollen wir aber immer Realtime aus der SQL-Datenbank bekommen (um z.B. auf der Artikeldetailseite 100%ig aktuelle Lieferinformationen zu haben). Dazu verwenden wir dann den Zugriff auf die SQL-Datenbank.
Folgende URL über die Adresszeile des Browsers eingegeben, liefert aus der dStore SmartEngine die Verfügbarkeit über die Methode im_GetSimpleProductInfo_Pu.
curl -X GET 'http://dbap-demo.dstore.de/default/engine/im_GetSimpleProductInfo_Pu?ProductTreeNodeID=123&InformationIDList=9' | xmllint --format -
Im Ergebnis erkennt man sehr deutlich, dass hier eine gespeicherte Prozedur („Stored Procedure“) in der Datenbank aufgerufen wurde.
<Statement Type="Procedure"> <ResultSet> <ColumnDefinition> <!-- Rausgeschnitten zur besseren Übersichtlichkeit, enthält Datentypen der Spalten --> </ColumnDefinition> <Rows> <Row> <Column Name="TreeNodeID">123</Column> <Column Name="NodeCharacteristicID">9</Column> <Column Name="Value"><![CDATA[Lieferbar]]></Column> <Column Name="ValueID">24</Column> <Column Name="SortNo">1</Column> </Row> <Row> <Column Name="TreeNodeID">97</Column> <Column Name="NodeCharacteristicID">9</Column> <Column Name="Value"><![CDATA[Nicht lieferbar]]></Column> <Column Name="ValueID">-1</Column> <Column Name="SortNo">2</Column> </Row> </Rows> </ResultSet> <MetaInformation> <SQLString>exec im_GetSimpleProductInfo_Pu @InformationIDList='9' , @ProductTreeNodeID=123</SQLString> <Information Type="ExecutionTime">2 ms</Information> </MetaInformation> </Statement>