SlideShare a Scribd company logo
OOW 2016: CON 1283
Maarten Smeets
Oracle Application Container Cloud Service
Back-End Integration Using Node.js
Introduction
• About AMIS
– Located in the Netherlands
• About me
– Oracle Integration Consultant
– Experience with Oracle SOA Suite since 2007
– Well certified (SOA, BPM, Java, SQL,
PL/SQL among others)
– Author of a lot of blog articles
(http://javaoraclesoa.blogspot.com)
@MaartenSmeetsNL
https://nl.linkedin.com/in/smeetsm
Agenda
Node.js introduction Backend integration Application Container Cloud What to use for your
integration?
Introducing Node.js
Node.js
Using threads is hard
• Concurrency control mechanisms (e.g. locking)
• Coordination over threads (IPC)
• Memory overhead
• Synchronization
• Programming thread safe code is not easy
What is Node.js
• Node.js uses a single thread!
• Node.js has been created
To write high-performance servers fast
• Node.js is:
– a set of bindings to V8 for non-browser work: sockets, files, etc.
– only exposes non-blocking, asynchronous interfaces
– only one thread, one call stack (like a browser)
– low level features: half-closed TCP connections, TCP throttling, UDP
– has killer HTTP support
Node.js architecture
node standard library
node bindings
(socket, http, etc)
V8
thread pool
(libeio)
event loop
(libev)
C/C++JavaScript
Node.js why should you care?
Node.js
What do they use it for?
“On the server side, our entire mobile software stack is completely built in Node”
“We are moving every product & every site within PayPal to Node”
“We’ve been busy building our next-generation Netflix.com web
application using Node”
“MuleSoft's Anypoint platform services are implemented in Node”
Node.js
Integration. Overview
POST /myservice
Receive request
Service
Implementation
Processing input
Creating output
Message processing
Backend
Front-end connectivity
Routing
Back-end connectivity
Flow control
Node.js
Integration. Overview
Front-end connectivity
• URL handling
• HTTP connection handling
Back-end connectivity
• Connect to other services
• Drivers to access technology
diverse systems
• Connection pooling
Drivers / modules such as
• Oracle Database
• Oracle NoSQL Database
• Mongo Database
• SOAP and JSON services
What
Frameworks such as
• Express
• Hapi
• Koa
• Sails
• xml2js
• node-soap
Message processing
Middleware
• Routing
• Mapping
Flow control • Async
• Promises
How
Node.js
Frameworks
• Abstraction
• Generic functionality
• Facilitate development
• Drawbacks
– Performance cost
– Need framework knowledge
– Only specific functionality
https://raygun.com/blog/2016/06/node-performance/
0
2000
4000
6000
8000
10000
12000
14000
raw node koa express restify hapi
Requestspersecond
Framework
Node.js
Frameworks: Express.js
• Express is a minimal and flexible Node.js web application framework that provides a robust set of features
for web and mobile applications.
• Express.js is used in many other popular frameworks like Sails, MEAN, LoopBack
• It is maintained by StrongLoop (IBM).
Started in 2009. 191 contributers. 6,823,598 downloads last month *
* Contributers from github.com. Downloads from npmjs.com. Determined 28 aug 2016
Node.js
Without framework
var http = require('http');
var server = http.createServer(function (req, res) {
if (req.method === 'GET') {
res.end("Hello World");
}
});
server.listen(3000);
Node.js
With express.js
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World');
});
app.listen(3000);
Quick and easy
Node.js
Frameworks: Other
• Hapi
A rich framework for building applications and services. Configuration is better
than code. Business logic must be isolated from the transport layer.
Started in 2011 146 contributers 234,103 downloads last month.
• Koa
Expressive, light-weight HTTP framework for Node.js to make web applications
and APIs more enjoyable to write.
Started in 2013 89 contributers 132,790 downloads last month.
• Sails
Sails is the most popular MVC framework for Node.js. It is designed for building
practical, production-ready Node.js apps. Build on top of express.
Started in 2012 210 contributers 59,518 downloads last month.
Node.js
Callback hell
Error handling in every callback handler
Nested callbacks
Node.js
Callback hell
Error handling in every callback handler
Nested callbacks
Node.js
Flow control. Executing in series
• Async
Async is a utility module which provides straight-forward, powerful
functions for working with asynchronous JavaScript.
• Promises
A Promise object represents a value that may not be available yet,
but will be resolved at some point in the future. It allows you to
write asynchronous code in a more synchronous fashion.
• Generators
The Generator object is returned by a generator function and it
conforms to both the iterable protocol and the iterator protocol.
Node.js modules
Convert XML <> JSON
• xml2js
Ever had the urge to parse XML? And wanted to access the data in some sane, easy way? Don't want to
compile a C parser, for whatever reason? Then xml2js is what you're looking for!
• xml2js uses SAX (Simple API for XML)
– Event driven asynchronous processing of XML
– Memory friendly
Does not require creating a Document Object Model (DOM) of the XML document in memory
</> {}
Node.js modules
How does JSONized SOAP look?
Mind the namespace prefixes!
Node.js modules
node-soap
node-soap is a module that offers SOAP support
Node.js modules
node-soap
Define the service logic
Load the WSDL
Create the server
Host the webservice
Node.js and back-end integration
Database integration with Node.js
Oracle NoSQL highlights
• Key value pair database
• Dynamic data model
• Transparent load balancing
• Highly scalable
• Options for transactional
mechanisms
• Options for eventual consistency
• Built on BerkelyDB
NoSQL highlights
http://www.oracle.com/technetwork/database/nosqldb/overview/nosql-transactions-497227.html
Transactional mechanisms
Consistency models
Node.js and NoSQL
Node.js
Node.js and NoSQL
Application
Node.js
Application
RMI
RMIJSON
Thrift
nosqldb-oraclejs
JVM
NoSQL Java proxy
kvclient
WL/GlassFish/Tomcat
REST Data Services
(ORDS)
kvclient
Node.js and MongoDB
BSON
Node.js
Application
mongoose
Node.js and the Oracle Database
node-oracledb
• Maintained by Oracle and actively being developed
• Requires Oracle database client software installed
Application Container Cloud already provides this
• Very rich in features and well documented!
https://github.com/oracle/node-oracledb
Node.js
Application
nosqldb-oraclejs
Node.js and the Oracle Database
node-oracledb: Features
• Promises, Callbacks and Streams
• SQL and PL/SQL execution
• REF CURSORs
• Large Objects: CLOBs and BLOBs
• Oracle Database 12.1 JSON datatype
• Query results as JavaScript objects or arrays
• Smart mapping between JavaScript and Oracle types
with manual override available
• Data binding using JavaScript objects or arrays
• Transaction Management
• Inbuilt Connection Pool with Queueing
• Database Resident Connection Pooling (DRCP)
• External Authentication
• Row Prefetching
• Statement Caching
• Client Result Caching
• End-to-end Tracing, Mid-tier Authentication, and
Auditing
• Oracle High Availability Features
– Fast Application Notification (FAN)
– Runtime Load Balancing (RLB)
– Transparent Application Failover (TAF)
Node.js and the Oracle Database
node-oracledb: Features
• Promises, Callbacks and Streams
• SQL and PL/SQL execution
• REF CURSORs
• Large Objects: CLOBs and BLOBs
• Oracle Database 12.1 JSON datatype
• Query results as JavaScript objects or arrays
• Smart mapping between JavaScript and Oracle types
with manual override available
• Data binding using JavaScript objects or arrays
• Transaction Management
• Inbuilt Connection Pool with Queueing
• Database Resident Connection Pooling (DRCP)
• External Authentication
• Row Prefetching
• Statement Caching
• Client Result Caching
• End-to-end Tracing, Mid-tier Authentication, and
Auditing
• Oracle High Availability Features
– Fast Application Notification (FAN)
– Runtime Load Balancing (RLB)
– Transparent Application Failover (TAF)
Node.js and the Oracle Database
node-oracledb: Calling PL/SQL
Define bind variables IN
Define bind variables OUT
Call a PL/SQL function
Node.js and the Oracle Database
node-oracledb: Connection pooling
Good sample: http://stackoverflow.com/questions/29846188/node-js-express-oracle-connection-pooling-ora-24418-cannot-open-further-sess
Create a connection pool
Grab a connection from the pool and use it
Close when done. Also in case of errors!
Inbuilt queueing
Node.js and the Oracle Database
Using DRCP with node-oracledb
• Database Resident Connection Pooling (DRCP)
http://www.oracle.com/technetwork/articles/oracledrcp11g-1-133381.pdf
Node.js and the Oracle Database
Using DRCP with node-oracledb
• On the client:
– Set oracledb.ConnectionClass = ‘poolname’
– Easy Connect syntax like myhost/sales:POOLED, or by using a tnsnames.ora alias for a connection that contains (SERVER=POOLED)
– Set externalAuth to true in getConnection or createPool
• On the database
– execute dbms_connection_pool.start_pool(“poolname”);
https://www.youtube.com/watch?v=3p6rutSLlkg
Simple to use
Node.js and the Oracle Database
Performance with node-oracledb
• Make sure you create a connection pool in the
right scope to promote re-use
• Consider increasing the LibUV thread pool size.
The default is 4. Can be set with environment
variable: UV_THREADPOOL_SIZE
• Explicitly release connections to the pool
• Use a resultSet when the number of rows fetched is large
• Consider using DRCP
Read: http://docs.oracle.com/database/121/ADFNS/adfns_perf_scale.htm#ADFNS228
Introducing Application Container Cloud
Node.js
What doesn’t it provide?
• High availability
– Clustering capabilities
– Load balancer
– On demand scaling
• Management and monitoring
• Support
• Provisioning
• Deployment
• Patching
• Back-end drivers
99.999%
Node.js
What doesn’t it provide?
• High availability
– Clustering capabilities
– Load balancer
– On demand scaling
• Management and monitoring
• Support
• Provisioning /Deployment
• Patching
• Back-end drivers
99.999%
Application Container Cloud
Enterprise Grade Features for Node.js
Application Container Cloud Service
Architecture
Tenant1
Tenant2
(App 1) (App 2) (App 3)
Load Balancer
Database Cloud
Java Cloud
Messaging Cloud
Storage Cloud
Developer Cloud
Customers
< / >
Developers
Application Container Cloud Service
Enterprise grade features for Node.js
• On demand scale out/in.
Adding/Removing instances
• On demand scale up/down.
Adding/Removing memory per instance
• Automatic load balancer configuration
• One click patching
Application Container Cloud Service
Enterprise grade features for Node.js
• Easy web interface for
deployments
• Also possible using the API
and Developer Cloud Service
Easy!
Application Container Cloud Service
Enterprise grade features for Node.js
• Easy web interface for managing configuration
• Including service bindings
such as database connections
Application Container Cloud Service
Enterprise grade features for Node.js
• Browse log files from the webinterface
Application Container Cloud Service
Enterprise grade features for Node.js
https://docs.oracle.com/cloud/latest/apaas_gs/APCSR/
Application Container Cloud Service
Integration with Developer Cloud Service
pom.xml
maven-assembly-plugin
assembly.xml
YourApplication.zip
Node.js application
manifest.json
Application Container Cloud Service
Integration with Developer Cloud Service
Application Container Cloud Service
Integration with Developer Cloud Service
Application Container Cloud Service
Integration with Developer Cloud Service
• Build and deploy with Developer Cloud Service
Application Container Cloud Service
Integration with Developer Cloud Service
Application Container Cloud Service
Integration with Developer Cloud Service
Application Container Cloud Service
Integration with Developer Cloud Service
Application Container Cloud Service
Integration with Developer Cloud Service
Integration: SOA Suite or Node.js?
Node.js versus SOA Suite
Node.js versus SOA Suite
SOA Suite
Node.js architecture
node standard library
node bindings
(socket, http, etc)
V8
thread pool
(libeio)
event loop
(libev)
C/C++JavaScript
Node.js
Integration with Node.js or SOA Suite
• Node.js assets
– thin stateless services like microservices
– tying simple things together with minimal effort
– technology focus: JavaScript + REST/JSON
– High performance
• Node.js challenges
– no adapters, workflow, …
– no wizard driven IDE
– requires (a lot of) custom code
– no high availability / management / monitoring options
Consider Application Container Cloud to provide those
Questions
@MaartenSmeetsNL
https://nl.linkedin.com/in/smeetsm
Download sample code at
https://github.com/MaartenSmeets/nodejssamples
Oracle application container cloud back end integration using node final
Ad

