Vous êtes sur la page 1sur 70

Oracle Developer Suite 10g

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

Complete, integrated grid infrastructure


Oracle Developer Suite 10g
Application development Application
Development
⌧ Forms – Declarative 4GL
⌧ Designer – System analysis and generation
⌧ JDeveloper – Java, XML, Web service IDE
⌧ SCM – Software Configuration Management

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

JDeveloper Reports Developer


Open Standards-Based Java, XML, SQL

Forms Developer Discoverer

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

Test Tuning Debugging Configuratio


n
Managemen
t
Deploy Deployment
UML support
⌧Class Modeling
– Classes, EJB, Web
Services
⌧Use Case Modeling
⌧Activity Modeling
⌧Database Modeling
⌧Page Flow Modeling
J2EE Development
⌧ EJB
– EJB 2.0
– Modeling and wizards
– EJB Verifier
– Design Pattern wizard
⌧ JSP/ Servlets
– JSP 1.2, Servlets 2.3
– Wizards generation
– JSP tag libraries
development/consumption
– Visual JSP editor
⌧ Deployment
– Packaging wizards
– One Click Deploy
– Embedded J2EE container
Rich Client Development
⌧WYSIWYG Editor
⌧Swing Component
Panel
⌧Property Inspector
⌧Events tab
⌧Constraint
Window
⌧Code Editor In
synch
⌧UI Debugger
Web Services Development
Model &
Visualize
Develop
Browse
&
UDDI
Deploy

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

⌧ CodeCoach Identifies (and


fixes) common coding pitfalls
Debugging Java
⌧Local and Remote Debugging
⌧Hot Swap Support
⌧Innovative UI debugger
– Examine application’s
component hierarchy
– Display component
details in Watches
window
– Trace events generated
by components
Open Source Integration
⌧Apache Ant
– System build tool
⌧JUnit
– Unit testing
⌧CVS
– Version control
⌧Struts
– MVC Framework
⌧JBoss
⌧Linux
Agenda
Developer Suite overview
JDeveloper
JDeveloper ADF
Forms
Forms architecture
Reports
ADF Model - Binding
⌧What is the Model?
– Abstraction of Business Services
– “Glue” between View and Controller
⌧JSR 227 Business
Componen
– Simplifying J2EE Data Binding ts
Web
Services
JSP
ADF Model Toplink
Swing
EJB
UIX/JSF
Java
Classes
Drag and Drop Data Binding
⌧Data Binding Palette
– Expose any Business Service
– Available to any View
⌧Create UI components
– Master/Detail
– Table
– Field, checkbox,…
User Interface (View)
Visual and Declarative Development
⌧WYSIWYG editors
– Swing (ADF JClient)
– JSP/HTML
– ADF UIX/JSF
⌧Component palette
⌧Common data binding
⌧Property inspector
⌧Structure pane
End-to-End Visual and
Declarative Development
⌧Design View / Code View
– Available for all components
– Full synchronization with the code
Controller
⌧ Increase Flexibility and Manageability
– Cleanly separate UI from user
interaction
– Handle UI Events and Page Flow
⌧ Support for J2EE Standards
– Struts – de facto controller standard
⌧ Design Tools
– Visual Page Flow Modeler
– Visual Data Binding Tools
– Declarative Tools
– Code Editor
– Model Integration
– Databinding Integration
Oracle ADF Summary
⌧Productive End-To-End Development
– Model/View/Controller
– Visual
– Declarative
⌧Standard J2EE framework
– Implements J2EE best practices
– Uses the latest standards
– Provides architecture choices
Agenda
Developer Suite overview
JDeveloper
JDeveloper ADF
Forms
Forms architecture
Reports
Oracle Forms: Fast and Easy
Web application Development
⌧RAD
⌧PL/SQL based
⌧Open
⌧Out of the box Web deployment
⌧Well established product
⌧Huge customer base
⌧Easy upgrade to the Web
Oracle Forms Milestones
Early 80’s 1994 1997 2002 2003

SQL*Forms Forms 4.0 Forms 4.5/5.0/6.0/6i Oracle9i Forms Oracle


Character mode Character mode Character mode Forms 10g
Client/server Client/server
Web Web Web

⌧ Oracle Forms – Web only


– Oracle Forms Developer licensed with and included in Oracle DS
– Oracle AS Forms Services licensed with and included in Oracle AS EE
⌧ Client/server support until 1/1/2005, extended support until 1/1/2008
Oracle Forms
Oracle Forms Developer
⌧ Declarative, productive development
⌧ Build rich, extensible Java UIs
⌧ Java UI without Java coding
⌧ Integration with the Oracle Stack
⌧ Extend with Java

Oracle Application Server Forms Services


⌧ Built-in Web Infrastructure:
⌧ Network optimization
⌧ Transaction handling
⌧ Scalability (memory+load balancing)
⌧ Security mechanisms
Versions for Web Deployment
⌧Oracle Forms 10g
– Part of Oracle Developer Suite 10g
– Requires Oracle Application Server 10g

⌧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

⌧With Forms on the Web, you don’t manage


the clients
⌧You only manage the server
Improve Accessibility
⌧Users can run from any client machine
⌧Work from home
⌧Reach new users
⌧Integrate into company portals
⌧Easier integration with other systems
Leverage New Technologies
⌧Web Technologies
⌧Java
⌧Web-Services
⌧XML
⌧And More
Agenda
Developer Suite overview
JDeveloper
JDeveloper ADF
Forms
Forms architecture
Reports
Client-Server Architecture

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

Applic. Logic FMX


File
Data Manager
PL/SQL
Engine
JVM
UI
Presentation
Understanding the Architecture
Thin Client Application Tier Database Tier

Applic. Logic FMX


File
Data Manager
ta
da

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

⌧Meta data about all


items Is downloaded
to client
⌧Results in a possible
large initial download
time
Work But Impact Network Traffic
⌧Tabbed canvases

⌧Use hidden stacked


canvas on each tab
to defer download

⌧Trade off: possible


delay when user
navigates to tab for
the
first time
Related Products
⌧Oracle Reports
– Convert Run_product to Run_report_object
– Watch out for local printing without viewing
⌧Oracle Graphics
– Not there starting with Oracle9iDS
– Can still use Oracle Graphics 6i
– Can use BI Beans (demo on OTN)
Agenda
Developer Suite overview
JDeveloper
JDeveloper ADF
Forms
Forms architecture
Reports
Any Data Source
• Out-of-the-box: • Unlimited # queries
Oracle10g, XML, JDBC, • Link queries of different
Text Files, PL/SQL Ref types
Cursors, Express • Parameters & Lexicals
• OTN: Oracle9i OLAP, • Summaries & Placeholders
Web Services • Open Java-API to add new
data sources

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

PCL, Postscript, PDF, RTF


Delimited, Text
Oracle Reports HTML, XML
Any tagged format
Oracle10g Reports Architecture
Destinations

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

Join Over 3,000,000 Developers!


Free Technical Advice
Free Software Downloads
otn.oracle.com/products/jdev
Free Upgrade Resources
⌧Internet Seminars
⌧Technical Papers
⌧Demos
⌧How-To’s
⌧Samples
⌧Road-Map
⌧Case Studies
⌧Discussion Forum

http://otn.oracle.com/formsupgrade

Vous aimerez peut-être aussi