SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Mohamed Shahpoup
Oracle ADF/Java Instructor
Oracle Fusion Middleware
&
ADF
Agenda
 Firstly What is Java ?
 Application Developer Framework (ADF) intro.
 Java Server Faces (JSF) intro.
 Short on ADF Faces.
 Using JSF/ADF Faces in a development .
 Q/A.
Who am I ?
 Mohamed Shahpoup has my B.Sc. from FCI Mansoura Majored
in computer science ,
 Java Developer, Linux Admin, and JDeveloper/Java Instructor,
that is besides my career as an java developer and freelancer. I
have delivered large number of projects to many reputational
companies like Vodafone, Etisalat, Nawras, AsiaCell, and Some
international ministries. I worked as Java Instructor in many
training centers since 2008.
Who are you ?
 Java Developer
 Oracle Developer
 Software Developer
 None of the above
 All of the above
Challenges Faced when
Building J2EE Applications
 Building J2EE applications can be complex.
 Development time can be extensive.
 Choosing and implementing appropriate design
patterns can be overwhelming.
 “Do it yourself” applications often repeat existing
application code.
 A large portion of “do it yourself” code is dedicated to
common tasks.
 The more code you write, the greater the chance of
errors.
 An application framework is needed.
Oracle Application
Development Framework
 Reduces the complexity of J2EE development by
providing visual and declarative development
 Increases development productivity
– Less coding, more reuse
– Focus on the application, not the “plumbing”
 Provides a flexible and extensible environment by
allowing multiple technology choices and
development styles
 Encourages J2EE best practices by implementing
standard J2EE design patterns
Oracle ADF
End-to-end J2EE Framework
 Implements standard J2EE best practices
 Model-View-Controller (MVC) design pattern
 Focus on the application, not the “plumbing”
 Consolidation and evolution of previous frameworks
Business ServicesBusiness Services
Web and Wireless ClientsWeb and Wireless ClientsRich ClientsRich Clients
ModelModel
ControllerController
Oracle ADF
Visual and Declarative Development
 End-to-end Application Development
– J2EE & Services
 Visual
– Visual editors
– UML modelers
 Declarative
– Structure pane
– Property inspector
 Code View/Design View Synchronization
– No separate generation step - always synchronized
– Underlying code always accessible
J2EE Architecture (Simplified)
Enterprise
JavaBeans
ADF Business
Components
Web Services
Business ServicesClients
Java Objects
Database
No Standard API for Client Binding
Enterprise
JavaBeans
ADF Business
Components
Web Services
Business ServicesClients
Java Objects
Database
JDBC?
ADF Model
 Data Controls
 Data Binding
 JSR-227: “A Standard Data Binding & Data
Access Facility for J2EE”
Web
Service
TopLink
EJB
Java
Class
Business
Component
ModelModel
ADF Model Architecture
 Data control: describes the values and actions
defined by the business service
ClientClient
BindingsBindings
Data ControlData Control
Business ServiceBusiness Service
 Bindings: define how UI
components use the
values and actions in
the data model
ADF Model Architecture
 Decouples client and business service layers
 Client code contains no references to the
business service
– Better design practice
– Code is more maintainable
 Architecture can be extended to add more
types of business services
ADF – Productivity With Choice
ADF UIX
ADF Bindings
ADF Data Control
ADF Business
Components
Service Object
ADF Business
Components
Query Object
ADF Business
Components
Entity Object
Swing / JClientADFMetadataServices View
Controller
Model
Business
Services
Swing / JClient JSP ADF UIX JSF/ADF
FACES
Rich Client Web / Wireless
Struts/JSF
ADF Bindings
ADF Data Control
Java
Classes
EJB
Session
Beans
Web
Services
ADF Business
Components
Service Object
JDBC
EJB
Finders
TopLink
Queries
ADF Business
Components
Query Object
Data
Access
ADF Business
Components
Entity Object
Java Classes EJB Entity Beans
TopLink Mapping
Persistent
Business
Objects
ADFMetadataServices
JavaServer Faces (JSF)
Overview
 Developed through Java Community Process
as JSR 127
 Nickname : Faces
 Goal: Simplify creation of Java Server GUIs
 Started: May 2001
 First relase: March 2004
 Oracle is a primary contributor
JavaServer Faces (JSF)
Overview - Here is why!
JSF brings backing of a standard
specification – JSR 127
JavaServer Faces (JSF)
Overview
 JSF is a natural evolution of J2EE Web
