More Related Content
Similar to Javascript for Enterprise Application (20)
More from Soham Dasgupta (8)
Javascript for Enterprise Application
- 1. 1Copyright © 2017 Capgemini and Sogeti. All Rights Reserved
Oracle User Group Netherlands | 16th June, 2017
- 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