REST: Unterschied zwischen den Versionen
Root (Diskussion | Beiträge) |
|||
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 49: | Zeile 49: | ||
</IfModule> | </IfModule> | ||
* Es wird also jeder tiefere Zugriff ab "/rest" nicht auf das physikalische Abbild des Dateisystems abgebildet, wie das im normalfall geschieht. Sondern die beliebig formulierte "virtuelle" Pfad-Angabe dem PHP-Parameter "rest" zugewiesen. | |||
* QSA dient dem Anhängen der weiteren Query-Parameter | |||
* L dient dem Ausstieg aus der Regelkette | |||
* Datei /etc/httpd.conf | * Datei /etc/apache2/httpd.conf | ||
Include /etc/apache2/mod_rewrite.conf | Include /etc/apache2/mod_rewrite.conf | ||
* Datei /etc/apache2/sysconfig.d/loadmodule.conf | |||
LoadModule rewrite_module /usr/lib/apache2-prefork/mod_rewrite.so | |||
=== Erstes index.php5 === | === Erstes index.php5 === |
Aktuelle Version vom 19. Juni 2008, 14:50 Uhr
Die REST-(RESTful)-Server- und Client-Technologie ist in den OrgaMon integriert.
- Server
Auf einem definierbaren TCP-Port (Standard=3047) stellt der OrgaMon also diesen Web-Service zur Verfügung. Er lässt sich durch einen normalen Web-Browser ansprechen, eigent sich aber insbesondere für die Automatisierung und zur Kopplung von anderen Geschäftsprozessen an den OrgaMon. Insbesondere die Anbindung des WebShops.
- Client
Die Buchführung des OrgaMon kann ein externes Konto leicht über einen REST-Service (AqBanking) ansprechen und Buchungen (Umsätze) auslesen. Über den Service lassen sich jedoch auch Lastschriften durchführen. In einer späteren Ausbaustufe können auch Überweisungen durchgeführt werden.
Grundlagen der REST Technologie
- http://www.oio.de/public/xml/rest-webservices.htm
- http://xml-magazin.de/itr/online_artikel/show.php3?id=209&nodeid=69
- http://linuxenterprise.de/itr/news/psecom,id,39097,nodeid,8.html
Beispiele
- Starten die den REST Service: WebShop->Reiter REST->Schalter REST
- Benutzen Sie einen Browser, und geben Sie den Rechnernamen des Systems an, auf dem sie eben REST gestartet haben.
- Beispiel für alle möglichen Datenbank-Tabellen:
http://<RechnerName>:3047/
- Beispiel für eine einzelne Tabelle
http://<RechnerName>:3047/SORTIMENT
Server in PHP Programmiert
Vorarbeiten im Apache
- Datei /etc/mod_rewrite.conf
<IfModule mod_rewrite.c> RewriteEngine On RewriteLog /var/log/apache2/rewrite_log RewriteLogLevel 3 RewriteRule ^/rest(.*) /rest/index.php5?rest=$1 [QSA,L] </IfModule>
- Es wird also jeder tiefere Zugriff ab "/rest" nicht auf das physikalische Abbild des Dateisystems abgebildet, wie das im normalfall geschieht. Sondern die beliebig formulierte "virtuelle" Pfad-Angabe dem PHP-Parameter "rest" zugewiesen.
- QSA dient dem Anhängen der weiteren Query-Parameter
- L dient dem Ausstieg aus der Regelkette
- Datei /etc/apache2/httpd.conf
Include /etc/apache2/mod_rewrite.conf
- Datei /etc/apache2/sysconfig.d/loadmodule.conf
LoadModule rewrite_module /usr/lib/apache2-prefork/mod_rewrite.so
Erstes index.php5
<HTML><BODY>
<?php
$_GLOBALS = array("rest","f","wC");
foreach ($_GLOBALS as $var) if (isset($_REQUEST[$var])) { $$var = $_REQUEST[$var]; }
echo "\$rest='". $rest . "'
\r\n";
echo "\$f='" . $f . "'
\r\n";
?>
</BODY>
<HTML>
Ausblick
- Grundsätzliche Erweiterung um einen "Name-Space" genau wie bei XMLRPC, also als erster "Parameter" wird grundsätzlich der Name-Space übertragen.
/<NameSpace>/
- voraussichtliche Haupt-Einstiege (r/w):
./olap/
Ausführen von OLAP-Statements
./buch/
Besondere Auswertungen für die Buchführung
./shop/
Wrapper
./ecommerce/
kompletter Funktionsumfang des eCommerce-Moduls
f - Parameter
Ein allzeit Verwendbarer Parameter für das Format der Antwort des Servers ist der "f"-Parameter. Dabei gibt es folgdende Werte:
- f=xml: Die Antwort wird in XML formatiert
- f=text: Die Antwort wird als csv-Tabelle formatiert
- f=xls: Es wird direkt mit einem XLS Dokument geantwortet
- f=text.zip: Die Textantwort wird gezippt übertragen