/ / RESTful API mit Oracle Database erstellen [ORDS]

RESTful API mit Oracle Database erstellen [ORDS]

Die Oracle-Datenbank ist immer noch die leistungsst├ĄrksteDatenbank auf dem Markt, die von den meisten gro├čen Unternehmen aufgrund ihrer Skalierbarkeit und Leistung verwendet wird. Eine der bemerkenswertesten Eigenschaften von Oracle-Datenbanken ist, dass sie mit Pl / SQL ausgestattet sind, was einen Vorteil f├╝r die Datenbank darstellt und eine flexible Verarbeitung der Daten erm├Âglicht. Aufgrund der Verf├╝gbarkeit von Pl / SQL kann Oracle leistungsstarke Webentwicklungsplattformen wie Application Express entwickeln, die das Unternehmen gerne als "Apex" bezeichnet. In der modernen Webentwicklung werden h├Ąufig REST-APIs verwendet, um Daten im Front-End anzuzeigen. Au├čerdem rufen die modernen Datenbanken jetzt Daten in Form von JSON aus der Datenbank ab. Oracle stellt der Oracle-Datenbank RESTful Data Services zur Verf├╝gung, mit denen Sie Daten in Form von JSON abrufen k├Ânnen.

Ich habe Oracle 11g XE auf meiner Virtual Box eingerichtet undIch zeige Ihnen, wie Sie eine RESTful-API mit Oracle Database ohne serverseitige Sprache erstellen. Sie m├╝ssen kein separates NodeJS-Modul schreiben, um REST-APIs zu erstellen. Mit ORDS (Oracle RESTful Data Services) ist die REST-API vor Ihrer Haust├╝r.

Ich habe Oracle Linux 7.4 auf Virtual Box installiert. Voraussetzung ist, dass Sie wissen, wie Sie Oracle Database 11g XE installieren, das mit Application Express 4.0 geliefert wird. Lassen Sie sie installiert und stellen Sie auf Ihrem Host-Computer sicher, dass SQL Developer installiert ist, da wir mit diesem Tool REST-Endpunkte erstellen.

Navigieren Sie auf der virtuellen Maschine, auf der Sie Oracle Database installiert haben, zu Oracle REST Data Services-Website und laden Sie ORDS herunter, damit Sie eine ords.war-Datei im Archiv finden. Extrahieren Sie das Archiv in einen neuen Ordner, der in Ihrem Home-Verzeichnis erstellt wurde.

unzip ords.18.1.1.95.1251.zip -d ~/ords/

F├╝gen Sie nun einen Benutzer mit der Rolle "SQL Developer" hinzu. Lassen Sie mich diesen Benutzer als ords_api bezeichnen.

sudo java -jar ./ords/ords.war user ords_api "SQL Developer"

Wenn Sie diesen Befehl ausgef├╝hrt haben, werden Sie gefragt, ob Sie dies m├ÂchtenBitte geben Sie das root-Passwort ein. Au├čerdem werden Sie aufgefordert, einen Pfad zum Speichern von Konfigurationsdetails anzugeben, n├Ąmlich die Anmeldeinformationen. Ich empfehle Ihnen, im Oracle-Basisverzeichnis bereitzustellen.

Geben Sie f├╝r Konfigurationsdaten Folgendes an:

/u01/app/oracle/product/

Nachdem Sie den Pfad f├╝r die Konfigurationsdaten angegeben haben, werden Sie aufgefordert, ein neues Kennwort f├╝r den Benutzer einzugeben ords_api. Geben Sie ein Kennwort an und denken Sie daran, dass Sie es bei jeder Verwendung in SQL Developer verwenden m├╝ssen.

Jetzt haben wir einen Benutzer f├╝r ORDS eingerichtet und m├╝ssen ORDS in Ihrer Datenbank installieren. F├╝hren Sie zum Installieren den folgenden Befehl aus.

sudo java -jar ./ords/ords.war install advanced

