Mohamed ShahpoupOracle 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 ADFEnd-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 ADFVisual 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)
EnterpriseJavaBeans
ADF Business Components
Web Services
Business ServicesClients
Java Objects
Database
No Standard API for Client Binding
EnterpriseJavaBeans
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
JavaClass
BusinessComponent
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 ChoiceADF UIX
ADF Bindings
ADF Data Control
ADF Business Components
Service Object
ADF Business ComponentsQuery Object
ADF Business ComponentsEntity Object
Swing / JClientA
DF
Me
tad
ata
Se
rvic
es
View
Controller
Model
BusinessServices
Swing / JClient JSP ADF UIXJSF/ADF FACES
Rich Client Web / Wireless
Struts/JSF
ADF Bindings
ADF Data Control
JavaClasses
EJBSessionBeans
WebServices
ADF Business Components
Service Object
JDBCEJB
FindersTopLinkQueries
ADF Business ComponentsQuery Object
DataAccess
ADF Business ComponentsEntity Object
Java Classes EJB Entity Beans
TopLink Mapping
PersistentBusinessObjects
AD
F M
eta
da
ta S
erv
ice
s
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
HTMLrender kit
Fro
nt C
on
troller
Fro
nt C
on
troller
WMLrender kit
WMLrender kit
BackendBackendCodeCode
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 beanJSF 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/htdocs/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
BusinessService 1
BusinessService 2
BusinessService 3
XMLURL
WS
JavaServer Faces (JSF)Oracle ADF Faces – Extend the JSF life cycle
Happens througha 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 ToolsJDeveloper IDE
Java programming
Servlets JSP JSF Oracle SQL ADF I ADF II
Course Content
Brain Touch
polymorphism
inheritance
Player
Platformframework
ADF
JSF
Encapsulatio
n