is perfect for real- time, data-intensive applications. • Single thread of execution • Built on Chrome’s JavaScript runtime engine, V8 • Uses Libuv, a high performance evented I/O library that works on Linux and Windows (faster than Libev) while there are still events to process: e = get the next event if there is a callback associated with e: call the callback
Libuv Libeio (thread pool) Libev (event loop) IOCP (IO completion ports) Node Standard Library (JavaScript) epoll/kqueue/poll (event ports) Linux Kernel Windows Kernel Yes, it’s C back there
A Compelling Option for Enterprise Mobility ü Faster time to market vs. 100% native development ü Reuse skills of existing web developer staff ü Open Source stack / no vendor lock-in ü For Enterprise apps, performance is comparable to native apps ü Near “write once, run anywhere” UI: tablets, phones, smart TVs, smart watches, cars, etc. Gartner predicts by 2016 more than 50% of the apps deployed will be Hybrid apps. LoopBack API Server Node.js
for Node.js web middleware Fully customizable Targeted at browser, hence templating and rendering OOB Cons All endpoints need to be created manually Developers may end up creating their own non-optimized libraries Every end point needs to be tested Refactoring is painful, update everything everywhere No standards or prescription, DIY Express
all handlers on enabled platforms Built in throttling SPDY support Borrows from express but without unnecessary templating/rendering Strict API with full control over HTTP interactions Visibility into latency and app characteristics Cons All endpoints need to be created manually Developers may end up creating their own non-optimized libraries Every end point needs to be tested Refactoring is painful, update everything everywhere No standards or prescription, DIY Less documentation Restify
Very granular control over request handling Detailed API reference with support for document generation Significantly more functionality for building web servers Pseudo prescriptive with configuration centric approach Caching, Authentication and input validation available Plugin based architecture for scaling Cons Good construction blocks but left to your own devices to figure out design patterns Binds you to specific modules and tool chains (catbox, joi, tv, boom, good, travelogue, yar) All endpoints need to be created manually Developers may end up creating their own non-optimized libraries Every end point needs to be tested Refactoring is painful, update everything everywhere 24
express) Built in models ready to use (ORM) RPC support, Web and Mobile SDKs Enterprise data connectors (10+ out of box) and Data Juggler Fully configurable when needed Extensive documentation Commercial support and full time team working on project Mobile Services (Push, Geo, Storage, Sync, Offline, File, Device, User) Authentication, validation and Authorization DevOps tools packaged for debugging, monitoring, profiling, scaling and production support Cons Higher learning curve
Database Clustered Database Security Gateway Cloud Laptop ( not requested but useful) Connections Tablet Phone IoT SDK API SERVER Quick Example of Use App S Add App Server Storage Relational Database Clustered Database Security Gateway Cloud Firewall SOA Bus ( not sure on this one) Laptop ( not requested but useful) Connections Tablet Phone IoT SDK API SERVER Items for ACL Quick Example of Use App Server Add On App Server REST API GATEWAY Channel SDKs ORM API ENGINE C O N N E C T O R s A P I S D K s So some developers wrote an Open source API server REST API atabase Security Gateway Cloud Firewall SOA Bus ( not sure on this one) Phone IoT SDK API SERVER Items for ACL Quick Example of Use App Server Add On App Server API Explorer Debugging, Provisioning, Scaling, Monitoring
.--------------------------. |--(o)--| | Let's create a LoopBack | `---------´ | application! | ( _´U`_ ) '--------------------------' /___A___\ | ~ | __'.___.'__ ´ ` |° ´ Y ` [?] Enter a directory name where to create the project: (.) u Middleware API Engine u ORM u Aggregation & Mashups u API Explorer (Swagger) u Fine Grained Access Control (ACLs) u Data Replication u IsoMorphic JS and Client SDKs.
u Model Discovery u Data Replication u State Management u Storage Open Source Enterprise Relational Database Clustered Database Security Gateway Cloud Firewall SOA Bus ( not sure on this o Laptop ( not requested but useful) Connections Tablet Phone IoT SDK API SERVER Items for ACL Quick Example of Use App Server Add On App Server Storage Relational Database Clustered Database Security Gateway Cloud Firewall SOA Bus ( not sure on this one) Laptop ( not requested but useful) Connections Tablet Phone IoT SDK API SERVER Items for ACL Quick Example of Use App Server Add On App Server REST
on Production • Breakpoints & uncaught exceptions • Source Maps • Unit test integration • Display/edit variables • Pre-loaded breaks Known as Node-Inspector / StrongLoop-Debug
Dynamic Instrument • Live Edit • Line Level Instrumentation • Any package, any framework, any code • Custom logic • Counters, Gauges and Timers • HA rollback
API Framework " API Gateway " Controller (Mesh) " Strong-agent – Monitoring " API Explorer (Swagger) " Mobile SDKs " Optimized node modules " Connectors to enterprise systems