SlideShare una empresa de Scribd logo
1 de 31
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.
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

Más contenido relacionado

La actualidad más candente

Oracle9i application server oracle forms services
Oracle9i application server   oracle forms servicesOracle9i application server   oracle forms services
Oracle9i application server oracle forms services
FITSFSd
 
J2 EEE SIDES
J2 EEE  SIDESJ2 EEE  SIDES
J2 EEE SIDES
bputhal
 
C# .NET Developer Portfolio
C# .NET Developer PortfolioC# .NET Developer Portfolio
C# .NET Developer Portfolio
cummings49
 
Srikanth Kumar SharePoint Developer
Srikanth Kumar SharePoint DeveloperSrikanth Kumar SharePoint Developer
Srikanth Kumar SharePoint Developer
Srikanth Kumar
 
7) packaging and deployment
7) packaging and deployment7) packaging and deployment
7) packaging and deployment
techbed
 

La actualidad más candente (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
 

Similar a 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 Sharda
Er. Sndp Srda
 
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
Alan McSweeney
 
Introduction to java ee
Introduction to java eeIntroduction to java ee
Introduction to java ee
Ranjan Kumar
 
Java for Recruiters
Java for RecruitersJava for Recruiters
Java for Recruiters
ph7 -
 

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

Último

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Último (20)

Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 

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.
  • 27.
  • 29.  Javaprogramming  Servlets  JSP  JSF  OracleSQL  ADF I  ADF II Course Content

Notas del editor

  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.