SlideShare a Scribd company logo
1 of 26
Download to read offline
1Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
No Java Enterprise Application
Soham Dasgupta
3Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Who am I?
Soham Dasgupta
12 years in IT. UI and Mobile Apps designer and architect. Working with Oracle Techonlogies since 2006.
Blogger and Technology enthusiastic.
Blog : http://adfjava.blogspot.in/
Twitter : @iamsoham
LinkedIn : https://www.linkedin.com/in/soham-dasgupta-91b75410/
Senior Consultant | ADF/Java/JavaScript
soham.dasgupta@capgemini.com
Capgemini Netherlands
www.sogeti.com
www.capgemini.com
The information contained in this presentation is proprietary. It is for intermediary use only.
Copyright © 2015 Capgemini and Sogeti. All rights reserved.
Rightshore® is a trademark belonging to Capgemini.
No part of this presentation may be modified, deleted or expanded by any process or means without prior written permission from Capgemini.
About Capgemini and Sogeti
Now with 180,000 people in over 40 countries, Capgemini is one of the world's
foremost providers of consulting, technology and outsourcing services. The Group
reported 2014 global revenues of EUR 10.573 billion. Together with its clients,
Capgemini creates and delivers business, technology and digital solutions that fit
their needs, enabling them to achieve innovation and competitiveness. A deeply
multicultural organization, Capgemini has developed its own way of working, the
Collaborative Business ExperienceTM, and draws on Rightshore®, its worldwide
delivery model. Learn more about us at www.capgemini.com.
Sogeti is a leading provider of technology and software testing, specializing in
Application, Infrastructure and Engineering Services. Sogeti offers cutting-edge
solutions around Testing, Business Intelligence & Analytics, Mobile, Cloud and
Cyber Security. Sogeti brings together more than 20,000 professionals in 15
countries and has a strong local presence in over 100 locations in Europe, USA
and India. Sogeti is a wholly-owned subsidiary of Cap Gemini S.A., listed on the
Paris Stock Exchange.
5Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Agenda
 Javascript Ecosystem
 Simplification
 NodeJS
 MVVM
 CSS
 Unit Testing
 Database – oracledb
 Security Management
 Linters
 Build
6Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Javascript Eco-system
• Introduced in 1993
• Standardized by ECMA on 1997
• Introduction of NodeJS 2009
• Huge open-source community
• Since then till 2017 – It grew exponentially
7Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Lets try to simplify things a bit!
8Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Usecase – Lease Car
Public API for Cars
Backend(PCS/DBCS/JCS)
• Edmunds API – Car data and deals
• Oracle JET – UI for users
• Backend Cloud/On-Premise – Process Integration
9Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
First thing First
Benefits
• Event Driven
• Non-blocking I/O API
• Community driven
Why Node
• Streamline your code
• Base it on Standards
• Take advantage to millons of Node
Modules
10Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
M-V-VM
 The model is the domain object
 The view the only thing the end user really interacts with.
 The viewmodel separates view from the model.
11Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Service to Object Model
Brand
Models
Years
Styles
Jaguar
XE
2017
160pk Performance
• Define POJOs
• Gather UI data in a managable way
• Validation
• Data orchestration
• Business Logic
• DML operations
• Data binding
12Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Oracle JET Common Object Model
 oj.Model
• Utility methods for data orchestration
• Object level operations
 oj.Collection
• Collection level data orchestration
• Methods to map REST to object
13Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
MVVM in LeaseCar
 Lease Car project
• MVVM code structure
14Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Theming and CSS
 jQuery Mobile Theming
• Create using ThemeRoller
 Font Awesome
 Oracle JET – Alta Theme
15Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Unit Testing - Jasmine
 Open source testing framework for JavaScript.
 Low overhead, no external dependencies.
 It does not require a DOM.
16Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Database - oracledb
 Simple NodeJS module  Github project maintained by Oracle
17Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Database - oracledb
18Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Database - oracledb
19Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Security Management
 Passport JS
 Passport is authentication middleware for Node.js.
 Extremely flexible and modular.
 Passport can be unobtrusively dropped in to any Express-based web application
20Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Security - PassportJS
21Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Linters
 Came from C
 Code linting is a way to increase code quality.
 Linters like JSLint or JSHint can detect potential bugs
22Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Linting - advantages
 Detect common programming errors
 Flag suspicious and non-portable constructs (likely to be bugs)
 Formatting discrepancy
 Non-adherence to coding standards and conventions
 Pinpointing possible logical errors in your program
 Detecting these simple errors before a manual code review also makes reviewing
the code more effective
23Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Build
 Concatenate, Minify and Bundle them before sending them to the browser
 Reducing the size of the file
 Run automated unit tests
 Managing file order/dependencies
 Transpiling
 Linting, static analysis, and style checking
 Live reload
24Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Build Tools
 Task Runners
• Gulp
• Grunt
• npm
 Dependency manager
• Browserify
25Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
Gulp
26Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017

More Related Content

Similar to No Java Enterprise Application Simplified with Node.js

IoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondIoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondSamsung Open Source Group
 
How the Dutch Police became “Chatbot” interactive
How the Dutch Police became “Chatbot” interactiveHow the Dutch Police became “Chatbot” interactive
How the Dutch Police became “Chatbot” interactiveSoham Dasgupta
 
Producing Systems That Enable The Innovation That Autonomous Vehicles Will Re...
Producing Systems That Enable The Innovation That Autonomous Vehicles Will Re...Producing Systems That Enable The Innovation That Autonomous Vehicles Will Re...
Producing Systems That Enable The Innovation That Autonomous Vehicles Will Re...Agustin Benito Bethencourt
 
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Alen Leit
 
19. Graham Smith & Sarah Hurley - Implementing the Oracle Vision For PeopleSo...
19. Graham Smith & Sarah Hurley - Implementing the Oracle Vision For PeopleSo...19. Graham Smith & Sarah Hurley - Implementing the Oracle Vision For PeopleSo...
19. Graham Smith & Sarah Hurley - Implementing the Oracle Vision For PeopleSo...Cedar Consulting
 
Why and-how-to-choose-an-iot-platforms-201701
Why and-how-to-choose-an-iot-platforms-201701Why and-how-to-choose-an-iot-platforms-201701
Why and-how-to-choose-an-iot-platforms-201701Omar Nawaz
 
Strategies for efficient delivery with APIs containers micro services and DevOps
Strategies for efficient delivery with APIs containers micro services and DevOpsStrategies for efficient delivery with APIs containers micro services and DevOps
Strategies for efficient delivery with APIs containers micro services and DevOpsSven Bernhardt
 
Proposte ORACLE per la modernizzazione dello sviluppo applicativo
Proposte ORACLE per la modernizzazione dello sviluppo applicativoProposte ORACLE per la modernizzazione dello sviluppo applicativo
Proposte ORACLE per la modernizzazione dello sviluppo applicativoJürgen Ambrosi
 
The Future of Infrastructure: Key Trends to consider
The Future of Infrastructure: Key Trends to considerThe Future of Infrastructure: Key Trends to consider
The Future of Infrastructure: Key Trends to considerCapgemini
 
Why Cloud Matters
Why Cloud MattersWhy Cloud Matters
Why Cloud MattersCapgemini
 
GENIVI Boitier Open Source project
GENIVI Boitier Open Source projectGENIVI Boitier Open Source project
GENIVI Boitier Open Source projectFabMob
 
To be or not to be serverless
To be or not to be serverlessTo be or not to be serverless
To be or not to be serverlessSteve Houël
 
Proposte ORACLE per la gestione dei contenuti digitali e per la ricerca scien...
Proposte ORACLE per la gestione dei contenuti digitali e per la ricerca scien...Proposte ORACLE per la gestione dei contenuti digitali e per la ricerca scien...
Proposte ORACLE per la gestione dei contenuti digitali e per la ricerca scien...Jürgen Ambrosi
 
Broader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain Cloud
Broader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain CloudBroader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain Cloud
Broader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain CloudCapgemini
 
