Upload
agora-group
View
1.830
Download
0
Tags:
Embed Size (px)
Citation preview
<Insert Picture Here>
Building Rich Internet Web ApplicationsBuilding Rich Internet Web Applications using Oracle ADF and Jdeveloper
Alexandru BaciuTechnology Sales Consultant – Oracle Romania
Agenda
• The ChallengeO l F i t k• Oracle Fusion stack
• Developer Tools choice• Oracle ADF overview
Rich Internet Web Applications
What We Wanted – Business Drivers
C tti Ed UI• Cutting Edge UI• Refresh data on page without full page refresh• Immediate validationImmediate validation• Drag-and-Drop• Pop-up
D i d l l t• Dynamic and complex layouts
• Agility• System Integration• System Integration• Standards
Scalability Security Portability• Scalability, Security, Portability• Time to market
How We’ll Get There
Java EE 5 SOA Web 2 0Java EE 5 SOA Web 2.0
Oracle Fusion – What Is It?
O l F i A li ti• Oracle Fusion Applications • Oracle’s next generation of enterprise applications
• Oracle Fusion Middleware• Oracle Fusion Middleware• Integrated standards-based middleware platform
• Oracle Fusion Architecture• Oracle Fusion Architecture • Recommended architecture for your custom applications
What is the Fusion Product Stack?
O l JD l th d l t t l• Oracle JDeveloper – the development tool• Oracle ADF – the development framework
O l SOA S it th i t ti l• Oracle SOA Suite – the integration layer• Oracle WebCenter – the Web 2.0 portal layer
Oracle Fusion Middleware – The Platform
The Fusion ArchitectureBusiness LogicView Data
User B i S iUser InterfaceADF Faces
components
Business ServicesADF Business Components
DataBinding
DatabaseSchema
DatabaseSchemaC
ente
r
Binding
SDO ServicesWeb
RulesEngine
Human WorkflowService
Mediator /BPEL Process facts
Business
Events
EngineAssign Task
TaskComplete
Service Process
results
factsActivityMonitoring
OrchestrationHuman interaction Policy evaluationMonitoring
The Challenge
O id• On one side:• JSF, EJB, Ajax, JavaScript, BPEL, SOAP, WSDL, RMI, JNDI,
JDBC, O/R, HTML, DOM….JDBC, O/R, HTML, DOM….
• On the other side:• Thousands of developersp• 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• Need to focus on their specific application needs
• How do you make it easy and approachable?
It’s A Transition
EBS D l F i D lEBS Developer Fusion DeveloperTool Forms or JDeveloper
10.1.3JDeveloper 11g
Framework OAF ADFProcess Flow Workflow BPELPortal Oracle Portal WebCenterLanguage PL/SQL Java
It’s A Transition
F D l F i D lForms Developer Fusion DeveloperTool Oracle Forms JDeveloper 11gFramework Oracle Forms ADFFramework Oracle Forms ADFProcess Flow ?? BPELPortal Oracle Portal WebCenterLanguage PL/SQL Java
Scary ?
Not if you reach the right information
The Solution - Oracle ADF
Abstraction – High Level Concepts
B i S i
g p
• Business Service• EJB, JPA, POJO, Web Service, JCR, BPEL
UI Component• UI Component• HTML, Ajax,Flash,JavaScript
• Task• Task• Page Flow, BPEL Flow, Human Flow
Oracle Application Development Framework (ADF)
End to end Ja a EE frame ork that is e tensible• End-to-end Java EE framework that is extensible• Utilizes and adds value to the Java EE platform• Abstracts Java EE complexityAbstracts 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• Metadata simplifies the basic task of wiring user interfaces to
services• Implements Java EE best practices and design patterns,
i l di MVCincluding MVC
Oracle ADF – High Level ArchitectureMVC – Model View Controller
View
ControllerController
Model
Business Services
Oracle ADF – High Level ArchitectureThe Fusion Stack
ADF Faces
ADF ControllerADF Controller
ADF Model
ADF Business Components
Oracle ADF Components for Fusion Apps and what they do
ADF F Ri h Cli t C t• ADF Faces Rich Client Components• Ajax enabled JSF components• UI components with built-in Ajax support• UI components with built-in Ajax support
• ADF Controller• Declarative definition of Web-pages and task flowsDeclarative definition of Web pages and task flows• 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
Oracle ADF - The Bigger PictureStandards-based Productivity with Choice
JSFJSF View
Desktop Browser-Based
OfficeOfficeADFADF
Standards based Productivity with Choice
JSPJSP ADF FacesADF FacesMobileMobile
Controller
JSFJSF View
St tSt t JSF/ADFJSF/ADF T kFlT kFl
OfficeOfficeSwingSwing JSPJSP ADF FacesADF Faces
s (M
DS
)s
(MD
S)
MobileMobile
ADF Bindings (JSR 227)ADF Bindings (JSR 227) Model
ControllerStrutsStruts JSF/ADF JSF/ADF TaskFlowsTaskFlows
a S
ervi
ces
a S
ervi
ces
Business
ADF Bindings (JSR 227)ADF Bindings (JSR 227) Model
EJBEJB BAMBAM ADFbcADFbc PortletsPortletsBIBI EssbaseEssbaseBPELBPEL Web Web S iS i
JavaJavaMet
adat
aM
etad
ata
ServicesTopLinkTopLinkServicesServices
Data Services
XML DataXML Data Legacy DataLegacy DataRelational DataRelational Data Packaged AppsPackaged Appsg yg y g ppg pp
A Single IDE For All The Artifacts
J EE• Java EE • Web User Interfaces• Mobile Interfaces• Web ServicesWeb Services• SOA
W bC t / P tl t JDeveloper• WebCenter / Portlets• Database
JDeveloper
• XML
JDeveloper - Unified Development Tool
SOA Web 2.0Java
Full Lifecycle Support
Visual and Declarative
WYSIWYG UI d i• WYSIWYG UI design• Flow diagrams• Modelers• Visual XML EditorsVisual XML Editors• Process Flow
Choice of Development Styles
VisualDialog
CodeCode
Tooling Product Strategy
C l t & i t t d t li f th l tf• Complete & integrated tooling for the platform• End-to-end, Java EE, SOA, framework, WebCenter, database• Based on industry standards• Based on industry standards • Free
• ProductivityProductivity • 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
IDE Product Focus
O l C t F d• Oracle Customer Focused• JDeveloper• Oracle Enterprise Pack for Eclipse• Oracle Enterprise Pack for Eclipse• Oracle Forms / Reports
• Community FocusedCommunity Focused • NetBeans
• JDeveloper is the strategic / primary IDE, however, all three Java IDE options are committed to
Developer Tools FocusJDeveloper
End-to-end Enterprise 2.0 & SOA
Support the FusionFusion
Middleware platform
Visual and declarative productivityproductivity
Developer Tools Focus
I t t
Oracle Enterprise Pack for EclipseIntegrate Oracle’s Eclipse
work
Support thethe
WebLogic Platform
Focus on core Java EE techEE tech
Developer Tools FocusNetBeans
Support the Java
platform
Reference i l fimpl. for
Java tooling
Community focused platformplatform
IDE Feature Focus Matrix
Feature Area JDeveloper OEPE NetBeansJava SE EEJava SE, EEWeb ServicesMobileADFSOAWebCenterModeling / UMLSpringSpringJavaFXWebLogic Integrationg gGlassFish Integration
<I t Pi t H ><Insert Picture Here>
Oracle ADF Overview
Oracle Fusion Development
Relational Data
BusinessBusinessServicesServices
User User InterfaceInterface
Relational Data
XML Data
Web 2.0Web 2.0ServicesServices
BusinessBusinessProcessesProcessesPackaged Apps
ServicesServices
Oracle Fusion Development
Relational Data
BusinessBusinessServicesServices
User User InterfaceInterface
Relational Data
XML Data
Web 2.0Web 2.0ServicesServices
BusinessBusinessProcessesProcessesPackaged Apps
ServicesServices
Business Service Goals
B id Obj t R l ti l• Bridge Object-Relational gap• Manage CRUD operations
Q i /DML• Queries/DML
• Implement business rules• Data validation• Data validation• Business logic
• ReusableReusable• Standards-based
ADF Business Components
A framework that simplifies developing Java EE business services for developers familiar with 4GL tools, declarative development, and relational databasesdatabases
Simplify data access• Simplify data access• Simplify validation and business logic
U SQL b d d t i• Uses SQL based data views• Separate data views from business logic
I l t b t ti• Implement best practices• Easy customization
ADF BC - Making Things Simpler
Q er b e ample an field• Query by example any field• Master/Detail coordination• List of valuesList of values• Calculated fields• Various validations• Exposing services• Range fetching
Transaction control• Transaction control• Locking mechanism• State managementg• All done declaratively without coding!
ADF BC Familiar Concepts for Forms/4GL Developers
D l ti DB d fi iti i il t bl k• Declarative DB access definition – similar to blocks• Built in events – similar to triggers in Forms
D l ti t tti f tt ib t• Declarative property setting for attribute• Declarative validation• Declarative LOV• Declarative calculated fields• Built in query by example• Find/Execute query support• Reusable property sets• Transaction management using commit/rollback
Oracle Fusion Development
Relational Data
BusinessBusinessServicesServices
User User InterfaceInterface
Relational Data
XML Data
Web 2.0Web 2.0ServicesServices
BusinessBusinessProcessesProcessesPackaged Apps
ServicesServices
From These
To These - Fusion ApplicationsHCMHCM
To These - Fusion ApplicationsProjectsProjects
To These - Fusion ApplicationsProcurementProcurement
And These – Mobile Applications
ADF Faces - Component Based UI Development
And More Components …
ADF Faces Rich Client Components
150+ AJAX bl d J S F t• 150+ AJAX enabled JavaServer Faces components• Drag-and-drop framework
Di l d f k• Dialog and popup framework• Navigation menu framework
P ti l d i• Partial page rendering• Advanced data streaming• Complete JavaScript API• Skinning• Accessibility
Visualizing Data
S f th d t i li ti t th tSome of the data visualization components that are available:
Graph Pivot tableHierarchy Viewer
Gauge Geographic map
Gantt chart
Data Visualization Components
ADF Mobile Browser
D li bil ti i d• Delivers mobile-optimized native look-and-feel user interface to mobileinterface to mobile browsers
• Adjusts to device’s browserAdjusts to device s browser capabilities
ADF Mobile Client
R d t• Renders to an on-device mobile client with device-native UIwith device native UI components
ADF Controller - TaskFlows
• Define flows of pages and methods• 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 supportBack button support• Exception and transaction management• Save for later• Memory scope management• Memory scope management
• An extension to the JSF page flow engine
Bounded Task Flow Example
addCust
editRecord createCustomer
Bounded Task Flow
Reusable TaskFlows
Bounded Task Flow
Private Implementation and StateTask Flow
Page region
Fusion Development
Relational Data
BusinessBusinessServicesServices
Relational Data
User User InterfaceInterface
XML Data
Web 2.0Web 2.0ServicesServices
BusinessBusinessProcessesProcessesPackaged Apps
ServicesServices
ADF Model - Data Binding
• ADF Model• JSR-227 Data Controls
Service Oriented Interface• Service Oriented Interface• Abstract implementation from clients • Loose coupling between services
and application• More Productivity
• Drag and drop data bindingDrag and drop data binding• More Reusability for Services
• Discover and share services
<I t Pi t H ><Insert Picture Here>
A few other thingsg
End-to-end Security
Debug Declarative Components
Source and Official Support
S t d t t th d• Supported customers get the source code• Support by Oracle Support
T i i b O l U i it• Training by Oracle University
DemonstrationDeveloping Rich Internet Applicationswith Oracle ADF and Jdeveloperwith Oracle ADF and Jdeveloper
Summary
<I t Pi t H >O l JD l <Insert Picture Here>• Oracle JDeveloper• Integrated enterprise development tool
• Oracle ADF• Oracle ADF• Extending Java EE functionality• Plugging holesPlugging holes• Simplifying Development• End-to-End
Learn More
<I t Pi t H >O l /t h l /jd <Insert Picture Here>• Oracle.com/technology/jdev• Download• Tutorials• Tutorials• Discussion forum• Samples• Books• Blogs• More…
Question & Answers
O l / iddl• Oracle.com/middleware