Oracle 9i JDeveloper - What's Hot? What's Not?

advertisement
Building Complex Java Applications
with Oracle 9i JDeveloper
Dr. Paul Dorsey
Dulcian, Inc.
www.dulcian.com
Survey
 Who
is using Oracle JDeveloper for anything?
 in
test
 in production
 Who
is doing web development?
 JDev



JSP
UIX
Web services
 .net
 Other
 Oracle
bought some
code for Borland’s JBuilder in 1997.
 JDeveloper 1.0 (1998)

More or less useless
 JDeveloper

2.0 (1999)
Still useless
JDeveloper History
 JDeveloper 3.0 (2000)
 BC4J
& DAC
 Finally the right idea!
 JDeveloper
3.2 (2001)
 Bug
fixes
 First useful version
 JDeveloper
 First
9i (2002)
good version
 Big rewrite
 Change in direction
Where Does JDeveloper Fit?
 A Java
development tool
 JDeveloper



has lots of market competition
Visual Café - Symantec
JBuilder
Forte
 A Java
 No
development tool that works with Oracle
real competition
Where JDeveloper fits today
 Good
tool for building Java applications
 Best tool for building Oracle-based Java applications
 Most of the solution for building JSPs or UIXs
JDeveloper in the
Development World
 Weaknesses


Inefficient for application development
Evolving support for JSP development
 Strengths





Good IDE
Extensible - wizards, property inspectors
(customizers), toolbars, code generators
Excellent Oracle database connectivity
Supports all Java development
Good user interface

Rated high by reviewers, much better than 3.2 release
Extremely
important!
JDeveloper’s Short-Term Vision
 Close
the gap with Form Builder on
development efficiency for Web
Development - JSP/UIX

6-12 months
 Support
full enterprise-level data
modeling

1-2 years
 Java
client support is “mature.”
 Add other UML pieces

Use cases
Is Java all you need to deploy
on the Web?
 NO!!!!
 Java
Deployment
 JSP -
Web
 Applet – Web internal
 Applications – Client/Server
 Each
alternative requires different tools and
languages
Using Form Builder
(the good old days)
Forms Client/Server
Required Tools
 Forms
 TOAD
Required Languages
 SQL
 PL/SQL
Java Applications
Client-server
Java program runs on PCs JVM
Required Tools
JDeveloper
TOAD
Required Languages
Java
XML
JDBC
SQLJ
SQL, PL/SQL
Java Applets
Java applications running over a browser
Required Tools
 JDeveloper
 TOAD
 Apache or IAS
Required Languages
 Java
 XML
 JDBC
 SQLJ
 SQL,PL/SQL
Other problems - Security
Firewalls
Secure Sockets
Web Module (JSPs)
Sell over the Internet
Java back end, HTML front end
Required Tools




JDeveloper
TOAD
Apache or IAS
DreamWeaver or FrontPage
Other problems - Security
Firewalls
Secure Sockets
Required Languages
 Java
 XML – a little
 JDBC
 SQLJ
 SQL, PL/SQL
 HTML
 JavaScript
Using Java
 For
PL/SQL programmers wanting to move to
Java, there are some important conceptual
differences to understand.
 Learning Java is more than just learning a new
syntax.
 You need to take an object-oriented approach.
 Get Martin Fowler’s book: Refactoring:
Improving the Design of Existing Code
(Addison-Wesley Pub Co, 1999)
JDeveloper’s Long-Term
Vision
 A fully
integrated design
and development
environment

Centralized repository
 Full
UML integration
 The vision of what
Designer and Developer
never fully achieved
 Probably never integrate
into Designer….maybe
 JSP is the main
development direction.
Is JDeveloper ready for
production use?
 Client/Server
 Yes
 Web
(but it will take time)
development
 Probably
 UIX
style application development
(but it will take a LONG time)
support
 Faster
JSPs
 9.05 end of year
BC4J - Overview
 Main
advantage over other development tools
 Primary way of handling database DML operations
 Overcomes hurdle of complex database interface to
handle web-based applications
 BC4J features:


Builds a set of Java classes that wrap the DML commands
and reference an XML document that stores the data structure
Classes make JDBC calls to the database to take over insert,
update, delete and lock functions.
BC4J - Advantages
 BC4J

classes can implement complex validation.
Need to think carefully about whether this is the appropriate
place for this function
 Reduced
development time
 Can cache data to be shared among multiple users

Allows for tuning capabilities
Three areas of BC4J
 1.
Entities and Associations
 Cached
