SlideShare a Scribd company logo
1 of 23
Oracle OpenWorld
2018
October 22-25, 2018
Sanfrancisco
Cloud
Shift
Get ready
Stay ahead
No-Java Enterprise Application
2No-Java | Soham Dasgupta | OOW18 | CodeOne © 2018 Capgemini. All rights reserved.
UI Designer & Architect
Programmer
Oracle ACE Associate
Twitter : @iamsoham
Soham Dasgupta
No-Java Enterprise Application
3Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
Agenda
• Javascript Ecosystem
• Simplification
• NodeJS
• MVVM
• Theming
• Unit Testing
• Database – oracledb
• Security Management
• Linters
• Build
4Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
• Introduced in 1993
• Standardized by ECMA on 1997
• Introduction of NodeJS 2009
• Huge open-source community
• Since then till 2017 – It grew exponentially
Javascript Eco-system
5Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
Lets try to simplify things a bit
6Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
Usecase – Lease Car
API for Cars
Backend(PCS/DBCS/JCS)
• Edmunds API – Car data and deals
• Oracle JET – UI for users
• Backend Cloud/On-Premise – Process Integration
7Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
NodeJS
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
8Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
The model is the domain object
The view the only thing the end user really interacts with.
The viewmodel separates view from the model.
M-V-VM
9Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
• Define POJOs
• Gather UI data in a managable way
• Validation
• Data orchestration
• Business Logic
• DML operations
• Data binding
Service to Object Model
Brand ModelYearStyles
Jaguar Black 2017 XE
10Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
Oracle JET Common Object Model
11Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
Theme Builder
12Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
Unit Testing - Jasmine
• Open source testing framework for
JavaScript.
• Low overhead, no external dependencies.
• It does not require a DOM.
13Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
Database - oracledb
Simple NodeJS module Github project maintained by
Oracle
14Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
Database - oracledb
15Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
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
16Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
Security - PassportJS
API Layer
ACCS/OMCe
Weblogic/Java Cloud
Oracle JET
App
NodeJS
Authentication
Module
(Passport JS)
Token Verifier
DB/LDAP/Ac
tive
Directory1.Login
3.JWT
Token
2.
Authentication
6. Response(200/401)
4. API calls with JWT Token
JWT contains Payload with user_id and roles/group
which “Token Verifier” extracts after verification
REST APIs
(NodeJS/Express)
Token Verifier
REST APIs
(ADF-BC/J2EE)
{
token:
aaa.XXX.ccc,
groups: A,B,C
}
{
user: abc,
pass:
abc123
}
URI: /flight
Method: POST
Header: {
token: aaa.XXX.ccc
}
{
token:
aaa.XXX.ccc
}
API Layer
ACCS/OMCe
Oracle JET
App
Authenticator
(Passport JS)
Node/Express
(Token Verifier)
DB/LDAP/Ac
tive
Directory1.Login
3.JWT
Token
2.
Authentication
7. Response(200/401)
4. API calls with JWT Token
REST APIs
GET /flight
POST /flight
PUT /flight
DEL /flight
/login
/verif
y
{
groups: A,B,C
}
Group based access
control
19Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
Linters
Came from C
Code linting is a way to increase code quality.
Linters like ESLint or JSHint can detect potential bugs
20Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
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
21Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
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
22Presentation Title | Author | Date © 2018 Capgemini. All rights reserved.
Build Tools
 Task Runners
• Gulp
• Grunt
• npm
 Dependency manager
• Browserify
This message contains information that may be privileged or confidential and is
the property of the Capgemini Group.
Copyright © 2018 Capgemini. All rights reserved.
A global leader in consulting, technology services and digital transformation, Capgemini is
at the forefront of innovation to address the entire breadth of clients’ opportunities in the
evolving world of cloud, digital and platforms. Building on its strong 50-year heritage and
deep industry-specific expertise, Capgemini enables organizations to realize their business
ambitions through an array of services from strategy to operations. Capgemini is driven
by the conviction that the business value of technology comes from and through people.
It is a multicultural company of 200,000 team members in over 40 countries. The Group
reported 2017 global revenues of EUR 12.8 billion.
About Capgemini
Learn more about us at
www.capgemini.com

More Related Content

What's hot

