SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
Oracle Jet vs Oracle ADF or
Oracle Jet with Oracle ADF
Eugene Fedorenko
About me
Eugene Fedorenko
Senior Architect
Flexagon
adfpractice-fedor.blogspot.com
@fisbudo
Agenda
•Oracle ADF vs Oracle Jet Battlefield
•Differences
•Similarities
•Why should I care?
•JS alternatives
•Oracle ADF with Oracle Jet
•Jet + ADF BC
•Jet + ADF Faces + ADF BC
•Jet + ADF Controller
Start
Oracle ADF
Oracle Jet
Oracle Jet
Oracle ADF vs Oracle Jet
Should I go with Jet?
•Existing projects
•Fresh look&feel
•New Features
•Hybrid
•New project
•Self-education
Jet vs ADF. Differences
Jet vs ADF. Differences
Alta UI
Jet vs ADF. Differences
Jet vs ADF. Differences
Jet ADF
Open Source. No official support. Commercial. Official Oracle Support
No Garanty of API stability API is mostly stable
Code Focused Declarative approach
Strong JS skills Basic Java skills. Strong ADF Skills
Works on any web server Works on a set of certified application
servers
Can be easily combined with other
web technologies
Prefer to “own” the page
Jet vs ADF. Similarities
•Powered by Oracle
•Alta UI components base
•DVT components
•Accessibility support
•Internalization
•Work on Desktop and Mobile Web
Why?
•Responsiveness
•Many things happen on client
•Leveraging of asynchronous calls
•Web + Hybrid (Apache Cordova)
•Same application for Desktop and for Mobile
•iOS, Android, Windows 10
•Same set of skills for Desktop and for Mobile
Why?
•Skills
•JS is hot now
•Resources
•How many ADF developers are around?
•How many JS developers are there?
Why?
•ADF Releases
•12.2.1.3.0 Aug 2017
•12.2.1.2.0 Oct 2016
•12.2.1.1.0 Jun 2016
•12.2.1.0.0 Oct 2015
•Oracle Jet releases
•5.0.0 Apr 2018
•4.2.0 Feb 2018
•4.1.0 Nov 2017
•4.0.0 Sep 2017
•3.0.0 Mar 2017
So should we go with JS?
Sure about Oracle Jet?
•There are alternative JS tools
•Oracle Forms -> Oracle ADF/MAF -> Oracle Jet -> ?
•Open Source
•Powered by Oracle
•Free
•No official support
•Not a framework but a toolkit
•Really?
Alternatives
React
•Born in Facebook
•Lightweight library
•Reusable components
•Virtual DOM
•Clean Abstraction
•Great Developer Tools
•React Native
•Develop NATIVE apps for iOS and Android
Vue.js
•The trendiest project of the year
•Small learning curve
•Well defined ecosystem
•router: vue-router
•State management: Vuex
•Single file components
•template, logic, styles
•Real open source project
AngularJS
•Complete client-side solution
•Data Binding
•Controller
•Deep Linking
•Form Validation
•Directives
•Reusable Components
•Dependency Injection
•Apache Cordova for hybrid mobile apps
Cases to go
•Existing project
•New projects
•Hybrid applications
Jet + ADF BC
Jet + ADF BC
•Pros
•Simple architecture
•Reuse
•Knowledge/Experience
•Core BC implementation
•Cons
•Not as easy as it looks
•…
Jet + ADF BC. Business Services.
•Stateful -> Stateless
•Different UI design
•Reconsider/rebuild services
•State
•Transaction management
•Current row
•Pagination
Jet + ADF BC. Business Services.
Jet + ADF BC. AM Pool Settings.
•Referenced Pool Size is ignored
•AM pooling matters
•jbo.doconnectionpooling ON
•Disconnect AM Upon Release ON
•Reset Non-Transactional State
Upon Unmanaged Release ON
Jet + ADF BC. Security.
•JET/JS based UI has a broader attack surface
•Multiple service endpoints to consider
•The model layer will have to be more robust
•Checking of all inputs for SQL-injection
•The data is now visible
•All UI logic is visible
Jet + ADF BC. Hardware.
•Stateful -> Stateless
•CPU +
•Memory -
•Server centric -> Client Centric
•Back to thick client architecture
•Server -
•Client +
Jet + ADF BC. JVM Tuning.
•Less long living objects
•Large Nursery
•Small Tenure
Jet + ADF Faces + ADF BC. Separate pages.
Jet + ADF Faces + ADF BC. Separate pages.
•Pros
•Clean architecture design
•Different UI for different use cases
•Separate entry points
•Cons
•Think twice on security, internalization, etc.
•More complex DevOps procedures
Jet + ADF Faces + ADF BC. Same pages.
•Pros
•Suitable for portals and dashboards
•Reuse Jet components
•Cons
•Two different ADF BC transactions
•Separate caches
•Separate user context
•JSF lifecycle
•Not compatible with ADF PPR
•Incompatible Drag&Drop
Jet + ADF Faces + ADF BC. Same pages.
Jet + ADF Faces + ADF BC. Same pages.
Jet + ADF Faces + ADF BC. Same pages.
•Pros
•Same ADF BC transaction
•REST API is not involved
•Cons
•JSF lifecycle
•Not compatible with ADF PPR
•Incompatible Drag&Drop
Jet + ADF Faces + ADF BC. Same pages.
Jet + ADF Controller.
Jet + ADF Controller.
•Pros
•Task Flows in Oracle JET
•Cons
•Complicated
•Heavy
•Stateful
•Tightly coupled Client and Server
ADF + Back End
ADF + Back End
•Pros
•Lower risk
•Focus on back-end
•Cons
•Way more expensive than classic ADF BC way
•Data Controls challenge
•REST Data Control
•ADF BC on top of WS
•Bean data control on top of WS or Rest DC
Q&A
JetvsAdf