development
Servlet API
JavaServer Pages
Custom Tag Libraries
JSTL
Too low level…
Easier but…scriptlets
Not standard…
Again, too low level…
JavaServer Faces
Finally, a comprehensive,
standard API for J2EE
Web applications!
JavaServer Faces
JSF Architecture
HTML
render kit
FrontControllerFrontController
WML
render kit
WML
render kit
BackendBackend
CodeCode
JSF Architecture
 UIComponent is rendered
through Renderer class
 Expression Language Value
Binding is used to access
managed bean also know as a
"backing bean"
 Managed bean accesses J2EE
persistence layer
Renderer
UI Component Expr. Language
Managed bean
JSF Page
RDBMS
J2EE Persistence Layer / JDBC
JavaServer Faces (JSF)
Oracle ADF Faces
 Built on top of JSF APIs
 A large component set >100 different components
 Far more advanced and interesting components
– Partial-page rendering, etc.
 ADF model support out-of-the-box
 ADF Faces skins (Look and Feel)
 ADF Databinding (JSR 227)
 Open Source per January 2006
– http://www.oracle.com/technology/products/jdev/ht
docs/faq_adffaces_apache.html
JavaServer Faces (JSF)
Oracle ADF Faces
JavaServer Faces (JSF)
Oracle ADF Faces
 ADF Faces also includes many of the framework
features most needed by JSF developers today:
– File upload support is integrated at a component
level
– Client-side validation is automatically derived from
Validators and Converters for an improved user
experience
– A pageFlow scope makes it easier to pass values
from one page to another
– A new hybrid state saving strategy gives developers
the best of both client and server-side state saving
JSF Architecture
with ADF
 EL accesses “bindings” object
to value bind UI components
 ADF “bindings” object is set
through ADF Filter in web.xml
 Bindings object accesses ADF
Binding container, which then
accesses DataControl
 Business Services provide
access to various data sources
ADF “bindings” Object
ADF Binding
Renderer
UI Component Expr. Language
JSF Page
RDBMS
ADF DataControl
Business
Service 1
Business
Service 2
Business
Service 3
XML
URL
WS
JavaServer Faces (JSF)
Oracle ADF Faces – Extend the JSF life cycle
Happens through
a registered phase-
listener
Oracle Web-Logic Server
Oracle WebLogic Server is Oracle's preferred
platform to provide both a standard Java EE
environment and an environment specifically
tailored to Oracle Fusion Middleware providing:
  Complete Java EE 5 compatibility
   Complete Java SE 6 compatibility
 Web Services support
 Integration with Oracle's Fusion Middleware tools
Oracle Fusion MiddleWare
Oracle Fusion Middleware (OFM, also known as Fusion Middleware)
consists of several software products from Oracle Corporation. OFM
spans multiple services, including
Java EE and developer tools, integration services, business intelligence,
collaboration, and content management. OFM depends on open
standards such as BPEL, SOAP, XML and JMS.
Oracle Fusion Middleware provides software for the development,
deployment, and management of service-oriented architecture (SOA). It
includes what Oracle calls "hot-pluggable" architecture, designed to
facilitate integration with existing applications and systems from other
software vendors such as IBM, Microsoft.
Greate Introduction to Oracle Fusion Middleware and ADF
Developer Tools
JDeveloper IDE
 Javaprogramming
 Servlets
 JSP
 JSF
 OracleSQL
 ADF I
 ADF II
Course Content
Brain Touch
polymorphism
inheritance
Player
Platform
framework
ADF
JSF
Encapsulation
Greate Introduction to Oracle Fusion Middleware and ADF

Contenu connexe

Tendances

Customize the login homepage For Oracle EBS R12
Customize the login homepage For Oracle EBS R12Customize the login homepage For Oracle EBS R12
Customize the login homepage For Oracle EBS R12Ahmed Elshayeb
 
Oracle9i application server oracle forms services
Oracle9i application server   oracle forms servicesOracle9i application server   oracle forms services
Oracle9i application server oracle forms servicesFITSFSd
 
J2 EEE SIDES
J2 EEE  SIDESJ2 EEE  SIDES
J2 EEE SIDESbputhal
 
Oracle Fusion Financial Cloud Features - Creating Implementation Users
Oracle Fusion Financial Cloud Features - Creating Implementation UsersOracle Fusion Financial Cloud Features - Creating Implementation Users
Oracle Fusion Financial Cloud Features - Creating Implementation UsersIQ Online Training
 