IV Technology Workshop GFT - AWS Serverless Architecture
IV Technology Workshop GFT - AWS Serverless ArchitectureIV Technology Workshop GFT - AWS Serverless Architecture
IV Technology Workshop GFT - AWS Serverless ArchitectureJoão Carlos Lopes Gatto
 
stackconf 2021 | Building the first European open source Edge Computing platf...
stackconf 2021 | Building the first European open source Edge Computing platf...stackconf 2021 | Building the first European open source Edge Computing platf...
stackconf 2021 | Building the first European open source Edge Computing platf...NETWAYS
 
stackconf 2021 | Data Driven Security
stackconf 2021 | Data Driven Securitystackconf 2021 | Data Driven Security
stackconf 2021 | Data Driven SecurityNETWAYS
 
Adform Cloud Infrastructure
Adform Cloud Infrastructure Adform Cloud Infrastructure
Adform Cloud Infrastructure Matas Tvarijonas
 
HiPEAC 2019 Workshop - Vision Processing
HiPEAC 2019 Workshop - Vision ProcessingHiPEAC 2019 Workshop - Vision Processing
HiPEAC 2019 Workshop - Vision ProcessingTulipp. Eu
 
From EAI to Serverless - Evolution of integration architectures
From EAI to Serverless - Evolution of integration architecturesFrom EAI to Serverless - Evolution of integration architectures
From EAI to Serverless - Evolution of integration architecturesSven Bernhardt
 
Crossing the chasm with cloud native
Crossing the chasm with cloud nativeCrossing the chasm with cloud native
Crossing the chasm with cloud nativeCheryl Hung
 
stackconf 2021 | Reference Architecture for a Cloud Native Digital Enterprise
stackconf 2021 | Reference Architecture for a Cloud Native Digital Enterprisestackconf 2021 | Reference Architecture for a Cloud Native Digital Enterprise
stackconf 2021 | Reference Architecture for a Cloud Native Digital EnterpriseNETWAYS
 
The good, the bad, and the ugly of migrating hundreds of legacy applications ...
The good, the bad, and the ugly of migrating hundreds of legacy applications ...The good, the bad, and the ugly of migrating hundreds of legacy applications ...
The good, the bad, and the ugly of migrating hundreds of legacy applications ...Josef Adersberger
 
vodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contractsvodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contractsvodQA
 
Craig Sheridan International Industry-Academia Workshop on Cloud Reliability ...
Craig Sheridan International Industry-Academia Workshop on Cloud Reliability ...Craig Sheridan International Industry-Academia Workshop on Cloud Reliability ...
Craig Sheridan International Industry-Academia Workshop on Cloud Reliability ...Craig Sheridan
 
How to build & run a SaaS with a team of two
How to build & run a SaaS with a team of twoHow to build & run a SaaS with a team of two
How to build & run a SaaS with a team of twoEficode
 
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital EcosystemWSO2
 
Buzzwords at the Cloud Native era - Paris Container Day 2018
Buzzwords at the Cloud Native era - Paris Container Day 2018Buzzwords at the Cloud Native era - Paris Container Day 2018
Buzzwords at the Cloud Native era - Paris Container Day 2018Horgix
 
Rail Ticketing Assistance from the Graph Way, KCOM
Rail Ticketing Assistance from the Graph Way, KCOMRail Ticketing Assistance from the Graph Way, KCOM
Rail Ticketing Assistance from the Graph Way, KCOMNeo4j
 
Event specifications, state of the serverless landscape, and other news from ...
Event specifications, state of the serverless landscape, and other news from ...Event specifications, state of the serverless landscape, and other news from ...
Event specifications, state of the serverless landscape, and other news from ...Daniel Krook
 
Cloud interoperability and open standards for digital india open infrasummit
Cloud interoperability and open standards for digital india open infrasummitCloud interoperability and open standards for digital india open infrasummit
Cloud interoperability and open standards for digital india open infrasummitKrishna-Kumar
 

What's hot (20)

IV Technology Workshop GFT - AWS Serverless Architecture
IV Technology Workshop GFT - AWS Serverless ArchitectureIV Technology Workshop GFT - AWS Serverless Architecture
IV Technology Workshop GFT - AWS Serverless Architecture
 
stackconf 2021 | Building the first European open source Edge Computing platf...
stackconf 2021 | Building the first European open source Edge Computing platf...stackconf 2021 | Building the first European open source Edge Computing platf...
stackconf 2021 | Building the first European open source Edge Computing platf...
 