Sie erhalten mehrere Fragen zur Installation. Der ORDS wei├č nicht, wo Sie Ihre Datenbank installiert haben, und fragt nach Ihrem Datenbankserver, Port, SYS Benutzerpasswort. Sie werden au├čerdem aufgefordert, das Kennwort f├╝r einzugeben ORDS_PUBLIC_USER. Geben Sie ein neues Passwort ein, wenn Sie dazu aufgefordert werden. Lassen Sie standardm├Ą├čige und tempor├Ąre Tabellenbereichsnamen f├╝r ORDS_METADATA und ORDS _PUBLIC_USER soll gleich sein.

Geben Sie ein Passwort f├╝r an APEX_PUBLIC_USER, APEX_LISTENER und APEX_REST_PUBLIC_USER. Die Installation beginnt mit der Installation von ORDS.

Nach der Installation werden Sie dazu aufgefordertwie man ORDS startet. W├Ąhlen Sie den Standalone-Modus. Es fordert zur Eingabe des Images-Verzeichnisses von Oracle Application Express auf. In unserem Fall wird es jedoch in Oracle Database 11g XE installiert, und es verf├╝gt nicht ├╝ber einen statischen Image-Ordner. Geben Sie daher einen statischen Ordner f├╝r Oracle Application Express an oder lass es leeren.

Geben Sie an, ob HTTP oder HTTPS verwendet werden soll. Im Falle von HTTPS m├╝ssen Sie das SSL-Zertifikat bereitstellen.

Port f├╝r ORDS angeben - Oracle Application Express wird standardm├Ą├čig ausgef├╝hrt Port 8080. Der Standardport des ORDS ist ebenfalls 8080. Geben Sie daher beispielsweise eine andere Portnummer an 8081. Sobald Sie den Port angegeben haben, wird ORDS ausgef├╝hrt. Sie k├Ânnen von SQL Developer aus eine Verbindung zu Ihrer Datenbank herstellen und REST-APIs direkt aus Ihrer Oracle-Datenbank erstellen.

Navigieren Sie nun zu http://:8081/ords und du solltest einen bekommen 404 Fehlerseite. Dies bedeutet, dass ORDS auf Ihrer virtuellen Maschine ausgef├╝hrt wird. Die IP-Adresse meiner virtuellen Maschine lautet 172.20.10.5.