Contenu connexe

Tendances

ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...European Collaboration Summit
 
From Rails legacy to DDD - Pivorak, Lviv
From Rails legacy to DDD - Pivorak, LvivFrom Rails legacy to DDD - Pivorak, Lviv
From Rails legacy to DDD - Pivorak, LvivAndrzej Krzywda
 
I3 - Running SharePoint 2016 in Azure the do's and dont's - Jasjit Chopra
I3 - Running SharePoint 2016 in Azure the do's and dont's - Jasjit ChopraI3 - Running SharePoint 2016 in Azure the do's and dont's - Jasjit Chopra
I3 - Running SharePoint 2016 in Azure the do's and dont's - Jasjit ChopraSPS Paris
 
Swagger: Restful documentation that won't put you to sleep
Swagger: Restful documentation that won't put you to sleepSwagger: Restful documentation that won't put you to sleep
Swagger: Restful documentation that won't put you to sleepTobias Coetzee
 
Office Development Licensing, Deployment and ALM
Office Development Licensing, Deployment and ALMOffice Development Licensing, Deployment and ALM
Office Development Licensing, Deployment and ALMEric Shupps
 
Share point 2013 new and improved
Share point 2013 new and improvedShare point 2013 new and improved
Share point 2013 new and improvedEric Shupps
 
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
SenchaCon 2016: Oracle Forms Modernisation - Owen PaganSenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
SenchaCon 2016: Oracle Forms Modernisation - Owen PaganSencha
 
Building solutions with the SharePoint Framework - introduction
Building solutions with the SharePoint Framework - introductionBuilding solutions with the SharePoint Framework - introduction
Building solutions with the SharePoint Framework - introductionWaldek Mastykarz
 
Refactoring Rails applications with RubyMine
Refactoring Rails applications with RubyMineRefactoring Rails applications with RubyMine
Refactoring Rails applications with RubyMineAndrzej Krzywda
 
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...Eric Shupps
 
Essential Knowledge for SharePoint Add-Ins
Essential Knowledge for SharePoint Add-InsEssential Knowledge for SharePoint Add-Ins
Essential Knowledge for SharePoint Add-InsInnoTech
 