Oracle Framework Personalization
Oracle Framework PersonalizationOracle Framework Personalization
Oracle Framework PersonalizationEdi Yanto
 
Mt ADF 001 adf-course outlines
Mt ADF 001 adf-course outlinesMt ADF 001 adf-course outlines
Mt ADF 001 adf-course outlinesAbbas Qureshi
 
7 Tips For Better JDeveloper Experience
7 Tips For Better JDeveloper Experience7 Tips For Better JDeveloper Experience
7 Tips For Better JDeveloper Experienceshay.shmeltzer
 
C# .NET Developer Portfolio
C# .NET Developer PortfolioC# .NET Developer Portfolio
C# .NET Developer Portfoliocummings49
 
Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Prashanth Shivakumar
 
Siebel 8.1 Certifications Question Answers
Siebel 8.1 Certifications Question AnswersSiebel 8.1 Certifications Question Answers
Siebel 8.1 Certifications Question AnswersSweta Singh
 
Srikanth Kumar SharePoint Developer
Srikanth Kumar SharePoint DeveloperSrikanth Kumar SharePoint Developer
Srikanth Kumar SharePoint DeveloperSrikanth Kumar
 
7) packaging and deployment
7) packaging and deployment7) packaging and deployment
7) packaging and deploymenttechbed
 

Tendances (20)

Customizing Oracle EBS OA Framework
Customizing Oracle EBS OA FrameworkCustomizing Oracle EBS OA Framework
Customizing Oracle EBS OA Framework
 
Customize the login homepage For Oracle EBS R12
Customize the login homepage For Oracle EBS R12Customize the login homepage For Oracle EBS R12
Customize the login homepage For Oracle EBS R12
 
People soft workflow by surya
People soft workflow by surya People soft workflow by surya
People soft workflow by surya
 
Oracle9i application server oracle forms services
Oracle9i application server   oracle forms servicesOracle9i application server   oracle forms services
Oracle9i application server oracle forms services
 
J2 EEE SIDES
J2 EEE  SIDESJ2 EEE  SIDES
J2 EEE SIDES
 
As 400
As 400As 400
As 400
 
Oracle Fusion Financial Cloud Features - Creating Implementation Users
Oracle Fusion Financial Cloud Features - Creating Implementation UsersOracle Fusion Financial Cloud Features - Creating Implementation Users
Oracle Fusion Financial Cloud Features - Creating Implementation Users
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Oracle Framework Personalization
Oracle Framework PersonalizationOracle Framework Personalization
Oracle Framework Personalization
 
Mt ADF 001 adf-course outlines
Mt ADF 001 adf-course outlinesMt ADF 001 adf-course outlines
Mt ADF 001 adf-course outlines
 
7 Tips For Better JDeveloper Experience
7 Tips For Better JDeveloper Experience7 Tips For Better JDeveloper Experience
7 Tips For Better JDeveloper Experience
 
Jsf
JsfJsf
Jsf
 
J2 ee tutorial ejb
J2 ee tutorial ejbJ2 ee tutorial ejb
J2 ee tutorial ejb
 
C# .NET Developer Portfolio
C# .NET Developer PortfolioC# .NET Developer Portfolio
C# .NET Developer Portfolio
 
Java unit 4_cs_notes
Java unit 4_cs_notesJava unit 4_cs_notes
Java unit 4_cs_notes
 
Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01
 
Siebel 8.1 Certifications Question Answers
Siebel 8.1 Certifications Question AnswersSiebel 8.1 Certifications Question Answers
Siebel 8.1 Certifications Question Answers
 
Lec2 ecom fall16
Lec2 ecom fall16Lec2 ecom fall16
Lec2 ecom fall16
 
Srikanth Kumar SharePoint Developer
Srikanth Kumar SharePoint DeveloperSrikanth Kumar SharePoint Developer
Srikanth Kumar SharePoint Developer
 
7) packaging and deployment
7) packaging and deployment7) packaging and deployment
7) packaging and deployment
 

Similaire à Greate Introduction to Oracle Fusion Middleware and ADF

ADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep ShardaADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep ShardaEr. Sndp Srda
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersJithin Kuriakose
 
Build java-ee-applications-with-adf
Build java-ee-applications-with-adfBuild java-ee-applications-with-adf
Build java-ee-applications-with-adfAmit Sharma
 
