SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
Node.js - Von der
Entwicklung bis zum
produktiven Einsatz
2017 - Kai Donato – MT AG
Im Überblick
Technologie-orientiert
Branchen-unabhängig
Hauptsitz
Ratingen 180 Angestellte
Gründungsjahr
1994
Niederlassung
Frankfurt am Main, Dortmund, Köln
Ausbildungs-
betrieb
Inhabergeführte
Aktiengesellschaft
Zertifizierter
Partner von
Oracle,
Microsoft
und SAP
3
• Kai Donato
• Seit Januar 2014 bei der MT AG in Ratingen
• Senior Berater APEX Development
• Themenverantwortlicher HTML5 und JavaScript bei der
DOAG
• Seit über 10 Jahren in der Web-Entwicklung
• Fachinformatiker für Systemintegration
• UNIX-Server und Netzwerkadministration
Über mich
@_KaiDonat
o
Node.js
Von der Entwicklung bis
zum produktiven Einsatz
Phase 1 - Basics
• Seit dem Jahr 2009 in stetiger Entwicklung (aktuell in Version 7.9.0)
• Serverseitiges JavaScript
• Basiert auf der Chromium JavaScript-Engine V8 (Mittlerweile kann auch Chakra genutzt
werden)
• Lightweight (minimaler Ressourcenverbrauch)
• Problemlos erweiterbar (ca. 466.119 Pakete auf „npmjs.org“ verfügbar. Stand: 22. April 2017)
• Plattformunabhängig
• Non-Blocking
9
Node.js
• Wofür setze ich Node.js ein?
• Microservices (klein, flexibel und clustering-fähig)
• APIs (auch als Technologie-Brücke)
• Webserver (nur die minimalen Anforderungen erfüllend)
• Echtzeit-Dienste (Messaging Middleware)
10
Basics
• Wofür setze ich nicht Node.js ein?
• Rechenintensive Prozesse ( 🤔)
• CRUD-basierte Anwendungen (Möglich aber mit Vorsicht zu behandeln)
• ...
11
Basics
• LTS oder Current Version?
• Mehrere parallele Versionen stehen zur Verfügung
• Sehr schneller Produkt-Zyklus mit neuen Features in der Current Version
• Long Term Support für eine stabile Produktionsumgebung
• Mit Tools wie „NVM“ auch parallel zu betreiben (DEV und PROD)
12
Basics
• LTE vs. Current Version
13
Basics
Phase 2 -
Handwerkszeug
• Umgebungen (Windows, Linux oder MacOS)
• Entwicklungsumgebung (ggf. vorinstallierte Test- und Performance-
Frameworks)
• Testumgebung (Umgebung auf Produktionsniveau mit ausgewählten
Testern)
• Produktionsumgebung (Monitored und weitere andere
Umgebungsparameter)
• Versionierungssystem (Git, SVN etc.)
• Kein Source-Code geht verloren
15
Handwerkszeug
• Editor (Sublime Text, Visual Studio Code, Atom, Bracket o.Ä.)
• Plugins für Code Formatting, Linting, Syntax Highlighting etc.
16
Handwerkszeug
17
Handwerkszeug (Demo: https://quokkajs.com)
Quokka.js
Phase 3 –
CI/CD
• Verschiedene Tools für die Automatisierung von:
• Linting (Code-Qualität)
• Testing (Fehler finden/vermeiden)
• Security Check (Schwachstellenerkennung)
• Deployment (Verteilen auf verschiedene Umgebungen)
19
Continuous Integration / - Deployment
Automatisierungstools:
☒ Travis CI (https://travis-ci.org)
☒ Strider (https://strider-cd.github.org)
☑ Jenkins (https://jenkins.io)
20
Continuous Integration / - Deployment
Jenkins
• Kostenlos (CC by SA 4.0)
• Schnell installiert (wenn man möchte...)
• Enorme Zeitersparnis (wenn die Konfiguration einmal passt)
• Viele Plugins für verschiedene Sprachen und Zwecke
• Gute Integration anderer Dienste (Versionierungs- und Build-Tools)
• Verschiedene Benachrichtigungskanäle (Slack, Email etc.)
21
Continuous Integration / - Deployment
22
Continuous Integration / - Deployment
23
Continuous Integration / - Deployment
24
Continuous Integration / - Deployment
• Die Installation von Node.js Anwendungen wird beeinflusst von:
• .npmrc
• package.json
• Eurem Lieblings-Sysadmin (😏)
25
Continuous Integration / - Deployment
• .npmrc (Node.js package manager configuration file)
26
Continuous Integration / - Deployment
• .npmrc (Node.js package manager configuration file)
27
Continuous Integration / - Deployment
• package.json
28
Continuous Integration / - Deployment
• JavaScript-Testing-Frameworks
• Mocha & Chai
• Jasmine
• Unit.js
29
Continuous Integration / - Deployment
• Chai (als Assertion/“Behauptung“)
30
Continuous Integration / - Deployment
• Mocha (als Test-Runner)
31
Continuous Integration / - Deployment
Vorträge der MT AG
Mittwoch,10.Mai Donnerstag,11.Mai
11.30 Uhr | MusicHall 2
Pimpmy InteractiveGrid
MoritzKlein
14.00 Uhr | Soul 11.30 Uhr | Soul
JavaScript DebuggingundTuning
Till Albert
CSS(3) verstehenundanwenden
Alexej Schneider
15.30 Uhr | MusicHall 2
Let your Clientsdothework
StevenGrzbielok
15:30 Uhr |Soul
EinBlick unter dieHaube:JavaScript inAPEX
DavideGroppuso
Vielen
Dank!
Fragen?
!
Kai Donato
Telefon: +49 2102 30961 – 0
kai.donato@mt-ag.com
@_KaiDonat
o
Hier geht es zur
Vortragsbewertung:
apex.doag.org
http://bit.ly/2orqVoE
Vielen Dank!

Weitere ähnliche Inhalte

Was ist angesagt?

JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...Peter Hecker
 
Heroku – Eine Cloud Application Platform
Heroku – Eine Cloud Application PlatformHeroku – Eine Cloud Application Platform
Heroku – Eine Cloud Application PlatformOnCommerce
 
node.js - Eine kurze Einführung
node.js - Eine kurze Einführungnode.js - Eine kurze Einführung
node.js - Eine kurze Einführungnodeio
 
Echtzeitvisualisierung von Twitter und Co.
Echtzeitvisualisierung von Twitter und Co.Echtzeitvisualisierung von Twitter und Co.
Echtzeitvisualisierung von Twitter und Co.Kai Donato
 
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...Marc Müller
 
Icinga 2: Grundaufbau einer Monitoring Umgebung (Webinar vom 01. August 2018)
Icinga 2: Grundaufbau einer Monitoring Umgebung (Webinar vom 01. August 2018)Icinga 2: Grundaufbau einer Monitoring Umgebung (Webinar vom 01. August 2018)
Icinga 2: Grundaufbau einer Monitoring Umgebung (Webinar vom 01. August 2018)NETWAYS
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...Peter Hecker
 
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAXDaniel Fisher
 
Cloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen RechenzentrumCloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen RechenzentrumTEC Campus
 
Enterprise 2.0 Portale mit Grails. Geht das?
Enterprise 2.0 Portale mit Grails. Geht das?Enterprise 2.0 Portale mit Grails. Geht das?
Enterprise 2.0 Portale mit Grails. Geht das?Tobias Kraft
 
TFS 2015: Build und Release der neuen Generation
TFS 2015: Build und Release der neuen GenerationTFS 2015: Build und Release der neuen Generation
TFS 2015: Build und Release der neuen GenerationNico Orschel
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der PraxisTobias Kraft
 
Raspberry PI 4 Freifunk Offloader
Raspberry PI 4 Freifunk OffloaderRaspberry PI 4 Freifunk Offloader
Raspberry PI 4 Freifunk OffloaderAnnika Wickert
 
Kann ich mit Grails Enterprise Applikationen umsetzen?
Kann ich mit Grails Enterprise Applikationen umsetzen?Kann ich mit Grails Enterprise Applikationen umsetzen?
Kann ich mit Grails Enterprise Applikationen umsetzen?Tobias Kraft
 
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5Digicomp Academy AG
 
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)NETWAYS
 
Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Lennart Passig
 

Was ist angesagt? (19)

JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
Heroku – Eine Cloud Application Platform
Heroku – Eine Cloud Application PlatformHeroku – Eine Cloud Application Platform
Heroku – Eine Cloud Application Platform
 
node.js - Eine kurze Einführung
node.js - Eine kurze Einführungnode.js - Eine kurze Einführung
node.js - Eine kurze Einführung
 
Echtzeitvisualisierung von Twitter und Co.
Echtzeitvisualisierung von Twitter und Co.Echtzeitvisualisierung von Twitter und Co.
Echtzeitvisualisierung von Twitter und Co.
 
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
 
PHP5 und Oracle
PHP5 und OraclePHP5 und Oracle
PHP5 und Oracle
 
Icinga 2: Grundaufbau einer Monitoring Umgebung (Webinar vom 01. August 2018)
Icinga 2: Grundaufbau einer Monitoring Umgebung (Webinar vom 01. August 2018)Icinga 2: Grundaufbau einer Monitoring Umgebung (Webinar vom 01. August 2018)
Icinga 2: Grundaufbau einer Monitoring Umgebung (Webinar vom 01. August 2018)
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
 
Cloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen RechenzentrumCloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
 
Enterprise 2.0 Portale mit Grails. Geht das?
Enterprise 2.0 Portale mit Grails. Geht das?Enterprise 2.0 Portale mit Grails. Geht das?
Enterprise 2.0 Portale mit Grails. Geht das?
 
TFS 2015: Build und Release der neuen Generation
TFS 2015: Build und Release der neuen GenerationTFS 2015: Build und Release der neuen Generation
TFS 2015: Build und Release der neuen Generation
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der Praxis
 
Raspberry PI 4 Freifunk Offloader
Raspberry PI 4 Freifunk OffloaderRaspberry PI 4 Freifunk Offloader
Raspberry PI 4 Freifunk Offloader
 
Kann ich mit Grails Enterprise Applikationen umsetzen?
Kann ich mit Grails Enterprise Applikationen umsetzen?Kann ich mit Grails Enterprise Applikationen umsetzen?
Kann ich mit Grails Enterprise Applikationen umsetzen?
 
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
 
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
 
Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Azure Bootcamp Hamburg
Azure Bootcamp Hamburg
 
Ms community.cloud express-route
Ms community.cloud express-routeMs community.cloud express-route
Ms community.cloud express-route
 

Ähnlich wie Node.js - Von der Entwicklugn bis zum produktiven Einsatz

Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-CodequalitätFotiosKaramitsos
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsAndreas Schreiber
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndré Krämer
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Teambrandts
 
DACHNUG50 Volt MX & AppScan_20230615.pdf
DACHNUG50 Volt MX & AppScan_20230615.pdfDACHNUG50 Volt MX & AppScan_20230615.pdf
DACHNUG50 Volt MX & AppScan_20230615.pdfDNUG e.V.
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013Oliver Zeigermann
 
Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Nico Orschel
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftDavid Schneider
 
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationGWAVA
 
Agile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit RailsAgile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit RailsHussein Morsy
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Andreas Wissel
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHagilemethoden
 
Webservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenWebservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenAptly GmbH
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...Marc Müller
 
Compliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtCompliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtBATbern
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOpscusy GmbH
 

Ähnlich wie Node.js - Von der Entwicklugn bis zum produktiven Einsatz (20)

Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
 
Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickeln
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Team
 
DACHNUG50 Volt MX & AppScan_20230615.pdf
DACHNUG50 Volt MX & AppScan_20230615.pdfDACHNUG50 Volt MX & AppScan_20230615.pdf
DACHNUG50 Volt MX & AppScan_20230615.pdf
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
 
Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
 
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
 
Agile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit RailsAgile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit Rails
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
 
Webservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenWebservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbinden
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
 
Compliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtCompliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-Acht
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOps
 

Mehr von Kai Donato

Testing APEX apps At A Glance
Testing APEX apps At A GlanceTesting APEX apps At A Glance
Testing APEX apps At A GlanceKai Donato
 
APEX Offline – The missing Link
APEX Offline – The missing LinkAPEX Offline – The missing Link
APEX Offline – The missing LinkKai Donato
 
>> How toTech-Forward >>
>> How toTech-Forward >>>> How toTech-Forward >>
>> How toTech-Forward >>Kai Donato
 
ICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehenICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehenKai Donato
 
Click, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX ApplicationsClick, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX ApplicationsKai Donato
 
Full Stack Development mit JavaScript
Full Stack Development mit JavaScriptFull Stack Development mit JavaScript
Full Stack Development mit JavaScriptKai Donato
 
APEX and additional Templating Engines
APEX and additional Templating EnginesAPEX and additional Templating Engines
APEX and additional Templating EnginesKai Donato
 
Professional JavaScript Error-Logging
Professional JavaScript Error-LoggingProfessional JavaScript Error-Logging
Professional JavaScript Error-LoggingKai Donato
 
Managing Node.js Instances with Oracle APEX
Managing Node.js Instances with Oracle APEXManaging Node.js Instances with Oracle APEX
Managing Node.js Instances with Oracle APEXKai Donato
 

Mehr von Kai Donato (9)

Testing APEX apps At A Glance
Testing APEX apps At A GlanceTesting APEX apps At A Glance
Testing APEX apps At A Glance
 
APEX Offline – The missing Link
APEX Offline – The missing LinkAPEX Offline – The missing Link
APEX Offline – The missing Link
 
>> How toTech-Forward >>
>> How toTech-Forward >>>> How toTech-Forward >>
>> How toTech-Forward >>
 
ICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehenICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehen
 
Click, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX ApplicationsClick, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX Applications
 
Full Stack Development mit JavaScript
Full Stack Development mit JavaScriptFull Stack Development mit JavaScript
Full Stack Development mit JavaScript
 
APEX and additional Templating Engines
APEX and additional Templating EnginesAPEX and additional Templating Engines
APEX and additional Templating Engines
 
Professional JavaScript Error-Logging
Professional JavaScript Error-LoggingProfessional JavaScript Error-Logging
Professional JavaScript Error-Logging
 
Managing Node.js Instances with Oracle APEX
Managing Node.js Instances with Oracle APEXManaging Node.js Instances with Oracle APEX
Managing Node.js Instances with Oracle APEX
 

Node.js - Von der Entwicklugn bis zum produktiven Einsatz

  • 1. Node.js - Von der Entwicklung bis zum produktiven Einsatz 2017 - Kai Donato – MT AG
  • 2. Im Überblick Technologie-orientiert Branchen-unabhängig Hauptsitz Ratingen 180 Angestellte Gründungsjahr 1994 Niederlassung Frankfurt am Main, Dortmund, Köln Ausbildungs- betrieb Inhabergeführte Aktiengesellschaft Zertifizierter Partner von Oracle, Microsoft und SAP
  • 3. 3 • Kai Donato • Seit Januar 2014 bei der MT AG in Ratingen • Senior Berater APEX Development • Themenverantwortlicher HTML5 und JavaScript bei der DOAG • Seit über 10 Jahren in der Web-Entwicklung • Fachinformatiker für Systemintegration • UNIX-Server und Netzwerkadministration Über mich @_KaiDonat o
  • 4. Node.js Von der Entwicklung bis zum produktiven Einsatz
  • 5.
  • 6.
  • 7.
  • 8. Phase 1 - Basics
  • 9. • Seit dem Jahr 2009 in stetiger Entwicklung (aktuell in Version 7.9.0) • Serverseitiges JavaScript • Basiert auf der Chromium JavaScript-Engine V8 (Mittlerweile kann auch Chakra genutzt werden) • Lightweight (minimaler Ressourcenverbrauch) • Problemlos erweiterbar (ca. 466.119 Pakete auf „npmjs.org“ verfügbar. Stand: 22. April 2017) • Plattformunabhängig • Non-Blocking 9 Node.js
  • 10. • Wofür setze ich Node.js ein? • Microservices (klein, flexibel und clustering-fähig) • APIs (auch als Technologie-Brücke) • Webserver (nur die minimalen Anforderungen erfüllend) • Echtzeit-Dienste (Messaging Middleware) 10 Basics
  • 11. • Wofür setze ich nicht Node.js ein? • Rechenintensive Prozesse ( 🤔) • CRUD-basierte Anwendungen (Möglich aber mit Vorsicht zu behandeln) • ... 11 Basics
  • 12. • LTS oder Current Version? • Mehrere parallele Versionen stehen zur Verfügung • Sehr schneller Produkt-Zyklus mit neuen Features in der Current Version • Long Term Support für eine stabile Produktionsumgebung • Mit Tools wie „NVM“ auch parallel zu betreiben (DEV und PROD) 12 Basics
  • 13. • LTE vs. Current Version 13 Basics
  • 15. • Umgebungen (Windows, Linux oder MacOS) • Entwicklungsumgebung (ggf. vorinstallierte Test- und Performance- Frameworks) • Testumgebung (Umgebung auf Produktionsniveau mit ausgewählten Testern) • Produktionsumgebung (Monitored und weitere andere Umgebungsparameter) • Versionierungssystem (Git, SVN etc.) • Kein Source-Code geht verloren 15 Handwerkszeug
  • 16. • Editor (Sublime Text, Visual Studio Code, Atom, Bracket o.Ä.) • Plugins für Code Formatting, Linting, Syntax Highlighting etc. 16 Handwerkszeug
  • 19. • Verschiedene Tools für die Automatisierung von: • Linting (Code-Qualität) • Testing (Fehler finden/vermeiden) • Security Check (Schwachstellenerkennung) • Deployment (Verteilen auf verschiedene Umgebungen) 19 Continuous Integration / - Deployment
  • 20. Automatisierungstools: ☒ Travis CI (https://travis-ci.org) ☒ Strider (https://strider-cd.github.org) ☑ Jenkins (https://jenkins.io) 20 Continuous Integration / - Deployment
  • 21. Jenkins • Kostenlos (CC by SA 4.0) • Schnell installiert (wenn man möchte...) • Enorme Zeitersparnis (wenn die Konfiguration einmal passt) • Viele Plugins für verschiedene Sprachen und Zwecke • Gute Integration anderer Dienste (Versionierungs- und Build-Tools) • Verschiedene Benachrichtigungskanäle (Slack, Email etc.) 21 Continuous Integration / - Deployment
  • 25. • Die Installation von Node.js Anwendungen wird beeinflusst von: • .npmrc • package.json • Eurem Lieblings-Sysadmin (😏) 25 Continuous Integration / - Deployment
  • 26. • .npmrc (Node.js package manager configuration file) 26 Continuous Integration / - Deployment
  • 27. • .npmrc (Node.js package manager configuration file) 27 Continuous Integration / - Deployment
  • 29. • JavaScript-Testing-Frameworks • Mocha & Chai • Jasmine • Unit.js 29 Continuous Integration / - Deployment
  • 30. • Chai (als Assertion/“Behauptung“) 30 Continuous Integration / - Deployment
  • 31. • Mocha (als Test-Runner) 31 Continuous Integration / - Deployment
  • 32. Vorträge der MT AG Mittwoch,10.Mai Donnerstag,11.Mai 11.30 Uhr | MusicHall 2 Pimpmy InteractiveGrid MoritzKlein 14.00 Uhr | Soul 11.30 Uhr | Soul JavaScript DebuggingundTuning Till Albert CSS(3) verstehenundanwenden Alexej Schneider 15.30 Uhr | MusicHall 2 Let your Clientsdothework StevenGrzbielok 15:30 Uhr |Soul EinBlick unter dieHaube:JavaScript inAPEX DavideGroppuso
  • 34. Kai Donato Telefon: +49 2102 30961 – 0 kai.donato@mt-ag.com @_KaiDonat o
  • 35. Hier geht es zur Vortragsbewertung: apex.doag.org http://bit.ly/2orqVoE Vielen Dank!