Recommended

Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Getting value from IoT, Integration and Data Analytics
 
Pci multitenancy exalogic at AMIS25
Pci multitenancy exalogic at AMIS25
Getting value from IoT, Integration and Data Analytics
 
Con3036 soaring-through-the-clouds-oow2016-160920214845
Con3036 soaring-through-the-clouds-oow2016-160920214845
Getting value from IoT, Integration and Data Analytics
 
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
Getting value from IoT, Integration and Data Analytics
 
AMIS Oracle OpenWorld 2015 Review – part 2- Hardware & IaaS and PaaS Cloud Fo...
AMIS Oracle OpenWorld 2015 Review – part 2- Hardware & IaaS and PaaS Cloud Fo...
Getting value from IoT, Integration and Data Analytics
 
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
Getting value from IoT, Integration and Data Analytics
 
Review Oracle OpenWorld 2015 - Overview, Main themes, Announcements and Future
Review Oracle OpenWorld 2015 - Overview, Main themes, Announcements and Future
Lucas Jellema
 
Microservices in the Enterprise
Microservices in the Enterprise
Jesus Rodriguez
 
Soaring through the Clouds - World Record Oracle PaaS Cloud - Friday Cloud Up...
Soaring through the Clouds - World Record Oracle PaaS Cloud - Friday Cloud Up...
Lucas Jellema
 
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
Lucas Jellema
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Lucas Jellema
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEA
Andrew Morgan
 