JEE Course - JEE Overview
JEE Course - JEE  OverviewJEE Course - JEE  Overview
JEE Course - JEE Overviewodedns
 
Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009Jaime Cid
 
Notes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And ModernisationNotes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And ModernisationAlan McSweeney
 
Introduction to java ee
Introduction to java eeIntroduction to java ee
Introduction to java eeRanjan Kumar
 
Websphere Application Server v7
Websphere Application Server v7Websphere Application Server v7
Websphere Application Server v7Chris Sparshott
 
Visual Modeling for Java Developers 方俊賢 Ken Fang Software Engineering Sp...
Visual Modeling for Java Developers方俊賢    Ken Fang Software Engineering Sp...Visual Modeling for Java Developers方俊賢    Ken Fang Software Engineering Sp...
Visual Modeling for Java Developers 方俊賢 Ken Fang Software Engineering Sp...saman zaker
 
Eclipse Developement @ Progress Software
Eclipse Developement @ Progress SoftwareEclipse Developement @ Progress Software
Eclipse Developement @ Progress Softwaresriikanthp
 
Latest Web development technologies 2021
 Latest Web development technologies 2021 Latest Web development technologies 2021
Latest Web development technologies 2021SWATHYSMOHAN
 
Java for Recruiters
Java for RecruitersJava for Recruiters
Java for Recruitersph7 -
 
IBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginnersIBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginnersShubham Gupta
 
How Spring Framework Really Works?
How Spring Framework Really Works?How Spring Framework Really Works?
How Spring Framework Really Works?NexSoftsys
 
Java Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
Java Ide Day 2008 - Presentation on JDeveloper by Paolo RamassoJava Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
Java Ide Day 2008 - Presentation on JDeveloper by Paolo RamassoJUG Genova
 

Similaire à Greate Introduction to Oracle Fusion Middleware and ADF (20)

ADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep ShardaADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep Sharda
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for Beginners
 
Build java-ee-applications-with-adf
Build java-ee-applications-with-adfBuild java-ee-applications-with-adf
Build java-ee-applications-with-adf
 
J developer, oracle adf introduction
J developer, oracle adf   introductionJ developer, oracle adf   introduction
J developer, oracle adf introduction
 
JEE Course - JEE Overview
JEE Course - JEE  OverviewJEE Course - JEE  Overview
JEE Course - JEE Overview
 
Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009
 
Spring ppt
Spring pptSpring ppt
Spring ppt
 
Notes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And ModernisationNotes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And Modernisation
 
Introduction to java ee
Introduction to java eeIntroduction to java ee
Introduction to java ee
 
Websphere Application Server v7
Websphere Application Server v7Websphere Application Server v7
Websphere Application Server v7
 
Visual Modeling for Java Developers 方俊賢 Ken Fang Software Engineering Sp...
Visual Modeling for Java Developers方俊賢    Ken Fang Software Engineering Sp...Visual Modeling for Java Developers方俊賢    Ken Fang Software Engineering Sp...
Visual Modeling for Java Developers 方俊賢 Ken Fang Software Engineering Sp...
 
Eclipse Developement @ Progress Software
Eclipse Developement @ Progress SoftwareEclipse Developement @ Progress Software
Eclipse Developement @ Progress Software
 
Latest Web development technologies 2021
 Latest Web development technologies 2021 Latest Web development technologies 2021
Latest Web development technologies 2021
 
Java J2EE
Java J2EEJava J2EE
Java J2EE
 
Java for Recruiters
Java for RecruitersJava for Recruiters
Java for Recruiters
 
IBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginnersIBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginners
 
How Spring Framework Really Works?
How Spring Framework Really Works?How Spring Framework Really Works?
How Spring Framework Really Works?
 
Java Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
Java Ide Day 2008 - Presentation on JDeveloper by Paolo RamassoJava Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
Java Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
 
Oracle ADF Tutorial
Oracle ADF TutorialOracle ADF Tutorial
Oracle ADF Tutorial
 
CF, J2EE and G3
CF, J2EE and G3CF, J2EE and G3
CF, J2EE and G3
 

Dernier

Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...raviapr7
 
3.21.24 The Origins of Black Power.pptx
3.21.24  The Origins of Black Power.pptx3.21.24  The Origins of Black Power.pptx
3.21.24 The Origins of Black Power.pptxmary850239
 