Creating CICS Web Services
Creating CICS Web ServicesCreating CICS Web Services
Creating CICS Web Services
 
stackconf 2021 | Data Driven Security
stackconf 2021 | Data Driven Securitystackconf 2021 | Data Driven Security
stackconf 2021 | Data Driven Security
 
Adform Cloud Infrastructure
Adform Cloud Infrastructure Adform Cloud Infrastructure
Adform Cloud Infrastructure
 
HiPEAC 2019 Workshop - Vision Processing
HiPEAC 2019 Workshop - Vision ProcessingHiPEAC 2019 Workshop - Vision Processing
HiPEAC 2019 Workshop - Vision Processing
 
From EAI to Serverless - Evolution of integration architectures
From EAI to Serverless - Evolution of integration architecturesFrom EAI to Serverless - Evolution of integration architectures
From EAI to Serverless - Evolution of integration architectures
 
Crossing the chasm with cloud native
Crossing the chasm with cloud nativeCrossing the chasm with cloud native
Crossing the chasm with cloud native
 
stackconf 2021 | Reference Architecture for a Cloud Native Digital Enterprise
stackconf 2021 | Reference Architecture for a Cloud Native Digital Enterprisestackconf 2021 | Reference Architecture for a Cloud Native Digital Enterprise
stackconf 2021 | Reference Architecture for a Cloud Native Digital Enterprise
 
„GitOps with Flux and Flagger“
„GitOps with Flux and Flagger“„GitOps with Flux and Flagger“
„GitOps with Flux and Flagger“
 
The good, the bad, and the ugly of migrating hundreds of legacy applications ...
The good, the bad, and the ugly of migrating hundreds of legacy applications ...The good, the bad, and the ugly of migrating hundreds of legacy applications ...
The good, the bad, and the ugly of migrating hundreds of legacy applications ...
 
vodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contractsvodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contracts
 
Craig Sheridan International Industry-Academia Workshop on Cloud Reliability ...
Craig Sheridan International Industry-Academia Workshop on Cloud Reliability ...Craig Sheridan International Industry-Academia Workshop on Cloud Reliability ...
Craig Sheridan International Industry-Academia Workshop on Cloud Reliability ...
 
How to build & run a SaaS with a team of two
How to build & run a SaaS with a team of twoHow to build & run a SaaS with a team of two
How to build & run a SaaS with a team of two
 
Meetup talk Red Hat OpenShift service mesh
Meetup talk Red Hat OpenShift service meshMeetup talk Red Hat OpenShift service mesh
Meetup talk Red Hat OpenShift service mesh
 
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
 
Buzzwords at the Cloud Native era - Paris Container Day 2018
Buzzwords at the Cloud Native era - Paris Container Day 2018Buzzwords at the Cloud Native era - Paris Container Day 2018
Buzzwords at the Cloud Native era - Paris Container Day 2018
 
Rail Ticketing Assistance from the Graph Way, KCOM
Rail Ticketing Assistance from the Graph Way, KCOMRail Ticketing Assistance from the Graph Way, KCOM
Rail Ticketing Assistance from the Graph Way, KCOM
 
Event specifications, state of the serverless landscape, and other news from ...
Event specifications, state of the serverless landscape, and other news from ...Event specifications, state of the serverless landscape, and other news from ...
Event specifications, state of the serverless landscape, and other news from ...
 
Cloud interoperability and open standards for digital india open infrasummit
Cloud interoperability and open standards for digital india open infrasummitCloud interoperability and open standards for digital india open infrasummit
Cloud interoperability and open standards for digital india open infrasummit
 

Similar to No-Java Enterprise Applications: It’s All About JavaScript [DEV5107]

Javascript for Enterprise Application
Javascript for Enterprise ApplicationJavascript for Enterprise Application
Javascript for Enterprise ApplicationSoham Dasgupta
 
Delivering Mobile Apps to the Field with Oracle JET
Delivering Mobile Apps to the Field with Oracle JETDelivering Mobile Apps to the Field with Oracle JET
Delivering Mobile Apps to the Field with Oracle JETSimon Haslam
 
Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018
Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018
Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018Amazon Web Services
 
