Tabellendaten als RSS-Feed
bereitstellen ...
Vor einiger Zeit
wurde in diesem Forum vorgestellt, wie Sie mit Application Express
externe RSS-Feeds in Ihre Anwendungen integrieren können.
Heute erfahren Sie, wie Sie aus Ihrer Anwendung heraus einen RSS-Feed
bereitstellen. RSS eignet sich als Alternative zum Versenden von
Mails hervorragend, um schnell und einfach Nutzer zu benachrichtigen. Wenn Sie RSS-Feeds von einer
Anwendung bereitstellen und von einer anderen konsumieren,
können Sie Nachrichten zwischen Anwendungen austauschen, ohne
mit Datenbank-Links hantieren zu müssen.
Dies wird anhand eines Beispiels demonstriert. Aus einer Tabelle mit Kunden und ihren Umsätzen wird ein
RSS-Feed bereitgestellt, der über alle Abschlüsse über einem bestimmten Betrag informiert.
Abb.1:
Grundlage des RSS-Feeds: Eine
Tabelle
Legen Sie Ihre Tabelle, wie in Abbildung 1
dargestellt, an. Die Spalte ID soll der
Primärschlüssel sein; diese soll mit einer neuen
Sequence gefüllt werden. Wenn Sie
möchten, können Sie im SQL Workshop auch
schon einige Daten eingeben.
 Abb.2: Einige Daten
eingeben ...
Legen Sie anschließend eine kleine
Application Express-Anwendung mit einer Seite und einem Bericht an. Damit die
Anwendungsseite zum RSS-Feed, der nachfolgend erstellt wird, passt, achten Sie bitte auf folgendes:
- Die Anwendung sollte den Aliasnamen
UMSATZ erhalten
- Die Seite mit dem Bericht sollte den
Aliasnamen SHOW erhalten
- Für die ersten Tests sollten Sie
die Anmeldung deaktivieren, später kann diese durchaus wieder aktiviert werden.
- Achten Sie darauf, dass die Berichtsseite
das Element P1_ID (Ausgeblendet) enthält
- Als SQL für den Bericht
hinterlegen Sie ...
- Die
Seite sollte mit folgendem Link
aufgerufen werden können:
Abbildung
3 zeigt, wie die Berichtsseite
aussehen könnte. Natürlich kann Ihre
Umsatzdatentabelle auch mehr Spalten enthalten, die dann hier
dargestellt werden; das
obige Beispiel enthält nur die minimal notwenigen Spalten.
 Abb.3:
Die
fertige Berichtsseite zur Anzeige der Umsatzdaten
Als nächstes wird der RSS-Feed
erstellt. RSS-Feeds sind
XML-Dokumente, die stets den gleichen Aufbau haben. Abbildung 4 zeigt
das XML eines RSS-Feeds (Studio recent) des Oracle Technology Network.
 Abb.3:
RSS-Feed des Oracle Technology Network als Beispiel
Wenn Sie nun selbst einen RSS-Feed
bereitstellen möchten, müssen Sie ein XML-Dokument erstellen,
welches eben dieser Struktur entspricht. Dazu eignen sich die in der Oracle-Datenbank vorhandenen SQL/XML-Kommandos sehr gut. Mehr Informationen zum Generieren von XML aus der Datenbank finden Sie im Oracle Technet im Bereich der XML DB. Das folgende
Listing erstellt eine PL/SQL-Prozedur, welches das gewünschte
XML erzeugt und ausgibt. Lassen Sie das Skript im SQL Workshop
laufen ...
Achten Sie auf die SQL-Funktionen
XMLElement(), XMLAttributes() und XMLAgg(). Sie stellen aus der Tabelle mit
den Umsatzdaten das XML-Dokument für den RSS-Feed zusammen.
Die Prozedur hat den Parameter p_umsatzlimit - damit kann direkt beim
Aufruf festgelegt werden, welche Umsätze der RSS-Feed
bereitstellen soll. Es werden nur die jüngsten 20 Umsätze - nach Datum sortiert - zurückgegeben. Diese Prozedur können Sie auch als
Muster verwenden und so RSS-Feeds für andere Tabellen
erstellen. Das Schema ist stets das gleiche. Damit der RSS-Feed auch
aufgerufen werden kann, müssen Sie die Prozedur noch
freigeben. Setzen Sie mit dem SQL Workshop folgendes Kommando ab. Anschließend
können Sie im Browser testen, ob die Prozedur einwandfreies
XML liefert. Tauschen Sie das #OWNER# durch das Schema Ihres HTML DB
Workspace aus. Das Ergebnis sollte wie in Abbildung 5
aussehen.  Abb.5:
Test des RSS-Feeds
Der nächste Test findet in
einem RSS Newsreader statt. Im Internet finden Sie zahlreiche RSS
Newsreader als Freeware. Abbildung 6 zeigt, wie Ihr neuer RSS Feed als
Datenquelle in Mozilla Thunderbird eingebunden wird. Zum Einbinden des RSS-Feeds erwartet der Newsreader eine Feed-URL - geben hier genau die URL ein, die Sie
auch im Browser-Test verwendet haben - sie ruft die erstellte PL/SQL-Prozedur auf. Mit dem Parameter p_umsatzlimit können Sie den RSS-Newsfeed "feineinstellen":
 Abb.5:
Einbindung des RSS-Feeds in Mozilla Thunderbird
Solche RSS-Feeds lassen sich mit beliebigen
Tabellen und anhand beliebiger Kriterien einrichten. Wie eingangs
bereits beschrieben eignen sie nicht nur als Alternative zum
Versand von E-Mail, sondern auch - zum Konsumieren in anderen
(Application Express)-Anwendungen. Eine solche RSS-Kopplung ist
für zwei Application Express-Anwendungen insbesondere dann
interessant, wenn die Weitergabe von Database Links nicht möglich
oder nicht erwünscht ist.
Zurück zur
Community-Seite
|