Broader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain Cloud
Broader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain CloudBroader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain Cloud
Broader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain CloudCapgemini
 
Understanding conversations within chatbots
Understanding conversations within chatbotsUnderstanding conversations within chatbots
Understanding conversations within chatbotsLeon Smiers
 
Prodyna company presentation-2018
Prodyna company presentation-2018Prodyna company presentation-2018
Prodyna company presentation-2018TechMeetups
 

Similar to No Java Enterprise Application Simplified with Node.js (20)

IoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondIoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and Beyond
 
How the Dutch Police became “Chatbot” interactive
How the Dutch Police became “Chatbot” interactiveHow the Dutch Police became “Chatbot” interactive
How the Dutch Police became “Chatbot” interactive
 
Producing Systems That Enable The Innovation That Autonomous Vehicles Will Re...
Producing Systems That Enable The Innovation That Autonomous Vehicles Will Re...Producing Systems That Enable The Innovation That Autonomous Vehicles Will Re...
Producing Systems That Enable The Innovation That Autonomous Vehicles Will Re...
 
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
 
Uxhel17 hackathon presentation
Uxhel17 hackathon presentationUxhel17 hackathon presentation
Uxhel17 hackathon presentation
 
19. Graham Smith & Sarah Hurley - Implementing the Oracle Vision For PeopleSo...
19. Graham Smith & Sarah Hurley - Implementing the Oracle Vision For PeopleSo...19. Graham Smith & Sarah Hurley - Implementing the Oracle Vision For PeopleSo...
19. Graham Smith & Sarah Hurley - Implementing the Oracle Vision For PeopleSo...
 
Why and-how-to-choose-an-iot-platforms-201701
Why and-how-to-choose-an-iot-platforms-201701Why and-how-to-choose-an-iot-platforms-201701
Why and-how-to-choose-an-iot-platforms-201701
 
Strategies for efficient delivery with APIs containers micro services and DevOps
Strategies for efficient delivery with APIs containers micro services and DevOpsStrategies for efficient delivery with APIs containers micro services and DevOps
Strategies for efficient delivery with APIs containers micro services and DevOps
 
Proposte ORACLE per la modernizzazione dello sviluppo applicativo
Proposte ORACLE per la modernizzazione dello sviluppo applicativoProposte ORACLE per la modernizzazione dello sviluppo applicativo
Proposte ORACLE per la modernizzazione dello sviluppo applicativo
 
The Future of Infrastructure: Key Trends to consider
The Future of Infrastructure: Key Trends to considerThe Future of Infrastructure: Key Trends to consider
The Future of Infrastructure: Key Trends to consider
 
Why Cloud Matters
Why Cloud MattersWhy Cloud Matters
Why Cloud Matters
 
GENIVI Boitier Open Source project
GENIVI Boitier Open Source projectGENIVI Boitier Open Source project
GENIVI Boitier Open Source project
 
Resume-RDn-Detailed
Resume-RDn-DetailedResume-RDn-Detailed
Resume-RDn-Detailed
 
To be or not to be serverless
To be or not to be serverlessTo be or not to be serverless
To be or not to be serverless
 
Proposte ORACLE per la gestione dei contenuti digitali e per la ricerca scien...
Proposte ORACLE per la gestione dei contenuti digitali e per la ricerca scien...Proposte ORACLE per la gestione dei contenuti digitali e per la ricerca scien...
Proposte ORACLE per la gestione dei contenuti digitali e per la ricerca scien...
 
Broader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain Cloud
Broader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain CloudBroader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain Cloud
Broader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain Cloud
 
Broader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain Cloud
Broader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain CloudBroader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain Cloud
Broader, Better, Faster: Capgemini’s Blueprint for Oracle Supply Chain Cloud
 
Understanding conversations within chatbots
Understanding conversations within chatbotsUnderstanding conversations within chatbots
Understanding conversations within chatbots
 
Prodyna company presentation-2018
Prodyna company presentation-2018Prodyna company presentation-2018
Prodyna company presentation-2018
 