Application Modernization with PKS / Kubernetes
Application Modernization with PKS / KubernetesApplication Modernization with PKS / Kubernetes
Application Modernization with PKS / KubernetesPaul Czarkowski
 
Building Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSBuilding Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSAmazon Web Services
 
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)Akamai Developers & Admins
 
Using LLVM to accelerate processing of data in Apache Arrow
Using LLVM to accelerate processing of data in Apache ArrowUsing LLVM to accelerate processing of data in Apache Arrow
Using LLVM to accelerate processing of data in Apache ArrowDataWorks Summit
 
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewGet the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewForgeRock
 
Gimel at Dataworks Summit San Jose 2018
Gimel at Dataworks Summit San Jose 2018Gimel at Dataworks Summit San Jose 2018
Gimel at Dataworks Summit San Jose 2018Romit Mehta
 
Dataworks | 2018-06-20 | Gimel data platform
Dataworks | 2018-06-20 | Gimel data platformDataworks | 2018-06-20 | Gimel data platform
Dataworks | 2018-06-20 | Gimel data platformDeepak Chandramouli
 
Achieving digital transformation with Siebel CRM and Oracle Cloud
Achieving digital transformation with Siebel CRM and Oracle Cloud Achieving digital transformation with Siebel CRM and Oracle Cloud
Achieving digital transformation with Siebel CRM and Oracle Cloud Sonia Wadhwa
 
SAP Teched 2012 Session Tec3438 Automate IaaS SAP deployments
SAP Teched 2012 Session Tec3438 Automate IaaS SAP deploymentsSAP Teched 2012 Session Tec3438 Automate IaaS SAP deployments
SAP Teched 2012 Session Tec3438 Automate IaaS SAP deploymentsChris Kernaghan
 
Kubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experienceKubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experienceSAP HANA Cloud Platform
 
Applying MBSE to the Industrial IoT: Using SysML with Connext DDS and Simulink
Applying MBSE to the Industrial IoT: Using SysML with Connext DDS and SimulinkApplying MBSE to the Industrial IoT: Using SysML with Connext DDS and Simulink
Applying MBSE to the Industrial IoT: Using SysML with Connext DDS and SimulinkGerardo Pardo-Castellote
 
Introduction to Amazon EC2 F1 Instances
Introduction to Amazon EC2 F1 Instances Introduction to Amazon EC2 F1 Instances
Introduction to Amazon EC2 F1 Instances Amazon Web Services
 
Enterprise Cloud Native is the New Normal
Enterprise Cloud Native is the New NormalEnterprise Cloud Native is the New Normal
Enterprise Cloud Native is the New NormalQAware GmbH
 
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...SAP Cloud Platform
 
Secure Clouds are Happy Clouds
Secure Clouds are Happy CloudsSecure Clouds are Happy Clouds
Secure Clouds are Happy Clouds2nd Watch
 

Similar to No-Java Enterprise Applications: It’s All About JavaScript [DEV5107] (20)

Javascript for Enterprise Application
Javascript for Enterprise ApplicationJavascript for Enterprise Application
Javascript for Enterprise Application
 
Delivering Mobile Apps to the Field with Oracle JET
Delivering Mobile Apps to the Field with Oracle JETDelivering Mobile Apps to the Field with Oracle JET
Delivering Mobile Apps to the Field with Oracle JET
 
Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018
Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018
Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018
 
Application Modernization with PKS / Kubernetes
Application Modernization with PKS / KubernetesApplication Modernization with PKS / Kubernetes
Application Modernization with PKS / Kubernetes
 
Building Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSBuilding Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWS
 
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
 
Using LLVM to accelerate processing of data in Apache Arrow
Using LLVM to accelerate processing of data in Apache ArrowUsing LLVM to accelerate processing of data in Apache Arrow
Using LLVM to accelerate processing of data in Apache Arrow
 
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewGet the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - Overview
 
CheckPoint Software
CheckPoint SoftwareCheckPoint Software
CheckPoint Software
 
Gimel at Dataworks Summit San Jose 2018
Gimel at Dataworks Summit San Jose 2018Gimel at Dataworks Summit San Jose 2018
Gimel at Dataworks Summit San Jose 2018
 
Dataworks | 2018-06-20 | Gimel data platform
Dataworks | 2018-06-20 | Gimel data platformDataworks | 2018-06-20 | Gimel data platform
Dataworks | 2018-06-20 | Gimel data platform
 