SharePoint 2013 - A Real World Help Desk App End to End
SharePoint 2013 - A Real World Help Desk App End to EndSharePoint 2013 - A Real World Help Desk App End to End
SharePoint 2013 - A Real World Help Desk App End to EndEric Shupps
 
Design for scale
Design for scaleDesign for scale
Design for scaleDoug Lampe
 
SharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsSharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsEric Shupps
 
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...MskDotNet Community
 
Single Page Apps
Single Page AppsSingle Page Apps
Single Page AppsGil Fink
 
How the Cloud Changes Business Solution Design and Delivery
How the Cloud Changes Business Solution Design and DeliveryHow the Cloud Changes Business Solution Design and Delivery
How the Cloud Changes Business Solution Design and DeliverySPC Adriatics
 
Hilfe, wir brauchen ein Frontend
Hilfe, wir brauchen ein FrontendHilfe, wir brauchen ein Frontend
Hilfe, wir brauchen ein FrontendOPEN KNOWLEDGE GmbH
 

Tendances (20)

ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
 
From Rails legacy to DDD - Pivorak, Lviv
From Rails legacy to DDD - Pivorak, LvivFrom Rails legacy to DDD - Pivorak, Lviv
From Rails legacy to DDD - Pivorak, Lviv
 
I3 - Running SharePoint 2016 in Azure the do's and dont's - Jasjit Chopra
I3 - Running SharePoint 2016 in Azure the do's and dont's - Jasjit ChopraI3 - Running SharePoint 2016 in Azure the do's and dont's - Jasjit Chopra
I3 - Running SharePoint 2016 in Azure the do's and dont's - Jasjit Chopra
 
Swagger: Restful documentation that won't put you to sleep
Swagger: Restful documentation that won't put you to sleepSwagger: Restful documentation that won't put you to sleep
Swagger: Restful documentation that won't put you to sleep
 
Office Development Licensing, Deployment and ALM
Office Development Licensing, Deployment and ALMOffice Development Licensing, Deployment and ALM
Office Development Licensing, Deployment and ALM
 
Azure Serverless Conf
Azure Serverless ConfAzure Serverless Conf
Azure Serverless Conf
 
Share point 2013 new and improved
Share point 2013 new and improvedShare point 2013 new and improved
Share point 2013 new and improved
 
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
SenchaCon 2016: Oracle Forms Modernisation - Owen PaganSenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
 
Building solutions with the SharePoint Framework - introduction
Building solutions with the SharePoint Framework - introductionBuilding solutions with the SharePoint Framework - introduction
Building solutions with the SharePoint Framework - introduction
 
Refactoring Rails applications with RubyMine
Refactoring Rails applications with RubyMineRefactoring Rails applications with RubyMine
Refactoring Rails applications with RubyMine
 
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
 
Essential Knowledge for SharePoint Add-Ins
Essential Knowledge for SharePoint Add-InsEssential Knowledge for SharePoint Add-Ins
Essential Knowledge for SharePoint Add-Ins
 
SharePoint 2013 - A Real World Help Desk App End to End
SharePoint 2013 - A Real World Help Desk App End to EndSharePoint 2013 - A Real World Help Desk App End to End
SharePoint 2013 - A Real World Help Desk App End to End
 
Design for scale
Design for scaleDesign for scale
Design for scale
 
SharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsSharePoint 2013 Performance Enhancements
SharePoint 2013 Performance Enhancements
 
Best Oracle adf online training
Best Oracle adf online trainingBest Oracle adf online training
Best Oracle adf online training
 
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
 
Single Page Apps
Single Page AppsSingle Page Apps
Single Page Apps
 
How the Cloud Changes Business Solution Design and Delivery
How the Cloud Changes Business Solution Design and DeliveryHow the Cloud Changes Business Solution Design and Delivery
How the Cloud Changes Business Solution Design and Delivery
 