copy of a portion of the database
 An entity is linked to, at most, 1 table
 Not needed for query-only objects
 2.
View objects and view link objects
 View
 3.
objects that sit on top of entities (or nothing)
Data model
 Collection
of views
 What the UI applications interact with
Default Generator
DBMS Tables
Emp
FK
Data Model
Dept
Emp 1
Emp 2
Entities & Associations
Dept
Emp
*
Dept
1
Views & view links
Emp
*
filtered view
Dept
1
BC4J Files
 XML –
redundantly stores data structure of
relational database
 Java classes – contain complex logic and
application calls used by other parts of application
 Java library – provided by Oracle to handle JDBC
generation
Now 100% Java
 Slightly
faster IDE
 Some compilation is faster.
 All in all – a little faster.
 Much nicer user interface
JDeveloper Class Diagram
UML Modeling
 Java


classes
Quite good
Useful?
 BC4J

Only entity objects (not view objects)
 EJBs,

Not sure I care
 Data

Web Services
Modeling
Use Dulcian’s BRIM™
JDeveloper Activity Modeler




Swim lanes and activities
Vaguely familiar if you know Designer
Workflow
BRIM™ generates more code.
Model-View-Controller (MVC)
View
 Output
Controller
page
 JClient

Swing
 J2EE
HTML
 Servlet
 JSP
 XML

 Business
Rules
 Navigation
 Controls content
 Always JAVA
(mostly)
Model
 Model



Connect UI to the
database
BC4J
EJB
 But


 Model
it gets messy…
Controller functions can
be anywhere
View

JClient


Java in the application
J2EE

JavaScript


BC4J explicitly supports
business rules
EJBs are Java so they
support anything
 Database

Triggers
JDeveloper is 2 products
(actually more)
 JClient



Very complex
Client/Server
Can do anything
 J2EE


JSP
Framework


Struts
UIX
JClient
 Swing
components
 Java
 BC4J
 Lots
of coding
 Needed for very complex
applications
 Less to learn than J2EE
J2EE
(You’re not in Kansas anymore)
 The

world is getting simpler, but less flexible
Unless you work hard
 Fully
open architecture
J2EE – The path to enlightenment
 Build


Using the JDeveloper Wizards
By hand
 Build


basic JSP
basic UIX application
Using the JDeveloper Wizards
By hand
References





Oracle 9i JDeveloper Handbook,
Koletzke, Dorsey & Faderman,
(Oracle Press, 2002)
ISBN: 0072223847
Oracle 9iAS: Building J2EE
Applications, Morrisseau-Leroy
(Oracle Press, 2002)
ISBN: 0072226145
Oracle 9i Application Server Portal
Handbook, Vandivier & Cox
(Oracle Press, 2001)
ISBN: 0072222492
Oracle 9i JDBC Programming,
Jason Price, (Oracle Press, 2002)
ISBN: 0072222549 (not needed if
you use BC4J)
Java2: The Complete Reference
(5th Edition), Herbert Schildt,
(McGraw-Hill, 2002)
ISBN:
0072224207






Struts Kick Start, Turner & Bedell,
(SAMS, 2002) ISBN: 0672324725
Oracle9i XML Handbook, Chang,
Scardina & Kiritzov, (Oracle Press,
2001) ISBN: 007213495X
Refactoring: Improving the Design
of Existing Code, Martin Fowler
(Addison-Wesley, 1999)
ISBN:
0201485672
Oracle 9i Web Development,
Bradley D. Brown (Oracle Press,
2001) ISBN: 0072193883
The Java Class Libraries – Volumes
1, 2, 3, Chan & Lee, (AddisonWesley)
The Java Tutorial (series),
Campione, et. al (Addison-Wesley)
JSP/Java Extensions
 Look

for third party resources.
Type “Java chart” into any web search engine
 Don’t
reinvent the wheel.
More Information
about JDev 9i
 otn.oracle.com
 Products
area
 The discussion forums
are quite active.
 ODTUG
 Oracle
lists
support
Share your Knowledge:
Call for Articles for the
SELECT Journal
 Help
contribute your knowledge to the larger Oracle
community:



Make the SELECT Journal an even more valuable resource.
Articles wanted on topics of interest to the Oracle community.
Sign up to be a reviewer of articles.
 Submit
articles, questions, … to select@ioug.org.
Contact Information
Paul Dorsey – paul_dorsey@dulcian.com
 Dulcian website - www.dulcian.com
 Dr.
Developer Advanced
Forms & Reports
Design Using UML
Object Modeling
Designer
Handbook
Download