Achieving digital transformation with Siebel CRM and Oracle Cloud
Achieving digital transformation with Siebel CRM and Oracle Cloud Achieving digital transformation with Siebel CRM and Oracle Cloud
Achieving digital transformation with Siebel CRM and Oracle Cloud
 
SAP Teched 2012 Session Tec3438 Automate IaaS SAP deployments
SAP Teched 2012 Session Tec3438 Automate IaaS SAP deploymentsSAP Teched 2012 Session Tec3438 Automate IaaS SAP deployments
SAP Teched 2012 Session Tec3438 Automate IaaS SAP deployments
 
Kubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experienceKubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experience
 
Applying MBSE to the Industrial IoT: Using SysML with Connext DDS and Simulink
Applying MBSE to the Industrial IoT: Using SysML with Connext DDS and SimulinkApplying MBSE to the Industrial IoT: Using SysML with Connext DDS and Simulink
Applying MBSE to the Industrial IoT: Using SysML with Connext DDS and Simulink
 
Introduction to Amazon EC2 F1 Instances
Introduction to Amazon EC2 F1 Instances Introduction to Amazon EC2 F1 Instances
Introduction to Amazon EC2 F1 Instances
 
Enterprise Cloud Native is the New Normal
Enterprise Cloud Native is the New NormalEnterprise Cloud Native is the New Normal
Enterprise Cloud Native is the New Normal
 
Leveraging Multiple Cloud Orchestration
Leveraging Multiple Cloud OrchestrationLeveraging Multiple Cloud Orchestration
Leveraging Multiple Cloud Orchestration
 
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
 
Secure Clouds are Happy Clouds
Secure Clouds are Happy CloudsSecure Clouds are Happy Clouds
Secure Clouds are Happy Clouds
 

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
 
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
 

More from Soham Dasgupta (9)

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
 
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
 

Recently uploaded

Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...NETWAYS
 
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxEvent 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxaryanv1753
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptssuser319dad
 
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxGenshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxJohnree4
 
James Joyce, Dubliners and Ulysses.ppt !
James Joyce, Dubliners and Ulysses.ppt !James Joyce, Dubliners and Ulysses.ppt !
James Joyce, Dubliners and Ulysses.ppt !risocarla2016
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...NETWAYS
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSebastiano Panichella
 
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...Krijn Poppe
 
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfOpen Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfhenrik385807
 
miladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxmiladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxCarrieButtitta
 
The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringSebastiano Panichella
 
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power
 
The Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism PresentationThe Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism PresentationNathan Young
 
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC  - NANOTECHNOLOGYPHYSICS PROJECT BY MSC  - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC - NANOTECHNOLOGYpruthirajnayak525
 
Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸mathanramanathan2005
 
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxAnne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxnoorehahmad
 
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxWork Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxmavinoikein
 
call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@vikas rana
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Salam Al-Karadaghi
 
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)Basil Achie
 

Recently uploaded (20)

Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
 
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxEvent 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptx
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.ppt
 
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxGenshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptx
 
James Joyce, Dubliners and Ulysses.ppt !
James Joyce, Dubliners and Ulysses.ppt !James Joyce, Dubliners and Ulysses.ppt !
James Joyce, Dubliners and Ulysses.ppt !
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation Track
 
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
 
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfOpen Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
 
miladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxmiladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptx
 
The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software Engineering
 
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
 
The Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism PresentationThe Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism Presentation
 
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC  - NANOTECHNOLOGYPHYSICS PROJECT BY MSC  - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
 
Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸
 
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxAnne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
 
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxWork Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptx
 
call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
 
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)
 