Hilfe, wir brauchen ein Frontend
Hilfe, wir brauchen ein FrontendHilfe, wir brauchen ein Frontend
Hilfe, wir brauchen ein Frontend
 

Similaire à JetvsAdf

Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksBuilding Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksFITC
 
Zero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApExZero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApExBradley Brown
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Adam Mokan
 
SOA 11g Foundation - G - ADF Development.ppt
SOA 11g Foundation - G - ADF Development.pptSOA 11g Foundation - G - ADF Development.ppt
SOA 11g Foundation - G - ADF Development.pptSudhirSinghShakyaVan
 
Talking Services with Oracle ADF and Oracle SOA Suite
Talking Services with Oracle ADF and Oracle SOA SuiteTalking Services with Oracle ADF and Oracle SOA Suite
Talking Services with Oracle ADF and Oracle SOA SuiteDataNext Solutions
 
Web app job and functions - TUGAIT 2017
Web app job and functions  - TUGAIT 2017Web app job and functions  - TUGAIT 2017
Web app job and functions - TUGAIT 2017Steef-Jan Wiggers
 
Deep dive into share point framework webparts
Deep dive into share point framework webpartsDeep dive into share point framework webparts
Deep dive into share point framework webpartsPrabhu Nehru
 
oracle adf training | oracle adf course | oracle adf certification training
oracle adf training | oracle adf course | oracle adf certification training oracle adf training | oracle adf course | oracle adf certification training
oracle adf training | oracle adf course | oracle adf certification training Nancy Thomas
 
Java Two 2012 ADF
Java Two 2012 ADFJava Two 2012 ADF
Java Two 2012 ADF益裕 張
 
DC Titanium User Group Meetup: Appcelerator Titanium Alloy jan2013
DC Titanium User Group Meetup: Appcelerator Titanium Alloy jan2013DC Titanium User Group Meetup: Appcelerator Titanium Alloy jan2013
DC Titanium User Group Meetup: Appcelerator Titanium Alloy jan2013Aaron Saunders
 
DevOps in the Microsoft world part 1
DevOps in the Microsoft world part 1DevOps in the Microsoft world part 1
DevOps in the Microsoft world part 1Evgeniy Savchenko
 
AngularJS - Architecture decisions in a large project 
AngularJS - Architecture decisionsin a large project AngularJS - Architecture decisionsin a large project 
AngularJS - Architecture decisions in a large project Elad Hirsch
 
Transitioning Groupon to Node.js - EmpireJS 2014
Transitioning Groupon to Node.js - EmpireJS 2014Transitioning Groupon to Node.js - EmpireJS 2014
Transitioning Groupon to Node.js - EmpireJS 2014Sean McCullough
 
Oracle web-applications
Oracle web-applicationsOracle web-applications
Oracle web-applicationsurskeshav
 
SPUnite17 Creating Scalable Cloud Solutions
SPUnite17 Creating Scalable Cloud SolutionsSPUnite17 Creating Scalable Cloud Solutions
SPUnite17 Creating Scalable Cloud SolutionsNCCOMMS
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Dockervisual28
 

Similaire à JetvsAdf (20)

Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksBuilding Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
 
Zero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApExZero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApEx
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
 
SOA 11g Foundation - G - ADF Development.ppt
SOA 11g Foundation - G - ADF Development.pptSOA 11g Foundation - G - ADF Development.ppt
SOA 11g Foundation - G - ADF Development.ppt
 
Talking Services with Oracle ADF and Oracle SOA Suite
Talking Services with Oracle ADF and Oracle SOA SuiteTalking Services with Oracle ADF and Oracle SOA Suite
Talking Services with Oracle ADF and Oracle SOA Suite
 
Web app job and functions - TUGAIT 2017
Web app job and functions  - TUGAIT 2017Web app job and functions  - TUGAIT 2017
Web app job and functions - TUGAIT 2017
 
Deep dive into share point framework webparts
Deep dive into share point framework webpartsDeep dive into share point framework webparts
Deep dive into share point framework webparts
 