How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17Celine George
 
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptxClinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptxraviapr7
 
How to Make a Field read-only in Odoo 17
How to Make a Field read-only in Odoo 17How to Make a Field read-only in Odoo 17
How to Make a Field read-only in Odoo 17Celine George
 
Practical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptxPractical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptxKatherine Villaluna
 
Prescribed medication order and communication skills.pptx
Prescribed medication order and communication skills.pptxPrescribed medication order and communication skills.pptx
Prescribed medication order and communication skills.pptxraviapr7
 
Quality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICEQuality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICESayali Powar
 
UKCGE Parental Leave Discussion March 2024
UKCGE Parental Leave Discussion March 2024UKCGE Parental Leave Discussion March 2024
UKCGE Parental Leave Discussion March 2024UKCGE
 
Practical Research 1: Lesson 8 Writing the Thesis Statement.pptx
Practical Research 1: Lesson 8 Writing the Thesis Statement.pptxPractical Research 1: Lesson 8 Writing the Thesis Statement.pptx
Practical Research 1: Lesson 8 Writing the Thesis Statement.pptxKatherine Villaluna
 
How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17Celine George
 
M-2- General Reactions of amino acids.pptx
M-2- General Reactions of amino acids.pptxM-2- General Reactions of amino acids.pptx
M-2- General Reactions of amino acids.pptxDr. Santhosh Kumar. N
 
How to Use api.constrains ( ) in Odoo 17
How to Use api.constrains ( ) in Odoo 17How to Use api.constrains ( ) in Odoo 17
How to Use api.constrains ( ) in Odoo 17Celine George
 
General views of Histopathology and step
General views of Histopathology and stepGeneral views of Histopathology and step
General views of Histopathology and stepobaje godwin sunday
 
5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...CaraSkikne1
 
How to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesHow to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesCeline George
 
The Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George WellsThe Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George WellsEugene Lysak
 
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfMaximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfTechSoup
 
The Singapore Teaching Practice document
The Singapore Teaching Practice documentThe Singapore Teaching Practice document
The Singapore Teaching Practice documentXsasf Sfdfasd
 

Dernier (20)

Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...
 
3.21.24 The Origins of Black Power.pptx
3.21.24  The Origins of Black Power.pptx3.21.24  The Origins of Black Power.pptx
3.21.24 The Origins of Black Power.pptx
 
How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17
 
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptxClinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptx
 
How to Make a Field read-only in Odoo 17
How to Make a Field read-only in Odoo 17How to Make a Field read-only in Odoo 17
How to Make a Field read-only in Odoo 17
 
Practical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptxPractical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptx
 
Prescribed medication order and communication skills.pptx
Prescribed medication order and communication skills.pptxPrescribed medication order and communication skills.pptx
Prescribed medication order and communication skills.pptx
 
Quality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICEQuality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICE
 
UKCGE Parental Leave Discussion March 2024
UKCGE Parental Leave Discussion March 2024UKCGE Parental Leave Discussion March 2024
UKCGE Parental Leave Discussion March 2024
 
Practical Research 1: Lesson 8 Writing the Thesis Statement.pptx
Practical Research 1: Lesson 8 Writing the Thesis Statement.pptxPractical Research 1: Lesson 8 Writing the Thesis Statement.pptx
Practical Research 1: Lesson 8 Writing the Thesis Statement.pptx
 
How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17
 
M-2- General Reactions of amino acids.pptx
M-2- General Reactions of amino acids.pptxM-2- General Reactions of amino acids.pptx
M-2- General Reactions of amino acids.pptx
 
How to Use api.constrains ( ) in Odoo 17
How to Use api.constrains ( ) in Odoo 17How to Use api.constrains ( ) in Odoo 17
How to Use api.constrains ( ) in Odoo 17
 
General views of Histopathology and step
General views of Histopathology and stepGeneral views of Histopathology and step
General views of Histopathology and step
 
5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...
 
How to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesHow to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 Sales
 
Prelims of Kant get Marx 2.0: a general politics quiz
Prelims of Kant get Marx 2.0: a general politics quizPrelims of Kant get Marx 2.0: a general politics quiz
Prelims of Kant get Marx 2.0: a general politics quiz
 
The Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George WellsThe Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George Wells
 
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfMaximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
 