No-Java Enterprise Applications: It’s All About JavaScript [DEV5107]

  • 1. Oracle OpenWorld 2018 October 22-25, 2018 Sanfrancisco Cloud Shift Get ready Stay ahead No-Java Enterprise Application
  • 2. 2No-Java | Soham Dasgupta | OOW18 | CodeOne © 2018 Capgemini. All rights reserved. UI Designer & Architect Programmer Oracle ACE Associate Twitter : @iamsoham Soham Dasgupta No-Java Enterprise Application
  • 3. 3Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. Agenda • Javascript Ecosystem • Simplification • NodeJS • MVVM • Theming • Unit Testing • Database – oracledb • Security Management • Linters • Build
  • 4. 4Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. • Introduced in 1993 • Standardized by ECMA on 1997 • Introduction of NodeJS 2009 • Huge open-source community • Since then till 2017 – It grew exponentially Javascript Eco-system
  • 5. 5Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. Lets try to simplify things a bit
  • 6. 6Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. Usecase – Lease Car API for Cars Backend(PCS/DBCS/JCS) • Edmunds API – Car data and deals • Oracle JET – UI for users • Backend Cloud/On-Premise – Process Integration
  • 7. 7Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. NodeJS 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
  • 8. 8Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. The model is the domain object The view the only thing the end user really interacts with. The viewmodel separates view from the model. M-V-VM
  • 9. 9Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. • Define POJOs • Gather UI data in a managable way • Validation • Data orchestration • Business Logic • DML operations • Data binding Service to Object Model Brand ModelYearStyles Jaguar Black 2017 XE
  • 10. 10Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. Oracle JET Common Object Model
  • 11. 11Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. Theme Builder
  • 12. 12Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. Unit Testing - Jasmine • Open source testing framework for JavaScript. • Low overhead, no external dependencies. • It does not require a DOM.
  • 13. 13Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. Database - oracledb Simple NodeJS module Github project maintained by Oracle
  • 14. 14Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. Database - oracledb
  • 15. 15Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. 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
  • 16. 16Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. Security - PassportJS
  • 17. API Layer ACCS/OMCe Weblogic/Java Cloud Oracle JET App NodeJS Authentication Module (Passport JS) Token Verifier DB/LDAP/Ac tive Directory1.Login 3.JWT Token 2. Authentication 6. Response(200/401) 4. API calls with JWT Token JWT contains Payload with user_id and roles/group which “Token Verifier” extracts after verification REST APIs (NodeJS/Express) Token Verifier REST APIs (ADF-BC/J2EE)
  • 18. { token: aaa.XXX.ccc, groups: A,B,C } { user: abc, pass: abc123 } URI: /flight Method: POST Header: { token: aaa.XXX.ccc } { token: aaa.XXX.ccc } API Layer ACCS/OMCe Oracle JET App Authenticator (Passport JS) Node/Express (Token Verifier) DB/LDAP/Ac tive Directory1.Login 3.JWT Token 2. Authentication 7. Response(200/401) 4. API calls with JWT Token REST APIs GET /flight POST /flight PUT /flight DEL /flight /login /verif y { groups: A,B,C } Group based access control
  • 19. 19Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. Linters Came from C Code linting is a way to increase code quality. Linters like ESLint or JSHint can detect potential bugs
  • 20. 20Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. 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
  • 21. 21Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. 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
  • 22. 22Presentation Title | Author | Date © 2018 Capgemini. All rights reserved. Build Tools  Task Runners • Gulp • Grunt • npm  Dependency manager • Browserify
  • 23. This message contains information that may be privileged or confidential and is the property of the Capgemini Group. Copyright © 2018 Capgemini. All rights reserved. A global leader in consulting, technology services and digital transformation, Capgemini is at the forefront of innovation to address the entire breadth of clients’ opportunities in the evolving world of cloud, digital and platforms. Building on its strong 50-year heritage and deep industry-specific expertise, Capgemini enables organizations to realize their business ambitions through an array of services from strategy to operations. Capgemini is driven by the conviction that the business value of technology comes from and through people. It is a multicultural company of 200,000 team members in over 40 countries. The Group reported 2017 global revenues of EUR 12.8 billion. About Capgemini Learn more about us at www.capgemini.com

Editor's Notes

  1. Fixar a posicao do titulo – sempre do lado esquerdo. Sempre que tiver muito texto o coluna deve sempre ser “ narrowed” , se nao fica dificil de ler. Colocar paragrafos no texto. Linha vertical deve ser mais fina e as pontas NUNCA devem ser arredondadas.
  2. Fixar a posicao do titulo – sempre do lado esquerdo. Sempre que tiver muito texto o coluna deve sempre ser “ narrowed” , se nao fica dificil de ler. Colocar paragrafos no texto. Linha vertical deve ser mais fina e as pontas NUNCA devem ser arredondadas.
  3. O Box atras do texto desnecessario. Deixar o layout mais simples.