oracle adf training | oracle adf course | oracle adf certification training
oracle adf training | oracle adf course | oracle adf certification training oracle adf training | oracle adf course | oracle adf certification training
oracle adf training | oracle adf course | oracle adf certification training
 
Java Two 2012 ADF
Java Two 2012 ADFJava Two 2012 ADF
Java Two 2012 ADF
 
DC Titanium User Group Meetup: Appcelerator Titanium Alloy jan2013
DC Titanium User Group Meetup: Appcelerator Titanium Alloy jan2013DC Titanium User Group Meetup: Appcelerator Titanium Alloy jan2013
DC Titanium User Group Meetup: Appcelerator Titanium Alloy jan2013
 
Key alias dev standard final
Key alias   dev standard finalKey alias   dev standard final
Key alias dev standard final
 
DevOps in the Microsoft world part 1
DevOps in the Microsoft world part 1DevOps in the Microsoft world part 1
DevOps in the Microsoft world part 1
 
AngularJS - Architecture decisions in a large project 
AngularJS - Architecture decisionsin a large project AngularJS - Architecture decisionsin a large project 
AngularJS - Architecture decisions in a large project 
 
Transitioning Groupon to Node.js - EmpireJS 2014
Transitioning Groupon to Node.js - EmpireJS 2014Transitioning Groupon to Node.js - EmpireJS 2014
Transitioning Groupon to Node.js - EmpireJS 2014
 
Spring
SpringSpring
Spring
 
Graphql
GraphqlGraphql
Graphql
 
Oracle web-applications
Oracle web-applicationsOracle web-applications
Oracle web-applications
 
Einführung in RavenDB
Einführung in RavenDBEinführung in RavenDB
Einführung in RavenDB
 
SPUnite17 Creating Scalable Cloud Solutions
SPUnite17 Creating Scalable Cloud SolutionsSPUnite17 Creating Scalable Cloud Solutions
SPUnite17 Creating Scalable Cloud Solutions
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 

Dernier

Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 

Dernier (20)

Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 

