Académique Documents
Professionnel Documents
Culture Documents
Paolo Dall’Occo
Solution Team
Oracle Italia
Agenda
Developer Suite overview
JDeveloper
JDeveloper ADF
Forms
Forms architecture
Reports
Agenda
Developer Suite overview
JDeveloper
JDeveloper ADF
Forms
Forms architecture
Reports
Oracle 10g
Enterprise Grid Computing
Business intelligence
⌧ Reports – Enterprise reporting Business
⌧ Business Intelligence Beans Intelligence
⌧ Discoverer Admin. – End user query & analysis
⌧ Warehouse Builder – Extract Transfer Load
g
Oracle Developer Suite 10
Integrated Development Platform
Software
Configuration Manager Warehouse Builder
Rapid Application
Application Development
Designer Development Framework BI Beans
Agenda
Developer Suite overview
JDeveloper
JDeveloper ADF
Forms
Forms architecture
Reports
Oracle JDeveloper 10g Goals
⌧Reach a Broader Audience
– Bring the power of J2EE to corporate developers
⌧Increase Productivity and Ease of Use
– Visual and declarative development
– Less coding, more reuse
– Bridge the usability gap with C/S tools
⌧Reduce Learning Curve / Staffing Issues
– Provide abstraction on top of J2EE
Oracle JDeveloper 10g Overview
⌧Complete and Integrated
– Full development lifecycle
– One tool for Java, Web Services, XML, PL/SQL
⌧Standard and Extensible
– Support for latest J2EE standards
– Open Extension API (JSR 198)
– MyJDeveloper
⌧Easy to Use and Productive
– Improved coding productivity
– Visual and declarative development
– Oracle Application Development Framework (Oracle ADF)
Full Lifecycle Support
Application Data
Design Modeling Modeling
IDE
Build Coding Platform
WS-I
Generate
Monitor,
WSDL &
Debug &
Skeleton
Tune
Generate
Stub &
Client
Web Services Development
⌧Publish any Java
– Java classes
– Enterprise JavaBeans
– Java Message Service
⌧Publish PL/SQL
⌧Generate infrastructure
– Auto generated WSDL
– Auto generated proxy
– Auto generated SOAP
service
XML Development
⌧Visual XML Schema
Editor
⌧XML Code Completion
⌧XML Palette
⌧Validation
⌧XDK Integration
⌧JAX-RPC
⌧JAX-B
⌧XDB
Mobile Java Development
⌧J2ME extension
– Sprint, Nokia, Siemens
and PCS
– Develop, Deploy, Run,
Debug
⌧Oracle AS Wireless
– Wireless Application
Developer Extension
– Wireless J2ME SDK
– Push Web Services
⌧ADF UIX on Pocket PC &
Palm
Database Development
⌧Schema Modeler
– Forward and Reverse
⌧Database Objects Creation
– PL/SQL subprograms
– Tables
– Views
– Triggers
⌧Database Browser
Database Development
⌧SQL Worksheet
⌧SQL Tuning
⌧Offline Schema Modeling
– Table creation, import
capabilities and DDL
generation
– Visualization and database
synchronization capabilities
⌧PL/SQL Debugging
⌧Publish PL/SQL based Web Services
Built-In Tuning and Code Analysis
⌧ Performance analysis
– Event, execution, memory
and SQL tools
⌧ Code analysis Code
– Audit and CodeCoach
analysis for best practices
and fix on demand
– Metrics analysis for code
complexity
Tune Q/A
⌧ Code re-organization
– Re-factoring classes and
packages
⌧ Debugging
– Local and remote Debug
– Multi-process
Performance Analysis
⌧ Event Profiler
– Measure the beginning,
end, and duration of
events
⌧ Execution Profiler
– Samples of execution;
customizable intervals
⌧ Memory Profilers
– Snapshot of Java heap;
customizable intervals
⌧ SQL Explain Plan
– Database statistics
execution plan SQL
High Quality Code with Audit,
Metrics and CodeCoach
⌧ Audit analyzes code for
compliance
– Customize compliance
rules
– Provides suggested fixes
– Framework for writing
rules
⌧ Metrics measures code
complexity
⌧Oracle9i Forms
– Part of Oracle9i Developer Suite
– Requires Oracle9iAS V2.0
⌧Oracle Forms 6i
– Part of Oracle Internet Developer Suite
– Requires Oracle9iAS V1.0.2
– Use the latest patches
The Future: Forms and Java
⌧Check your requirements
– Forms currently works for you – any reason to change?
⌧Check organization’s skills
– PL/SQL vs. Java knowledge
⌧Check your future development needs
– HTML interfaces,mobile, web-services
⌧Integrate your Forms applications with your new Java
applications
⌧Oracle is making Java easier with Oracle JDeveloper
Web Deployment Benefits
⌧Reduce costs
⌧Improve productivity
⌧Increase accessibility
⌧New markets
⌧Leverage new technologies
Reduce Costs
⌧In Client/Server you manage the clients
⌧You install Forms runtime/ FMXs on clients
⌧You manage clients’ regedits
⌧You upgrade clients’ software
I
N ifrun.exe
T
App.FMX ifrun.exe
E
App.PLL
R App.FMX
ifrun.exe
ifrun.exe
N App.MMX App.PLL ifrun.exe
App.FMX
E Registry Keys App.MMX App.FMX App.FMX
App.PLL
T tnsnames.oraRegistry Keys App.PLL App.PLL
App.MMX
App.MMX App.MMX
tnsnames.ora
Registry Keys
Firewall/Proxy Registry KeysRegistry Keys
tnsnames.ora
tnsnames.oratnsnames.ora
Understanding the Architecture
“Thick” Client Database Tier
Motif
Win2
Mac
Win
Win
000
NT
Forms FMX
Engine File
Understanding the Architecture
“Thick” Client
Win2 Database Tier
Motif
Mac
Win
Win
000
NT
UI
Presentation
Applic. Logic
Forms FMX
File
DataEngine
Manager
PL/SQL
Engine
Understanding the Architecture
Thin Client Application Tier Database Tier
UI
Presentation
Applic. Logic
Forms FMX
File
DataEngine
Manager
PL/SQL
Engine
Understanding the Architecture
Thin Client Application Tier Database Tier
UI
Presentation
Applic. Logic
Forms FMX
File
DataEngine
Manager
PL/SQL
Engine
JVM
Understanding the Architecture
Thin Client Application Tier Database Tier
PL/SQL
ta
Engine
Me
JVM
UI
Presentation
Oracle Forms Client UI
⌧Rich Java based user interface
– Field mode validation
– Windows, scrollbars, tabs, popup menus, etc…
– No page repaint
⌧Single generic Java applet
– Downloaded only once
– Cached on client machine
– Can render any Form
Client Side Requierments
⌧JVM
⌧Can be:
– Oracle Jinitiator – optimized for Forms
– Sun’s Java Plug-in
– MS Native ?? – old JDK and no future
Upgrading Forms to the Web
Four categories of features:
⌧Work differently when Web deployed
⌧Don’t work on the web
⌧Work but impact network traffic
⌧Platform-specific
Features Which Work Differently
When Web Deployed
Forms runs on the server, NOT the client!
⌧Built-Ins
– HOST
– ORA_FFI
– READ_IMAGE_FILE
– TEXT_IO
– TOOL_RES
⌧Java Importer (ORA_JAVA)
⌧User Exits
Features Which Work Differently
When Web Deployed
Solutions:
⌧Sometime the middle tier is okay
⌧Webutil
⌧Java components
– JavaBeans
– Pluggable Java Components (PJCs)
Features Which Don’t Work on
the Web
⌧Some mouse events generate too much traffic
and are ignored:
– WHEN-MOUSE-MOVE
– WHEN-MOUSE-ENTER
– WHEN-MOUSE-LEAVE
⌧The other mouse events work fine
⌧PJC can have mouse events
⌧Use tooltip property instead of hint.pll
Features Which Don’t Work on
the Web
⌧Window specific widgets:
– VBX Controls
– ActiveX (OCX) Controls
– OLE Containers
– Sound Items
– Image Control Palettes
⌧Replace with JavaBeans or PJCs
Work But Impact Network Traffic
⌧SYNCHRONIZE Built-In
– Roundtrip from client to server
– Overuse generates unnecessary network traffic
⌧Timers
– Forms Client maintains timers
– Each timer that fires results in a network roundtrip
– Example
⌧1 timer per second x 500 concurrent users…
⌧500 rountrips per second
Work But Impact Network Traffic
⌧Tabbed canvases
Oracle Reports
Any Format
⌧Unlimited number of un-banded layouts
⌧Web layout designed for any tagged format, Paper
layout designed for page-oriented formats
⌧Exception formatting, Report Customization via XML
⌧WYSIWYG Paper layout editing
Oracle AS
Data Sources
internet
Report
Definition
User
Oracle DS Access
Scalable Deployment
Oracle AS
Reports Services
Engine
Cache Engine
Engine
Engine
Interfaces to the Server
Oracle AS
Reports Services
Reports Migration
⌧What migration steps are necessary to upgrade my
existing reports to Oracle10g Reports?
– “Basically none. You should be able to run your existing
RDF files with Oracle10g Reports with no modifications,
except for the items mentioned in this document or the
Oracle9i Reports Statement of Direction.
– Of course, there are always exceptions to this rule and you
may need to open the reports in the Oracle10g Reports
Builder and recompile any PL/SQL and save the report.”
– http://otn.oracle.com/products/reports/htdocs/faq9i.htm#365
⌧Change Forms that run reports to use the new built-in
Run_Report_Object
otn.oracle.com
http://otn.oracle.com/formsupgrade