2. <Insert Picture Here>
Building Rich Internet Web Applications
using Oracle ADF and Jdeveloper
Alexandru Baciu
Technology Sales Consultant – Oracle Romania
3. Agenda
• The Challenge
• Oracle F i
O l Fusion stack
t k
• Developer Tools choice
• Oracle ADF overview
5. What We Wanted – Business Drivers
• C tti Edge UI
Cutting Ed
• Refresh data on page without full page refresh
• Immediate validation
• Drag-and-Drop
• Pop-up
• Dynamic and complex l
D i d l layouts
t
• Agility
• System Integration
• Standards
• Scalability, Security,
Scalability Security Portability
• Time to market
7. Oracle Fusion – What Is It?
• O l Fusion Applications
Oracle F i A li ti
• Oracle’s next generation of enterprise applications
• Oracle Fusion Middleware
• Integrated standards-based middleware platform
• Oracle Fusion Architecture
• Recommended architecture for your custom applications
8. What is the Fusion Product Stack?
• Oracle JD
O l JDeveloper – th d
l the development t l
l t tool
• Oracle ADF – the development framework
• Oracle
O l SOA Suite – th i t
S it the integration l
ti layer
• Oracle WebCenter – the Web 2.0 portal layer
10. The Fusion Architecture
View Business Logic Data
User Business S
B i Services
i
Interface ADF Business Components
WebCenter
ADF Faces
components Data Database
Binding Schema
SDO Services
Events
Human Workflow Mediator /BPEL Rules
Business
Service Process facts Engine
Activity Assign
Task
Monitoring
results
Task
Complete
Monitoring Human interaction Orchestration Policy evaluation
11. The Challenge
• O one side:
On id
• JSF, EJB, Ajax, JavaScript, BPEL, SOAP, WSDL, RMI, JNDI,
JDBC, O/R, HTML, DOM….
• On the other side:
• Thousands of developers
p
• Most don’t know these technologies
• Most come from 4GL background
• Expecting a visual and declarative approach
• Don’t have time to learn all these new technologies
• Need to focus on their specific application needs
• How do you make it easy and approachable?
12. It’s A Transition
EBS D
Developer
l Fusion D
F i Developer
l
Tool Forms or JDeveloper JDeveloper 11g
10.1.3
Framework OAF ADF
Process Flow Workflow BPEL
Portal Oracle Portal WebCenter
Language PL/SQL Java
13. It’s A Transition
Forms D
F Developer
l Fusion D
F i Developer
l
Tool Oracle Forms JDeveloper 11g
Framework Oracle Forms ADF
Process Flow ?? BPEL
Portal Oracle Portal WebCenter
Language PL/SQL Java
16. The Solution - Oracle ADF
Abstraction – High Level Concepts
g p
•B i
Business S i
Service
• EJB, JPA, POJO, Web Service, JCR, BPEL
• UI Component
• HTML, Ajax,Flash,JavaScript
• Task
• Page Flow, BPEL Flow, Human Flow
17. Oracle Application Development
Framework (ADF)
• End-to-end Ja a
End to end Java EE frame ork that is extensible
framework e tensible
• Utilizes and adds value to the Java EE platform
• Abstracts Java EE complexity
• Provides declarative and visual development
• Enables developers to focus on the application, not the low-
level infrastructure
• Creates reusable and maintainable code
• Metadata simplifies the basic task of wiring user interfaces to
services
• Implements Java EE best practices and design patterns,
including
i l di MVC
18. Oracle ADF – High Level Architecture
MVC – Model View Controller
View
Controller
Model
Business Services
19. Oracle ADF – High Level Architecture
The Fusion Stack
ADF Faces
ADF Controller
ADF Model
ADF Business Components
20. Oracle ADF Components for Fusion
Apps and what they do
• ADF F
Faces Rich Cli t C
Ri h Client Components
t
• Ajax enabled JSF components
• UI components with built-in Ajax support
• ADF Controller
• Declarative definition of Web-pages and task flows
Web pages
• Reusable flows
• ADF Model
• Declarative way to bind UI to business services
• ADF Business Components
• Declarative validation
• Reusable components to manage DB access and logic
21. Oracle ADF - The Bigger Picture
Standards based
Standards-based Productivity with Choice
Desktop Browser-Based
ADF View
Office Mobile JSP JSF ADF Faces
Swing
Metadata Services (MDS)
Controller
s
Struts
St t JSF/ADF T kFl
TaskFlows
ADF Bindings (JSR 227) Model
a
Java EJB BAM BPEL Web ADFbc BI Essbase Portlets
S i
Services
Business
TopLink Services
Data
Services
Relational Data XML Data Legacy Data
g y Packaged Apps
g pp
22. A Single IDE For All The Artifacts
•JJava EE
• Web User Interfaces
• Mobile Interfaces
• Web Services
• SOA
JDeveloper
• W bC t / Portlets
WebCenter P tl t
• Database
• XML
27. Tooling Product Strategy
•C
Complete & i t
l t integrated t li f th platform
t d tooling for the l tf
• End-to-end, Java EE, SOA, framework, WebCenter, database
• Based on industry standards
• Free
• Productivity
• Reduce the complexity and cost of developing for the platform
• Choice
• Choice of implementation technologies
• Choice in development style
• Choice of deployment platforms and databases
• Choice of IDE solutions
28. IDE Product Focus
• O l Customer F
Oracle C t Focused
d
• JDeveloper
• Oracle Enterprise Pack for Eclipse
• Oracle Forms / Reports
• Community Focused
• NetBeans
• JDeveloper is the strategic / primary IDE, however,
all three Java IDE options are committed to
29. Developer Tools Focus
JDeveloper
End-to-end
Enterprise
2.0 & SOA
Support the
Fusion
Middleware
platform
Visual and
declarative
productivity
30. Developer Tools Focus
Oracle Enterprise Pack for Eclipse
Integrate
I t t
Oracle’s
Eclipse
work
Support
the
WebLogic
Platform
Focus on
core Java
EE tech
31. Developer Tools Focus
NetBeans
Support the
Java
platform
Reference
impl. for
i l f
Java tooling
Community
focused
platform
32. IDE Feature Focus Matrix
Feature Area JDeveloper OEPE NetBeans
Java SE EE
SE,
Web Services
Mobile
ADF
SOA
WebCenter
Modeling / UML
Spring
JavaFX
WebLogic Integration
g g
GlassFish Integration
34. Oracle Fusion Development
Relational Data
Business User
Services Interface
XML Data
Business Web 2.0
Packaged Apps
Processes Services
35. Oracle Fusion Development
Relational Data
Business User
Services Interface
XML Data
Business Web 2.0
Packaged Apps
Processes Services
36. Business Service Goals
• B id Obj t R l ti
Bridge Object-Relational gap
l
• Manage CRUD operations
• Q i /DML
Queries/DML
• Implement business rules
• Data validation
• Business logic
• Reusable
• Standards-based
37. ADF Business Components
A framework that simplifies developing Java EE
business services for developers familiar with 4GL
tools, declarative development, and relational
databases
• Simplify data access
• Simplify validation and business logic
• Uses SQL b
U based d t views
d data i
• Separate data views from business logic
• Implement best practices
I l tb t ti
• Easy customization
38. ADF BC - Making Things Simpler
• Query b example an
Q er by e ample any field
• Master/Detail coordination
• List of values
• Calculated fields
• Various validations
• Exposing services
• Range fetching
• Transaction control
• Locking mechanism
• State management
g
• All done declaratively without coding!
39. ADF BC Familiar Concepts for
Forms/4GL Developers
• Declarative
D l ti DB access d fi iti – similar t bl k
definition i il to blocks
• Built in events – similar to triggers in Forms
• Declarative
D l ti property setting f attribute
t tti for tt ib t
• Declarative validation
• Declarative LOV
• Declarative calculated fields
• Built in query by example
• Find/Execute query support
• Reusable property sets
• Transaction management using commit/rollback
40. Oracle Fusion Development
Relational Data
Business User
Services Interface
XML Data
Business Web 2.0
Packaged Apps
Processes Services
48. ADF Faces Rich Client Components
• 150+ AJAX enabled J
bl d JavaServer F
S Faces components
t
• Drag-and-drop framework
• Dialog d
Di l and popup f framework
k
• Navigation menu framework
• Partial
P ti l page rendering
d i
• Advanced data streaming
• Complete JavaScript API
• Skinning
• Accessibility
49. Visualizing Data
Some of the data visualization components th t are
S f th d t i li ti t that
available:
Graph Hierarchy Viewer Pivot table
Gantt chart Gauge Geographic
map
51. ADF Mobile Browser
• D li
Delivers mobile-optimized
bil ti i d
native look-and-feel user
interface to mobile
browsers
• Adjusts to device’s browser
device s
capabilities
52. ADF Mobile Client
•R d
Renders t an on-
to
device mobile client
with device-native UI
device native
components
53. ADF Controller - TaskFlows
• Define flows of pages and methods
• Diagram your process
• Build reusable task flows
• In other flows, inside other pages
• Advance functionality in a declarative way
• Executing code in a flow
g
• Security
• Bookmarking
• Back button support
• Exception and transaction management
• Save for later
• Memory scope management
• An extension to the JSF page flow engine
55. Reusable TaskFlows
Bounded Task Flow
Task Flow
Private Implementation and State
Page
region
56. Fusion Development
Relational Data
Business User
Services Interface
XML Data
Business Web 2.0
Packaged Apps
Processes Services
57. ADF Model - Data Binding
• ADF Model
• JSR-227 Data Controls
• Service Oriented Interface
• Abstract implementation from clients
• Loose coupling between services
and application
• More Productivity
• Drag and drop data binding
• More Reusability for Services
• Discover and share services
61. Source and Official Support
•SSupported customers get the source code
t d t t th d
• Support by Oracle Support
•T i i b O l U i
Training by Oracle University
it
63. Summary
• O l JDeveloper
Oracle JD l <Insert Picture Here>
<I t Pi t H >
• Integrated enterprise development tool
• Oracle ADF
• Extending Java EE functionality
• Plugging holes
• Simplifying Development
• End-to-End
64. Learn More
•O l
Oracle.com/technology/jdev
/t h l /jd <Insert Picture Here>
<I t Pi t H >
• Download
• Tutorials
• Discussion forum
• Samples
• Books
• Blogs
• More…