2019 - OOW - Database Migration Methods from On-Premise to Cloud
2019 - OOW - Database Migration Methods from On-Premise to Cloud
Marcus Vinicius Miguel Pedro
 
Fortress Open Source IAM on LDAPv3
Fortress Open Source IAM on LDAPv3
LDAPCon
 
Cloudfoundry architecture
Cloudfoundry architecture
Ramnivas Laddad
 
Changing Views on Integration (AUSOUG Webinar Series, May 2020)
Changing Views on Integration (AUSOUG Webinar Series, May 2020)
Lucas Jellema
 
The rise of microservices - containers and orchestration
The rise of microservices - containers and orchestration
Andrew Morgan
 
NextGen IBM Cloud Monitoring and Logging
NextGen IBM Cloud Monitoring and Logging
Nagesh Ramamoorthy
 
Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...
Lucas Jellema
 
No SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDB
Ken Cenerelli
 
Complete open source IAM solution
Complete open source IAM solution
Radovan Semancik
 
50 Shades of Data - how, when and why Big, Fast, Relational, NoSQL, Elastic, ...
50 Shades of Data - how, when and why Big, Fast, Relational, NoSQL, Elastic, ...
Lucas Jellema
 
Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Lucas Jellema
 
A Cloud- and Container-Based Approach to Microservices-Powered Workflows (Cod...
A Cloud- and Container-Based Approach to Microservices-Powered Workflows (Cod...
Lucas Jellema
 
Spring Into the Cloud
Spring Into the Cloud
Jennifer Hickey
 
Machine learning services with SQL Server 2017
Machine learning services with SQL Server 2017
Mark Tabladillo
 
Ten Real-World Customer Configurations on Oracle Database Appliance
Ten Real-World Customer Configurations on Oracle Database Appliance
Simon Haslam
 
Integrating Alfresco @ Scale (via event-driven micro-services)
Integrating Alfresco @ Scale (via event-driven micro-services)
J V
 
Node.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development Techniques
Christopher Jones
 
Node js installation steps.pptx slide share ppts
Node js installation steps.pptx slide share ppts
HemaSenthil5
 

More Related Content

What's hot (20)

Soaring through the Clouds - World Record Oracle PaaS Cloud - Friday Cloud Up...
Soaring through the Clouds - World Record Oracle PaaS Cloud - Friday Cloud Up...
Lucas Jellema
 
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
Lucas Jellema
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Lucas Jellema
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEA
Andrew Morgan
 
2019 - OOW - Database Migration Methods from On-Premise to Cloud
2019 - OOW - Database Migration Methods from On-Premise to Cloud
Marcus Vinicius Miguel Pedro
 
Fortress Open Source IAM on LDAPv3
Fortress Open Source IAM on LDAPv3
LDAPCon
 
Cloudfoundry architecture
Cloudfoundry architecture
Ramnivas Laddad
 
Changing Views on Integration (AUSOUG Webinar Series, May 2020)
Changing Views on Integration (AUSOUG Webinar Series, May 2020)
Lucas Jellema
 
The rise of microservices - containers and orchestration
The rise of microservices - containers and orchestration
Andrew Morgan
 
NextGen IBM Cloud Monitoring and Logging
NextGen IBM Cloud Monitoring and Logging
Nagesh Ramamoorthy
 
Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...
Lucas Jellema
 
No SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDB
Ken Cenerelli
 
Complete open source IAM solution
Complete open source IAM solution
Radovan Semancik
 
50 Shades of Data - how, when and why Big, Fast, Relational, NoSQL, Elastic, ...
50 Shades of Data - how, when and why Big, Fast, Relational, NoSQL, Elastic, ...
Lucas Jellema
 
Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Lucas Jellema
 
A Cloud- and Container-Based Approach to Microservices-Powered Workflows (Cod...
A Cloud- and Container-Based Approach to Microservices-Powered Workflows (Cod...
Lucas Jellema
 
Spring Into the Cloud
Spring Into the Cloud
Jennifer Hickey
 
Machine learning services with SQL Server 2017
Machine learning services with SQL Server 2017
Mark Tabladillo
 
Ten Real-World Customer Configurations on Oracle Database Appliance
Ten Real-World Customer Configurations on Oracle Database Appliance
Simon Haslam
 
Integrating Alfresco @ Scale (via event-driven micro-services)
Integrating Alfresco @ Scale (via event-driven micro-services)
J V
 
Soaring through the Clouds - World Record Oracle PaaS Cloud - Friday Cloud Up...
Soaring through the Clouds - World Record Oracle PaaS Cloud - Friday Cloud Up...
Lucas Jellema
 
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
Lucas Jellema
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Lucas Jellema
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEA
Andrew Morgan
 
2019 - OOW - Database Migration Methods from On-Premise to Cloud
2019 - OOW - Database Migration Methods from On-Premise to Cloud
Marcus Vinicius Miguel Pedro
 
Fortress Open Source IAM on LDAPv3
Fortress Open Source IAM on LDAPv3
LDAPCon
 
Cloudfoundry architecture
Cloudfoundry architecture
Ramnivas Laddad
 
Changing Views on Integration (AUSOUG Webinar Series, May 2020)
Changing Views on Integration (AUSOUG Webinar Series, May 2020)
Lucas Jellema
 
The rise of microservices - containers and orchestration
The rise of microservices - containers and orchestration
Andrew Morgan
 
NextGen IBM Cloud Monitoring and Logging
NextGen IBM Cloud Monitoring and Logging
Nagesh Ramamoorthy
 
Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...
Lucas Jellema
 
No SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDB
Ken Cenerelli
 
Complete open source IAM solution
Complete open source IAM solution
Radovan Semancik
 
50 Shades of Data - how, when and why Big, Fast, Relational, NoSQL, Elastic, ...
50 Shades of Data - how, when and why Big, Fast, Relational, NoSQL, Elastic, ...
Lucas Jellema
 
Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Lucas Jellema
 
A Cloud- and Container-Based Approach to Microservices-Powered Workflows (Cod...
A Cloud- and Container-Based Approach to Microservices-Powered Workflows (Cod...
Lucas Jellema
 
Machine learning services with SQL Server 2017
Machine learning services with SQL Server 2017
Mark Tabladillo
 
Ten Real-World Customer Configurations on Oracle Database Appliance
Ten Real-World Customer Configurations on Oracle Database Appliance
Simon Haslam
 
Integrating Alfresco @ Scale (via event-driven micro-services)
Integrating Alfresco @ Scale (via event-driven micro-services)
J V
 

Similar to Oracle application container cloud back end integration using node final (20)

Node.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development Techniques
Christopher Jones
 
Node js installation steps.pptx slide share ppts
Node js installation steps.pptx slide share ppts
HemaSenthil5
 
module for backend full stack applications 1.pptx
module for backend full stack applications 1.pptx
hemalathas752360
 
NodeJS - Server Side JS
NodeJS - Server Side JS
Ganesh Kondal
 
Mongo and node mongo dc 2011
Mongo and node mongo dc 2011
async_io
 
Node js Introduction
Node js Introduction
sanskriti agarwal
 
After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEAN
Jeff Fox
 
Node.js Enterprise Middleware
Node.js Enterprise Middleware
Behrad Zari
 
Intro to node and mongodb 1
Intro to node and mongodb 1
Mohammad Qureshi
 
An introduction to Node.js
An introduction to Node.js
Kasey McCurdy
 
Kalp Corporate Node JS Perfect Guide
Kalp Corporate Node JS Perfect Guide
Kalp Corporate
 
Introduction to Node.js
Introduction to Node.js
Vikash Singh
 
Introduction to node.js aka NodeJS
Introduction to node.js aka NodeJS
JITENDRA KUMAR PATEL
 
Node.JS Development_ Features and Trends.pdf
Node.JS Development_ Features and Trends.pdf
JPLoft Solutions
 
Node.js for beginner
Node.js for beginner
Sarunyhot Suwannachoti
 
Node.js & Express.js Unleashed
Node.js & Express.js Unleashed
Elewayte
 
An overview of node.js
An overview of node.js
valuebound
 
Introduction to Node.js
Introduction to Node.js
Somkiat Puisungnoen
 
Beginners Node.js
Beginners Node.js
Khaled Mosharraf
 
Web Applications Development with MEAN Stack
Web Applications Development with MEAN Stack
Shailendra Chauhan
 
Node.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development Techniques
Christopher Jones
 
Node js installation steps.pptx slide share ppts
Node js installation steps.pptx slide share ppts
HemaSenthil5
 
module for backend full stack applications 1.pptx
module for backend full stack applications 1.pptx
hemalathas752360
 
NodeJS - Server Side JS
NodeJS - Server Side JS
Ganesh Kondal
 
Mongo and node mongo dc 2011
Mongo and node mongo dc 2011
async_io
 
After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEAN
Jeff Fox
 
Node.js Enterprise Middleware
Node.js Enterprise Middleware
Behrad Zari
 
Intro to node and mongodb 1
Intro to node and mongodb 1
Mohammad Qureshi
 
An introduction to Node.js
An introduction to Node.js
Kasey McCurdy
 
Kalp Corporate Node JS Perfect Guide
Kalp Corporate Node JS Perfect Guide
Kalp Corporate
 
Introduction to Node.js
Introduction to Node.js
Vikash Singh
 
Introduction to node.js aka NodeJS
Introduction to node.js aka NodeJS
JITENDRA KUMAR PATEL
 
Node.JS Development_ Features and Trends.pdf
Node.JS Development_ Features and Trends.pdf
JPLoft Solutions
 
Node.js & Express.js Unleashed
Node.js & Express.js Unleashed
Elewayte
 
An overview of node.js
An overview of node.js
valuebound
 
Web Applications Development with MEAN Stack
Web Applications Development with MEAN Stack
Shailendra Chauhan
 
Ad

More from Getting value from IoT, Integration and Data Analytics (20)

AMIS Oracle OpenWorld en Code One Review 2018 - Blockchain, Integration, Serv...
AMIS Oracle OpenWorld en Code One Review 2018 - Blockchain, Integration, Serv...
Getting value from IoT, Integration and Data Analytics
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
Getting value from IoT, Integration and Data Analytics
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
Getting value from IoT, Integration and Data Analytics
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Data
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Data
Getting value from IoT, Integration and Data Analytics
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Cloud Infrastructure
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Cloud Infrastructure
Getting value from IoT, Integration and Data Analytics
 
10 tips voor verbetering in je Linkedin profiel
10 tips voor verbetering in je Linkedin profiel
Getting value from IoT, Integration and Data Analytics
 
Iot in de zorg the next step - fit for purpose
Iot in de zorg the next step - fit for purpose
Getting value from IoT, Integration and Data Analytics
 
Iot overview .. Best practices and lessons learned by Conclusion Conenct
Iot overview .. Best practices and lessons learned by Conclusion Conenct
Getting value from IoT, Integration and Data Analytics
 
IoT Fit for purpose - how to be successful in IOT Conclusion Connect
IoT Fit for purpose - how to be successful in IOT Conclusion Connect
Getting value from IoT, Integration and Data Analytics
 
Industry and IOT Overview of protocols and best practices Conclusion Connect
Industry and IOT Overview of protocols and best practices Conclusion Connect
Getting value from IoT, Integration and Data Analytics
 
IoT practical case using the people counter sensing traffic density build usi...
IoT practical case using the people counter sensing traffic density build usi...
Getting value from IoT, Integration and Data Analytics
 
R introduction decision_trees
R introduction decision_trees
Getting value from IoT, Integration and Data Analytics
 
Introduction overviewmachinelearning sig Door Lucas Jellema
Introduction overviewmachinelearning sig Door Lucas Jellema
Getting value from IoT, Integration and Data Analytics
 
IoT and the Future of work
IoT and the Future of work
Getting value from IoT, Integration and Data Analytics
 
Oracle OpenWorld 2017 Review (31st October 2017 - 250 slides)
Oracle OpenWorld 2017 Review (31st October 2017 - 250 slides)
Getting value from IoT, Integration and Data Analytics
 
Ethereum smart contracts - door Peter Reitsma
Ethereum smart contracts - door Peter Reitsma
Getting value from IoT, Integration and Data Analytics
 
Blockchain - Techniek en usecases door Robert van Molken - AMIS - Conclusion
Blockchain - Techniek en usecases door Robert van Molken - AMIS - Conclusion
Getting value from IoT, Integration and Data Analytics
 
kennissessie blockchain - Wat is Blockchain en smart contracts @Conclusion
kennissessie blockchain - Wat is Blockchain en smart contracts @Conclusion
Getting value from IoT, Integration and Data Analytics
 
Internet of Things propositie - Enterprise IOT - AMIS - Conclusion
Internet of Things propositie - Enterprise IOT - AMIS - Conclusion
Getting value from IoT, Integration and Data Analytics
 
Omc AMIS evenement 26012017 Dennis van Soest
Omc AMIS evenement 26012017 Dennis van Soest
Getting value from IoT, Integration and Data Analytics
 
Ad

Recently uploaded (20)

OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
Safe Software
 
Daily Lesson Log MATATAG ICT TEchnology 8
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
Quantum AI: Where Impossible Becomes Probable
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
"Scaling in space and time with Temporal", Andriy Lupa.pdf
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
 
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
Safe Software
 
Daily Lesson Log MATATAG ICT TEchnology 8
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
Quantum AI: Where Impossible Becomes Probable
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
"Scaling in space and time with Temporal", Andriy Lupa.pdf
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
 
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 

Oracle application container cloud back end integration using node final

  • 1. OOW 2016: CON 1283 Maarten Smeets Oracle Application Container Cloud Service Back-End Integration Using Node.js
  • 2. Introduction • About AMIS – Located in the Netherlands • About me – Oracle Integration Consultant – Experience with Oracle SOA Suite since 2007 – Well certified (SOA, BPM, Java, SQL, PL/SQL among others) – Author of a lot of blog articles (http://javaoraclesoa.blogspot.com) @MaartenSmeetsNL https://nl.linkedin.com/in/smeetsm
  • 3. Agenda Node.js introduction Backend integration Application Container Cloud What to use for your integration?
  • 5. Node.js Using threads is hard • Concurrency control mechanisms (e.g. locking) • Coordination over threads (IPC) • Memory overhead • Synchronization • Programming thread safe code is not easy
  • 6. What is Node.js • Node.js uses a single thread! • Node.js has been created To write high-performance servers fast • Node.js is: – a set of bindings to V8 for non-browser work: sockets, files, etc. – only exposes non-blocking, asynchronous interfaces – only one thread, one call stack (like a browser) – low level features: half-closed TCP connections, TCP throttling, UDP – has killer HTTP support Node.js architecture node standard library node bindings (socket, http, etc) V8 thread pool (libeio) event loop (libev) C/C++JavaScript
  • 7. Node.js why should you care?
  • 8. Node.js What do they use it for? “On the server side, our entire mobile software stack is completely built in Node” “We are moving every product & every site within PayPal to Node” “We’ve been busy building our next-generation Netflix.com web application using Node” “MuleSoft's Anypoint platform services are implemented in Node”
  • 9. Node.js Integration. Overview POST /myservice Receive request Service Implementation Processing input Creating output Message processing Backend Front-end connectivity Routing Back-end connectivity Flow control
  • 10. Node.js Integration. Overview Front-end connectivity • URL handling • HTTP connection handling Back-end connectivity • Connect to other services • Drivers to access technology diverse systems • Connection pooling Drivers / modules such as • Oracle Database • Oracle NoSQL Database • Mongo Database • SOAP and JSON services What Frameworks such as • Express • Hapi • Koa • Sails • xml2js • node-soap Message processing Middleware • Routing • Mapping Flow control • Async • Promises How
  • 11. Node.js Frameworks • Abstraction • Generic functionality • Facilitate development • Drawbacks – Performance cost – Need framework knowledge – Only specific functionality https://raygun.com/blog/2016/06/node-performance/ 0 2000 4000 6000 8000 10000 12000 14000 raw node koa express restify hapi Requestspersecond Framework
  • 12. Node.js Frameworks: Express.js • Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. • Express.js is used in many other popular frameworks like Sails, MEAN, LoopBack • It is maintained by StrongLoop (IBM). Started in 2009. 191 contributers. 6,823,598 downloads last month * * Contributers from github.com. Downloads from npmjs.com. Determined 28 aug 2016
  • 13. Node.js Without framework var http = require('http'); var server = http.createServer(function (req, res) { if (req.method === 'GET') { res.end("Hello World"); } }); server.listen(3000);
  • 14. Node.js With express.js var express = require('express'); var app = express(); app.get('/', function (req, res) { res.send('Hello World'); }); app.listen(3000); Quick and easy
  • 15. Node.js Frameworks: Other • Hapi A rich framework for building applications and services. Configuration is better than code. Business logic must be isolated from the transport layer. Started in 2011 146 contributers 234,103 downloads last month. • Koa Expressive, light-weight HTTP framework for Node.js to make web applications and APIs more enjoyable to write. Started in 2013 89 contributers 132,790 downloads last month. • Sails Sails is the most popular MVC framework for Node.js. It is designed for building practical, production-ready Node.js apps. Build on top of express. Started in 2012 210 contributers 59,518 downloads last month.
  • 16. Node.js Callback hell Error handling in every callback handler Nested callbacks
  • 17. Node.js Callback hell Error handling in every callback handler Nested callbacks
  • 18. Node.js Flow control. Executing in series • Async Async is a utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript. • Promises A Promise object represents a value that may not be available yet, but will be resolved at some point in the future. It allows you to write asynchronous code in a more synchronous fashion. • Generators The Generator object is returned by a generator function and it conforms to both the iterable protocol and the iterator protocol.
  • 19. Node.js modules Convert XML <> JSON • xml2js Ever had the urge to parse XML? And wanted to access the data in some sane, easy way? Don't want to compile a C parser, for whatever reason? Then xml2js is what you're looking for! • xml2js uses SAX (Simple API for XML) – Event driven asynchronous processing of XML – Memory friendly Does not require creating a Document Object Model (DOM) of the XML document in memory </> {}
  • 20. Node.js modules How does JSONized SOAP look? Mind the namespace prefixes!
  • 21. Node.js modules node-soap node-soap is a module that offers SOAP support
  • 22. Node.js modules node-soap Define the service logic Load the WSDL Create the server Host the webservice
  • 23. Node.js and back-end integration
  • 25. Oracle NoSQL highlights • Key value pair database • Dynamic data model • Transparent load balancing • Highly scalable • Options for transactional mechanisms • Options for eventual consistency • Built on BerkelyDB
  • 28. Node.js Node.js and NoSQL Application Node.js Application RMI RMIJSON Thrift nosqldb-oraclejs JVM NoSQL Java proxy kvclient WL/GlassFish/Tomcat REST Data Services (ORDS) kvclient
  • 30. Node.js and the Oracle Database node-oracledb • Maintained by Oracle and actively being developed • Requires Oracle database client software installed Application Container Cloud already provides this • Very rich in features and well documented! https://github.com/oracle/node-oracledb Node.js Application nosqldb-oraclejs
  • 31. Node.js and the Oracle Database node-oracledb: Features • Promises, Callbacks and Streams • SQL and PL/SQL execution • REF CURSORs • Large Objects: CLOBs and BLOBs • Oracle Database 12.1 JSON datatype • Query results as JavaScript objects or arrays • Smart mapping between JavaScript and Oracle types with manual override available • Data binding using JavaScript objects or arrays • Transaction Management • Inbuilt Connection Pool with Queueing • Database Resident Connection Pooling (DRCP) • External Authentication • Row Prefetching • Statement Caching • Client Result Caching • End-to-end Tracing, Mid-tier Authentication, and Auditing • Oracle High Availability Features – Fast Application Notification (FAN) – Runtime Load Balancing (RLB) – Transparent Application Failover (TAF)
  • 32. Node.js and the Oracle Database node-oracledb: Features • Promises, Callbacks and Streams • SQL and PL/SQL execution • REF CURSORs • Large Objects: CLOBs and BLOBs • Oracle Database 12.1 JSON datatype • Query results as JavaScript objects or arrays • Smart mapping between JavaScript and Oracle types with manual override available • Data binding using JavaScript objects or arrays • Transaction Management • Inbuilt Connection Pool with Queueing • Database Resident Connection Pooling (DRCP) • External Authentication • Row Prefetching • Statement Caching • Client Result Caching • End-to-end Tracing, Mid-tier Authentication, and Auditing • Oracle High Availability Features – Fast Application Notification (FAN) – Runtime Load Balancing (RLB) – Transparent Application Failover (TAF)
  • 33. Node.js and the Oracle Database node-oracledb: Calling PL/SQL Define bind variables IN Define bind variables OUT Call a PL/SQL function
  • 34. Node.js and the Oracle Database node-oracledb: Connection pooling Good sample: http://stackoverflow.com/questions/29846188/node-js-express-oracle-connection-pooling-ora-24418-cannot-open-further-sess Create a connection pool Grab a connection from the pool and use it Close when done. Also in case of errors! Inbuilt queueing
  • 35. Node.js and the Oracle Database Using DRCP with node-oracledb • Database Resident Connection Pooling (DRCP) http://www.oracle.com/technetwork/articles/oracledrcp11g-1-133381.pdf
  • 36. Node.js and the Oracle Database Using DRCP with node-oracledb • On the client: – Set oracledb.ConnectionClass = ‘poolname’ – Easy Connect syntax like myhost/sales:POOLED, or by using a tnsnames.ora alias for a connection that contains (SERVER=POOLED) – Set externalAuth to true in getConnection or createPool • On the database – execute dbms_connection_pool.start_pool(“poolname”); https://www.youtube.com/watch?v=3p6rutSLlkg Simple to use
  • 37. Node.js and the Oracle Database Performance with node-oracledb • Make sure you create a connection pool in the right scope to promote re-use • Consider increasing the LibUV thread pool size. The default is 4. Can be set with environment variable: UV_THREADPOOL_SIZE • Explicitly release connections to the pool • Use a resultSet when the number of rows fetched is large • Consider using DRCP Read: http://docs.oracle.com/database/121/ADFNS/adfns_perf_scale.htm#ADFNS228
  • 39. Node.js What doesn’t it provide? • High availability – Clustering capabilities – Load balancer – On demand scaling • Management and monitoring • Support • Provisioning • Deployment • Patching • Back-end drivers 99.999%
  • 40. Node.js What doesn’t it provide? • High availability – Clustering capabilities – Load balancer – On demand scaling • Management and monitoring • Support • Provisioning /Deployment • Patching • Back-end drivers 99.999%
  • 41. Application Container Cloud Enterprise Grade Features for Node.js
  • 42. Application Container Cloud Service Architecture Tenant1 Tenant2 (App 1) (App 2) (App 3) Load Balancer Database Cloud Java Cloud Messaging Cloud Storage Cloud Developer Cloud Customers < / > Developers
  • 43. Application Container Cloud Service Enterprise grade features for Node.js • On demand scale out/in. Adding/Removing instances • On demand scale up/down. Adding/Removing memory per instance • Automatic load balancer configuration • One click patching
  • 44. Application Container Cloud Service Enterprise grade features for Node.js • Easy web interface for deployments • Also possible using the API and Developer Cloud Service Easy!
  • 45. Application Container Cloud Service Enterprise grade features for Node.js • Easy web interface for managing configuration • Including service bindings such as database connections
  • 46. Application Container Cloud Service Enterprise grade features for Node.js • Browse log files from the webinterface
  • 47. Application Container Cloud Service Enterprise grade features for Node.js https://docs.oracle.com/cloud/latest/apaas_gs/APCSR/
  • 48. Application Container Cloud Service Integration with Developer Cloud Service pom.xml maven-assembly-plugin assembly.xml YourApplication.zip Node.js application manifest.json
  • 49. Application Container Cloud Service Integration with Developer Cloud Service
  • 50. Application Container Cloud Service Integration with Developer Cloud Service
  • 51. Application Container Cloud Service Integration with Developer Cloud Service • Build and deploy with Developer Cloud Service
  • 52. Application Container Cloud Service Integration with Developer Cloud Service
  • 53. Application Container Cloud Service Integration with Developer Cloud Service
  • 54. Application Container Cloud Service Integration with Developer Cloud Service
  • 55. Application Container Cloud Service Integration with Developer Cloud Service
  • 56. Integration: SOA Suite or Node.js?
  • 58. Node.js versus SOA Suite SOA Suite Node.js architecture node standard library node bindings (socket, http, etc) V8 thread pool (libeio) event loop (libev) C/C++JavaScript Node.js
  • 59. Integration with Node.js or SOA Suite • Node.js assets – thin stateless services like microservices – tying simple things together with minimal effort – technology focus: JavaScript + REST/JSON – High performance • Node.js challenges – no adapters, workflow, … – no wizard driven IDE – requires (a lot of) custom code – no high availability / management / monitoring options Consider Application Container Cloud to provide those
  • 60. Questions @MaartenSmeetsNL https://nl.linkedin.com/in/smeetsm Download sample code at https://github.com/MaartenSmeets/nodejssamples

Editor's Notes

  • #3: Recent awards: Oracle EMEA Middleware Partner of the Year, 3 times Oracle Netherlands Middleware partner of the year. One of the rare moments in the Netherlands when it isn’t raining.
  • #6: Using threads has a lot of overhead
  • #7: Node.js single thread. Do not block it! You get help for that
  • #8: JET, MCS, ACCS
  • #9: Netflix: http://techblog.netflix.com/2014/11/nodejs-in-flames.html https://www.quora.com/What-companies-are-using-Node-js-in-production Usage to host front and backend
  • #10: How does this look in practice. Lifecycle
  • #11: 1 voor 1 lagen door
  • #13: Express Middleware: https://github.com/senchalabs/connect?_ga=1.53053800.1929169438.1472377864#middleware
  • #15: Express middleware has been put in separate modules since 4.x. Some examples: body-parser Node.js body parsing middleware morgan HTTP request logger middleware for node.js. Morgan was built to do logging in the way that servers like Apache and Nginx log to the error_log or access_log.
  • #16: Hapy pronounced similar to happy
  • #18: Callback hell This is much worse on enterprise level. Node.js is not just pretty but there are challenges
  • #19: Wat wil ik hiermee zeggen. Om integratie in node te doen…
  • #20: Memory friendly + ACC
  • #21: Rode pijl, namespaces
  • #23: Mostly suitable as client. Less as server
  • #29: Run the proxy on the same host as the driver. Use one proxy per driver instance Specify hosts. Split Application and driver
  • #30: Clustering done with AS mongos
  • #36: Database Resident Connection Pooling (DRCP) provides a connection pool in the database server for typical Web application usage scenarios where the application acquires a database connection, works on it for a relatively short duration, and then releases it. DRCP pools "dedicated" servers. A pooled server is the equivalent of a server foreground process and a database session combined. Authenticate to the broker.
  • #37: Driver needs to talk to the connection broker
  • #40: There are separate open source solutions available for each of these, but… Do you want to do a product selection for each of them? Do you want to deal with potentially several suppliers? Do you want to invest in tying everything together? How are you going to deal with upgrades / patches?
  • #41: There are separate open source solutions available for each of these, but… Do you want to do a product selection for each of them? Do you want to deal with potentially several suppliers? Do you want to invest in tying everything together? How are you going to deal with upgrades / patches?
  • #59: SOA Suite runs on top of an application server. Node is a platform on which an application can be build.
  • #60: Iets doen met echte applicaties