Post on 22-Jan-2018
transcript
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 Koop Gründer, CFO und Senior Architekt@andreaskoop
ENTERPRISE PRAGMATIC IT
DOAG 2015, Nürnberg
AGENDA
Einleitung
Architektur
Showcase: ORDS, NODE.JS , ADF, Plain Java, OSB
Bewertungsmatrix
Fazit und Ausblick
4
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
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
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
HATEOSDEMO
DOAG 2015, Nürnberg
AGENDA
Einleitung
Architektur
Showcase: ORDS, NODE.JS , ADF, Plain Java, OSB
Bewertungsmatrix
Fazit und Ausblick
9
JavaScript - ClientDEMO
API Design - SwaggerDEMO
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
DOAG 2015, Nürnberg
AGENDA
Einleitung
Architektur
Showcase: ORDS, NODE.JS , ADF, Plain Java, OSB
Bewertungsmatrix
Fazit und Ausblick
13
REST mit ORDSDEMO
DOAG 2015, Nürnberg
ORDS ARCHITEKTUR
15
Data Store LayerBusiness 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
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
REST mit NODE.JSDEMO
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
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
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.
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 einesRESTWebService- Projektes
‣ Mehrversionsfähig-keit out-of-the-box
21
DOAG 2015, Nürnberg 22
REST mit ADFDEMO
DOAG 2015, Nürnberg
ORACLE ADF (12.2.1+) ARCHITEKTUR
23
Data Store LayerBusiness 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 BCApplicationModu
leHTTP(S)/
RESTADF BC
VOEO
Oracle Database
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
DEMOREST mit Plain Java
DOAG 2015, Nürnberg
PLAIN JAVA ARCHITEKTUR
26
Data Store LayerBusiness Rules
/ Logic / Process Layer
Service Layer
Oracle Database
Java - Land
Application Server
Client Layer
Data Access Layer
REST Resource
@EJB ServiceEJB JPA
Oracle Database
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
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
DEMOREST mit OSB
DOAG 2015, Nürnberg
ORACLE OSB ARCHITEKTUR
30
Data Store LayerBusiness 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
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
DOAG 2015, Nürnberg
AGENDA
Einleitung
Architektur
Showcase: ORDS, NODE.JS , ADF, Plain Java, OSB
Bewertungsmatrix
Fazit und Ausblick
32
DOAG 2015, Nürnberg
BEWERTUNGSMATRIX
34
weniger mehrInfrastruktur und Produkt orientiert
ORDS NODE.JS Plain Java ADF OSBAnsatz 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
MaximeDas, 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 !
DOAG 2015, Nürnberg
AGENDA
Einleitung
Architektur
Showcase: ORDS, NODE.JS , ADF, Plain Java, OSB
Bewertungsmatrix
Fazit und Ausblick
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
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
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.11.2015 16:00 - 16:45 Stockholm
—
DOAG 2015, Nürnberg 41
Treffen Sie uns am Stand der scope alliance auf Ebene 1
AndreasKoop
Ulrich Gerkmann-Bartels