SlideShare a Scribd company logo
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

More Related Content

What's hot

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, Lviv
Andrzej 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 Chopra
SPS 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 sleep
Tobias Coetzee
 
Office Development Licensing, Deployment and ALM
Office Development Licensing, Deployment and ALMOffice Development Licensing, Deployment and ALM
Office Development Licensing, Deployment and ALM
Eric Shupps
 
Azure Serverless Conf
Azure Serverless ConfAzure Serverless Conf
Azure Serverless Conf
Jose Javier Columbie
 
Share point 2013 new and improved
Share point 2013 new and improvedShare point 2013 new and improved
Share point 2013 new and improved
Eric 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 Pagan
Sencha
 
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
Waldek Mastykarz
 
Refactoring Rails applications with RubyMine
Refactoring Rails applications with RubyMineRefactoring Rails applications with RubyMine
Refactoring Rails applications with RubyMine
Andrzej 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-Ins
InnoTech
 
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 scale
Doug Lampe
 
SharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsSharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsEric Shupps
 
Best Oracle adf online training
Best Oracle adf online trainingBest Oracle adf online training
Best Oracle adf online training
Mindmajix Technologies
 
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
MskDotNet Community
 
Single Page Apps
Single Page AppsSingle Page Apps
Single Page Apps
Gil 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 Delivery
SPC Adriatics
 
Hilfe, wir brauchen ein Frontend
Hilfe, wir brauchen ein FrontendHilfe, wir brauchen ein Frontend
Hilfe, wir brauchen ein Frontend
OPEN KNOWLEDGE GmbH
 

What's hot (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
 

Similar to 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 Frameworks
FITC
 
Zero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApExZero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApEx
Bradley 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 2012
Adam 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.ppt
SudhirSinghShakyaVan
 
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
DataNext 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 2017
Steef-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 webparts
Prabhu 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 jan2013
Aaron Saunders
 
Key alias dev standard final
Key alias   dev standard finalKey alias   dev standard final
Key alias dev standard final
Raditya Alwafi Surachman
 
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
Evgeniy 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
 
Spring
SpringSpring
Spring
Suman Behara
 
Graphql
GraphqlGraphql
Oracle web-applications
Oracle web-applicationsOracle web-applications
Oracle web-applications
urskeshav
 
Einführung in RavenDB
Einführung in RavenDBEinführung in RavenDB
Einführung in RavenDB
NETUserGroupBern
 
SPUnite17 Creating Scalable Cloud Solutions
SPUnite17 Creating Scalable Cloud SolutionsSPUnite17 Creating Scalable Cloud Solutions
SPUnite17 Creating Scalable Cloud Solutions
NCCOMMS
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
visual28
 

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

Recently uploaded

Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 

Recently uploaded (20)

Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 

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