DOAG 2015, Nürnberg
Ulrich Gerkmann-Bartels
und
Andreas Koop
REST IN PEACE MIT ORACLE
ORDS, NODE.JS, ADF, JAVA ODER OSB
DOAG 2015, Nürnberg
ÜBER UNS
2
Ulrich Gerkmann-Bartels
Gründer, CEO und Enterprise Architekt

@GerkmannBartels
Andreas Koo...
ENTERPRISE PRAGMATIC IT
DOAG 2015, Nürnberg
AGENDA
Einleitung
Architektur
Showcase: ORDS, NODE.JS , ADF, Plain Java, OSB
Bewertungsmatrix
Fazit un...
DOAG 2015, Nürnberg
WIESO, WESHALB, WARUM - REST
‣ Ursprung: Dissertation von Roy Fielding (2000)
‣ REST steht für REprese...
DOAG 2015, Nürnberg
REST-PRINZIPIEN UND RESSOURCEN
‣ Über eine eindeutige Adresse (URI) wird eine Ressource
angesprochen (...
DOAG 2015, Nürnberg
HATEOS
HYPERMEDIA AS THE ENGINE OF APPLICATION STATE
‣ Jede Antwort beinhaltet Links zu weiteren Aktio...
HATEOS
DEMO
DOAG 2015, Nürnberg
AGENDA
Einleitung
Architektur
Showcase: ORDS, NODE.JS , ADF, Plain Java, OSB
Bewertungsmatrix
Fazit un...
JavaScript - Client
DEMO
API Design - Swagger
DEMO
DOAG 2015, Nürnberg
ARCHITEKTUR
12
Data Store
Layer
Business
Rules /
Logic /
Process
Layer
Service
Layer
Client Layer
Data...
DOAG 2015, Nürnberg
AGENDA
Einleitung
Architektur
Showcase: ORDS, NODE.JS , ADF, Plain Java, OSB
Bewertungsmatrix
Fazit un...
REST mit ORDS
DEMO
DOAG 2015, Nürnberg
ORDS ARCHITEKTUR
15
Data Store Layer
Business Rules
/ Logic /
Process Layer
Service
Layer
Abbildung un...
DOAG 2015, Nürnberg
BEWERTUNG ORDS
16
‣ Stärken: Sehr einfach für CRUD und Abfragen von Daten
‣ Schwächen: Modifikation des...
REST mit NODE.JS
DEMO
DOAG 2015, Nürnberg
NODE.JS & ORACLE DB DRIVER
ARCHITEKTUR
18
Data Store Layer
Business Rules
/ Logic /
Process Layer

?
S...
DOAG 2015, Nürnberg
BEWERTUNG NODE.JS & ORACLE DB
DRIVERS
19
‣ Stärken: JavaScript Land - Client und Server - Sehr hoher
F...
DOAG 2015, Nürnberg
EMPFEHLUNG
NODE.JS & ORACLE DB DRIVERS
20
Orawrap is a wrapper module for the Oracle Database driver
f...
DOAG 2015, Nürnberg
REST MIT ADF 12.2.1+
‣ ViewObjekt-Instanzen eines Application Modules
können als REST-Resourcen exponi...
DOAG 2015, Nürnberg 22
REST mit ADF
DEMO
DOAG 2015, Nürnberg
ORACLE ADF (12.2.1+)
ARCHITEKTUR
23
Data Store Layer
Business Rules
/ Logic /
Process Layer
Service La...
DOAG 2015, Nürnberg
BEWERTUNG ORACLE ADF
‣ Stärken: Out-of-The Box, inkl. Metadaten, XML/JSON,
Paginierung bei Collections...
DEMO
REST mit Plain Java
DOAG 2015, Nürnberg
PLAIN JAVA
ARCHITEKTUR
26
Data Store Layer
Business Rules
/ Logic /
Process Layer
Service Layer
Oracle...
DOAG 2015, Nürnberg
BEWERTUNG PLAIN JAVA
‣ Stärken: Java-Standard, JAX-RS
‣ Schwächen: -
‣ Empfehlung
‣ Bei Vorhandensein ...
DOAG 2015, Nürnberg
REST MIT OSB
‣ Integrierte Unterstützung im Proxy-Service!
(Expose as REST Wizard. Anpassung Resourcen...
DEMO
REST mit OSB
DOAG 2015, Nürnberg
ORACLE OSB
ARCHITEKTUR
30
Data Store Layer
Business Rules
/ Logic /
Process Layer
Service Layer
Oracle...
DOAG 2015, Nürnberg
BEWERTUNG OSB
‣ Stärken: Wiederverwendung und Integration in eine SOA-Architektur, Integriertes
Monito...
DOAG 2015, Nürnberg
AGENDA
Einleitung
Architektur
Showcase: ORDS, NODE.JS , ADF, Plain Java, OSB
Bewertungsmatrix
Fazit un...
DOAG 2015, Nürnberg
BEWERTUNGSMATRIX
34
weniger mehr
Infrastruktur und Produkt orientiert
ORDS NODE.JS Plain Java ADF OSB
...
DOAG 2015, Nürnberg
AGENDA
Einleitung
Architektur
Showcase: ORDS, NODE.JS , ADF, Plain Java, OSB
Bewertungsmatrix
Fazit un...
DOAG 2015, Nürnberg
FAZIT & AUSBLICK
‣ „Cloud und Mobile sprechen REST“
‣ REST-APIs verbessern die technische Architektur ...
DOAG 2015, Nürnberg
WEITERE INFORMATIONEN
‣ Blog: JavaScript and Oracle

https://jsao.io/
‣ node.js und Oracle DB Driver 
...
DOAG 2015, Nürnberg
BASIS LITERATUR
38
VIELEN DANK FÜR IHRE
AUFMERKSAMKEIT
HABEN SIE NOCH FRAGEN?
Andreas Koop 40
NICHT VERPASSEN
Ulrich
Gerkmann Bartels
Agilität und Microservices als
Chance für Modernisierung?
—
Di, 17...
DOAG 2015, Nürnberg 41
Treffen Sie uns am Stand der scope alliance auf Ebene 1
Andreas

Koop
Ulrich
Gerkmann-Bartels
REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?
Nächste SlideShare
Wird geladen in …5
×

REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?

720 Aufrufe

Veröffentlicht am

Presentation on different programming styles for creating RESTful Service. Talk was held at DOAG 2015

Veröffentlicht in: Technologie
0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
720
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
8
Aktionen
Geteilt
0
Downloads
2
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?

  1. 1. DOAG 2015, Nürnberg Ulrich Gerkmann-Bartels und Andreas Koop REST IN PEACE MIT ORACLE ORDS, NODE.JS, ADF, JAVA ODER OSB
  2. 2. DOAG 2015, Nürnberg ÜBER UNS 2 Ulrich Gerkmann-Bartels Gründer, CEO und Enterprise Architekt @GerkmannBartels Andreas Koop Gründer, CFO und Senior Architekt @andreaskoop
  3. 3. ENTERPRISE PRAGMATIC IT
  4. 4. DOAG 2015, Nürnberg AGENDA Einleitung Architektur Showcase: ORDS, NODE.JS , ADF, Plain Java, OSB Bewertungsmatrix Fazit und Ausblick 4
  5. 5. DOAG 2015, Nürnberg WIESO, WESHALB, WARUM - REST ‣ Ursprung: Dissertation von Roy Fielding (2000) ‣ REST steht für REpresentational State Transfer ‣ Ist ein Architekturstil für Hypermedia-Systeme ‣ Ressourcen werden in einem System über eine lose gekoppelte Adressierung angesprochen. ‣ Keine Technologie, kein Protokoll, kein zweites SOAP 5
  6. 6. DOAG 2015, Nürnberg REST-PRINZIPIEN UND RESSOURCEN ‣ Über eine eindeutige Adresse (URI) wird eine Ressource angesprochen (http://localhost:8080/ords/hr/employees/104) ‣ Es kann verschiedene Repräsentationen einer Ressource geben (XML, JSON, HTML, ?) ‣ Es stehen nur wenige Methoden zur Anwendung auf Ressourcen zur Verfügung (GET,PUT,POST,DELETE) ‣ Ressourcen sind Datenzentriert (CRUD) ‣ Zustandslose Kommunikation (Stateless) 6
  7. 7. DOAG 2015, Nürnberg HATEOS HYPERMEDIA AS THE ENGINE OF APPLICATION STATE ‣ Jede Antwort beinhaltet Links zu weiteren Aktionen ‣ Diese Links repräsentieren den aktuellen Zustand der Ressource / Applikation mit Ihrem Inhalt und Aktionen ‣ Ein Klient kennt im Prinzip nur eine URL zu einer Ressource / Applikation. Weitere Inhalte und Aktionen werden zur Laufzeit mit jedem entsprechenden Response mitgeliefert. ‣ RESTful API „is driven by hypertext“ 7
  8. 8. HATEOS DEMO
  9. 9. DOAG 2015, Nürnberg AGENDA Einleitung Architektur Showcase: ORDS, NODE.JS , ADF, Plain Java, OSB Bewertungsmatrix Fazit und Ausblick 9
  10. 10. JavaScript - Client DEMO
  11. 11. API Design - Swagger DEMO
  12. 12. DOAG 2015, Nürnberg ARCHITEKTUR 12 Data Store Layer Business Rules / Logic / Process Layer Service Layer Client Layer Data Access Layer React HTMLJSCSS Client Node.js + Oracle Driver ORDS + WLS / Tomcat / Jetty WLS + JEE7+ ADF WLS + JEE7 WLS + JEE7 + OSB + SOAP WebService Oracle Database Oracle Jet HTMLJSCSS Client
  13. 13. DOAG 2015, Nürnberg AGENDA Einleitung Architektur Showcase: ORDS, NODE.JS , ADF, Plain Java, OSB Bewertungsmatrix Fazit und Ausblick 13
  14. 14. REST mit ORDS DEMO
  15. 15. DOAG 2015, Nürnberg ORDS ARCHITEKTUR 15 Data Store Layer Business Rules / Logic / Process Layer Service Layer Abbildung und Routing von SQL und Transformation des Ergebnisses Client Layer SQL/PL-SQL - Land Data Access Layer ORDS + WLS / Tomcat / Jetty Oracle Database / NoSQL
  16. 16. DOAG 2015, Nürnberg BEWERTUNG ORDS 16 ‣ Stärken: Sehr einfach für CRUD und Abfragen von Daten ‣ Schwächen: Modifikation des Request/Response - Zyklus ‣ Empfehlung ‣ RESTenable klassische Oracle Infrastruktur ohne weiteren Technology-Stack, Mobile Cloud Service ‣ Skills: Oracle SQL & PL/SQL, JSON, XML ‣ Tools: SQL Developer
  17. 17. REST mit NODE.JS DEMO
  18. 18. DOAG 2015, Nürnberg NODE.JS & ORACLE DB DRIVER ARCHITEKTUR 18 Data Store Layer Business Rules / Logic / Process Layer ? Service Layer JavaScript - Land Client Layer Data Access Layer Node.js + Oracle Driver Oracle Database
  19. 19. DOAG 2015, Nürnberg BEWERTUNG NODE.JS & ORACLE DB DRIVERS 19 ‣ Stärken: JavaScript Land - Client und Server - Sehr hoher Freiheitsgrad ‣ Schwächen: Kein Out-Of-The-Box, Data Access Framework im Aufbau, Auswahl von zusätzlichen Modulen notwendig (Express, Swagger, u.a.) ‣ Empfehlung ‣ Strategische Entscheidung* -> JavaScript - Ökosystem ‣ Skills: JavaScript!, JSON/XML ‣ Tools: NODE.JS, ATOM, SWAGGER, MCS, <X>ify,… * Je nach Umfeld und Aufgabenstellung unausweichlich
  20. 20. DOAG 2015, Nürnberg EMPFEHLUNG NODE.JS & ORACLE DB DRIVERS 20 Orawrap is a wrapper module for the Oracle Database driver for Node.js (node-oracledb). https://github.com/OraOpenSource/orawrap ‣ Pool Manager für die Verwaltung von Pool Storage, Zugriffsmethoden und Queuing von Connetion- Anfragen ‣ Connection Manager für die einfache Zugriff auf eine Database Connection (Automatisches öffnen und schliessen der Ressourcen) ‣ Unterstützung von Ausführung zentralisierten SQL Scripten mit unterschiedlichen Timings.
  21. 21. DOAG 2015, Nürnberg REST MIT ADF 12.2.1+ ‣ ViewObjekt-Instanzen eines Application Modules können als REST-Resourcen exponiert werden ‣ Deklarativ / Wizard ‣ Generierung eines
 RESTWebService-
 Projektes ‣ Mehrversionsfähig-
 keit out-of-the-box 21
  22. 22. DOAG 2015, Nürnberg 22 REST mit ADF DEMO
  23. 23. DOAG 2015, Nürnberg ORACLE ADF (12.2.1+) ARCHITEKTUR 23 Data Store Layer Business Rules / Logic / Process Layer Service Layer Oracle Database Java-4GL-Framework-Land WLS ud Oracle ADF Client Layer Data Access Layer REST- Service (generiert) ADF / MAF REST DataControl ADF BC ApplicationModu le HTTP(S)/ REST ADF BC VO EO Oracle Database
  24. 24. DOAG 2015, Nürnberg BEWERTUNG ORACLE ADF ‣ Stärken: Out-of-The Box, inkl. Metadaten, XML/JSON, Paginierung bei Collections, RESTDataControl ‣ Schwächen: Anpassbarkeit, Freiheitsgrad ‣ Empfehlung ‣ Bei Vorhandensein von ADF Business Components ‣ Skills: Java, ADF, JSON/XML, SQL, ggf. PL/SQL ‣ Tools: JDeveloper 24
  25. 25. DEMO REST mit Plain Java
  26. 26. DOAG 2015, Nürnberg PLAIN JAVA ARCHITEKTUR 26 Data Store Layer Business Rules / Logic / Process Layer Service Layer Oracle Database Java - Land Application Server Client Layer Data Access Layer REST Resource @EJB Service EJB JPA Oracle Database
  27. 27. DOAG 2015, Nürnberg BEWERTUNG PLAIN JAVA ‣ Stärken: Java-Standard, JAX-RS ‣ Schwächen: - ‣ Empfehlung ‣ Bei Vorhandensein von EJB, JPA, Java EE Knowhow ‣ Skills: Java, JAX-RS, JSON/XML, EJB, JPA, SQL ‣ Tools: Java IDE (Netbeans, Eclipse, JDev, IDEA etc) 27
  28. 28. DOAG 2015, Nürnberg REST MIT OSB ‣ Integrierte Unterstützung im Proxy-Service! (Expose as REST Wizard. Anpassung Resourcen / Methoden / Parameter möglich) ‣ Nutzung vom Mediator für Transformation / Mapping von SOAP -> REST Service ‣ EJBs könnenen ebenso als REST-Service exponiert werden. ‣ Monitoring, Reporting, Security für die REST- Services inklusive! 28
  29. 29. DEMO REST mit OSB
  30. 30. DOAG 2015, Nürnberg ORACLE OSB ARCHITEKTUR 30 Data Store Layer Business Rules / Logic / Process Layer Service Layer Oracle Database Enterprise-SOA/EAI-WebService-Land WLS und Oracle OSB Client Layer Data Access Layer REST-Proxy Service Mediator SOAP, EJB, etc
  31. 31. DOAG 2015, Nürnberg BEWERTUNG OSB ‣ Stärken: Wiederverwendung und Integration in eine SOA-Architektur, Integriertes Monitoring ‣ Schwächen: Komplexe Infrastruktur: WLS, SOA, OSB ‣ Achtung: SOAP Services mit einer API- Fassade zu versehen könnte nicht überall bei der Verwendung auf Gegenliebe stoßen ‣ Empfehlung ‣ SOA/ESB ist strategische Plattform für Enterprise Application Integration ‣ Bei Vorhandensein von SOA Suite, OSB, Knowhow ‣ Skills: OSB, JDeveloper, XSL, XPATH, SOAP, JSON/XML … ‣ Tools: JDeveloper 31 SOAP ist RPC Style, REST API ist Ressource -Style
  32. 32. DOAG 2015, Nürnberg AGENDA Einleitung Architektur Showcase: ORDS, NODE.JS , ADF, Plain Java, OSB Bewertungsmatrix Fazit und Ausblick 32
  33. 33. DOAG 2015, Nürnberg BEWERTUNGSMATRIX 34 weniger mehr Infrastruktur und Produkt orientiert ORDS NODE.JS Plain Java ADF OSB Ansatz SQL-PL/SQL - Land JavaScript-Land Java-Land Java-4GL- Framework-Land SOA/EAI-Land Beherrschbar- keit Gut Gut Gut Befriedigend Herausfordernd Gewichtsklasse S M M L XXL Werkzeug/Tool- Kopplung Hoch Niedrig Niedrig Hoch Hoch Perspektive / Evolution Stark (Sehr) stark Mittel Partiell Partiell Maxime Das, was es kann reicht uns, später sehen wir weiter ! Was immer wir wollen, müssen/ können wir mit JavaScript machen Was immer wir wollen, müssen/ können wir mit Java machen Wir wollen nicht basteln, wir nutzen Produktfunktionen, um eine Lösungen zu bauen. Was immer da kommt, wir können es in unsere umfassende Integrationsstrategie im Unternehmen als Baustein einfügen !
  34. 34. DOAG 2015, Nürnberg AGENDA Einleitung Architektur Showcase: ORDS, NODE.JS , ADF, Plain Java, OSB Bewertungsmatrix Fazit und Ausblick 35
  35. 35. DOAG 2015, Nürnberg FAZIT & AUSBLICK ‣ „Cloud und Mobile sprechen REST“ ‣ REST-APIs verbessern die technische Architektur von Softwaresystemen ‣ REST-APIs benötigen ggfs. andere Infrastrukturbausteine wie Identity und Access Management oder ein API Management Werkzeug. ‣ Kombinierte Architekturen sind ggfs. zielführender (NODE.JS und ORDS, NODE.JS und Java, OSB und ADF) ‣ Allumfassendes strategisches Einheitskonzept war 1995 36
  36. 36. DOAG 2015, Nürnberg WEITERE INFORMATIONEN ‣ Blog: JavaScript and Oracle
 https://jsao.io/ ‣ node.js und Oracle DB Driver 
 https://www.npmjs.com/package/oracledb ‣ node.js und Oracle DB Driver must read !
 https://jsao.io/2015/09/connection-request-queuing-with-the-node-js-driver/ ‣ REST API Design - Resource Modeling
 https://www.thoughtworks.com/insights/blog/
 rest-api-design-resource-modeling 37
  37. 37. DOAG 2015, Nürnberg BASIS LITERATUR 38
  38. 38. VIELEN DANK FÜR IHRE AUFMERKSAMKEIT HABEN SIE NOCH FRAGEN?
  39. 39. Andreas Koop 40 NICHT VERPASSEN Ulrich Gerkmann Bartels Agilität und Microservices als Chance für Modernisierung? — Di, 17.11.2015 16:00 - 16:45 Stockholm —
  40. 40. DOAG 2015, Nürnberg 41 Treffen Sie uns am Stand der scope alliance auf Ebene 1 Andreas
 Koop Ulrich Gerkmann-Bartels

×