Wir werden nun sehen, wie Sie mit SQL Developer REST-Endpunkte erstellen.

  1. Erstellen Sie von SQL Developer aus eine neue Verbindung zur Oracle-Datenbank Ihrer virtuellen Maschine.
  2. Sobald die Verbindung erfolgreich hergestellt wurde, klicken Sie mit der rechten Maustaste auf Ihren Verbindungsnamen und gehen Sie zu REST-Services> REST-Services aktivieren.
    Beachten Sie, dass Sie diese Option nur erhalten, wenn ORDS auf Ihrer virtuellen Maschine ordnungsgem├Ą├č ausgef├╝hrt wird.
  3. Jetzt werden Sie aufgefordert, das zu verwendende Schema einzugeben. Wie in unserem Fall habe ich ein Schema namens api_user bereits in meiner Datenbank und ich werde sie nutzen. Ich habe auch eine Tabelle mit dem Namen "local_storage". Ich werde Ihnen zeigen, wie Sie mithilfe dieses Schemas REST-Endpunkte erstellen.
  4. Deaktivieren Sie die Option "Autorisierung erforderlich" und aktivieren Sie "Schema aktivieren". Geben Sie den Schemanamen ein, in meinem Fall api_user.
  5. Klicken Sie auf Weiter und dann auf Fertig stellen. Der SQL-Entwickler f├╝hrt einen SQL-Befehl aus.
  6. Fahren Sie nun mit dem Fenster REST-Entwicklung fort. Rechtsklick auf REST-Datendienste und klicken Sie auf Verbinden. Falls Sie kein REST-Entwicklungsfenster haben, k├Ânnen Sie es ├╝ber aktivieren Ansicht> REST Data Services> Entwicklung.

    Nun ist es Zeit f├╝r ORDS, das auf dem l├ĄuftPort 8081. Bearbeiten Sie die Verbindung und geben Sie die entsprechenden Details an. Benutzername ist der Benutzer, den wir vor der Installation von ORDS erstellt haben. Geben Sie die IP-Adresse der virtuellen Maschine und 8081 (oder was auch immer Sie w├Ąhrend der Installation eingestellt haben) als ORDS-Portnummer ein.
  7. Verbinden Sie sich und geben Sie das Passwort f├╝r das ein ords_api Benutzer. Sobald die Verbindung hergestellt ist, sehen Sie, dass Sie Module unter REST Data Services haben w├╝rden. Klicken Sie mit der rechten Maustaste auf die Module und klicken Sie auf Neues Modul, um einen neuen REST-Endpunkt zu erstellen.
  8. Geben Sie ein URL-Pr├Ąfix ein und aktivieren Sie Ver├Âffentlichen.
  9. Geben Sie ein URL-Muster an. Hier k├Ânnen Sie auch Variablen wie: id angeben, damit Sie: id in Ihrem SQL zum Ausf├╝hren von Abfragen verwenden k├Ânnen. Wenn Sie beispielsweise eine Zeile mit id = 5 abrufen m├Âchten, k├Ânnen Sie die folgende Abfrage f├╝r eine local_storage-Tabelle ausf├╝hren.
    SELECT * FROM local_storage WHERE id = :id;

    Bei jeder ├ťbergabe einer Zahl anstelle von: id wird der Wert in der SQL-Abfrage ersetzt und ruft Zeilen f├╝r Sie ab.

  10. W├Ąhlen Sie eine HTTP-Methode aus, in der Sie Daten abrufen m├ÂchtenDaten. Sie k├Ânnen POST auch verwenden, wenn Sie Daten mit ORDS in die Datenbank einf├╝gen m├Âchten. In diesem Fall k├Ânnen Sie Daten im JSON-Format senden und eine INSERT-Abfrage schreiben, um Daten in die Datenbank einzuf├╝gen.
  11. Klicken Sie auf Weiter und dann Fertig um ein neues Modul zu erstellen.
  12. Doppelklicken Sie jetzt oder klicken Sie mit der rechten Maustaste und ├Âffnen Sie die HTTP-Methode Ihres neu erstellten Moduls, um eine SQL-Abfrage hinzuzuf├╝gen.
  13. Das SQL-Arbeitsblatt wird ge├Âffnet, damit Sie Abfragen schreiben k├Ânnen.
  14. Lassen Sie mich schnell alle Zeilen aus der Tabelle holen lokaler Speicher und so:
    SELECT * FROM local_storage;

  15. Klicken Sie nun mit der rechten Maustaste auf Ihr Modul und w├Ąhlen Sie Upload.
  16. Sobald Ihr Upload erfolgreich war, k├Ânnen Sie ihn testen.
  17. Navigieren Sie zu der URL, f├╝r die Sie in Ihrem bevorzugten Webbrowser einen REST-Endpunkt erstellt haben. In meinem Fall ist es: http://172.20.10.5:8081/ords/api_user/api/get
  18. Und voila! Wir haben einen erfolgreichen REST-Endpunkt erstellt.

Fazit

Machen Sie sich keine Sorgen, wenn Sie die L├Ąnge dieses Artikels ber├╝cksichtigenDas Einrichten von ORDS ist nur einmal und Sie m├╝ssen nur neue Module zum Einrichten einer REST-Endpunkt-URL erstellen. Wenn Sie ORDS das n├Ąchste Mal im Standalone-Modus ausf├╝hren m├Âchten, m├╝ssen Sie Folgendes ausf├╝hren.

sudo java -jar ~/ords/ords.war standalone

Es fordert Sie nicht zur Eingabe von Daten auf und wird dies auch nicht tunStarten Sie den ORDS mit den Einstellungen, die Sie bei der Installation angegeben haben. Ich glaube, dies ist der bequemste Weg, einen REST-Endpunkt einzurichten, anstatt ein NodeJS-Modul zu schreiben, ein NPM-Paket zu installieren, um eine Verbindung zur Oracle-Datenbank herzustellen und Abfragen auszuf├╝hren. Was ist Ihre Meinung dazu? Wenn Sie Fragen haben, stehe ich Ihnen f├╝r Fragen offen, die Sie in den Kommentaren unten stellen.

0

Ähnliche Artikel


Kommentare (0)

Einen Kommentar hinzuf├╝gen