JetvsAdf

  • 1.
  • 2. Oracle Jet vs Oracle ADF or Oracle Jet with Oracle ADF Eugene Fedorenko
  • 3. About me Eugene Fedorenko Senior Architect Flexagon adfpractice-fedor.blogspot.com @fisbudo
  • 4. Agenda •Oracle ADF vs Oracle Jet Battlefield •Differences •Similarities •Why should I care? •JS alternatives •Oracle ADF with Oracle Jet •Jet + ADF BC •Jet + ADF Faces + ADF BC •Jet + ADF Controller
  • 9. Oracle ADF vs Oracle Jet
  • 10. Should I go with Jet? •Existing projects •Fresh look&feel •New Features •Hybrid •New project •Self-education
  • 11. Jet vs ADF. Differences
  • 12. Jet vs ADF. Differences Alta UI
  • 13. Jet vs ADF. Differences
  • 14. Jet vs ADF. Differences Jet ADF Open Source. No official support. Commercial. Official Oracle Support No Garanty of API stability API is mostly stable Code Focused Declarative approach Strong JS skills Basic Java skills. Strong ADF Skills Works on any web server Works on a set of certified application servers Can be easily combined with other web technologies Prefer to “own” the page
  • 15. Jet vs ADF. Similarities •Powered by Oracle •Alta UI components base •DVT components •Accessibility support •Internalization •Work on Desktop and Mobile Web
  • 16. Why? •Responsiveness •Many things happen on client •Leveraging of asynchronous calls •Web + Hybrid (Apache Cordova) •Same application for Desktop and for Mobile •iOS, Android, Windows 10 •Same set of skills for Desktop and for Mobile
  • 17. Why? •Skills •JS is hot now •Resources •How many ADF developers are around? •How many JS developers are there?
  • 18. Why? •ADF Releases •12.2.1.3.0 Aug 2017 •12.2.1.2.0 Oct 2016 •12.2.1.1.0 Jun 2016 •12.2.1.0.0 Oct 2015 •Oracle Jet releases •5.0.0 Apr 2018 •4.2.0 Feb 2018 •4.1.0 Nov 2017 •4.0.0 Sep 2017 •3.0.0 Mar 2017
  • 19. So should we go with JS?
  • 20. Sure about Oracle Jet? •There are alternative JS tools •Oracle Forms -> Oracle ADF/MAF -> Oracle Jet -> ? •Open Source •Powered by Oracle •Free •No official support •Not a framework but a toolkit •Really?
  • 22. React •Born in Facebook •Lightweight library •Reusable components •Virtual DOM •Clean Abstraction •Great Developer Tools •React Native •Develop NATIVE apps for iOS and Android
  • 23. Vue.js •The trendiest project of the year •Small learning curve •Well defined ecosystem •router: vue-router •State management: Vuex •Single file components •template, logic, styles •Real open source project
  • 24. AngularJS •Complete client-side solution •Data Binding •Controller •Deep Linking •Form Validation •Directives •Reusable Components •Dependency Injection •Apache Cordova for hybrid mobile apps
  • 25. Cases to go •Existing project •New projects •Hybrid applications
  • 26. Jet + ADF BC
  • 27. Jet + ADF BC •Pros •Simple architecture •Reuse •Knowledge/Experience •Core BC implementation •Cons •Not as easy as it looks •…
  • 28. Jet + ADF BC. Business Services. •Stateful -> Stateless •Different UI design •Reconsider/rebuild services •State •Transaction management •Current row •Pagination
  • 29. Jet + ADF BC. Business Services.
  • 30. Jet + ADF BC. AM Pool Settings. •Referenced Pool Size is ignored •AM pooling matters •jbo.doconnectionpooling ON •Disconnect AM Upon Release ON •Reset Non-Transactional State Upon Unmanaged Release ON
  • 31. Jet + ADF BC. Security. •JET/JS based UI has a broader attack surface •Multiple service endpoints to consider •The model layer will have to be more robust •Checking of all inputs for SQL-injection •The data is now visible •All UI logic is visible
  • 32. Jet + ADF BC. Hardware. •Stateful -> Stateless •CPU + •Memory - •Server centric -> Client Centric •Back to thick client architecture •Server - •Client +
  • 33. Jet + ADF BC. JVM Tuning. •Less long living objects •Large Nursery •Small Tenure
  • 34. Jet + ADF Faces + ADF BC. Separate pages.
  • 35. Jet + ADF Faces + ADF BC. Separate pages. •Pros •Clean architecture design •Different UI for different use cases •Separate entry points •Cons •Think twice on security, internalization, etc. •More complex DevOps procedures
  • 36. Jet + ADF Faces + ADF BC. Same pages.
  • 37. •Pros •Suitable for portals and dashboards •Reuse Jet components •Cons •Two different ADF BC transactions •Separate caches •Separate user context •JSF lifecycle •Not compatible with ADF PPR •Incompatible Drag&Drop Jet + ADF Faces + ADF BC. Same pages.
  • 38. Jet + ADF Faces + ADF BC. Same pages.
  • 39. Jet + ADF Faces + ADF BC. Same pages.
  • 40. •Pros •Same ADF BC transaction •REST API is not involved •Cons •JSF lifecycle •Not compatible with ADF PPR •Incompatible Drag&Drop Jet + ADF Faces + ADF BC. Same pages.
  • 41. Jet + ADF Controller.
  • 42. Jet + ADF Controller. •Pros •Task Flows in Oracle JET •Cons •Complicated •Heavy •Stateful •Tightly coupled Client and Server
  • 43. ADF + Back End
  • 44. ADF + Back End •Pros •Lower risk •Focus on back-end •Cons •Way more expensive than classic ADF BC way •Data Controls challenge •REST Data Control •ADF BC on top of WS •Bean data control on top of WS or Rest DC
  • 45. Q&A