Next of Java 2022
Next of Java 2022Next of Java 2022
Next of Java 2022
 

More from Soham Dasgupta

GraphQL_devoxx_2023.pptx
GraphQL_devoxx_2023.pptxGraphQL_devoxx_2023.pptx
GraphQL_devoxx_2023.pptxSoham Dasgupta
 
GraphQL-ify your API - JFall 2022
GraphQL-ify your API - JFall 2022GraphQL-ify your API - JFall 2022
GraphQL-ify your API - JFall 2022Soham Dasgupta
 
Are you testing your unit tests?
Are you testing your unit tests?Are you testing your unit tests?
Are you testing your unit tests?Soham Dasgupta
 
Spring Native : Why not YET!
Spring Native : Why not YET!Spring Native : Why not YET!
Spring Native : Why not YET!Soham Dasgupta
 
GraphQL-ify your APIs - Devoxx UK 2021
 GraphQL-ify your APIs - Devoxx UK 2021 GraphQL-ify your APIs - Devoxx UK 2021
GraphQL-ify your APIs - Devoxx UK 2021Soham Dasgupta
 
OneBot: A Comprehensive Case Study on Enterprise Digital Assistants
OneBot: A Comprehensive Case Study on Enterprise Digital AssistantsOneBot: A Comprehensive Case Study on Enterprise Digital Assistants
OneBot: A Comprehensive Case Study on Enterprise Digital AssistantsSoham Dasgupta
 

More from Soham Dasgupta (8)

GraphQL_devoxx_2023.pptx
GraphQL_devoxx_2023.pptxGraphQL_devoxx_2023.pptx
GraphQL_devoxx_2023.pptx
 
GraphQL-ify your API - JFall 2022
GraphQL-ify your API - JFall 2022GraphQL-ify your API - JFall 2022
GraphQL-ify your API - JFall 2022
 
GraphQL-ify your APIs
GraphQL-ify your APIsGraphQL-ify your APIs
GraphQL-ify your APIs
 
Are you testing your unit tests?
Are you testing your unit tests?Are you testing your unit tests?
Are you testing your unit tests?
 
Spring Native : Why not YET!
Spring Native : Why not YET!Spring Native : Why not YET!
Spring Native : Why not YET!
 
GraphQL-ify your APIs - Devoxx UK 2021
 GraphQL-ify your APIs - Devoxx UK 2021 GraphQL-ify your APIs - Devoxx UK 2021
GraphQL-ify your APIs - Devoxx UK 2021
 
GraphQL-ify your APIs
GraphQL-ify your APIsGraphQL-ify your APIs
GraphQL-ify your APIs
 
OneBot: A Comprehensive Case Study on Enterprise Digital Assistants
OneBot: A Comprehensive Case Study on Enterprise Digital AssistantsOneBot: A Comprehensive Case Study on Enterprise Digital Assistants
OneBot: A Comprehensive Case Study on Enterprise Digital Assistants
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