The Singapore Teaching Practice document
The Singapore Teaching Practice documentThe Singapore Teaching Practice document
The Singapore Teaching Practice document
 

Greate Introduction to Oracle Fusion Middleware and ADF

  • 1. Mohamed Shahpoup Oracle ADF/Java Instructor Oracle Fusion Middleware & ADF
  • 2. Agenda  Firstly What is Java ?  Application Developer Framework (ADF) intro.  Java Server Faces (JSF) intro.  Short on ADF Faces.  Using JSF/ADF Faces in a development .  Q/A.
  • 3. Who am I ?  Mohamed Shahpoup has my B.Sc. from FCI Mansoura Majored in computer science ,  Java Developer, Linux Admin, and JDeveloper/Java Instructor, that is besides my career as an java developer and freelancer. I have delivered large number of projects to many reputational companies like Vodafone, Etisalat, Nawras, AsiaCell, and Some international ministries. I worked as Java Instructor in many training centers since 2008.
  • 4. Who are you ?  Java Developer  Oracle Developer  Software Developer  None of the above  All of the above
  • 5. Challenges Faced when Building J2EE Applications  Building J2EE applications can be complex.  Development time can be extensive.  Choosing and implementing appropriate design patterns can be overwhelming.  “Do it yourself” applications often repeat existing application code.  A large portion of “do it yourself” code is dedicated to common tasks.  The more code you write, the greater the chance of errors.  An application framework is needed.
  • 6. Oracle Application Development Framework  Reduces the complexity of J2EE development by providing visual and declarative development  Increases development productivity – Less coding, more reuse – Focus on the application, not the “plumbing”  Provides a flexible and extensible environment by allowing multiple technology choices and development styles  Encourages J2EE best practices by implementing standard J2EE design patterns
  • 7. Oracle ADF End-to-end J2EE Framework  Implements standard J2EE best practices  Model-View-Controller (MVC) design pattern  Focus on the application, not the “plumbing”  Consolidation and evolution of previous frameworks Business ServicesBusiness Services Web and Wireless ClientsWeb and Wireless ClientsRich ClientsRich Clients ModelModel ControllerController
  • 8. Oracle ADF Visual and Declarative Development  End-to-end Application Development – J2EE & Services  Visual – Visual editors – UML modelers  Declarative – Structure pane – Property inspector  Code View/Design View Synchronization – No separate generation step - always synchronized – Underlying code always accessible
  • 9. J2EE Architecture (Simplified) Enterprise JavaBeans ADF Business Components Web Services Business ServicesClients Java Objects Database
  • 10. No Standard API for Client Binding Enterprise JavaBeans ADF Business Components Web Services Business ServicesClients Java Objects Database JDBC?
  • 11. ADF Model  Data Controls  Data Binding  JSR-227: “A Standard Data Binding & Data Access Facility for J2EE” Web Service TopLink EJB Java Class Business Component ModelModel
  • 12. ADF Model Architecture  Data control: describes the values and actions defined by the business service ClientClient BindingsBindings Data ControlData Control Business ServiceBusiness Service  Bindings: define how UI components use the values and actions in the data model
  • 13. ADF Model Architecture  Decouples client and business service layers  Client code contains no references to the business service – Better design practice – Code is more maintainable  Architecture can be extended to add more types of business services
  • 14. ADF – Productivity With Choice ADF UIX ADF Bindings ADF Data Control ADF Business Components Service Object ADF Business Components Query Object ADF Business Components Entity Object Swing / JClientADFMetadataServices View Controller Model Business Services Swing / JClient JSP ADF UIX JSF/ADF FACES Rich Client Web / Wireless Struts/JSF ADF Bindings ADF Data Control Java Classes EJB Session Beans Web Services ADF Business Components Service Object JDBC EJB Finders TopLink Queries ADF Business Components Query Object Data Access ADF Business Components Entity Object Java Classes EJB Entity Beans TopLink Mapping Persistent Business Objects ADFMetadataServices
  • 15. JavaServer Faces (JSF) Overview  Developed through Java Community Process as JSR 127  Nickname : Faces  Goal: Simplify creation of Java Server GUIs  Started: May 2001  First relase: March 2004  Oracle is a primary contributor
  • 16. JavaServer Faces (JSF) Overview - Here is why! JSF brings backing of a standard specification – JSR 127
  • 17. JavaServer Faces (JSF) Overview  JSF is a natural evolution of J2EE Web development Servlet API JavaServer Pages Custom Tag Libraries JSTL Too low level… Easier but…scriptlets Not standard… Again, too low level… JavaServer Faces Finally, a comprehensive, standard API for J2EE Web applications! JavaServer Faces
  • 19. JSF Architecture  UIComponent is rendered through Renderer class  Expression Language Value Binding is used to access managed bean also know as a "backing bean"  Managed bean accesses J2EE persistence layer Renderer UI Component Expr. Language Managed bean JSF Page RDBMS J2EE Persistence Layer / JDBC
  • 20. JavaServer Faces (JSF) Oracle ADF Faces  Built on top of JSF APIs  A large component set >100 different components  Far more advanced and interesting components – Partial-page rendering, etc.  ADF model support out-of-the-box  ADF Faces skins (Look and Feel)  ADF Databinding (JSR 227)  Open Source per January 2006 – http://www.oracle.com/technology/products/jdev/ht docs/faq_adffaces_apache.html
  • 22. JavaServer Faces (JSF) Oracle ADF Faces  ADF Faces also includes many of the framework features most needed by JSF developers today: – File upload support is integrated at a component level – Client-side validation is automatically derived from Validators and Converters for an improved user experience – A pageFlow scope makes it easier to pass values from one page to another – A new hybrid state saving strategy gives developers the best of both client and server-side state saving
  • 23. JSF Architecture with ADF  EL accesses “bindings” object to value bind UI components  ADF “bindings” object is set through ADF Filter in web.xml  Bindings object accesses ADF Binding container, which then accesses DataControl  Business Services provide access to various data sources ADF “bindings” Object ADF Binding Renderer UI Component Expr. Language JSF Page RDBMS ADF DataControl Business Service 1 Business Service 2 Business Service 3 XML URL WS
  • 24. JavaServer Faces (JSF) Oracle ADF Faces – Extend the JSF life cycle Happens through a registered phase- listener
  • 25. Oracle Web-Logic Server Oracle WebLogic Server is Oracle's preferred platform to provide both a standard Java EE environment and an environment specifically tailored to Oracle Fusion Middleware providing:   Complete Java EE 5 compatibility    Complete Java SE 6 compatibility  Web Services support  Integration with Oracle's Fusion Middleware tools
  • 26. Oracle Fusion MiddleWare Oracle Fusion Middleware (OFM, also known as Fusion Middleware) consists of several software products from Oracle Corporation. OFM spans multiple services, including Java EE and developer tools, integration services, business intelligence, collaboration, and content management. OFM depends on open standards such as BPEL, SOAP, XML and JMS. Oracle Fusion Middleware provides software for the development, deployment, and management of service-oriented architecture (SOA). It includes what Oracle calls "hot-pluggable" architecture, designed to facilitate integration with existing applications and systems from other software vendors such as IBM, Microsoft.
  • 29.  Javaprogramming  Servlets  JSP  JSF  OracleSQL  ADF I  ADF II Course Content