No Java Enterprise Application Simplified with Node.js

  • 1. 1Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017
  • 2. No Java Enterprise Application Soham Dasgupta
  • 3. 3Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Who am I? Soham Dasgupta 12 years in IT. UI and Mobile Apps designer and architect. Working with Oracle Techonlogies since 2006. Blogger and Technology enthusiastic. Blog : http://adfjava.blogspot.in/ Twitter : @iamsoham LinkedIn : https://www.linkedin.com/in/soham-dasgupta-91b75410/ Senior Consultant | ADF/Java/JavaScript soham.dasgupta@capgemini.com Capgemini Netherlands
  • 4. www.sogeti.com www.capgemini.com The information contained in this presentation is proprietary. It is for intermediary use only. Copyright © 2015 Capgemini and Sogeti. All rights reserved. Rightshore® is a trademark belonging to Capgemini. No part of this presentation may be modified, deleted or expanded by any process or means without prior written permission from Capgemini. About Capgemini and Sogeti Now with 180,000 people in over 40 countries, Capgemini is one of the world's foremost providers of consulting, technology and outsourcing services. The Group reported 2014 global revenues of EUR 10.573 billion. Together with its clients, Capgemini creates and delivers business, technology and digital solutions that fit their needs, enabling them to achieve innovation and competitiveness. A deeply multicultural organization, Capgemini has developed its own way of working, the Collaborative Business ExperienceTM, and draws on Rightshore®, its worldwide delivery model. Learn more about us at www.capgemini.com. Sogeti is a leading provider of technology and software testing, specializing in Application, Infrastructure and Engineering Services. Sogeti offers cutting-edge solutions around Testing, Business Intelligence & Analytics, Mobile, Cloud and Cyber Security. Sogeti brings together more than 20,000 professionals in 15 countries and has a strong local presence in over 100 locations in Europe, USA and India. Sogeti is a wholly-owned subsidiary of Cap Gemini S.A., listed on the Paris Stock Exchange.
  • 5. 5Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Agenda  Javascript Ecosystem  Simplification  NodeJS  MVVM  CSS  Unit Testing  Database – oracledb  Security Management  Linters  Build
  • 6. 6Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Javascript Eco-system • Introduced in 1993 • Standardized by ECMA on 1997 • Introduction of NodeJS 2009 • Huge open-source community • Since then till 2017 – It grew exponentially
  • 7. 7Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Lets try to simplify things a bit!
  • 8. 8Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Usecase – Lease Car Public API for Cars Backend(PCS/DBCS/JCS) • Edmunds API – Car data and deals • Oracle JET – UI for users • Backend Cloud/On-Premise – Process Integration
  • 9. 9Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 First thing First Benefits • Event Driven • Non-blocking I/O API • Community driven Why Node • Streamline your code • Base it on Standards • Take advantage to millons of Node Modules
  • 10. 10Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 M-V-VM  The model is the domain object  The view the only thing the end user really interacts with.  The viewmodel separates view from the model.
  • 11. 11Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Service to Object Model Brand Models Years Styles Jaguar XE 2017 160pk Performance • Define POJOs • Gather UI data in a managable way • Validation • Data orchestration • Business Logic • DML operations • Data binding
  • 12. 12Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Oracle JET Common Object Model  oj.Model • Utility methods for data orchestration • Object level operations  oj.Collection • Collection level data orchestration • Methods to map REST to object
  • 13. 13Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 MVVM in LeaseCar  Lease Car project • MVVM code structure
  • 14. 14Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Theming and CSS  jQuery Mobile Theming • Create using ThemeRoller  Font Awesome  Oracle JET – Alta Theme
  • 15. 15Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Unit Testing - Jasmine  Open source testing framework for JavaScript.  Low overhead, no external dependencies.  It does not require a DOM.
  • 16. 16Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Database - oracledb  Simple NodeJS module  Github project maintained by Oracle
  • 17. 17Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Database - oracledb
  • 18. 18Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Database - oracledb
  • 19. 19Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Security Management  Passport JS  Passport is authentication middleware for Node.js.  Extremely flexible and modular.  Passport can be unobtrusively dropped in to any Express-based web application
  • 20. 20Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Security - PassportJS
  • 21. 21Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Linters  Came from C  Code linting is a way to increase code quality.  Linters like JSLint or JSHint can detect potential bugs
  • 22. 22Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Linting - advantages  Detect common programming errors  Flag suspicious and non-portable constructs (likely to be bugs)  Formatting discrepancy  Non-adherence to coding standards and conventions  Pinpointing possible logical errors in your program  Detecting these simple errors before a manual code review also makes reviewing the code more effective
  • 23. 23Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Build  Concatenate, Minify and Bundle them before sending them to the browser  Reducing the size of the file  Run automated unit tests  Managing file order/dependencies  Transpiling  Linting, static analysis, and style checking  Live reload
  • 24. 24Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Build Tools  Task Runners • Gulp • Grunt • npm  Dependency manager • Browserify
  • 25. 25Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017 Gulp
  • 26. 26Copyright © 2017 Capgemini and Sogeti. All Rights Reserved Oracle User Group Netherlands | 16th June, 2017