Notes de l'éditeur

  1. Before we start looking at components I think it is worthwhile to elaborate on "Why another framework?". When it comes to the architecture of JavaServer Faces it is not a new thing. For example Apache's Tapestry or Oracle's ADF UIX has been around for quite some time and proven to be very successful. The best thing that Faces brings that other similar technologies do not have is the backing of a standard specification (JSR-127).
  2. This picture shows JSF architecture in a somewhat simplified manner. Just like any other MVC-based architecture, JSF architecture has its own Front controller called FacesServlet. The role of this controller is basically a gatekeeper. As we will learn later on, a JSF view is made of a tree of UI components. These UI components can be associated with backend model objects called backing beans. These backing beans handle application logic (or sometimes called business logic) handling. When a page has to be rendered to a particular client type, whether the client type is a HTML browser running on a desktop or WML browser running on a wireless phone, a particular renderer is used for displaying the data maintained in the UI components. In other words, a same UI component is used for displaying information on different client types using different protocols.
  3. The UIX components that you use to create your user interfaces can be broadly divided into three groups: Simple components Layout components Composite components Simple components define visible objects like text and images, and objects that map to standard HTML controls on a page. Examples include Button, Image, and Text components. Layout components do not map to visible objects but define the appearance, behavior, and position of other visible objects. Examples include TableLayout, PageLayout, and StackLayout components. Composite components define more complex visible objects that have greater interactive usage. Examples include Shuttle, HideShow, and Tree components.